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

请问目前终端走代理还有比 ProxyChain 更好用的工具吗?

  •  
  •   wildnode · 2021-11-14 15:20:51 +08:00 · 9917 次点击
    这是一个创建于 1107 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好久没折腾了,不知道有没有更方便好用的选择,请教下大家.

    第 1 条附言  ·  2021-11-15 10:43:29 +08:00
    谢谢大家的热情回复~

    最终我的解决方案是朋友送了我一个他的 Surge 车位
    增强模式真香
    58 条回复    2021-11-21 11:21:58 +08:00
    tgich
        1
    tgich  
       2021-11-14 15:26:45 +08:00
    已开始彻查 ProxyChain 等代理软件及工具,谢谢举报,网安部
    icestraw
        2
    icestraw  
       2021-11-14 15:36:53 +08:00   ❤️ 1
    Clash for windows 开 tun 代理(叫 for windows 但是也有 mac 端
    shihira
        3
    shihira  
       2021-11-14 15:38:39 +08:00   ❤️ 5
    @tgich 请问王晶阁下什么时候可以把 github shutdown 掉咧,人民群众都等不及要拍烂手掌了咯

    回楼主问题,https://github.com/hmgle/graftcp 可以一试,但目前貌似只支持 linux
    wildnode
        4
    wildnode  
    OP
       2021-11-14 15:41:14 +08:00   ❤️ 14
    @tgich #1 你要在我旁边我高低给你两脚真的
    wildnode
        5
    wildnode  
    OP
       2021-11-14 15:41:30 +08:00
    @icestraw #2
    @shihira #3

    谢谢~
    Privileges
        6
    Privileges  
       2021-11-14 15:43:39 +08:00 via Android   ❤️ 1
    Clash for windows 的 Mixin 设置可以让 WSL Linux 走代理,只需要配置 Clash 就行,终端不需要做设置
    tottea
        7
    tottea  
       2021-11-14 15:45:58 +08:00 via iPhone
    MAC 都直接开 clash 就好了,很省心
    damnu
        8
    damnu  
       2021-11-14 15:55:45 +08:00 via iPhone   ❤️ 1
    1 楼这种反串黑也太 low ,自己觉得很幽默是吗?

    macos 用 clashx pro ,win 用 cfw 。TAP 模式或 TUN 模式都可以全部接管。
    SenLief
        9
    SenLief  
       2021-11-14 16:49:20 +08:00
    pc 都可以用 tun ,接管所有的流量。
    MiketsuSmasher
        10
    MiketsuSmasher  
       2021-11-14 16:53:48 +08:00   ❤️ 1
    建议各位来这里发言之前,先下手为强,把一楼 block 掉
    legendORld
        11
    legendORld  
       2021-11-14 17:21:06 +08:00   ❤️ 1
    建议各位来这里发言之前,先下手为强,把一楼 block 掉
    ugvfpdcuwfnh
        12
    ugvfpdcuwfnh  
       2021-11-14 17:26:53 +08:00 via Android   ❤️ 1
    感觉 proxychains 已经很方便了,没有折腾的必要了啊
    tsaitang
        13
    tsaitang  
       2021-11-14 17:28:16 +08:00
    cgproxy
    selfcreditgiving
        14
    selfcreditgiving  
       2021-11-14 17:37:05 +08:00 via Android   ❤️ 4
    export http_proxy=http://127.0.0.1:1377
    export https_proxy=$http_proxy
    hronro
        15
    hronro  
       2021-11-14 18:01:03 +08:00 via iPhone   ❤️ 1
    @ugvfpdcuwfnh #12

    没记错的话,proxychains 是通过劫持 libc 来实现透明代理的,这就意味着,如果你希望代理的程序没有依赖 OS 的 libc (比如大部分 Go 写的程序,或者静态链接了 musl libc ),那么 proxychains 对这类程序是无能为力的。
    zzhaolei
        16
    zzhaolei  
       2021-11-14 18:05:44 +08:00
    shell 定一个函数,包装一下环境变量,。

    终端用到🪜的场景不多吧
    beginor
        17
    beginor  
       2021-11-14 18:15:57 +08:00 via Android
    proxifier ,不支持代理设置的应用都可以走代理
    biguokang
        18
    biguokang  
       2021-11-14 18:21:07 +08:00
    我是直接家里用软路由,clash tun 模式,一劳永逸

    在公司工位我也弄了个 r2s ,也是 clash tun 模式。

    在外面的话,我一般用带 openwrt 的 4g 随身 wifi ,我有一个专门的手机卡是用来户外上网的。
    darknoll
        19
    darknoll  
       2021-11-14 18:21:50 +08:00
    @tgich 有病
    ZeroClover
        20
    ZeroClover  
       2021-11-14 18:21:58 +08:00
    我之前一般用 tsocks

    和 proxychain 比较类似但是配置较少。

    遇到 #15 说的那种不走系统 libc 的话就 tproxy 透明代理然后单独一个用户跑程序,最后 iptables uid redirect
    biguokang
        21
    biguokang  
       2021-11-14 18:22:57 +08:00
    @selfcreditgiving 这种有点麻烦,不开代理的时候,你还得手动取消 proxy ,不然终端无法联网
    wanacry
        22
    wanacry  
       2021-11-14 18:32:44 +08:00 via iPhone
    @biguokang #18 你是用 windows 系统手机吗
    yanqiyu
        23
    yanqiyu  
       2021-11-14 18:36:30 +08:00
    https://github.com/springzfx/cgproxy
    配合 tproxy+cgroupv2 的代理
    tcsky
        24
    tcsky  
       2021-11-14 18:37:23 +08:00
    export PROXY="http://127.0.0.1:18081"
    alias sc="export https_proxy=$PROXY && export http_proxy=$PROXY"
    alias cs="export https_proxy= && export http_proxy="
    yanqiyu
        25
    yanqiyu  
       2021-11-14 18:42:15 +08:00
    @tcsky https_proxy 这一套变量不一定谁都吃
    tcsky
        26
    tcsky  
       2021-11-14 18:47:01 +08:00
    @yanqiyu 是的, 只能满足一些常见情况. 其他的还是得 proxychains
    ncepuzs
        27
    ncepuzs  
       2021-11-14 18:47:50 +08:00
    对于帖子下的回复,为啥只有点赞而没有点踩的选项?
    ncepuzs
        28
    ncepuzs  
       2021-11-14 18:58:24 +08:00
    @biguokang 你的随身 wifi 该不会是 GL.iNet 的吧,看到好多它的广告……
    bnm965321
        29
    bnm965321  
       2021-11-14 19:23:02 +08:00
    @selfcreditgiving 这个是惯例,软件不一定会遵守使用这个变量
    chocolatesir
        30
    chocolatesir  
       2021-11-14 19:50:21 +08:00 via Android
    @wildnode 1L 虽然阴阳怪气但也不完全是空穴来风,参见第 41 条 http://www.cac.gov.cn/2021-11/14/c_1638501991577898.htm
    proxychains
        31
    proxychains  
       2021-11-14 20:10:39 +08:00 via Android
    export all_proxy=xxx 吧.只在当前终端生效。
    有些应用对于 proxychains 不生效,比如 go,yay
    Rheinmetal
        32
    Rheinmetal  
       2021-11-14 20:15:03 +08:00
    偏好软路由流派 直接从上游改网关 终端就别挣扎了
    NealLason
        33
    NealLason  
       2021-11-14 20:23:12 +08:00
    我都是 export ALL_PROXY=xxxx://127.0.0.1:1080 ,如果不行就直接怼 tsocks 。。。
    biguokang
        34
    biguokang  
       2021-11-14 20:36:32 +08:00
    @ncepuzs 是的,因为貌似就带 openwrt 的随身 wifi 就他家有
    1002xin
        35
    1002xin  
       2021-11-14 20:47:25 +08:00
    当然是 Surge 的 Enhanced Mode
    hexiaowu1993
        36
    hexiaowu1993  
       2021-11-14 21:42:02 +08:00
    终端不一定要使用 ProxyChains
    ProxyChains 有时候不太好使,现在逐步放弃了。
    建议使用 ClashX 或者其它工具,导入 export http_proxy=http://127.0.0.1:port 等方式,在会话页面保持代理就好了,如果不想每次都敲,可以考虑录入一个 alias ,每次敲一下 alias 就好了
    Godjack
        37
    Godjack  
       2021-11-14 22:28:17 +08:00   ❤️ 1
    @biguokang 请问 r2s 是什么?
    betteryjs
        38
    betteryjs  
       2021-11-14 22:31:53 +08:00
    直接上了 x86 软路由
    rehoni
        39
    rehoni  
       2021-11-14 23:11:22 +08:00 via Android
    @icestraw 请问有什么特殊的开启方式吗?还是只要开启 system proxy ?
    weiiai
        40
    weiiai  
       2021-11-14 23:12:49 +08:00
    @Godjack arm 架构软路由,刷 openwrt
    biguokang
        41
    biguokang  
       2021-11-14 23:44:11 +08:00
    @Godjack 小软路由
    xinge666
        42
    xinge666  
       2021-11-15 00:07:00 +08:00 via iPhone
    Royal TSX
    ysc3839
        43
    ysc3839  
       2021-11-15 04:33:16 +08:00
    那基本只有系统级的方案了,比如跨平台的三层 tun ,Windows only 的 Proxifier ,Linux only 的 iptables redirect 。
    clickhouse
        44
    clickhouse  
       2021-11-15 07:51:41 +08:00   ❤️ 1
    @ysc3839 Proxifier 支持 mac 的。
    makelove
        45
    makelove  
       2021-11-15 09:13:26 +08:00
    从来没用过 ProxyChain ,我用 linux ,我用的 cli 程序都支持 http_proxy 环境变量
    windirt
        46
    windirt  
       2021-11-15 09:21:43 +08:00
    macOS 上目前用 Surge 开增强代理( TUN ),一揽子解决
    ZeroDu
        47
    ZeroDu  
       2021-11-15 09:30:19 +08:00
    win:Proxifier 很好用,可以设置规则。
    documentzhangx66
        48
    documentzhangx66  
       2021-11-15 09:53:45 +08:00   ❤️ 1
    1.目前因为用户数量的原因,Windows 上的客户端比 Linux 好用得多,所以建议在 Windows 上安装 Clash 。

    Widows Clash 客户端发布地址:
    https://github.com/Fndroid/clash_for_windows_pkg/releases
    在上面的 URL 里,选择最新版的 [Clash.for.Windows.Setup.版本号.exe] 就行。


    2.安装后,在主界面 General 里,打开 [Allow LAN] ,这样其他设备,比如 Windows 、Linux 、安卓等等,都可以通过 Socks 主动连接进来。


    3.可以通过对 [clash-win64.exe] 设置防火墙,来建立白名单机制,只允许自己的设备的 IP 使用。寻找 [clash-win64.exe] 的路径,建议使用 Everything 。


    4.Linux 如何使用搭建在 Windows 上的 Clash 的方式,假设 Windows 的 IP 为 1.2.3.4 ,端口为默认的 7890:

    yum:
    vim /etc/yum.conf
    在[main]下面,添加:
    proxy=http://1.2.3.4:7890
    proxy_username=
    proxy_password=


    git:
    git config --global http.proxy 'socks5://1.2.3.4:7890'


    curl:
    curl http://some.url --output some.file --proxy socks5://1.2.3.4:7890


    pip:
    建议先走阿里源:
    pip install something -i https://mirrors.aliyun.com/pypi/simple/
    不行的话,再走代理:
    pip install something --proxy=http://1.2.3.4:7890


    apt-get
    如果没配置过代理,那么 [/etc/apt/apt.conf.d/proxy.conf] 这个文件是不存在的,然后进行新增:
    vim /etc/apt/apt.conf.d/proxy.conf
    Acquire::http::Proxy "http://1.2.3.4:7890/";
    Acquire::https::Proxy "http://1.2.3.4:7890/";
    oOoOoOoOoOo
        49
    oOoOoOoOoOo  
       2021-11-15 09:56:20 +08:00 via Android
    @selfcreditgiving declare -x
    yaott2020
        50
    yaott2020  
       2021-11-15 10:07:16 +08:00 via Android
    *ray 分流也不错,可以试试
    Kinnice
        51
    Kinnice  
       2021-11-15 10:30:12 +08:00
    ryougifujino
        52
    ryougifujino  
       2021-11-15 11:27:21 +08:00
    也可以虚拟机里装个 OpenWRT ,用旁路由模式。
    palemoky
        53
    palemoky  
       2021-11-15 11:44:25 +08:00
    Mac 或 Linux 在终端添加以下内容,代理地址填写 clash 等代理软件的端口号,保存生效后用 proxy_on 和 proxy_off 就能方便的管理终端代理了
    ```
    function proxy_off(){
    unset http_proxy
    unset https_proxy
    echo -e "🐌 已关闭代理",$(curl -s myip.ipip.net)
    }

    function proxy_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891
    echo -e "🚀 已开启代理",$(curl -s myip.ipip.net)
    }
    ```
    Latin
        54
    Latin  
       2021-11-15 12:15:46 +08:00
    这个随身 wifi 看起来不错的样子哎
    leonme
        55
    leonme  
       2021-11-15 12:33:41 +08:00 via iPhone
    mac 上用免费的 clash x pro ,真香
    2i2Re2PLMaDnghL
        56
    2i2Re2PLMaDnghL  
       2021-11-15 14:31:34 +08:00
    @chocolatesir 但这就跟大家在讨论晚饭吃什么的时候一个人突然跑过来说『你们知不知道食粪族?』
    libook
        57
    libook  
       2021-11-15 14:37:42 +08:00
    有挺长时间没有用 proxychains 了,基本都是用环境变量,至少我用的指令对环境变量代理支持还可以,支持不好的也基本都能找到支持好的替代工具。

    在 shell 的 rc 文件里把下面这几个环境变量设置好就行,甚至可以写个函数调用
    all_proxy
    ALL_PROXY
    http_proxy
    HTTP_PROXY
    https_proxy
    HTTPS_PROXY
    no_proxy
    NO_PROXY
    tgich
        58
    tgich  
       2021-11-21 11:21:58 +08:00
    @wildnode hehe
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:32 · PVG 06:32 · LAX 14:32 · JFK 17:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.