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

有办法把 ubuntu18 所有的命令行程序网路走 ss5 代理么?

  •  
  •   ishiguang · 2019-01-23 15:06:49 +08:00 · 4797 次点击
    这是一个创建于 2129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    平时 Linux 用的不多,windows 电脑一直用 s s r 代理,最近要打一个开源框架环境,初步采用 dock 的方式来搭建,但是在 ubuntu18 里 pull 不下来,2 天了一直没成功,公司网络也不是很好。 有办法让 ubuntu18 所有的网络都走我的代理么,ubuntu18 是在虚拟机里的。

    22 条回复    2019-01-25 09:30:51 +08:00
    sbw
        1
    sbw  
       2019-01-23 15:25:19 +08:00
    把虚拟机这个程序加个代理,或者在 ubuntu 里用 proxychains
    tomychen
        2
    tomychen  
       2019-01-23 15:26:42 +08:00
    如果 ss(r)的服务器是自己的,架个 v/P/n 就好了 这样流量就全走
    但是话说 docker 不是可以指定代理的么?
    josephpei
        3
    josephpei  
       2019-01-23 15:35:35 +08:00
    docker 自己可以指定代理,我以前装 k8s 时就是这样搞的
    datou
        4
    datou  
       2019-01-23 15:37:09 +08:00
    proxychains
    atz
        6
    atz  
       2019-01-23 15:58:06 +08:00
    docker pull 不下来的话,更建议你使用国内的镜像加速仓库,比如阿里云的
    iManjaro
        7
    iManjaro  
       2019-01-23 16:08:27 +08:00
    proxychains 或 privoxy
    hcymk2
        8
    hcymk2  
       2019-01-23 16:10:27 +08:00
    proxychains 对 docker 命令无效.
    ranwu
        9
    ranwu  
       2019-01-23 16:28:02 +08:00
    没在虚拟机里试过。但可以考虑在 ubuntu18 上安装 shadowsocks-libev (直接 apt-get install 这个包就可以了)。
    momocraft
        10
    momocraft  
       2019-01-23 16:33:01 +08:00
    docker 只是个传递命令的客户端,真正的工作都在 docker daemon (dockerd) 及其子进程,如果给 docker (客户端) 加了环境变量或 hook,对 container 无效是可以想见的。

    要在 docker container 用代理可能要各种方式注射环境变量进去。docker daemon 有自己的代理设置。
    Vamposine
        11
    Vamposine  
       2019-01-23 16:36:54 +08:00 via iPhone
    mac 中可以在命令行里 export ALL_PROXY,不知道 linux 中有没有类似的
    neighbads
        12
    neighbads  
       2019-01-23 16:44:57 +08:00
    看看 ss-libev 里的 readme
    zbinlin
        13
    zbinlin  
       2019-01-23 16:45:12 +08:00   ❤️ 1
    debuggerx
        14
    debuggerx  
       2019-01-23 16:58:44 +08:00
    iptables 了解一下
    或者更直接粗暴的自己来个路由器直接挂代理
    其实路由器挂 ss 也是利用的 iptables
    bruce0
        15
    bruce0  
       2019-01-23 17:01:08 +08:00 via iPhone
    @ranwu 没错,我的 ubuntu 就是这样弄的
    lance6716
        16
    lance6716  
       2019-01-23 17:05:12 +08:00
    记得 bash 可以设环境变量 ALL_PROXY 走代理
    ishiguang
        17
    ishiguang  
    OP
       2019-01-23 17:22:38 +08:00
    @ranwu 这个是启动了一个 ss 服务吧? 那终端命令行怎么使用这个服务呢
    iwtbauh
        18
    iwtbauh  
       2019-01-23 18:27:34 +08:00 via Android
    tsocks 了解一下
    将 so 注入程序,劫持网络套接字 API 强迫走代理。

    缺点 1:对静态链接的程序无效(不过应该没有什么静态链接的程序用吧)
    缺点 2:DNS 污染问题,解决方法很简单,需要自行编译 tsocks,启用 DNS 也走代理。无法用配置文件让 DNS 走代理。因此务必自己编译一份用
    ranwu
        19
    ranwu  
       2019-01-23 18:53:50 +08:00
    @ishiguang 命令行就用 proxychains 来实现。
    如果安装并配置好 proxychains,那么可以这样做:

    proxychains curl www.google.com
    gleport
        20
    gleport  
       2019-01-23 19:23:49 +08:00 via iPhone
    graftcp
    msg7086
        21
    msg7086  
       2019-01-24 09:32:48 +08:00
    我司产品里用的 tsocks。
    ansu
        22
    ansu  
       2019-01-25 09:30:51 +08:00
    polipo 将 ss 代理转换成为 http 代理
    然后使用 set http_proxy 和 https_proxy 进行设置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5430 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 06:48 · PVG 14:48 · LAX 22:48 · JFK 01:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.