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

macOS 下有类似 proxifier 的软件吗

  •  
  •   ethusdt ·
    FaiChou · 13 天前 · 2888 次点击

    需求是这样的: 局域网内有一个 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 条附言  ·  13 天前

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

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

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