V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Xheldon
V2EX  ›  macOS

Mac 上是否有根据 WiFi 无感切换代理的工具?

  •  
  •   Xheldon · 2020-09-11 14:04:40 +08:00 · 2396 次点击
    这是一个创建于 1564 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景一:在家路由器自动代理,因此不用打开任何软件,直接使用即可(直连)

    场景二:在外面需要 Mac 配置代理,因此需要手动打开代理软件

    痛点:在上述过程中需要手动打开 /关闭代理软件。

    目前调研结果:没用过 Surge,看起来符合需求?有这么用的吗 麻烦给个结论,可以的话我就买一个。

    现状:目前我代理软件用的 ClashX,看了文档 没有相关的功能。

    需求:就跟 iOS 上的 QuantumultX 的根据 ssid 自动选择是走代理还是走直连一样, 即:电脑无论什么情况会一直运行代理软件,然后它根据 WiFi 名字,选择走直连还是代理,而不是每次手动打开 /关闭软件。

    19 条回复    2020-09-15 09:57:29 +08:00
    christin
        1
    christin  
       2020-09-11 15:20:22 +08:00 via iPhone
    有的 surge 可以 不过需要配置 qx 好像也可以 不过没用过
    https://github.com/Peng-YM/QuanX
    最下面有个 surge 运行模式
    missdeer
        2
    missdeer  
       2020-09-11 15:27:48 +08:00
    https://github.com/Hammerspoon/hammerspoon
    可能要自己写几行代码
    mooyo
        3
    mooyo  
       2020-09-11 15:28:50 +08:00
    可以整个软路由自动下发代理网关
    mooyo
        4
    mooyo  
       2020-09-11 15:29:25 +08:00
    如果有软路由的话 还能根据不同设备自动配置代理或者不代理 整个 100 块钱的 n1 盒子就够了
    likaci
        5
    likaci  
       2020-09-11 15:34:33 +08:00   ❤️ 1
    Surge 可以
    Clash 用 fallback 模式, 配置一个家里内网才能访问通的 url
    dangyuluo
        6
    dangyuluo  
       2020-09-11 16:01:09 +08:00
    单纯好奇,你是用的那种架构搭建的透明代理?
    honjow
        7
    honjow  
       2020-09-11 16:25:53 +08:00
    Surge 确实可以
    zh826256645
        8
    zh826256645  
       2020-09-11 17:40:45 +08:00
    用 2 楼老哥发的 🔨 工具

    1.mac 网络设置新增一个默认“家”的位置,再新增一个“外面”的位置,这个位置在高级设置中,配置好代理
    2.然后用 🔨 写个检测位置后自动切换网络位置的脚本,检测到家里的网络,就切换到"家"的网络位置,否者切换“外面”的网络位置。

    可以参考下: https://github.com/zh826256645/hammerspoon_config/blob/master/modules/wifi.lua
    1002xin
        9
    1002xin  
       2020-09-11 19:09:24 +08:00
    Surge 可以,基本操作
    Kobayashi
        10
    Kobayashi  
       2020-09-11 21:59:35 +08:00 via Android
    hammerspoon 切换 network location (其实和位置没有关系,就是切换网络配置 profile )。surge Mac 监听 WiFi 名切换也是一个思路。
    mooyo
        11
    mooyo  
       2020-09-11 23:19:04 +08:00 via iPhone
    抱歉看岔了 忽略楼上的的回答吧
    czwen1993
        12
    czwen1993  
       2020-09-11 23:43:39 +08:00
    我用 ControlPlane,设置定位在家范围内直接关闭代理软件,在家以外的地方打开代理软件。
    ooops
        13
    ooops  
       2020-09-12 00:54:13 +08:00
    之前正好有同样的需求,用 hammerspoon 搞了个。可以参考下 https://gist.github.com/ooopscc/39570b414bd492c86d2a2e72b5315ac9
    Xheldon
        14
    Xheldon  
    OP
       2020-09-12 01:29:33 +08:00
    @likaci 这个我试试,本来想弄个仅内网可访问的 url-test 健康检查设置,家里健康检查发现 fail 不会连接代理,外面健康测试可以连接就走代理,但是不清楚这个健康检查的机制:是直接访问 url 还是跟普通的 url 一样,走代理访问...我没试过。
    不过你这个方案似乎更可行,感谢!
    Xheldon
        15
    Xheldon  
    OP
       2020-09-12 01:33:48 +08:00
    @dangyuluo iOS 上用的 quantumultX,可以这样用,该软件一直运行,可以配置策略如 ssid 名称来决定请求是往哪个地方发送。你问的什么架构没明白什么意思。就是 `设备 <---> 代理软件 <---> 代理服务器` 这种正向代理模式...?

    家里用的梅林,装的 SS
    Xheldon
        16
    Xheldon  
    OP
       2020-09-12 01:34:54 +08:00
    @christin 好的,我先试试简单的解决方案,毕竟 surge 不便宜... 感谢
    Xheldon
        17
    Xheldon  
    OP
       2020-09-12 01:36:56 +08:00
    @zh826256645 好的,我试下。

    这个方案似乎跟 clashX 脚本类似。clashX 也支持 Python 脚本,但是该软件的作者说似乎 syscall 无法获取到系统的 ssid (可能是权限问题),所以该软件不支持。

    感谢!
    Xheldon
        18
    Xheldon  
    OP
       2020-09-12 01:38:55 +08:00
    @czwen1993 又需要一个新的软件来控制...想尽量避免这种情况😂 anyway, 感谢思路!
    chztv
        19
    chztv  
       2020-09-15 09:57:29 +08:00
    还是入手 Surge 吧,最近越来越强大,楼主说的这种问题我记得 Surge 在 N 年前就解决了。
    最近在 Surge 下还解决了需要用原生 VPN 连接阿里内网才可登录服务器的奇怕需求,再也不需要开开关关 Surge 了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1026 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:49 · PVG 03:49 · LAX 11:49 · JFK 14:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.