Terminal 如何强制全部走 proxy? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Chism
V2EX    macOS

Terminal 如何强制全部走 proxy?

  •  
  •   Chism 2022-02-22 19:46:21 +08:00 9597 次点击
    这是一个创建于 1327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我配置了

    export all_proxy=http://127.0.0.1:1087 

    但是在运行一些脚本时发现依然不走代理,脚本里含有 curl github 之类的直接超时

    有什么配置方式可以强制 Terminal 全部走 proxy ?

    35 条回复    2022-02-24 15:54:46 +08:00
    menghuan
        1
    menghuan  
       2022-02-22 19:53:14 +08:00
    clashX 增强模式好像可以
    bao3
        2
    bao3  
       2022-02-22 19:55:54 +08:00 via iPhone   3
    首先,你设定的代理只能对 tcp 有效,所以有些解析有问题就无法走代理。你可以试试 socks5
    另外 1# 是正解
    arischow
        3
    arischow  
       2022-02-22 19:56:17 +08:00   4
    ```
    export https_proxy=http://127.0.0.1:8888;export http_proxy=http://127.0.0.1:8888;export all_proxy=socks5://127.0.0.1:8889
    ```
    arischow
        4
    arischow  
       2022-02-22 19:56:36 +08:00
    或者用网关模式,让虚拟网卡接管所有流量再分流,如 1#
    Immortal
        5
    Immortal  
       2022-02-22 20:00:29 +08:00   1
    用 Clash 客户端举例:
    1. Clash 设置全局并且全局
    2. Clash 设置全局,然后在终端执行
    export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
    之后的命令都会走代理流量
    Immortal
        6
    Immortal  
       2022-02-22 20:01:25 +08:00
    @Immortal #5
    1. Clash 设置全局并且全局 > 1. Clash 设置全局并且设置为系统代理
    heywin
        7
    heywin  
       2022-02-22 20:22:42 +08:00   4
    proxychains-ng
    Jiajin
        8
    Jiajin  
       2022-02-22 20:30:24 +08:00
    增强模式就行了,不用开系统代理。
    AllenHua
        9
    AllenHua  
       2022-02-22 21:34:27 +08:00
    ```
    export http_proxy=http://USERNAME:[email protected]:7890 && export https_proxy=$http_proxy && export all_proxy=socks5://127.0.0.1:7890 && echo 'Set proxy successfully'
    ```

    http(s)代理如果没有认证,那么命令如下

    ```
    export http_proxy=http://127.0.0.1:7890 && export https_proxy=$http_proxy && export all_proxy=socks5://127.0.0.1:7890 && echo 'Set proxy successfully'
    ```

    unset 取消设置代理

    ```
    unset http_proxy && unset https_proxy && unset all_proxy && echo 'Unset proxy successfully'
    ```

    socks5 代理没有认证,所以不用输入用户名和密码
    AllenHua
        10
    AllenHua  
       2022-02-22 21:38:22 +08:00   3
    你设置的 all_proxy 是 http 代理……

    socks5 包含 https ,https 又包含 http

    socks5 代理工作在 osi 七层模型中的会话层(第五层),https/http 代理工作在 osi 七层模型的应用层(第七层),所以说 socks 代理更加底层。
    zalss
        11
    zalss  
       2022-02-22 21:40:31 +08:00
    vim ~/.zshrc
    插入这个:
    export ME="/Users/zalss" #你的目录
    source $ME/.start.sh
    新建~/.start.sh
    chmod -x ~/.start.sh
    ~/.start.sh 内容为:

    --------------------------------


    export http="http://127.0.0.1:7890"
    export https=$http
    export socks5="socks5://127.0.0.1:7891"
    export reslove="

    开启代理

    "
    export reject="

    已关闭!

    "
    alias mymac="neofetch"
    alias setp="
    git config --global http.proxy $http;
    git config --global https.proxy $http;
    npm config set proxy $http;
    npm config set https-proxy $http;
    yarn config set proxy $http;
    yarn config set https-proxy $http;
    export ALL_PROXY=$socks5
    export http_proxy=$http;
    export https_proxy=$http;
    echo -e '\033[32m $reslove \033[0m'
    "
    alias unsetp="
    git config --global --unset http.proxy;
    git config --global --unset https.proxy;
    npm config delete proxy;
    npm config delete https-proxy;
    yarn config delete proxy;
    yarn config delete https-proxy;
    unset http_proxy;
    unset https_proxy
    unset ALL_PROXY
    echo -e '\033[31m $reject \033[0m'

    "
    alias ip="curl ipinfo.io"




    --------------------------------
    sickoo
        12
    sickoo  
       2022-02-22 23:07:24 +08:00
    @Jiajin 意思只要增强模式,不用点那个设置为系统代理就行了吗
    dingwen07
        13
    dingwen07  
       2022-02-23 02:36:51 +08:00
    Clash for Windows TUN 模式
    iseki
        14
    iseki  
       2022-02-23 02:57:26 +08:00   1
    不同软件对这几个环境变量的支持程度不一样,有的吃 all ,有的不吃;有的大小写不敏感,有的很敏感所以保险的方法是同时设定 http_proxy, https_proxy, all_proxy ,如果你有觉得不够可靠,对应的大写也设定一份,我观察的:吃 all 的不是很多
    bao3
        15
    bao3  
       2022-02-23 04:28:54 +08:00
    @sickoo
    yhhsuf
        16
    yhhsuf  
       2022-02-23 06:41:55 +08:00
    proxifier
    alexanderb
        17
    alexanderb  
       2022-02-23 07:26:00 +08:00
    提供一个不太优雅的方案,proxychains 用 socks5 代理。
    Leonard
        18
    Leonard  
       2022-02-23 09:31:01 +08:00
    ClashX Pro 增强模式最方便
    Crump
        19
    Cump  
       2022-02-23 09:35:40 +08:00
    如果 M1 芯片,QX 最方便
    icetea12138
        20
    icetea12138  
       2022-02-23 09:38:18 +08:00
    @Crump qx 不是手机上的嘛?电脑上也可以?
    Crump
        21
    Crump  
       2022-02-23 09:44:52 +08:00
    @icetea12138 可以,注意是 M1 系列芯片
    xxb
        22
    xxb  
       2022-02-23 09:57:45 +08:00 via iPhone
    7 楼和 17 楼可能是最优解,推荐
    xiaozhishang91
        23
    xiaozhishang91  
       2022-02-23 11:23:52 +08:00
    @xxb 同意。proxychains 是绝对可行的方案
    beginor
        24
    beginor  
       2022-02-23 11:32:33 +08:00
    推荐用 Proxifier ,代理神器
    SenLief
        25
    SenLief  
       2022-02-23 11:36:21 +08:00 via iPhone
    全部用 tun 了
    EvilDevilJin
        26
    EvilDevilJin  
       2022-02-23 12:03:25 +08:00   1
    ClashX Pro

    export https_proxy=http://127.0.0.1:xxxx
    export http_proxy=http://127.0.0.1:xxxx
    export all_proxy=socks5://127.0.0.1:xxxx

    写进~/.zshrc
    Achieve7
        27
    Achieve7  
       2022-02-23 16:32:14 +08:00   1
    alias proxy='env https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890'

    执行命令的时候前面加上这一行
    tomychen
        28
    tomychen  
       2022-02-23 16:58:16 +08:00
    export 后 curl 会走代理,git 则不会
    独立配置一下~/.gitconfig
    Huozy
        29
    Huozy  
       2022-02-23 17:47:42 +08:00
    把 export 直接写入 .zshrc 脚本里
    jfdnet
        30
    jfdnet  
       2022-02-23 18:23:23 +08:00
    monterey 系统 用任何一个代理软件,应该都可以让所有 app 走代理了吧,而不仅仅是浏览器了,包括终端。
    lrvy
        31
    lrvy  
       2022-02-23 19:26:59 +08:00
    `sh
    pp () {
    if [ $switch_proxy = 0 ]
    then
    export http_proxy="$proxy_host:$proxy_http_port"
    export https_proxy="$proxy_host:$proxy_http_port"
    export all_proxy="$proxy_host:$proxy_socks5_port"
    export switch_proxy=1
    echo -e "梯子模式"
    else
    unset http_proxy
    unset https_proxy
    unset all_proxy
    export switch_proxy=0
    echo -e "和谐模式"
    fi
    }
    `
    jerryjhou
        32
    jerryjhou  
       2022-02-24 08:40:12 +08:00 via iPad
    @icetea12138 最新版已做 M1 专门适配
    fuchun
        33
    fuchun  
       2022-02-24 09:56:55 +08:00
    如果 协议是 ssr 的话
    fuchun
        34
    fuchun  
       2022-02-24 09:57:44 +08:00
    devyjn
        35
    devyjn  
       2022-02-24 15:54:46 +08:00 via Android
    echo socks5 = "127.0.0.1:1086" > ~/.curlrc
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 19:38 PVG 03:38 LAX 12:38 JFK 15:38
    Do have faith in what you're doing.
    ubao 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