无需输入 ip 访问思源伺服,解决 ip 变化要重新收藏地址的烦恼

本贴最后更新于 341 天前,其中的信息可能已经时过境迁

思源伺服使用上的麻烦

  我很喜欢使用手机伺服使用思源,人肉同步,不需要总是云同步,不用解决文档同步冲突的问题,简直爽歪歪。

  但是有个麻烦的地方,每次从家里到公司之后手机的 ip 总是变化,之前浏览器收藏夹收藏的地址就没用了,要先去手机上找到自己的 ip,然后复制通过微信发送到电脑上面,再复制到浏览器地址栏访问,过程非常繁琐。

寻找解决办法的过程

  我一直在想能不能有什么办法自动找到手机的 ip 呢,于是在思源的论坛上寻找办法,看到了这篇文章手机伺服,笔记本免输网址打开思源 2.0 - 链滴 (ld246.com)。文章最后一个思路是通过 mDNS 功能通过域名访问手机设备。

啥是 mDNS 功能呢,查了一下,就是如果不知道手机的 ip 可以直接通过手机提供的域名来访问,而且不需要一个公共的 dns 解析器就能和手机通信。也就是说可以通过固定的域名来访问手机的思源(只要电脑和手机在同一个局域网,无论在哪里都能用这个固定的域名访问)。

那么现在问题就是这个域名是什么呢?

于是就去搜索安卓手机(我是小米手机)的 mDNS 的相关信息,苹果是通过[任意前缀].local 来访问 ios 设备,安卓是不是也能这样访问呢,结果不行。然后我在网上找到了一个可以扫描局域网设备的软件:Advanced IP Scanner – 免费下载网络扫描程序 (advanced-ip-scanner.com)。扫描之后果然找到了我想要的结果:

  image

  那么我的手机固定的访问域名是 xiaomi-13-pro.lan,在任何网络环境下,局域网都可以通过这个来访问。

利用 mDNS 固定域名[设备名称].lan 访问伺服

  image

  果然成功了, 然后我尝试修改手机的 ip,再访问 http://xiaomi-13-pro.lan:6806/,果然还是能正常打开,但是第一次访问会比较慢(应该是在缓存),后来再打开就很快了。以后无论在什么网络环境,只要是手机和电脑在同一个局域网下就可以通过这个域名访问使用了。最终开心的将地址收藏到浏览器中。

  每个手机的前缀不一样, 如果不知道是什么可以尝试使用 Advanced IP Scanner 扫描(需要多扫几遍才能出来),这个前缀是固定的,暂时还没找到办法修改。

最终的结论

所以小伙伴们如果习惯使用手机做伺服的话,首先保证电脑和手机在同一个局域网,安卓手机可以尝试一下通过 http://[你的设备名称].lan:6806 来访问, 如果你不知道你的设备名称是什么以及苹果手机,那么就用 Advanced IP Scanner(或者其他类似的网络 ip 扫描工具)扫描一下看看你的手机提供的域名是什么样的,以后不管在哪里就都可以用这个域名来访问思源伺服了。

补充:目前测试在公司和家里环境下是固定的,其他手机型号以及其他网络环境并未测试,可能不生效

  • 思源笔记

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

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

    23019 引用 • 92594 回帖
3 操作
f8401067 在 2024-01-16 18:33:29 更新了该帖
f8401067 在 2024-01-16 16:38:01 更新了该帖
f8401067 在 2024-01-16 15:07:53 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 路由器设置静态 IP,ip 地址就不会变了

    1 回复
  • 其他回帖
  • f8401067

    为啥会觉得麻烦啊?直接访问[手机设备名].lan:6806 就行了啊,一步到位,没任何其他步骤,不用去查 Mac 地址,更不用去复制代码保存个脚本,那用别的电脑又得搞个脚本

    1 回复
  • 如果使用场景固定的话,比如大部分时间是在家里和公司的台式机上用;那么手机在连家里和公司 wifi 的时候,可以使用静态 ip;相应的,公司和家里电脑只需收藏相应的 ip:6806 即可。

  • 不用这么麻烦,之前在群里讨论过,直接通过设备的 mac 物理地址锁定 IP 就可了

    ```bat
    @echo off
    
    REM 获取所有MAC和IP地址
    arp -a > arp_output.txt
    
    REM 指定要查找的MAC地址
    set target_mac=32-55-83-b5-ca-5d
    
    REM 在arp_output.txt中查找指定MAC对应的IP地址
    for /f "tokens=1 delims= " %%A in ('type arp_output.txt ^| findstr /c:"%target_mac%"') do (
        set target_ip=%%A
    )
    
    REM 调用浏览器打开指定IP地址
    if not "%target_ip%"=="" (
        start "" "http://%target_ip%:6806"
    ) else (
        echo 目标MAC地址未找到。
    )
     *
    

    sh 版本也有

    
                    
    1 回复
  • 查看全部回帖