V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ethusdt
0.01D
V2EX  ›  程序员

macOS 下有类似 proxifier 的软件吗

  •  
  •   ethusdt ·
    FaiChou · 6 天前 · 2552 次点击

    需求是这样的: 局域网内有一个 linux 设备(192.168.1.2)运行着代理程序,它暴露了一个端口(7890)供局域网访问。

    99% 的场景是用浏览器插件(smartproxy/switchyomega 等)设置这个 linux 代理(192.168.1.2:7890)。

    但 1% 的场景下会用系统代理或者命令行代理:

    快捷设置系统代理: https://gist.github.com/FaiChou/954590636043b01206b468ee34be6f2b

    设置命令行代理:

    ~ which proxyon
    proxyon () {
    	export https_proxy="http://192.168.1.2:7890"
    	export http_proxy="http://192.168.1.2:7890"
    	export all_proxy="http://192.168.1.2:7890"
    	echo Proxy On ✅
    }
    ~ which proxyoff
    proxyoff () {
    	unset https_proxy
    	unset http_proxy
    	unset all_proxy
    	echo Proxy Off ❌
    }
    

    但是很多应用它并不会走系统代理,也就是说设置系统代理无效。

    这种情况下,如果使用 GUI 工具比如 clash-party, clash-verge-rev, surge 等,它们会有一个增强模式,也就是新建一个虚拟网卡并且修改系统的路由表,这样就可以把所有流量接管到此网卡,由于这是工作在更底层(非应用层代理),所以不走系统代理的软件也会强制走代理。

    但是像我这种使用“旁路由”情况下,如果遇到想开增强模式情景下(比如 antigravity )还要再开上面提到的这些工具,然后配置文件只有 socks://192.168.1.2:7890 未免太过于浪费。

    所以想找一下有没有更纯净的工具?

    找了下有下面 3 款,但都不是很喜欢:

    Proxifier

    功能很强大,可以根据规则来匹配哪些应用走代理,哪些不走。原理不是虚拟网卡,而是 API hook 。缺点是收费有一点贵(仅对我这个需求来讲)。

    proxychains-ng

    仅用于命令行工具,比如 curl 等。而且好像系统自带的 curl 不行(需要关 SIP),只能用第三方(比如 brew)安装的命令行代理。

    xjasonlyu/tun2socks

    这工具看名字就知道完美匹配我的此场景。但需要手动起一个 tun 虚拟网卡,手动配置路由规则,稍有不慎网络可能进入死循环。关闭软件也是需要移除此路由规则,否则无法联网。所以此命令行工具像是一个手动挡。缺点就是需要手动配置,小白不友好。


    除此之外,macOS 还有没有类似 tun2socks 这样功能的 GUI 工具?

    第 1 条附言  ·  5 天前

    现在 surge 已经不用 utun 模式了,也是用的 macOS Network Extension。

    所以现在代理工具可以划分为 4 类:

    1. 端口服务类

    只跑一个核心,开一个端口供设备使用。

    2. 系统代理

    使用 clash-party, clash-verge-rev 等工具开系统代理,也就是相当于在系统的 wifi 里手动配置代理,或者命令行 networksetup -setwebproxy "Wi-Fi" "$HOST" "$PORT"

    3. TUN 模式

    新建一个虚拟网卡,修改路由规则,接管所有 ip packet,由于是更底层,可以解决第二种系统代理可能被某些应用 bypass 的问题。

    另外设置某设备作为网关(比如路由器跑透明代理)也是和这个类似,只不过此虚拟网卡在本地。

    4. NE 模式

    这类工具使用 networkextension 开发,功能最强大,比如 surge v5 v6,proxifier v3, tinyshield 等。解决了第三种虚拟网卡模式流量包不会包含进程名等信息。

    29 条回复    2025-11-25 19:31:37 +08:00
    ethusdt
        1
    ethusdt  
    OP
       6 天前
    对了,忘记提 dae 了,liux 下基于 ePBF 的透明代理。可惜不支持 macOS 。
    gooin
        3
    gooin  
       6 天前
    有 mac 客户端啊,2 楼正解,正在用
    ethusdt
        4
    ethusdt  
    OP
       6 天前
    @gooin 我的问题就是有没有它的替代品。。
    fengci
        5
    fengci  
       6 天前
    @ethusdt #4 github 有注册码
    Naykcin
        6
    Naykcin  
       6 天前
    这个问题我研究过,很遗憾,没有替代,最优的解决方案就是使用 Proxifier macOS 客户端。其他的网络代理工具要么规则很冗长繁复,要么太极简了。

    如果命令行程序支持代理配置,还是优先建议直接用原生支持的配置,比如 curl 支持`--socks5-hostname`,git 有.gitconfig 。如果不支持或者对于 APP 使用代理,Proxifier 就是最优解。
    gefangshuai
        7
    gefangshuai  
       6 天前
    surge 。proxifier 本质上也是“增强模式”。不如直接用 clash 系列的 tun
    NessajCN
        8
    NessajCN  
       6 天前
    你那台 Linux 设备有两个网卡的话直接给他弄成路由,然后直接路由端透明代理
    ethusdt
        9
    ethusdt  
    OP
       6 天前
    @NessajCN 也是个办法。
    Moishine
        10
    Moishine  
       6 天前
    https://www.proxycap.com/

    不知道算不算
    ethusdt
        11
    ethusdt  
    OP
       6 天前
    @Naykcin 嗯 搜了下确实没有替代品。前几天发了个贴想找个屏蔽 macOS 应用上网的工具,论坛里推荐了很多优秀的工具。
    ethusdt
        12
    ethusdt  
    OP
       6 天前
    @Moishine 可能算吧,但这个 UI 好复古 哈哈
    dosmlp
        13
    dosmlp  
       6 天前
    proxifier 我记得 Windows 版本注册码一堆,macos 不知道
    tun2socks 写个脚本添加删除路由就行了
    Moishine
        14
    Moishine  
       6 天前
    @ethusdt 这个 UI 是跟随 macOS 的吧。你用新版系统,就是新版 UI
    legendBro
        15
    legendBro  
       6 天前
    Proxifier 网上有免费的破解版
    yuchen198
        16
    yuchen198  
       6 天前
    TUN 模式没啥浪费的,可惜不支持安卓系统这种 VPN 分应用代理模式。慎用 Proxifier 破解版,我两年前中过招,在 Windows 上用,是个病毒程序,把我 Chrome 浏览器保存的密码和很多网站的账号 Cookie 给盗了,电脑直接卡死...
    SenLief
        17
    SenLief  
       5 天前
    xjasonlyu/tun2socks 好像也不能按进程吧?
    ethusdt
        19
    ethusdt  
    OP
       5 天前 via iPhone
    @SenLief 不能,这类虚拟网卡的都获取不到进程名,因为从 L3 层获取到的 IP 包系统不会给 pid 等信息。
    383394544
        20
    383394544  
       5 天前 via iPhone
    你为什么不在旁路由上设置规则,不是都在同一个局域网内吗?
    ethusdt
        21
    ethusdt  
    OP
       5 天前 via iPhone
    @383394544 那是因为你没看明白😂
    EchoWhale
        22
    EchoWhale  
       5 天前 via iPhone
    这不就是透明代理的典型应用场景吗?
    把你本机的号码网关地址指向 linux ,然后配置 linux 上运行的代理软件,打开它的透明代理模式
    ethusdt
        23
    ethusdt  
    OP
       5 天前 via iPhone
    @EchoWhale 这种太侵入了,你的 qq/微信等所有应用的流量都会走这个网关,相当于 utun 虚拟网卡模式,没啥区别。这种模式就严重依赖分流规则了。
    HADB
        24
    HADB  
       5 天前
    whistle?
    ethusdt
        25
    ethusdt  
    OP
       5 天前
    @HADB 这种属于抓包工具了,更推荐 https://proxyman.com/
    123test1010
        26
    123test1010  
       5 天前
    非 tun 模式下,很多程序 surge 还是不支持进程规则的,想要劫持流量还得是 tun
    chzhx
        27
    chzhx  
       5 天前
    都已经旁路由了,何不搞成透明代理,比如 passwall 更简单易用,你的 7890 应该是 openclash
    #23 终端用 switchyomega 也不是“严重依赖分流规则”?有什么区别?
    383394544
        28
    383394544  
       5 天前 via iPhone
    @ethusdt 是你没想明白,整得一堆伪需求,瞎折腾。
    ethusdt
        29
    ethusdt  
    OP
       5 天前
    @chzhx clash 内核的(mihomo singbox) 这些默认监听端口都是 7890 ,oc 也用过,一大堆毛病。还是直接跑裸核方便些,配置文件就那些参数。透明代理是另一码事了。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2560 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:41 · PVG 19:41 · LAX 03:41 · JFK 06:41
    ♥ Do have faith in what you're doing.