NAS自建笔记服务leanote2

leanote2(GitHub - wiselike/leanote2: leanote2, 适用于NAS自建的笔记服务) 是一个开源的在线笔记应用程序,继承自原 leanote 项目。向原 leanote 的开发者表示深深的感谢与尊重,正是他们的辛勤付出奠定了这个优秀的笔记平台的基础。

但由于 leanote 项目已经停止维护,我决定创建 leanote2 项目,继续维护并在此基础上进行演进。

leanote2 保留了原 leanote 的许多核心功能,并根据现代需求做出了优化,增加了自研的特性。在平台的 安全性易用性 和 性能等方面做了一些提升,使其更加适应当前的技术发展和安全要求。

一、主要变化和更新

以下是我在 leanote2 中引入的一些关键功能和改进:

  1. 功能增强与优化

    • 已更新同步官方最新补丁,必要时将新特性功能推送到官方。
    • 支持合入新特性功能,并始终保持与官方版本的向前兼容。
    • 提供 Docker 容器一键部署方法及开发环境搭建,简化了应用的安装部署与开发。
  2. 安全与稳定性改进

    • 解决了多个安全漏洞问题,加强了数据加密和用户权限控制。
    • 增强了验证码登录流程,降低了暴力破解的风险。
    • 修复了无法退出登录的故障,并修正了保存笔记时的更新问题。
  3. 自定义与个性化特性

    • 添加了自定义的图片、附件存放路径和历史记录功能。
    • 支持在配置文件中设置笔记本和笔记视图的个性化排序。
    • 增加了新的日志记录功能,用于更好地监控和排查问题。
  4. 界面与用户体验提升

    • 改进了移动端界面的博客图标显示,解决了界面重叠显示的问题。
    • 修复了笔记本视图的多个问题,确保用户界面更加流畅,操作更加直观。
    • 引入了针对历史记录功能的优化,使其使用更加顺畅,并改善了数据存储算法。
  5. 技术架构与开发环境改进

    • 提供了更为灵活的 Docker 镜像方式,便于开发者快速构建和部署开发环境。
    • 更新了前端组件库和核心框架,确保 leanote2 兼容当前主流技术栈。
    • 对图片和附件的存储方式进行了重构,以提高数据的存取效率和稳定性。
  6. 更多详见Changelog.md

二、特性

  • Markdown支持:支持Markdown语法编辑,轻松进行笔记内容格式化。
  • 笔记分类:可以为每个笔记设置标签,并进行分类管理。
  • 图片和附件支持:支持在笔记中上传和管理图片、文件等附件。
  • 自托管部署:支持自托管,能够在自己的服务器上部署运行。
  • 搜索功能:强大的搜索引擎,能够迅速查找到笔记内容。
  • API接口:提供RESTful API接口,可以与其他系统进行集成。

三、安装

1. 环境要求

  • Linux x86_64/aarch64
  • docker

2. 安装步骤

docker pull wiselike2/leanote2:latest
docker run -itd --init -p 9000:9000 --restart=always --name leanote2 -v /etc/localtime:/etc/localtime wiselike2/leanote2
  1. leanote2容器运行起来后,可以使用地址进行访问(请将127.0.0.1替换为你的IP):
    http://127.0.0.1:9000/
  2. 默认账户:
    user1 username: admin, password: abc123 (管理员, 只有该用户才有权管理后台, 请及时修改密码)
    user2 username: demo@leanote.com, password: demo@leanote.com (仅供体验使用)

完整细节请查看:提供docker下的一键部署实施方法

四、贡献

如果你希望为 leanote2 做出贡献,欢迎提交 Issue 或 Pull Request。非常欢迎开发者参与到项目中来,共同完善 leanote2。

项目地址:https://github.com/wiselike/leanote2

代码合入要求:

  • 代码合并PR,必须一次commit一个独立完整功能。
  • 拒绝一次PR同时合入多个特性功能或者故障修复,请手动拆分一下。
  • 若代码无法review,只能拒绝合入,谢谢。

五、许可证

leanote2 继续沿用原来的 GPL License 进行开源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98442.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模型剪枝----ResNet18剪枝实战

剪枝 模型剪枝(Model Pruning) 是一种 模型压缩(Model Compression) 技术,主要思想是: 深度神经网络里有很多 冗余参数(对预测结果贡献很小)。 通过去掉这些冗余连接/通道/卷积核&am…

K8S-Pod(上)

Pod概念 Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。 Pod是一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些容器的规约。Pod 中的内容总是并置(colocated)的并且一同调度&am…

Flink TaskManager日志时间与实际时间有偏差

Flink 启动一个任务后,发现TaskManager上日志时间与实际时间相差约 15 小时。 核心原因可能是: 1、 服务器(或容器)的系统时间配置错误2、 Flink 日志组件(如 Logback/Log4j)的时间配置未使用系统默认时区…

Webug3.0通关笔记18 中级进阶第06关 实战练习:DisCuz论坛SQL注入漏洞

目录 一、环境搭建 1、服务启动 2、源码解压 3、构造访问靶场URL 4、靶场安装 5、访问论坛首页 二、代码分析 1、源码分析 2、SQL注入分析 三、渗透实战 (1)判断是否有SQL注入风险 (2)查询账号密码 Discuz! 作为国内知…

SWEET:大语言模型的选择性水印

摘要背景与问题大语言模型出色的生成能力引发了伦理与法律层面的担忧,于是通过嵌入水印来检测机器生成文本的方法逐渐发展起来。但现有工作在代码生成任务中无法良好发挥作用,原因在于代码生成任务本身的特性(代码有其特定的语法、逻辑结构&a…

FastDFS V6双IP特性及配置

FastDFS V6.0开始支持双IP,tracker server和storage server均支持双IP。V6.0新增特性说明如下:支持双IP,一个内网IP,一个外网IP,可以支持NAT方式的内网和外网两个IP,解决跨机房或混合云部署问题。FastDFS双…

笔记本、平板如何成为电脑拓展屏?向日葵16成为副屏功能一键实现

向日葵16重磅上线,本次更新新增了诸多实用功能,提升远控效率,实现应用融合突破设备边界,同时全面提升远控性能,操作更顺滑、画质更清晰!无论远程办公、设计、IT运维、开发还是游戏娱乐,向日葵16…

基于Spring Boot + MyBatis的用户管理系统配置

我来为您详细分析这两个配置文件的功能和含义。 一、文件整体概述 这是一个基于Spring Boot MyBatis的用户管理系统配置: UserMapper.xml:MyBatis的SQL映射文件,定义了用户表的增删改查操作application.yml:Spring Boot的核心配置…

80(HTTP默认端口)和8080端口(备用HTTP端口)区别

文章目录**1. 用途**- **80端口**- **8080端口****2. 默认配置**- **80端口**- **8080端口****3. 联系**- **逻辑端口**:两者都是TCP/IP协议中的逻辑端口,用于标识不同的网络服务。- **可配置性**:端口号可以根据需要修改(例如将T…

【开题答辩全过程】以 汽车知名品牌信息管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

从全栈工程师视角解析Java与前端技术在电商场景中的应用

从全栈工程师视角解析Java与前端技术在电商场景中的应用 面试背景介绍 面试官:你好,很高兴见到你。我叫李明,是这家电商平台的资深架构师。今天我们会聊聊你的技术能力和项目经验。你可以先简单介绍一下自己吗? 应聘者&#xff1a…

【python】python进阶——多线程

引言在现代软件开发中,程序的执行效率至关重要。无论是处理大量数据、响应用户交互,还是与外部系统通信,常常需要让程序同时执行多个任务。Python作为一门功能强大且易于学习的编程语言,提供了多种并发编程方式,其中多…

【JavaEE】(23) 综合练习--博客系统

一、功能描述 用户登录后,可查看所有人的博客。点击 “查看全文” 可查看该博客完整内容。如果该博客作者是登录用户,可以编辑或删除博客。发表博客的页面同编辑页面。 本练习的博客网站,并没有添加注册功能,以及上传作者头像功能…

MySQL全库检索关键词 - idea 工具 Full-Text Search分享

我们经常要在库中查找一个数据,又不知道在哪个表、哪个字段;或者想找到哪里有在用这个数据。我们可以用:idea 的 Database工具 - Full-Text Search打开idea,在工具栏找到 Database 然后新建自己的连接,然后右键&#x…

银行卡号识别案例

代码实现:import cv2 import numpy as np import argparse import myutils-i moban.png -t card1.pngap argparse.ArgumentParser() ap.add_argument("-i","--image", requiredTrue,help"path to input image") ap.add_argument(&quo…

云管平台上线只是开始:从“建好”到“用好”的运营、推广与深化指南

项目上线的喜悦转瞬即逝,随之而来的是一个更为现实和复杂的阶段:运营。云管平台(CMP)的成功,不再仅仅取决于其技术架构的先进性,更在于它能否融入组织的肌理,为不同角色持续创造价值。本文将从管理者、平台团队、开发者、运维和财务五个核心角色的视角,深入探讨平台上线…

distributed.client.Client 用户可调用函数分析

distributed.client.Client 用户可调用函数分析 1. 核心计算函数 任务提交和执行submit(func, *args, keyNone, workersNone, resourcesNone, retriesNone, priority0, fifo_timeout60s, allow_other_workersFalse, actorFalse, actorsFalse, pureNone, **kwargs) 提交单个函数…

数字图像处理——信用卡识别

在数字支付时代,信用卡处理自动化技术日益重要。本文介绍如何利用Python和OpenCV实现信用卡数字的自动识别,结合图像处理与模式识别技术,具有显著实用价值。系统概述与工作原理信用卡数字识别系统包含两大核心模块:模板数字预处理…

嵌入式ARM64 基于RK3588原生SDK添加用户配置选项./build lunch debian

1 背景 在我们正常拿到SDK后会有一些配置选项,在使用./build.sh lunch之后会输出一些defautconfig让我们选择,瑞芯微的原厂sdk会提供一些主板的配置选项,但是我们的如果是一块新的主板就需要添加自己的配置选项,本文就讨论如何来添…

专为石油和天然气检测而开发的基于无人机的OGI相机

专为石油和天然气检测而开发的基于无人机的OGI相机基于无人机的 OGI 相机:(Optical Gas Imaging,光学气体成像)其实是近几年油气、电力、化工等行业里非常热门的应用方向。什么是 OGI 相机OGI(Optical Gas Imaging)&am…