Obsidian 云存储 后端服务

一般图床都不会直接往数据库存图的,一般数据库只记录一个路径,这个路径一般默认在程序所在文件之下。你可以找找看

我实现那个直接把图片存在可以暴露的文件夹,就是 /app/data/images 这个路径。

谢谢,真是这样,图片存储在文件夹中 ,而不是数据库中,我误解了。
下一步,你可以继续细化这个图床功能,例如支持单独配置文件,路径、文件名都可以配置什么的。

另外在微信往ob发送消息时,末尾带todo,可以生成任务,但是todo字符没有在ob中删除,建议修改一下。建议

现在可以通过文件名和前缀,是否应用上传文件名,末尾添加随机字符数来自定义了。如果由于原文件,或者网页链接有奇奇怪怪的字符,比如问号,空格等等导致各类奇怪错误,就不要用原文件名称了。另外 obsidian 内也不支持有空格的链接,即使在浏览器中能正常访问。我想三个参数应该是够用了。

至于 todo,我这个4.0.6功能改了但没测试,应该是好使的。不删除的原意是避免消除tag,如 #todo ,消除对使用标签来说并不方便。不过问题应该不大,我已经不用标签管理todo,而是使用 tasks 插件了。如果想打 tag 现在需要打 两次 #todo 了,现在只会将第一个todo消去。

另外搞了个 cli 工具配合插件自动上传,我想这个实现的至少比 picgo 好配置,也是下载即用的,但是我手头并没有 mac,linux 也是无图形界面的,所以只测试了 Windows 。 相关文档在这里Document for Obsidian Cloud Storage API

另外补充下,https://kkbt.gitee.io/obweb/#/ 和微信返回那个页面,都是 pwa 应用。换句话说可以安装的,即使不能安装,也可以用浏览器发送到桌面,来创建快捷方式,快速输入内容。我不太清楚ios有没有这个限制,如果没有这也算一个很好的方式。一般点击右侧图片就可以到输入界面了。

现在有个难题。
目前 ob 插件 image upload 只能批量上传当前笔记的所有图片至图床。
我现在导入了上千个印象笔记的记录,里面有上千张图片,有没有办法把整个文件夹所有 笔记的记录文件批量上传至图床,否则一个笔记一个笔记传图片,太费劲了。

1 个赞

一般批量的操作都得写脚本,要不只能把那个批量操作的命令设置成快捷键,然后挨个文件运行一次了。或者去提个 issue
需要注意的是,运行脚本之前备份好你的笔记。然后就可以从网上找一些python脚本,或者通过最近很火的new bing生成python代码运行
如果你的图片都在固定几个文件夹,也可以把他们都复制到docker暴露的文件夹images内,然后用正则表达式批量替换。

谢谢,您给的思路不错,我琢磨一下,不明白,为啥插件作者不实现这个功能,很简单的事情。

把image文件拷贝到nas里面,再用vscode对md文件中的image链接进行批量替换,比较方便。

还有一个疑问,ob笔记记录的都是比较私密的东西,如果图片传到到nas上,感觉就不太安全了,有没有什么办法,能解决安全性问题。

私密图片建议还是放在本地,如果是s3对象存储,简易web页面能显示最近3天日记中路劲完整的图片。

放在nas上也有一些方法,但是大多并不方便。如 nginx 代理可设置黑白ip名单,禁止外国外省外市ip访问,或只允许常用几个ip访问。

我的公网服务器通过防火墙软件黑白ip名单避免了暴力爆破。
nginx还可以设置密码验证等,但是这对于图床来说几乎用处有限。所以善用防火墙。宝塔有专门的nginx防火墙,或者其他限制访问的软件程序。

或者使用 vpn ,路由器或nas开启这项服务,然后不在家时使用专用软件访问内网服务。

你可以搜索nas安全获取更多信息,但是总得来说,最安全的地方还是本地。你可以看到 obcsapi ,很容易增添内容,但是只能获取三天日记,这也是避免出现泄露问题。

确实啊,图床本来是为了方便分享笔记文章准备的技术,不适合私密笔记内容存储,ob全本地化存储的模式,如果仅为了减少本地文件尺寸,而用图床技术,可能会有泄漏个人信息的风险。

ob总体来说,使用场景还是非常狭窄的,notion这类云端的笔记软件,具有更多的应用场景,适合多数人的使用。

中国区的印象笔记,如果最近年不这么无耻恰饭,它也算一个非常棒的笔记软件,特别是图片内ocr文字搜索,是非常棒的功能。

现在我也没有找到替代印象笔记图片搜索功能的笔记软件。

iphone上用了几天微信2ob的功能,感觉还是找到入口太慢,打开微信搜索才行。没有类似flomo的桌面直接入口,可惜。flomo可以在ios桌面上建立插件,直接上传信息

其实ob也没什么必要注意尺寸,太大了太慢开新库就好了。因为obsidian主要就是本地存储,而且由于纯文本存储,利于开发插件,再就是迁入迁出方便。也可以通过多种手段备份。我这就是本地4份,云端2份。因为我是对象存储,其他笔记也能方便的使用,很稳。

至于云端笔记,这算大众的选择,付费服务比自己搭建的云笔记稳定的多。价格可能略高,甚至可能几年一涨价,但是付费使用体验必然有一些值得的地方。虽然有些也是导出非常不便,比如有道云笔记,语雀。印象笔记也算老朋友了,以前有不少布道师。属于那种可以把各种东西都往里放那种。包括一些便签软件,都支持印象笔记存储数据。

如果是图片ocr, Anytxt Searcher 似乎有宣传说支持。效果怎样呢?

另外,如果你的浏览器支持往桌面放网页快捷方式,也可用网页版。可以fork obweb那个库,把 memos.md 内容复制到 home.md 然后开启 gitee 的静态网站功能,这样快捷方式点开都就可以发送文字了。

我手头没有ios设备,但是据我所知ios是有自动化的,应该叫快捷指令。我看到过 flomo 有基于捷径的。

这是 flomo 的,obcsapi 的 /ob/general 路径和 flomo 的 api 是相似的,header 里是 Token 的值带 token2 的值就可以。这个和安卓 fv 悬浮球是很相似的。

b站也有一些视频 如

这个输入不方便的解决方案还是挺多的

我正想问你,如何用快捷连接obsapi,感谢给你的提示,我看看。
anytext以前在windows下用过,是个独立的应用程序,而且不支持mac。
不能和ob进行整合,我现在还不能完全弃用印象笔记。

好吧,mac我确实了解不多,不过大概确实是 obsidian 插件的一个方向。
说回来快捷指令运行成功后,如果可以,请截几张配置方法的图片,发到我的邮箱,我会加入到文档教程中。我的邮箱在 https://gitee.com/kkbt 能找到,

好的,我先研究清楚下,从来没有编写过快捷指令

api不太明白,看了半天文档。
config.yaml中的
front_url: https://kkbt.gitee.io/obweb/#/Memos
backend_url: api.ftls.xyz

配置是什么含义。

另外https://note.ftls.xyz/中 debug模式下,填写两个编辑框,设置api和token,是什么意思。
token1和token2,是我用随机数生成器生成写入两个文件,还是系统每次自动生成。
电子邮箱发送登录链接,是什么意思,我在cofnig.yaml文件设置好了邮箱配置,为啥收不到邮件。

抱歉一大顿问题,研究了半天,感觉不太明白。

docker更换4.06,微信转送后,ob能看到信息,但是微信公众号反馈“该公众号提供的服务出现故障,请稍后再试”,奇怪。
感觉和front_url和backend_url设置有关吧。

另外,邮件服务器地址设置错误后,docker发送失败就会意外退出,需要一个错误处理代码,防止意外退出。

front_url 和 backend_url 都是发邮件用的,因为前端可以自己搭建,可以使用各类服务,或者我的网页。所以可以在配置中设置,这个可以不用改。
backend_url 就是你的 nas 运行此项服务的 ip+端口,或者域名+|端口。比如 127.0.0.1:8900。

是这么一个逻辑,如果你的邮件设置正确。指定邮箱会收到一封邮件,这个邮件包含那两个参数组合的一个链接。如图

点击进入后会自动填入后端地址和token1的值。你也可以复制这个登录链接到各种浏览器实现“登录”。比如微信内置浏览器,这样发送图文后,返回的链接点进去就能看到最新发送到内容。

至于token1和token2的值,这个是会在第一次运行后自动生成的随机值。因为有匿名映射,或者手动指定暴露文件夹,所以这两个值生成之后不会更改,就像配置文件一样。除了手动触发发送邮件链接都不会变。当然也可以手动修改。

这个邮箱配置,和相关报错问题,我想我确实应该做一些优化。而微信服务故障,我想有种可能是你的 docker 版本更新了,但是配置文件没更新,换句话说是不是少 wechat_return_str: 这个配置选项。或许我应该设置一个默认值 Document for Obsidian Cloud Storage API