简体中文 | English
基于 PHP 7.3+ 开发的独立 Obsidian Web 端系统,无需 Node.js 环境即可在浏览器中顺畅运行 Obsidian。
本程序后端基于开源项目 Ignis(Obsidian Web 桥接端)重构为纯 PHP 版本,前端整合了 Obsidian 官方的客户端核心运行环境。
Important
关于 Obsidian 官方静态资源: 根据 Obsidian 官方最终用户许可协议(EULA),本项目代码仓库不内置打包 Obsidian 官方核心文件。
- 在线一键安装(推荐):首次访问
/install完成管理员账号配置后,系统会自动引导进入内置的 Web 下载器(tools/obsidian-downloader.php),在浏览器端一键完成核心资源的下载与安全原子部署; - 离线手动部署:支持将官方 asar 解包后的文件放置在
assets/obsidian/目录下。
- 将本程序完整文件夹放置在您的 PHP 运行环境(如 phpStudy、宝塔面板、Nginx、Apache 等支持 PHP 7.3+ 的 Web 服务器或虚拟主机)站点根目录下。
- 在浏览器中直接访问您配置的域名或端口(如
http://localhost:8080/),进入安装向导。 - 按照向导设置管理员账号,并根据引导一键初始化 Obsidian 核心资源即可进入系统。
系统支持 RESTful 优雅路由 与 Query 传统兼容路由 两种模式:
| 功能 | RESTful 优雅模式 (需配置伪静态) | Query 传统兼容模式 (免配置全兼容) |
|---|---|---|
| 初始化安装 | http://localhost:8080/install |
http://localhost:8080/index.php?s=/install |
| Obsidian 网页主界面 | http://localhost:8080/ |
http://localhost:8080/index.php?s=/ |
| 核心资源下载/升级工具 | http://localhost:8080/tools/obsidian-downloader.php |
http://localhost:8080/tools/obsidian-downloader.php |
| 登录页面 | http://localhost:8080/login |
http://localhost:8080/index.php?s=/login |
| 设置中心 (修改密码) | http://localhost:8080/pwd |
http://localhost:8080/index.php?s=/pwd |
| 安全退出登录 | http://localhost:8080/logout |
http://localhost:8080/index.php?s=/logout |
💡 提示:
- 核心资源下载工具(
tools/obsidian-downloader.php)具有严格的访问权限控制,未登录访客无法随意访问。- 修改密码(设置中心)除了支持
/pwd路由外,系统还同时兼容/pass、/password、/change-password三个别名路径。
- 解决 404 痛点:部分虚拟主机或服务器无权限/未配置伪静态,直接访问
/login或/install会报 404。 - 零门槛兼容:Query 模式 (
index.php?s=...) 显式请求index.php,无须任何伪静态配置即可 100% 开箱即用。 - 智能体验:未安装时默认使用
index.php?s=/install保障首次成功访问;安装界面支持【⚡ 自动检测环境路由】并一键匹配最优模式。
如果您后续需要升级 Obsidian 官方核心客户端,支持以下方式:
登录管理员账号后,访问 http://localhost:8080/tools/obsidian-downloader.php,选择或输入最新版本号即可一键执行安全原子替换升级(自动校验健康度,解压失败自动回滚)。
- 下载来源:从 Obsidian 官方 Releases 仓库 下载最新桌面安装包解压提取,或从官方静态 CDN 节点获取。
- 替换目标位置:将提取出的
app.js、app.css、i18n/文件夹及lib/文件夹直接放置到assets/obsidian/目录下。
- 源码仓库:Ignis GitHub 仓库
- 直接获取方式 (免编译下载):
- 前端 UI 脚本:
https://ignis-demo.thiefling.com/ignis-ui.js - 环境适配脚本:
https://ignis-demo.thiefling.com/shim-loader.js
- 前端 UI 脚本:
- 源码自行编译命令 (Node.js + pnpm 环境):
# 1. 克隆源码并安装依赖 git clone https://github.com/Nystik-gh/ignis.git cd ignis pnpm install # 2. 编译生成 shim-loader.js 与 ignis-ui.js pnpm --filter @ignis/shim build # 编译输出在 packages/shim/dist/shim-loader.js pnpm --filter @ignis/ui build # 编译输出在 packages/ui/dist/ignis-ui.js
- 替换目标位置:
ignis-ui.js覆盖至assets/ui/ignis-ui.jsshim-loader.js覆盖至assets/shim/shim-loader.js
wwwroot/
├── index.php # 系统路由总入口(支持 RESTful 与 Query 传统双模式)
├── assets/ # 前端静态资源目录
│ ├── ui/ # Ignis UI 界面包装脚本 (ignis-ui.js)
│ └── shim/ # 浏览器环境适配与拦截器 (shim-loader.js)
├── data/ # 数据库与运行时配置目录(SQLite 数据文件、安装锁等)
├── src/ # 后端核心源码(MVC 控制器、鉴权认证、数据库服务)
├── tools/ # 独立运维与资源工具目录
│ └── obsidian-downloader.php # Web 端官方核心资源安全下载与原子部署向导
└── vaults/ # 用户的 Markdown 笔记库(Vaults)实际存储目录
- 开源协议与衍生说明:
- 本项目基于开源项目 Ignis(版权归原作者 Nystik 所有,遵循 AGPL-3.0 协议)重构与衍生。
- 本项目原创的 PHP 后端服务(
src/)、路由入口(index.php)及前端适配补丁脚本遵循 GNU AGPL-3.0 协议 开源,受版权法保护并享有署名权。
- Obsidian 官方资产:
assets/obsidian/目录下的核心文件属于 Obsidian 官方专有资产。其版权及使用条款需严格遵循 Obsidian 官方最终用户许可协议 (EULA),非开源授权范围。
- 商业与网络服务使用限制:
- 任何基于本项目提供网络服务(如 SaaS 部署)或二次分发的行为,均需遵循 AGPL-3.0 协议向用户开源对应改动的完整源码并保留原作者及本项目署名。
- 本项目的日常使用需严格遵守 Obsidian 官方的商业授权协议,个人非商业使用完全免费;若将本系统部署并用于商业性日常工作,使用者需自行向 Obsidian 官方购买商业授权。