Mac 上 使用 Proxifier 让 shell 走代理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tuimaochang
V2EX    macOS

Mac 上 使用 Proxifier 让 shell 走代理

  •  1
     
  •   tuimaochang 2016-03-03 01:38:29 +08:00 18331 次点击
    这是一个创建于 3516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    下载安装 Proxifier 。
    1.设置 socks5:127.0.0.1:1080 。
    2.默认规则走 socks5:127.0.0.1:1080 。
    3.添加规则 SSX 走 direct 。
    4.这时shell已经走代理了。
    第1 条附言    2016-03-03 11:48:15 +08:00
    好吧,感谢回复。
    我补充下,不用 proxychains-ng 的原因是要先安装 brew 。
    这正是想让 shell 全局代理的原因。
    43 条回复    2018-11-08 11:15:48 +08:00
    charlie21
        1
    charlie21  
       2016-03-03 02:04:26 +08:00   1
    我用的 privoxy ( /t/215092 ) ,配置好之后
    > privoxy ~/.theconfig
    > export http_proxy='http://localhost:8118'
    > export https_proxy='https://localhost:8118'
    > wget https://www.google.com.hk

    可以写入头三行到 shell 配置如 ~/.zshrc 这样就可以自动终端翻墙了。仅做参考
    Strikeactor
        2
    Strikeactor  
       2016-03-03 02:31:52 +08:00
    redkei
        3
    redkei  
       2016-03-03 04:12:24 +08:00
    想临时走的话(只当前窗口有效),
    export {http,https,ftp}_proxy='http://127.0.0.1:XXXX'

    想一直有的话,写到 rc 文件里去, bashrc or zshrc

    不需要额外的工具转。 shell 需要是因为每次都不走系统的 proxy ,只有自己定义一下。
    582033
        4
    582033  
       2016-03-03 06:55:08 +08:00 via Android
    不都是用 proxychains 的吗
    linghutf
        5
    linghutf  
       2016-03-03 08:55:48 +08:00
    OSX10.11 上 proxifier 好像不起作用了,之前试过,不知道现在更新没有。
    oxoxoxox
        6
    oxoxoxox  
       2016-03-03 09:21:14 +08:00
    proxychains +1
    bigwind
        7
    bigwind  
       2016-03-03 09:26:58 +08:00
    @linghutf 可以用啊,一直用的好好的, V2.15
    47jm9ozp
        8
    47jm9ozp  
       2016-03-03 09:34:06 +08:00
    @linghutf SIP 开 debug 模式
    pljhonglu
        9
    pljhonglu  
       2016-03-03 09:36:11 +08:00
    三楼方法,不需要什么工具啊。。。
    palxex
        10
    palxex  
       2016-03-03 09:56:43 +08:00
    proxychains 对付命令行好使,对付 GUI 程序好多是不管用的。
    Sequencer
        11
    Sequencer  
       2016-03-03 10:01:02 +08:00
    export socks5_proxy='socks5://localhost:1080'
    应该可以吧...
    Bardon
        12
    Bardon  
       2016-03-03 10:07:28 +08:00
    补充,想只对当前命令有效的话

    $ all_proxy=socks5://127.0.0.1:1080 curl xxxx
    libotony
        13
    libotony  
       2016-03-03 10:37:44 +08:00
    嘴贱说一句,我以前用 Proxifier ,后来换了 Surge for Mac
    nathanw
        14
    nathanw  
       2016-03-03 10:44:41 +08:00
    @libotony surge 如何添加规则让 shell 走?
    gangsta
        15
    gangsta  
       2016-03-03 10:48:06 +08:00
    请教各位 Proxifier 或者 proxychains 可以设置 Pac 规则么?
    teloti
        16
    teloti  
       2016-03-03 10:51:13 +08:00
    @libotony 我也有些好奇,似乎 Surge for Mac 对命令行无效吧?而且这软件也没有多少可配置的地方
    carrionlee
        17
    carrionlee  
       2016-03-03 10:51:33 +08:00
    即使在设置里启用了全局代理, shell 好像也不走这个代理的?
    teloti
        18
    teloti  
       2016-03-03 11:15:05 +08:00
    @libotony 哦我理解你的意思了,你是配置 http_proxy 了是么
    shiltian
        19
    shiltian  
       2016-03-03 11:53:12 +08:00
    @teloti Surge For Mac 和 iOS 版不一样的地方在于它不支持 TUN ,即除 TCP 协议以外的协议不像 iOS 那样可以 TUN ,因此 Surge For Mac 只支持 TCP 。(如果我没理解错的话)。
    shiltian
        20
    shiltian  
       2016-03-03 11:53:32 +08:00
    @gangsta 不可以…
    zhjits
        21
    zhjits  
       2016-03-03 12:43:46 +08:00
    @Sequencer 需要程序主动支持

    @teloti @nathanw @carrionlee
    Terminal 程序往往不读取系统代理设置而是读当前 shell 的环境变量 HTTP_PROXY 和 HTTPS_PROXY ,而且这是需要程序主动支持代理的。

    @gangsta PAC 是个 Javascript 程序,要支持的话还需要一个 JS 运行时。要说类似的机制的话 Proxifier 是有的,参见二楼
    zhjits
        22
    zhjits  
       2016-03-03 12:44:56 +08:00
    @tianshilei1992 Surge for Mac 只是个本地 HTTP 代理吧?
    zhjits
        23
    zhjits  
       2016-03-03 12:45:45 +08:00
    你完全可以把 brew 里面装 proxychain-ng 的脚本拖下来自己跑,不用装完整的 brew 。
    so898
        24
    so898  
       2016-03-03 12:49:46 +08:00
    有软件可以让 Airmail 走代理么?
    libotony
        25
    libotony  
       2016-03-03 14:31:21 +08:00
    @nathanw surge 是在系统设置里设置代理,具体原理不清楚,但是能接管全局的网络连接
    libotony
        26
    libotony  
       2016-03-03 14:36:31 +08:00
    @teloti
    @carrionlee 原理不清楚,不过我能感受到的表现就是 Surge For Mac 可以按照设置的规则让 shell 里边运行的程序走代理。
    carrionlee
        27
    carrionlee  
       2016-03-03 19:16:20 +08:00 via iPhone
    @libotony 从 surge 的 request 文件里能看到吗?我找不到 terminal 发起的连接啊
    shiltian
        28
    shiltian  
       2016-03-03 19:31:23 +08:00
    @zhjits 是的。
    shiltian
        29
    shiltian  
       2016-03-03 19:32:33 +08:00
    @libotony 它只能接管 HTTP 和 HTTPS , IMAP 这种协议都不支持的。
    zhjits
        30
    zhjits  
       2016-03-03 19:52:41 +08:00 via Android
    @so898 Proxifier
    carrionlee
        31
    carrionlee  
       2016-03-03 20:16:30 +08:00 via iPhone
    @tianshilei1992 那为什么用了 surge 后, mail.app 可以收发 gmail 了?
    goodbest
        32
    goodbest  
       2016-03-03 20:35:03 +08:00
    @carrionlee
    @tianshilei1992
    @so898

    我记得 Surge for Mac 低版本可以 Airmail 走 Gmail 的,但是升级到最新版本貌似失效了。
    不知道谁的问题。
    shiltian
        33
    shiltian  
       2016-03-03 21:16:34 +08:00
    @carrionlee 显然不可以的。可以把帐户登录上去,因为授权走的是 HTTPS ,但是 IMAP 和 SMTP 都就不行了,也就是接收和发送都不可以。不过我现在是改的 hosts 用这俩,因为试了一下, Gmail 两个服务器的 IP 是可以 ping 通的。
    typcn
        34
    typcn  
       2016-03-03 21:24:40 +08:00   2
    @goodbest Surge Mac 支持 HTTP 代理和 HTTPS 代理(设置到系统代理)

    只对使用了 CFNetwork 的 TCP 连接有效。

    BSD Socket 和非 TCP 连接都没有效果
    typcn
        35
    typcn  
       2016-03-03 21:34:41 +08:00   4
    Proxifier 用的是内核模块劫持流量,而且已经签了名,不需要关 SIP 。
    可以直接代理系统保护的程序,也可以对 BSD Socket 生效。

    proxychains 用的是 dylib 注入,由于 SIP 会保护自带的程序不被注入,所以 proxychains 就没法代理系统自带的程序,可以用 brew 装到 /usr/local 下,然后调整 PATH 优先级。

    另外 Proxifier 是可以直接输入命令行程序的名称进行代理的,新建规则,应用名为 git-remote-https ,就可以实现代理 git clone https 连接。
    shiltian
        36
    shiltian  
       2016-03-03 21:58:06 +08:00
    @typcn 但是似乎 Proxifier 对 Terminal 无效的…?
    carrionlee
        37
    carrionlee  
       2016-03-03 22:01:25 +08:00
    @tianshilei1992 可我为什么能收也能发??
    shiltian
        38
    shiltian  
       2016-03-03 22:59:46 +08:00
    @carrionlee 那你试试如果不开 Surge 呢?
    Jezong
        39
    Jezong  
       2016-03-04 00:04:14 +08:00 via iPhone
    mark 下次试一下
    cpylua
        40
    cpylua  
       2016-03-04 08:00:49 +08:00 via iPhone
    它规则文件就是 xml ,可以用脚本生成自动翻墙的规则,效果跟 iptables 一样
    libotony
        41
    libotony  
       2016-03-04 09:22:27 +08:00
    @tianshilei1992 我只在手机上收 gmail ,所以感受不到,另外我也用 proxifier ,对 terminal 是有效的,设置规则的时候要设置程序比如设置 git 程序在请求 github 的时候走代理,设置起来比较麻烦,设置完成之后就可以尽情享用啦
    libotony
        42
    libotony  
       2016-03-04 09:23:40 +08:00
    @libotony
    @tianshilei1992 另外也可以通过日志来查看请求的程序名
    NonClockworkChen
        43
    NonClockworkChen  
       2018-11-08 11:15:48 +08:00
    不知道为什么 proxychains-ng 死活用不了 cocoapods pod setup 命令,还是 Proxifier 简单粗暴
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     992 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 19:18 PVG 03:18 LAX 12:18 JFK 15:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86