V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paradoxs
V2EX  ›  macOS

10.11.6 如何 不使用额外的转发工具 让 terminal 也进 ss

  •  
  •   paradoxs · 2017-01-20 14:08:14 +08:00 · 6053 次点击
    这是一个创建于 2863 天前的主题,其中的信息可能已经有所发展或是发生改变。
    export http_proxy=http://127.0.0.1:1080
    export https_proxy=http://127.0.0.1:1080
    运行这两行了还是无效。


    ---
    对了, 是怎么判断terminal有没有成功进ss的?
    ping www.google.com request time out, 但是safari是可以的。 ss开的是全局模式。
    cocoapods 慢死了,换了淘宝源还是慢,受不了。
    43 条回复    2017-02-21 09:27:55 +08:00
    xiadd
        1
    xiadd  
       2017-01-20 14:15:37 +08:00
    我一般是`curl google.com`
    AWSAM
        2
    AWSAM  
       2017-01-20 14:18:15 +08:00
    用 surge 的加强模式, 就是贵了点
    n6DD1A640
        3
    n6DD1A640  
       2017-01-20 14:20:14 +08:00   ❤️ 1
    先分清楚 http https socks5
    paradoxs
        4
    paradoxs  
    OP
       2017-01-20 14:23:31 +08:00
    @n6DD1A640
    export socks_proxy=http://127.0.0.1:1080
    export socks_proxy=https://127.0.0.1:1080

    export socks5_proxy=http://127.0.0.1:1080
    export socks5_proxy=https://127.0.0.1:1080

    这样子也不行。。写错了吗
    n6DD1A640
        5
    n6DD1A640  
       2017-01-20 14:33:19 +08:00   ❤️ 1
    @paradoxs ss 是一个 socks 代理,不是 http 或 https

    http://unix.stackexchange.com/questions/71481/use-socks-proxy-for-commands-in-terminal

    export http_proxy=socks5://127.0.0.1:8080
    export https_proxy=socks5://127.0.0.1:8080
    tyhunter
        6
    tyhunter  
       2017-01-20 14:35:49 +08:00
    SpetchLite
    shendancan
        7
    shendancan  
       2017-01-20 14:42:18 +08:00
    试一下 Proxifier
    hvanke
        8
    hvanke  
       2017-01-20 14:58:32 +08:00
    也可以试一下 privoxy
    Wongzigii
        9
    Wongzigii  
       2017-01-20 15:07:52 +08:00
    Proxifier +1
    missdeer
        10
    missdeer  
       2017-01-20 15:10:52 +08:00   ❤️ 1
    ping 是 ICMP , ss 管不到。另外,如上面说的, ss 开的是 socks5 口,设 http 和 https 不行的。
    mxi1
        11
    mxi1  
       2017-01-20 17:59:29 +08:00 via iPhone
    ss 协议是不是 socks 的?你应该配 socks_proxy 吧?
    chairuosen
        12
    chairuosen  
       2017-01-20 18:09:53 +08:00
    还是用 proxychains4 吧,灵活
    `proxychains4 curl google.com`
    o02VFqu3gZnZfX8n
        13
    o02VFqu3gZnZfX8n  
       2017-01-20 18:15:27 +08:00
    1. export all_proxy='socks5://127.0.0.1:1080'
    2. proxychains + 命令
    3. privoxy 转 socks5 代理为 http 代理,之后 export http_proxy

    curl ip.cn
    可查看代理配置情况
    Dvel
        14
    Dvel  
       2017-01-20 18:49:37 +08:00
    you need surge
    yinheli
        15
    yinheli  
       2017-01-20 18:54:04 +08:00
    ping ? 是 udp 协议, ss 是 tcp 协议
    Reficul
        16
    Reficul  
       2017-01-20 19:04:51 +08:00 via Android   ❤️ 1
    @yinheli ping 是 icmp ,不是 UDP 。 ss 是 TCP ,但是这里应该区分叫 socks5
    D3EP
        17
    D3EP  
       2017-01-20 19:06:45 +08:00 via Android
    proxychains +1
    JackyBao
        18
    JackyBao  
       2017-01-20 20:34:58 +08:00 via Android
    iptables 把出站的 22 端口转发到 ss-redir 的 1081 端口
    iptables -t nat -I OUTPUT -p tcp --dport 22 -j REDIRECT --to-port 1080
    DreaMQ
        19
    DreaMQ  
       2017-01-20 20:37:09 +08:00 via iPhone
    @JackyBao mac 没有 iptables 吧
    zhaohui318
        20
    zhaohui318  
       2017-01-20 20:41:51 +08:00
    JackyBao
        21
    JackyBao  
       2017-01-20 20:47:38 +08:00 via Android
    @DreaMQ 没有吗?
    那路由器上有吧?
    crysislinux
        22
    crysislinux  
       2017-01-20 20:59:15 +08:00   ❤️ 1
    最后发现还是路由器上装 ss 来的彻底。
    cocoking
        23
    cocoking  
       2017-01-20 21:05:39 +08:00
    @AWSAM 用 surge 的 enhance model 规则应该怎么些呢? 我看作者的官网上写的是全部的应用程序都会走代理,而不仅仅是 terminal
    iCyMind
        24
    iCyMind  
       2017-01-20 22:00:21 +08:00 via iPhone
    上级路由设置 iptable ,
    或者上级虚拟路由器设置 iptables
    bao3
        25
    bao3  
       2017-01-20 23:46:46 +08:00 via Android
    楼上的回答当中只有两个人说对了。无论 r 你在终端里面如何设置, ping 都是 icmp 控制协议,你都会永远超时。
    17 楼和 20 的可以,那个回答 Surge 的也是醉了,为了在终端跑 ss 你让人家巨资买个工具。

    简单来说,不要设置任何终端代理,直接使用 proxychains 加上你要用的命令就可以了,简单免费轻量
    clavichord93
        26
    clavichord93  
       2017-01-21 00:30:09 +08:00 via iPhone
    @bao3 proxychains 要关 sip 吧
    clavichord93
        27
    clavichord93  
       2017-01-21 00:32:21 +08:00 via iPhone
    我推荐 spechtlite ,把 ss 转成 http 或者 https 。
    Jaylee
        28
    Jaylee  
       2017-01-21 01:34:33 +08:00
    shadowsocksX-NG
    mornlight
        29
    mornlight  
       2017-01-21 02:13:06 +08:00 via iPhone
    Proxifier 或 Surge 或 ProxyChains 是工具流。
    export ALL_PROXY =socks5://127.0.0.1:1080 可以解决部分问题。
    仅针对你拉 CocoaPods 慢的情况, Git 自己就可以配置成走 SOCKS5 代理,你搜一下或者参考 https://www.v2ex.com/t/244904
    mornlight
        30
    mornlight  
       2017-01-21 02:15:08 +08:00 via iPhone
    话说面试时如果有人讲他熟悉计算机网络,我就会问「 ping 的时候是走 TCP 还是 UDP ?」来坑他😛
    sammo
        31
    sammo  
       2017-01-21 11:29:39 +08:00
    > curl -I www.google.com
    (大写字母 i )
    sammo
        32
    sammo  
       2017-01-21 11:37:02 +08:00
    路由器上装 ss 会更快地暴露你的 fq 服务器的 IP ( 和你的真实位置 )
    参考 百度定位泄露真实位置 - https://www.v2ex.com/t/325447
    SpringHack
        33
    SpringHack  
       2017-01-21 15:04:02 +08:00 via Android
    @mornlight 太阴了这招…不过如果面试者真的会他有可能会认为你弱智…
    bao3
        34
    bao3  
       2017-01-21 20:54:48 +08:00
    @clavichord93 当然不需要关
    JackyBao
        35
    JackyBao  
       2017-01-21 21:56:57 +08:00 via Android
    @sammo ss 挂路由不要全局转发就可以了,比如只转发国外 ip 。
    cranelee13
        36
    cranelee13  
       2017-01-22 01:47:17 +08:00
    可以使用 proxychains
    qq2511296
        37
    qq2511296  
       2017-01-22 08:49:48 +08:00
    挂不了 ss 是因为 SIP 没有关闭 你得把 sip 关闭了才行
    SIP 关闭方法:重启电脑 重启的时候按住 command+r 不要放手,等它到恢复模式的时候打开终端
    输入命令
    csrutil disable
    然后重启
    shenyuan
        38
    shenyuan  
       2017-01-22 15:09:31 +08:00 via Android
    有的 terminal 程序是不支持 socks 代理的,而且默认也不会把 socks 代理转成 httl 代理,可以用 privoxy ,直接 brew install 就可以,改一下它的配置文件,然后把 http 和 https 的代理改成它的监听端口
    xpol
        39
    xpol  
       2017-01-22 21:13:06 +08:00
    add follow to bash_profile:


    function set_proxy() {
    export http_proxy=$1
    export https_proxy=$1
    git config --global http.proxy $1
    git config --global https.proxy $1
    }

    function proxy() {
    case $1 in
    off)
    unset http_proxy
    unset https_proxy
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    ;;
    [1-9]*)
    set_proxy socks5://127.0.0.1:$1
    ;;
    la|lantern)
    set_proxy http://127.0.0.1:8787
    ;;

    ss|shadowsocks)
    set_proxy socks5://127.0.0.1:1080
    ;;

    pr|privoxy)
    set_proxy http://127.0.0.1:8118
    ;;
    "")
    echo usage: proxy [port\|ss\|shadowsocks\|la\|lantern\|off]
    ;;
    esac

    echo http_proxy=$http_proxy
    echo https_proxy=$https_proxy
    }


    Usage:

    proxy ss
    jinqzzz
        40
    jinqzzz  
       2017-01-24 12:38:17 +08:00
    tsocks 不错啊。

    brew install tsocks

    vim /usr/local/etc/tsocks.conf
    DrenA
        41
    DrenA  
       2017-01-25 14:58:04 +08:00
    5 楼正解
    NUT
        42
    NUT  
       2017-02-07 11:17:39 +08:00
    一般使用 proxychains4 很灵活的
    sbilly
        43
    sbilly  
       2017-02-21 09:27:55 +08:00
    proxifier +1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:21 · PVG 06:21 · LAX 14:21 · JFK 17:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.