V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CatpnKirk
V2EX  ›  问与答

win 如何根据不同的 WiFi 来实现系统代理的切换?

  •  
  •   CatpnKirk · 2021-11-23 18:59:58 +08:00 · 2479 次点击
    这是一个创建于 856 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教各位大佬: 单位 WiFi 是需要设置代理服务器后才能访问互联网的,每次回家后都要手动关闭代理,感觉很麻烦。有没有一种根据不同 wifi 来自动开关代理服务器的解决方案? 谢谢!

    15 条回复    2021-11-24 09:44:08 +08:00
    kokutou
        1
    kokutou  
       2021-11-23 19:02:32 +08:00 via Android
    命令行设置和关闭代理呗。。
    thevita
        2
    thevita  
       2021-11-23 19:02:32 +08:00
    大道至简的,买两台电脑,通过切换电脑实现切换代理。
    Damn
        3
    Damn  
       2021-11-23 20:02:31 +08:00
    maichael
        4
    maichael  
       2021-11-23 20:05:27 +08:00
    可以试试 PAC ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file ),如果你公司的网有一定特征(比如有某个内网 IP 是一定存在)的话。
    v2000000001ex
        5
    v2000000001ex  
       2021-11-23 20:19:14 +08:00
    两块无线网卡?
    CatpnKirk
        6
    CatpnKirk  
    OP
       2021-11-23 21:08:37 +08:00
    谢谢楼上诸位,有没有更加傻瓜一点的操作……
    ho121
        7
    ho121  
       2021-11-23 21:25:20 +08:00 via Android   ❤️ 1
    用 clash ,指定一个 proxy-group ,fallback 模式,设置两个代理,一个是 DIRECT ,一个是公司的代理,测试的 url 写百度。最后系统代理设置为 clash 暴露的端口。
    IsaacYoung
        8
    IsaacYoung  
       2021-11-23 21:48:39 +08:00
    我在 hammerspoon 文档里发现了这个
    https://www.hammerspoon.org/docs/hs.wifi.watcher.html

    貌似可以监听 wifi 改变 然后执行脚本就行了 lz 可以试试
    eason1874
        9
    eason1874  
       2021-11-23 22:02:03 +08:00
    bat 脚本可以修改注册表字段(代理设置就在注册表),可以查询当前网络接口信息(有 SSID )

    会编程可以自己写个自动修改脚本,然后把快截方式放到开机启动,或者在任务计划程序添加任务,解锁电脑时触发或者连接网络时触发(这个配置复杂一些)
    Damn
        10
    Damn  
       2021-11-23 22:32:26 +08:00
    @CatpnKirk wpad 是 dns option252 。。。设置好了连上家里的网络就指定了代理,想不出来还有什么更简单的。
    不过你只能控制你家的路由器,公司里的网络没有办法了。
    要么就像楼上通过软件在后台检测 ssid 。。
    yyysuo
        11
    yyysuo  
       2021-11-23 22:40:44 +08:00
    Osk
        12
    Osk  
       2021-11-24 01:08:46 +08:00
    写脚本吧, 最快的方式.

    不过最好的方式是: 公司整一个软路由 /openwrt 路由器, 让它来完成自动+透明的 tcp 应用代理, 这样, 电脑手机啥设置都不用做, 和纯粹的互联网区别不大了.
    Tumblr
        13
    Tumblr  
       2021-11-24 01:28:47 +08:00
    最直接的方法就是在计划任务中通过监控事件日志中的网络连接事件,然后触发脚本运行,在脚本里判断当前连接的是哪个 profile ,然后执行相应的配置。

    日志:Microsoft-Windows-NetworkProfile/Operational
    源:NetworkProfile
    事件代码:10000

    当前的配置文件可以用 Get-NetConnectionProfile 获取,然后根据 name 不同执行不同的代理设置。
    dcty
        14
    dcty  
       2021-11-24 09:12:22 +08:00
    @ho121 #7 clash 不是用 SSID 模式更适合楼主的情况
    bfdh
        15
    bfdh  
       2021-11-24 09:44:08 +08:00
    @Damn #3 一直再用,完美。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1087 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:47 · PVG 06:47 · LAX 15:47 · JFK 18:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.