手机伺服党的福利,一键访问手机伺服

前言

众所周知,思源的手机伺服很方便,也很强大。

但遗憾的是手机 ip 经常变化,每次都要打开手机看下 ip 才能访问,这很不方便。

你可能说,社区有教程啊,通过 arp 可以获取局域网 ip,没错,确实可以。但也有公司或单位出于安全的考虑屏蔽了 arp 探测局域网 ip 的能力。

另外,你每次启动都要打开脚本去执行这也不方便呀。还有,如果你出差在外地,或者被迫用其他人的电脑,别人电脑上没有脚本咋办?又回到了手动输入的时代,不是吗?

有没有一种方法,直接打开浏览器就能访问呢?

有啊,今天这个脚本就是实现这个目标的。

这个脚本的原理就是,每次手机启动时,会自动把自身的 ip 写到云端,然后浏览器访问时读取并跳转即可。

这个云端并不是自建的服务器,也不是 serverless。而是,利用 Easy Mock 网的 api 服务。

之所以选择这个平台,是因为这个网站的 api 调用方便,对新手用户友好,而且服务器在国内速度快。

当然,你也可以根据这个原理放到其他服务上,比如 github, vercel 等。

脚本内容

使用方法

  1. 把脚本放到 js 代码片段中,并修改脚本中的 username 和 password 两个变量的值,这个随便设置,当用户不存在时会自动注册,然后保存 js 片段即可。

    这时,会在 data/public 目录生成一个 siyuan.html 文件。

  2. 同步代码片段到手机上,分别点点电脑和手机上的小云朵按钮即可。

  3. 打开手机端思源,开启手机伺服服务,已开启的可以忽略。

  4. 打开 data/public/siyuan.html 就可以访问手机伺服了。

    注意,第一次访问时会提示你先把该页面收藏到收藏夹,下次直接收藏夹里打开这个文件就行了。

    当然,你也可以把这个文件放到服务器上或 github,vercel 等,然后就可以随时随地访问了。

注意事项

  1. 脚本会在 Easy Mock 网站创建一个叫 siyuan 的项目,其下有一个 api 叫/ip,请不要修改或删除这个项目和 api。
  2. pc 端仅在第一次保存时运行,确切的说,当代码片段中的 username 不同时会运行一次更新配置数据。
  3. 如果多个客户端同时使用这个脚本,那么以最后一次启动的客户端的 ip 为准。

效果演示

r36.gif

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23014 引用 • 92576 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    728 引用 • 1273 回帖
  • 伺服
    1 引用 • 20 回帖
  • 脚本
    20 引用 • 147 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • openAI 2 评论

    有没有可能出一个 ipv6 版的,这样不在一个局域网也能访问?

    简单试了下,伺服用 ipv6 似乎不太行
    openAI 1 赞同
    @openAI 确实,好像不能获取有效的对外访问的地址,不清楚原因。设备互相访问,可以试试楼上两位大佬的推荐,比如 ZeroTier One
    wilsons 1 赞同
  • 其他回帖
  • wilsons

    如果有朋友想通过其他脚本获取 ip 的,可打开 public/siyuan.html 参考里面的获取方法即可。

  • tecent

    内网穿透你选择不很多么?Screenshot20240831041333821com.miui.homeedit.jpg

    1 回复
  • wilsons

    更新:

    手机端增加手动上传 IP 功能,这在某些情况下非常有用,比如切换了网络啥的,不用重启思源的情况下上传 IP。(代码已更新)

    Snipaste20240830234601.png

  • 查看全部回帖