• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MoGeJiEr
V2EX  ›  程序员

mihomo 接入 tailscale

  •  5
     
  •   MoGeJiEr · May 12 · 11182 views

    自己改了下 mihomo 内核,支持接入 tailscale 网络了,链接:https://github.com/cyenxchen/mihomo

    如果你用的安卓可以使用我改过的 clashmi,这样就可以同时翻墙+访问家里网络了,链接:https://github.com/cyenxchen/clashmi

    我个人自用了几天,没发现什么大问题,当然有问题了也欢迎带日志反馈.

    配置示例:

    proxies:
      - name: ts-mihomo
        type: tailscale
        auth-key: tskey-auth-xxxxx
        hostname: ts-mihomo
        control-url: https://controlplane.tailscale.com
        ephemeral: true # 是否是临时节点
        state-dir: "./tailscale"  # 连接上 tailscale 网络之后会有一些数据持久化,该选项是就指定保存这些数据的目录
        exit-node: "" # 可选,不需要出口节点就不填
        accept-routes: true # 可选,默认 true ,用于接受 subnet routes
    
    rules:
      # 将你家里的内网流量打到 tailscale 中
      - IP-CIDR,192.168.1.0/24,ts-mihomo,no-resolve
    
    Supplement 1  ·  May 13
    已经提 pr 到官方了,官方管理也回复说了可以合并,但要做一些修改,其中最大的问题就是强兼 1.20 版本,这块等我有时间就去处理.
    Supplement 2  ·  May 14
    应该是官方接手了,pr 已经合并主干了,各位等后面更新吧.
    114 replies    2026-05-19 11:47:24 +08:00
    1  2  
    qinfengge
        1
    qinfengge  
       May 12
    这两个本来就可以同时开吧,只要 clash 不开 TUN 。我电脑上这两个都是开机启动的,没啥问题啊。手机端的话感觉这需求也太少见了吧
    MoGeJiEr
        2
    MoGeJiEr  
    OP
       May 12   ❤️ 2
    @qinfengge 主要就是为了满足移动端
    kdwycz
        3
    kdwycz  
       May 12
    移动设备只允许一个 vpn 。这个功能很棒!
    snachx
        4
    snachx  
       May 12
    可以考虑发 pr 给 mihomo 官方
    MoGeJiEr
        5
    MoGeJiEr  
    OP
       May 12
    @snachx 改动有点多,提 pr 怕 argue 来 argue 去的,我嫌麻烦,不过后面我尝试提一下
    loveshuyuan
        6
    loveshuyuan  
       May 12
    赞一个,做了我一直想做的事,建议发一个 PR 给官网,很多人有这个需求,https://github.com/MetaCubeX/mihomo/issues?q=tailscale
    zealotxxxx
        7
    zealotxxxx  
       May 12
    这种还挺危险的,不能随意暴露自己的 tskey
    zealotxxxx
        8
    zealotxxxx  
       May 12
    但是确实是需要的东西了
    MoGeJiEr
        9
    MoGeJiEr  
    OP
       May 12
    @zealotxxxx #7 危险点在哪里?你自用的配置不可能到处发吧
    zealotxxxx
        10
    zealotxxxx  
       May 12
    @MoGeJiEr 正常脑子是不能的。但是,有些人脑子缺根筋就会。(当然,这是个人自己的问题了)
    q1169989139
        11
    q1169989139  
       May 12
    我直接家里路由器开个小飞机服务端就行了,然后外面设备就可以同时回家和出国了,还能免流
    ychbest
        12
    ychbest  
       May 12
    不错,我每次手机连家里要自己切换 vpn ,很麻烦
    zealotxxxx
        13
    zealotxxxx  
       May 12
    @q1169989139 家里的场景主要是会受限于能否直连,非直连的情况下就极其吃 derp 服务器的带宽了。
    Quik
        14
    Quik  
       May 12
    好东西啊。如果能进 mihomo 主线一起更新就好了,移动端真的需要这玩意
    biu7
        15
    biu7  
       May 12
    赞,太需要了,收藏一下
    madtwilight
        16
    madtwilight  
       May 12
    之前看 iOS 上 Stash 增加了 tailscale 支持,就等 mihomo 了,能 pr 官方会更好
    shyrock2026
        17
    shyrock2026  
       May 12
    ios 能用吗?
    flyxq
        18
    flyxq  
       May 12
    @shyrock2026 Stash 测试版支持
    cutiechi
        19
    cutiechi  
       May 12
    赞,我现在的做法是,docker 里运行一个 tailscale 然后暴露 socks proxy ,再在 mihomo 里配置,有了这个之后 docker 可以直接去掉了
    Kinnice
        20
    Kinnice  
       May 12
    @loveshuyuan
    @snachx
    @MoGeJiEr #5 实现这个很简单了,之前也实现过 pr ,没通过,主要问题是怎么在 go1.20 workwell. 现在好像限制死了 go1.20
    WebKit
        21
    WebKit  
       May 12
    @q1169989139 #11 怎么操作?我家里路由器开了翻墙,但是好像访问外网不行啊。还是走的本地网络
    q1169989139
        22
    q1169989139  
       May 12
    @WebKit 可能你固件和插件的问题吧,我是大雕 op 加 ssrp 的插件,ssrp 里开的服务端
    MoGeJiEr
        23
    MoGeJiEr  
    OP
       May 12
    @Kinnice 确定限死 go1.20 吗?确定的话 pr 我也不提了算了
    xiaokanhongchen
        24
    xiaokanhongchen  
       May 12
    确实,官方要是能合并就最好了,很需要这样的功能。我现在用的 easytier 和 mihomo 在 root 手机上共存,要是这个能行的话,又能节约资源了
    xiaokanhongchen
        25
    xiaokanhongchen  
       May 12
    https://v2ex.com/t/1212048
    我这么实现的,不知道能不能和 easytier 也合并起来?
    Kinnice
        26
    Kinnice  
       May 12 via Android
    @MoGeJiEr 看着历史是为了兼容性考虑
    evemoo
        27
    evemoo  
       May 12
    类似 singbox endpoint
    比家里开个 ss 回连更省事,手机还挺需要这个的
    kenX
        28
    kenX  
       May 12
    有类似需求,实现方案也很多。
    想讨论一个场景:
    移动端使用某个方案实现这个效果后,回到家里怎么自动切换为直接访问,避免再去外面绕圈?
    通过场景模式,回家自动切换代理场景吗?
    MoGeJiEr
        29
    MoGeJiEr  
    OP
       May 12
    @kenX ios 上有很多工具是支持连接指定 wifi 自动暂停的,安卓上我印象中也有一个工具有类似的功能,但是不支持多 proxy-provider 我就没深入了解,名字现在我也想不起来了🥲
    jfhufhf
        30
    jfhufhf  
       May 12
    很方便的功能,希望能合并到主线里面去
    KingFong
        31
    KingFong  
    PRO
       May 12
    太厉害了,v2 上神人还是多啊!🤙🤙🤙
    dddedd
        32
    dddedd  
       May 12
    @MoGeJiEr Loon QX 等都支持不同 WiFi 自动切换不同策略(节点,直连)
    CodeDrift
        33
    CodeDrift  
       May 12
    stash 还在测试,已经用上了。能合到主分支最好了
    zwlinc
        34
    zwlinc  
       May 12
    我很早之前就解决了, tailscale 是常驻, 手机上也不需要其他代理软件, 只需要把 fakeip range 用 tailscale 的 subnet router 路由到 ts 内的某个代理节点即可, 不过需要稍微配置一下 dns, 懂 fakeip 的应该能看懂我在说啥.
    xiaokanhongchen
        35
    xiaokanhongchen  
       May 12 via Android
    mihomo 能否生成一个 android 的二进制文件?我用的 box4magisk
    cadl
        36
    cadl  
       May 12
    赞。请问 auth-key 有没有办法放到配置文件之外使用呢? auth-key 如果是非可重用的,这个配置在其他地方也不能用这个 auth-key 了。如果是可重用的 auth-key ,明文的配置总感觉不太踏实。
    要是能放到配置文件之外,在启动时传进去就好了
    gfreezy
        37
    gfreezy  
       May 12 via iPhone
    手机连 tailscale 一般除了 ssh 还有什么场景
    tomclancy
        38
    tomclancy  
       May 12
    牛逼,配享太庙
    irrigate2554
        39
    irrigate2554  
       May 12
    有个骚操作,家里路由器配置个 ss 节点,使用 IPv6 + ss 回家,没有 ipv6 也可配合 frp
    MoGeJiEr
        40
    MoGeJiEr  
    OP
       May 12
    @cadl 可以的,只不过需要改代码,我一时也想不到什么更好的方式,你可以说说你的想法
    ifu25
        41
    ifu25  
       May 12
    厉害,前段时间正好在研究怎么实现移动端双开,发现搞不定,看到这个贴子真是喜出望外,等试试,支持。
    MoGeJiEr
        42
    MoGeJiEr  
    OP
       May 12
    @xiaokanhongchen #35 可以的,回头就加上
    MoGeJiEr
        43
    MoGeJiEr  
    OP
       May 12
    @zealotxxxx #10 你也可以说说你的想法,比如存放在哪会更好?
    milkv
        44
    milkv  
       May 12
    @q1169989139 #11 请教怎么免流
    xxyyang
        45
    xxyyang  
       May 12
    看起来不错。我现在用家里闲置机器开三个虚拟机,给 mihomo 、AdGuard Home 和 Tailscale 分配固定 IP 。通过开启 Exit Node 和 内网 DNS ,目前所有接入 TS 的设备都能直接享受到去广告和分流,5G 远程也能跑满家里 40M 的上行。
    coolfan
        46
    coolfan  
       May 12
    吊炸天
    abc8678
        47
    abc8678  
       May 12 via Android
    zerotier 也希望有
    HangoX
        48
    HangoX  
       May 13
    我看到 stash 加了这个东西,没想到 mihomo 也能加,不错
    thet
        49
    thet  
       May 13
    @kenX stash 都能解决
    dejaldie
        50
    dejaldie  
       May 13
    牛的,有没有 shadowrocket 和 tailscale 同时跑的
    Oranjekop
        51
    Oranjekop  
       May 13
    直接搭一个 ss2022 不照样可以远程访问内网 IP
    bowencool
        52
    bowencool  
       May 13
    为什么这么多人非要钻牛角尖开两个 VPN ?为什么不想办法在家里的网络上搞定梯子呢?我一直都是把出口节点放在家里网络上,一举两得,没有很难
    oop12
        53
    oop12  
       May 13
    这和移动端用 tailscale 的出口节点不是一样嘛?有可以回家又可以上网
    cutiechi
        54
    cutiechi  
       May 13
    @bowencool 家里上传只有 50M
    Tink
        55
    Tink  
    PRO
       May 13
    我在用 clashmi ,楼主不考虑给上游提个 pr 吗
    maoqiucute
        56
    maoqiucute  
       May 13
    我现在家里内网子网中有一个 socks 端口的代理,我现在是本地开一个端口转发到该内网机器(经过 easyTier 、tailscale ),然后 clash 配置为

    - name: "Intranet Easytier"
    type: socks5
    tls: false
    server: 127.0.0.1

    类似 https://v2ex.com/t/1212048 这种实现方式

    除了这种方式,能更优雅吗?
    MoGeJiEr
        57
    MoGeJiEr  
    OP
       May 13
    @Tink 提不了 pr,只能提个 issue 建议作者开放自定义 mihomo 内核入口,clashmi 很关键的一个模块(桥接手机 vpn 那一块)是闭源的.
    xiaokanhongchen
        58
    xiaokanhongchen  
       May 13
    感谢,已测试了 mihomo 的 android 端,完美适配。手机测试速度很快。感谢感谢。
    xiaokanhongchen
        59
    xiaokanhongchen  
       May 13
    @bowencool 不觉得这样梯子怎么都得绕一下,延时更高了把
    yiranw09
        60
    yiranw09  
       May 13
    shadowrocket 不知道怎么弄
    MeiJiayun
        61
    MeiJiayun  
       May 13
    牛,很实用的功能,大佬可以帮提 mr 到 mihomo 么
    SakuraYuki
        62
    SakuraYuki  
       May 13
    ios 为了解决这个问题我直接买 surge 了
    w568w
        63
    w568w  
       May 13
    @bowencool 1. 家里上行带宽太低 2. 延迟高 3. 单点故障 4. 人在外出还可能要走中转,速度更慢、延迟更高
    amorphobia
        64
    amorphobia  
       May 13
    @dejaldie

    如果你有公网 IP 的话可以试试我的方法,家中服务器专门开一个 ssserver ,小火煎选择“场景”,连家里 wifi 时使用普通配置;另复制一份配置作为不连家里 wifi 时使用,在这份配置里添加家中局域网 ip 走 ss 流量
    nanyancc
        65
    nanyancc  
       May 13
    牛逼的,支持一下
    nanyancc
        66
    nanyancc  
       May 13
    在 GitHub 的 PR 里支持你了哈哈 https://github.com/MetaCubeX/mihomo/pull/2784
    chenkali
        67
    chenkali  
       May 13
    牛逼,专门登录账号进来点赞
    bkmi
        68
    bkmi  
       May 13 via Android
    不错,为了在手机上用 Tailscale ,我都换 sing-box 了
    xxyangyoulin
        69
    xxyangyoulin  
       May 13
    太需要这个了,前几年开始用 tailscale 就一直想实现这个功能
    mofater
        70
    mofater  
       May 13
    好东西,没 root 前要是看到我就用了
    Cabana
        71
    Cabana  
       May 13
    赞一个~
    iphone stash 已经支持用起来了, 不要太爽~
    就等 OP 的 PR 合入 mihomo 主线,Android 备机也能用啦~
    zzxCNCZ
        72
    zzxCNCZ  
       May 13
    家里有代理网关的话,直接 wireguard 连回家,route 配置为家里的网关,又翻又能访问家里网络和 vpn 网络
    zx900930
        73
    zx900930  
       May 13
    @zzxCNCZ 这种方式和 tailscale 选家里软路由作为 exit node 一样,缺点是你的客户端的网络下行速度受制于你家 ISP 的上行带宽。
    WebKit
        74
    WebKit  
       May 13
    @q1169989139 #22 可以了。谢谢大佬,是 openwrt 上的插件不支持 exit-node 。在 NAS 上转个 docker 版本可以了
    ifu25
        75
    ifu25  
       May 13
    安装了 android 端,headscale 面板也显示在线了,但还是无法访问其它节点是什么情况。ACL 也配置了。其它节点可相互访问。
    q1169989139
        76
    q1169989139  
       May 13
    @milkv 免流要自己抓包的免流地址,比如什么欠费后充值页面,然混淆里加上,不过现在也不需要了吧,好多年没用过了
    koimas
        77
    koimas  
       May 13
    牛逼,mihomo 也支持 tailscale 了
    knva
        78
    knva  
       May 13
    tailscale 显示在线,为什么访问不了呢。
    knva
        79
    knva  
       May 13
    @knva 悟了,最后 rule 需要填写 tailscale 的内网 ip
    ifu25
        80
    ifu25  
       May 13 via Android
    @knva 我咋连不上呢,最后的 rule 中的 ip 应该是 ts 分配的,10.100.*.* 吧
    bowencool
        81
    bowencool  
       May 13
    @w568w 了解了,但我感觉还好:

    1. 四五十兆的上行,IPv6 直连,日常上网、vibe coding 都没问题。我几乎不在外面看视频,所以只能说“理论上看视频也够用了”
    2. 这个确实是个问题。我在外面打游戏都是断开 VPN 的
    3. 单点故障?是指节点故障吗?这跟 tailscale 没关系吧,我的 tailscale 从来没有断过
    lingo
        82
    lingo  
       May 13
    牛。不管用不用这个必须顶一下。
    unb
        83
    unb  
       May 13 via Android
    w568w
        84
    w568w  
       May 13
    @bowencool 「单点故障」主要是指「一个设备挂了,全网都断了」这种情况。

    比如为了避免单点故障,可能尽量把网络设施放在边缘(例如手机上),中心服务(比如路由器和服务器)只负责分发配置(比如梯子订阅)。这样哪怕家里停电了,也不会影响手机正常连 VPN 和上梯子
    jeck5001
        85
    jeck5001  
       May 13
    确实不错!
    MoGeJiEr
        86
    MoGeJiEr  
    OP
       May 13
    @ifu25 #80 IP-CIDR,10.100.0.0/16,ts-mihomo,no-resolve
    ifu25
        87
    ifu25  
       May 13 via Android
    @MoGeJiEr 我确实是这么配的,10.100.0.0/24 ,不知为啥无法连接,日志显示连不上
    loveshuyuan
        88
    loveshuyuan  
       May 14
    不知道为啥我放到 openwrt 节点无法上线
    seewhy
        89
    seewhy  
       May 14
    挺好的,刚好前两天因为 clashmi 不支持 tailscale ,换到了 sing-box android 。 现在可以换回来了哈哈
    wweir
        90
    wweir  
       May 14
    家里配了 DNS 分流方案,tailscale 配置了自定义的 DNS 。
    现在客户端上除了 tailscale 不用安装任何工具,连上 tailscale 就是世界。
    工具变了,用的还是我几年前自研的方案:
    https://github.com/sower-proxy/sower#%E6%8E%A8%E8%8D%90%E7%94%A8%E6%B3%95%E4%B8%80tailscale--sower-%E8%8A%82%E7%82%B9
    MoGeJiEr
        91
    MoGeJiEr  
    OP
       May 14
    @ifu25 #87 先看 mihomo 日志是不是走了 tailscale 出口,如果是的话,看看 tailscale 那边的日志设置之类的
    bowencool
        92
    bowencool  
       May 14
    @w568w #84 啊,这个也是。我的每个设备上都有独立翻墙的能力,虽然都是备用,主力仍然是用 tailscale
    jqknono
        93
    jqknono  
       May 14
    很有用
    Cesaryuan
        94
    Cesaryuan  
       May 14
    mihomo 今天合并 PR ,支持 tailscale 出站 https://github.com/MetaCubeX/mihomo/pull/2786
    MoGeJiEr
        95
    MoGeJiEr  
    OP
       May 14
    @Cesaryuan 是这样,官方接手了,省的我改了
    qiuyue0
        96
    qiuyue0  
       May 14
    配享太庙!
    qiuyufeng
        97
    qiuyufeng  
       May 14
    不错不错
    nevinem
        98
    nevinem  
       May 14
    牛逼 最近就遇到这个问题,原来绕了好大一圈才解决,原生就可以支持可太舒服了。
    ifu25
        99
    ifu25  
       May 14
    @MoGeJiEr 我似乎发现,我用的 headscale + 自建 derp (非 443 端口),但下载了你的 android 端连接后日志显示是连接的 443 端口的 derp 。
    ifu25
        100
    ifu25  
       May 14
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1057 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 175ms · UTC 23:12 · PVG 07:12 · LAX 16:12 · JFK 19:12
    ♥ Do have faith in what you're doing.