{"id":13495598,"url":"https://github.com/Alt-er/obsidian-sync-share","last_synced_at":"2025-03-28T16:33:04.038Z","repository":{"id":173918193,"uuid":"648996566","full_name":"Alt-er/obsidian-sync-share","owner":"Alt-er","description":"Sync and share (publish) your notes in your own private service.","archived":false,"fork":false,"pushed_at":"2024-01-11T15:40:04.000Z","size":10545,"stargazers_count":93,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-31T10:36:49.588Z","etag":null,"topics":["backup","git","obsidian","obsidian-plugin","publish","share","sync"],"latest_commit_sha":null,"homepage":"https://share.alter.run/share/alter/0798331c-7d63-4fa7-b312-a600ad62aea7","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alt-er.png","metadata":{"files":{"readme":"README-zh_CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-06-03T12:59:48.000Z","updated_at":"2024-10-25T19:06:55.000Z","dependencies_parsed_at":"2023-10-16T02:29:36.458Z","dependency_job_id":"fb1a140c-811b-4476-b86a-96861df68387","html_url":"https://github.com/Alt-er/obsidian-sync-share","commit_stats":null,"previous_names":["alt-er/obsidian-sync-share"],"tags_count":12,"template":false,"template_full_name":"obsidianmd/obsidian-sample-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alt-er%2Fobsidian-sync-share","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alt-er%2Fobsidian-sync-share/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alt-er%2Fobsidian-sync-share/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alt-er%2Fobsidian-sync-share/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alt-er","download_url":"https://codeload.github.com/Alt-er/obsidian-sync-share/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246063140,"owners_count":20717750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","git","obsidian","obsidian-plugin","publish","share","sync"],"created_at":"2024-07-31T19:01:36.296Z","updated_at":"2025-03-28T16:33:03.338Z","avatar_url":"https://github.com/Alt-er.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Notes Sync Share\n\n**Notes Sync Share** 是一个 Obsidian 插件，允许你将笔记同步和分享（发布）到你自己的私有服务。通过这个插件，你可以轻松地将 Obsidian 笔记同步到自托管的服务，并完全掌控你的数据。\n\n## 特点\n\n- **同步**: 无缝同步你的 Obsidian 笔记到你的私有服务。你的笔记将始终在多个设备上保持最新。\n- **发布与分享**: 轻松地将选定的笔记发布和分享到你的私有服务。与他人共享你的知识，或与团队成员合作。\n- **隐私与控制**: 保持你的笔记安全和私密。你的数据存储在你自己的自托管服务中，让你完全掌控你的信息。\n\n注：同步和分享功能可以独立使用，你可以只使用其中之一，例如：只使用分享功能，而同步功能则可以通过其他 Obsidian 插件来完成。\n\n## 截图\n\n### 配置\n\n![Configuration](screenshots/Configuration.png)\n\n### 同步与历史\n\n![SyncAndHistory](screenshots/SyncAndHistory.gif)\n\n### 分享\n\n![Share](screenshots/Share.gif)\n\n## 入门指南\n\n1. 在你的 Obsidian 应用中安装 **Notes Sync Share** 插件。\n2. 部署后端服务。\n3. 使用你的私有服务的 URL 和凭证配置插件设置。\n4. 选择你想要同步或发布的笔记。\n5. 享受无缝同步和分享你的笔记。\n\n## 后端服务部署\n\n### 在部署前先试用\n\n试用作者的后端服务：`https://share.alter.run`，将该地址配置到你的插件中。\n\n注：出于更好的隐私保护，最好使用你自己部署的服务。\n\n### 使用 Docker\n\n#### 快速开始\n\n要快速启动 Obsidian 同步分享服务器，请执行以下命令：\n\n```shell\ndocker run -d \\\n--name obsidian-sync-share-server \\\n-p 80:8080 \\\n-v \"/root/obsidian-sync-share-server/user_store:/app/user_store\" \\\nalterzz/obsidian-sync-share-server\n```\n\n该命令将在后台启动一个容器，将主机上的端口 80 映射到容器中的端口 8080，并将主机上的 /root/obsidian-sync-share-server/user_store 目录挂载到容器中的 /app/user_store 目录。\n\n#### 配置 HTTPS\n\n\n```shell\ndocker run -d \\\n--name obsidian-sync-share-server \\\n-p 443:8080 \\\n-v \"/root/obsidian-sync-share-server/user_store:/app/user_store\" \\\n-v \"/root/obsidian-sync-share-server/share.alter.run.jks:/app/cert.jks\" \\\n-e server.ssl.key-store-type=JKS \\\n-e server.ssl.key-store=/app/cert.jks \\\n-e server.ssl.key-store-password=xxxx \\\nalterzz/obsidian-sync-share-server\n```\n\n此命令允许你指定额外的参数来配置服务器。下面是每个参数的解释：\n\n- -p 443:8080：将主机上的端口 443 映射到容器中的端口 8080。根据需要修改主机端口。\n- -v \"/root/obsidian-sync-share-server/user_store:/app/user_store\"：将主机上的 /root/obsidian-sync-share-server/user_store 目录挂载到容器中的 /app/user_store 目录。根据需要调整主机目录路径。\n- -v \"/root/obsidian-sync-share-server/share.alter.run.jks:/app/cert.jks\"：将主机上的 share.alter.run.jks 文件挂载到容器中的 /app/cert.jks 文件。请更新主机文件路径。\n- -e server.ssl.key-store-type=JKS：将 SSL 密钥库类型设置为 JKS。如果使用不同类型，请进行修改。\n- -e server.ssl.key-store=/app/cert.jks：指定容器内 SSL 密钥库文件的位置。根据需要进行调整。\n- -e server.ssl.key-store-password=xxxx：设置 SSL 密钥库的密码。将 xxxx 替换为实际密码。\n\n#### 其他配置\n\n限制内存\n\n`-e JAVA_OPTS=-Xmx512m` \n\n修改git默认分支名称，默认为master, 以下示例将默认分支名称设置为 main\n\n```shell\necho \"[init] \\n    defaultBranch = main\" \u003e ~/gitconfig_temp\n\ndocker cp ~/gitconfig_temp obsidian-sync-share-server:~/.gitconfig\n```\n\n禁用或允许自动注册操作\n\n```\n# 创建一个名为“registration_lock”的文件并将其放在与程序相同的目录中将禁用自动注册。\ndocker exec obsidian-sync-share-server touch /app/registration_lock\n\n# 删除这个文件将允许自动注册\ndocker exec obsidian-sync-share-server rm /app/registration_lock\n```\n\n#### 尝试访问\n\n使用你的服务器 IP 地址或域名来访问你的服务，端口是之前在 Docker 中配置的监听端口。\n\nhttp://{你的服务器 IP}\n\n或\n\nhttps://{你的服务器 IP}\n\n#### 删除或重建\n\n```shell\ndocker stop obsidian-sync-share-server\ndocker rm obsidian-sync-share-server\n\n# rebuild\n# ...\n\n# view Log\ndocker logs obsidian-sync-share-server\n```\n\n### 源代码部署\n\n请访问 [obsidian-sync-share-web](https://github.com/Alt-er/obsidian-sync-share-web)。\n\n请访问 [obsidian-sync-share-server](https://github.com/Alt-er/obsidian-sync-share-server)。\n\n### 同步到远程 Git\n\n#### 配置\n\n请前往插件配置页面，配置以下内容。\n\n注：每次同步都会使用强制推送（Force push）。\n\n- 远程 Git 仓库地址\n- 用户名和访问令牌（AccessToken）\n\n#### 获取 GitHub 访问令牌\n\n- 打开 GitHub 网站并登录你的账户。\n- 点击右上角的个人头像，选择 \"Settings\"。\n- 在左侧边栏中，选择 \"Developer settings\"。\n- 在左侧边栏中，选择 \"Personal access tokens\"。\n- 点击 \"Generate new token\"。\n- 在 \"Note\" 字段中输入一个描述性名称，以记住这个访问令牌的用途。\n- 从列表中选择所需的权限（例如，读取仓库、写入仓库等）。\n- 在页面底部点击 \"Generate token\"。\n- 复制生成的访问令牌。\n\n#### 获取 GitLab 访问令牌\n\n- 打开 GitLab 网站并登录你的账户。\n- 点击右上角的个人头像，选择 \"Settings\"。\n- 在左侧边栏中，选择 \"Access Tokens\"。\n- 在 \"Name\" 字段中输入一个描述性名称，以记住这个访问令牌的用途。\n- 在 \"Scopes\" 部分，选择所需的权限（例如，API、仓库等）。\n- 在页面底部点击 \"Create personal access token\"。\n- 复制生成的访问令牌。\n\n## 常见问题 (FAQ)\n\n### 1. 同步时卡住并提示: \"Other clients are in the process of synchronization, please try later\"\n\nQ：删除文件：`/app/user_store/{username}/sync_lock`可以手动解锁。以上是docker部署的路径。如果是手动部署，请在您手动指定的目录中搜索该文件。\n\n如果解锁后再次出现该问题，则说明您的同步过程出现问题。 常见的情况是，使用反向代理（nginx）时，上传的文件大小超出了使用默认配置时的限制。 还可能存在其他问题，可以使用 `docker log obsidian-sync-share-server` 查看错误堆栈。 如果方便的话可以发给我，我会具体分析问题。\n\n### 2. 链接被当做文本无法跳转\n\nQ: 不要使用 wikilinks\n\n![Don't use wikilinks](screenshots/Dont_use_wikilinks.png)\n## 反馈与贡献\n\n如果你遇到任何问题，有建议，或想为 **Notes Sync Share** 的开发做出贡献，请访问 [GitHub 仓库](https://github.com/Alt-er/obsidian-sync-share)。非常感谢你的反馈和贡献。\n\n## 许可证\n\n该插件在 [MIT 许可证](https://github.com/Alt-er/obsidian-sync-share/blob/master/LICENSE) 下发布。\n\n---\n\n**Notes Sync Share** 与 Obsidian 或 Obsidian 团队无关，它是由 Alt-er 开发的独立插件。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlt-er%2Fobsidian-sync-share","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAlt-er%2Fobsidian-sync-share","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAlt-er%2Fobsidian-sync-share/lists"}