V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
cathedrel
V2EX  ›  Linux

Linux 系统里有没有类似 windows 系统上的 Proxifier 的程序??

  •  
  •   cathedrel · 2021-02-21 01:54:13 +08:00 · 4696 次点击
    这是一个创建于 1370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    proxifier 设置好之后随便运行什么程序全部都走代理了,但是在 linux 上就没有这么方便的,我知道“proxychains xx 程序”这样的用法,但是相比之下麻烦多了,每运行一个联网程序就要开一个 terminal 手动敲命令,比不过鼠标点点那么爽。也听说过 redsocks,但是我回避这种需要用到 iptables 命令的程序,因为我完全不懂 iptables 命令,也不准备学,要学也只学 firewalld 。

    github 上搜到这种 github.com/m0hithreddy/Proxifier-For-Linux 只支持 http proxy 的,我需要支持 socks5 的

    排除了这几种之后还有选择吗?

    52 条回复    2021-04-09 17:48:55 +08:00
    mason961125
        1
    mason961125  
       2021-02-21 02:47:49 +08:00
    - 我要用 Linux !
    - 我不想折腾!
    · 你告诉我!
    masker
        2
    masker  
       2021-02-21 02:51:11 +08:00 via Android
    用 Windows,用什么 Linux,想马跑又不给马吃草
    zictos
        3
    zictos  
       2021-02-21 03:04:28 +08:00   ❤️ 1
    linux 下何止这一个,不方便的多了去了。win 上无论什么都基本有解决方案,安装根本不是问题,我习惯用绿色免安装软件,即便重装系统后大部分软件也能直接用。
    PMR
        4
    PMR  
       2021-02-21 03:17:21 +08:00
    回避这种需要用到 iptables 命令的程序?

    BTW
    firewalld based on ip*tables.



    跨平台的 proxy client 不少
    nuk
        5
    nuk  
       2021-02-21 03:18:32 +08:00   ❤️ 2
    tun2socks
    ysc3839
        6
    ysc3839  
       2021-02-21 05:24:45 +08:00 via Android   ❤️ 1
    clash 的闭源版本支持 tun,可以自动配置代理全局流量,也能按照进程名区分。
    vk42
        7
    vk42  
       2021-02-21 06:12:15 +08:00   ❤️ 1
    @PMR 准确说现在的 iptables 和 firewalld 这些都是 nftables 的前端,老的内核 iptables 实现已经被 nftables 取代了

    @cathedrel 不知道该说 lz 什么,要想折腾 Linux 又不想学相关的工具还要伸手党……
    felixcode
        8
    felixcode  
       2021-02-21 09:16:27 +08:00 via Android
    Linux 还是不适合你使用
    xizero00
        9
    xizero00  
       2021-02-21 09:19:46 +08:00 via iPhone
    proxychains
    wangtuyi
        10
    wangtuyi  
       2021-02-21 09:51:52 +08:00   ❤️ 1
    conanforever22
        11
    conanforever22  
       2021-02-21 09:53:39 +08:00
    # 我的使用环境下基本所有程序(curl/chromium)都是吃下边这几个环境变量的, 8888 是我本地 clash 端口
    export http_proxy=http://127.0.0.1:8888/
    export https_proxy=$http_proxy
    export ftp_proxy=$http_proxy
    export rsync_proxy=$http_proxy
    export no_proxy="localhost,127.0.0.1,0.0.0.0,localaddress,.localdomain.com"
    x2009again
        12
    x2009again  
       2021-02-21 09:55:25 +08:00   ❤️ 1
    Qv2ray 是不是可以满足?有 linux 版本
    conanforever22
        13
    conanforever22  
       2021-02-21 09:55:30 +08:00   ❤️ 1
    # github ssh 解决方案 .ssh/config 注意安装 socat
    Host github.com
    HostName github.com
    User git
    ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8888
    love
        14
    love  
       2021-02-21 09:57:27 +08:00   ❤️ 1
    如果是命令行程序,设置环境变量,比如写个小脚本
    # p.sh
    export http_proxy=http://localhost:8123
    export https_proxy=http://localhost:8123

    几乎没有命令行程序不支持这二个变量。

    需要用到时打一下". p.sh",当前命令行就有代理了,想全程默认的可以把环境变量加到.bashrc

    浏览器就说别提了各种支持,比如我用的是国内外分流 pac 。
    cathedrel
        15
    cathedrel  
    OP
       2021-02-21 10:51:38 +08:00
    @love socks5 的代理支持吗? http 和 https 代理都没有的,只有 socks 代理,能让所有程序走代理吗?
    cathedrel
        16
    cathedrel  
    OP
       2021-02-21 10:52:25 +08:00
    @conanforever22 这个是啥意思?我没看懂
    neteroster
        17
    neteroster  
       2021-02-21 10:54:15 +08:00 via Android   ❤️ 1
    要真•全局几乎不可避免的直接或间接使用 iptables 。推荐:clash tun 模式。
    cathedrel
        18
    cathedrel  
    OP
       2021-02-21 10:54:55 +08:00
    @conanforever22 13 楼的我没看懂,11 楼的能把所有连接走 socks5 代理吗?
    cathedrel
        19
    cathedrel  
    OP
       2021-02-21 10:56:17 +08:00
    @wangtuyi 亲,这个程序太老了吧? 2011 年的还能在现代的 linux 里用起来吗?
    julyclyde
        20
    julyclyde  
       2021-02-21 11:09:29 +08:00
    @love 需要 source
    masker
        21
    masker  
       2021-02-21 11:19:25 +08:00 via Android
    看以往发帖,原来是个老伸手党了
    ungrown
        22
    ungrown  
       2021-02-21 11:51:00 +08:00
    proxychains4
    zent00
        23
    zent00  
       2021-02-21 11:54:42 +08:00
    看了楼主和三楼,只想说,Linux 真的配不上高贵的你们。
    shellic
        24
    shellic  
       2021-02-21 12:04:36 +08:00 via Android
    proxychains4
    zictos
        25
    zictos  
       2021-02-21 12:21:02 +08:00 via Android
    @zent00 我自己服务器就用 linux 的,linux 自然是有 linux 的优点所在的,我也不是吐槽 linux 。是楼主说 linux 不方便,他认为方便就是像 windows 那样才方便,我才说"不方便的多了去了",言下之意就是说如果这样认为,那不方便的多了去了。至于说 win 上面任何需求都有解决方案只是为了让前面的话看起来逻辑更合理。
    feather12315
        26
    feather12315  
       2021-02-21 12:35:46 +08:00 via Android
    Linux 不是比 Windows 更方便吗?
    iptables 搞定所有
    jinliming2
        27
    jinliming2  
       2021-02-21 12:39:49 +08:00   ❤️ 1
    我的配置:ip 规则列表+nftables+Transparent proxy
    1:ip 规则列表 ip.txt ,这个使用脚本生成就行了,相当于白名单 ip 列表,格式这样:
    define WLIP = {
    10.0.0.0/8,
    192.168.0.0/16,
    ......
    }
    2:nftables 规则文件:
    # 导入规则文件
    include "/opt/ip.txt"
    table ip proxy {
    chain output {
    type nat hook output priority 0; policy accept;
    ip daddr $WLIP return
    ip protocol tcp redirect to 1081
    }
    }
    nightwitch
        28
    nightwitch  
       2021-02-21 12:41:05 +08:00
    socks5 代理转 http 代理成熟的方案可以拧出一大把出来
    inhzus
        29
    inhzus  
       2021-02-21 12:54:38 +08:00 via iPhone
    感谢楼主提供了 proxifier-for-linux 这个工具,刚刚我在 aur 上打包了 proxifier-for-linux-git,楼主再在本地搞个 http 转 socks 代理不就好了😅
    zeroDev
        30
    zeroDev  
       2021-02-21 12:54:53 +08:00 via Android
    cgproxy
    love
        31
    love  
       2021-02-21 13:13:24 +08:00
    @julyclyde 前面的点就是 source 的简写法
    cathedrel
        32
    cathedrel  
    OP
       2021-02-21 13:33:04 +08:00
    @jinliming2 一种很痛苦的感觉就是:仔细看好像也能看出这些命令是个啥意思,但是一旦要把它们在我的电脑上实现出来的时候一条接一条的命令都在提示错误。。。
    fiveelementgid
        33
    fiveelementgid  
       2021-02-21 13:34:17 +08:00 via Android   ❤️ 1
    建议放弃 Linux (
    learningman
        34
    learningman  
       2021-02-21 13:52:32 +08:00 via Android   ❤️ 1
    谁告诉你 Windows 设置了代理就都能用的。。。
    如果你没修改过的话,看看微软商店还打得开不?
    CSGO 彩虹 6 号,你看看走代理不?
    你不理解背后的原理,你就会发现这里懵逼那里也懵逼。
    Jirajine
        35
    Jirajine  
       2021-02-21 14:00:27 +08:00 via Android   ❤️ 1
    Linux 下 iptables 一加就能透明代理了,相比之下 Windows 还得用各种 Winsock 之类的魔法,而且没有良好的开源实现,麻烦多了。
    flowercoder
        36
    flowercoder  
       2021-02-21 15:23:19 +08:00
    用过 clash,win 上也是一键开,centos 也差不多
    CatCode
        37
    CatCode  
       2021-02-21 15:43:31 +08:00   ❤️ 1
    我也觉得 linux 麻烦,然后找个了低配主机开虚拟机 openwrt,直接接管所有流量
    linux/windows/macos/android/ios/PS5/xbox/switch 通杀
    chenqh
        38
    chenqh  
       2021-02-21 16:35:40 +08:00
    感觉 iptables 好复杂,逃
    cathedrel
        39
    cathedrel  
    OP
       2021-02-21 17:43:22 +08:00
    @CatCode 你这个方案也不错,虚拟机 openwrt 是怎么接管所有流量的呢?给点关键词我去搜一下
    CatCode
        40
    CatCode  
       2021-02-21 18:22:06 +08:00
    @cathedrel
    就是软路由啊 openwrt 作为路由器 自然而然地接管整个局域网里面的流量啊
    defunct9
        41
    defunct9  
       2021-02-21 19:44:00 +08:00 via iPhone
    吊诡
    docx
        42
    docx  
       2021-02-21 20:31:19 +08:00 via Android
    因为我完全不懂 iptables 命令,也不准备学,要学也只学 firewalld
    -------------

    这态度让人看了多少不适。
    建议回去用 Windows 。Linux 不适合你。
    kokutou
        43
    kokutou  
       2021-02-21 20:47:00 +08:00   ❤️ 1
    大部分软件都有参数啊
    很多程序都支持
    export http_proxy=
    export https_proxy=
    两个环境变量
    实在懒, 自己电脑前面查个刷 openwrt 的路由器吧
    Kasumi20
        44
    Kasumi20  
       2021-02-21 23:06:45 +08:00
    redsocks 还是爽啊,自己再写个 DNS 代理,全局科学,在终端都能 curl 谷歌
    ch2
        45
    ch2  
       2021-02-22 01:25:37 +08:00 via iPhone
    建议你改用 vpn 吧,http 代理不适合你
    lairdnote
        46
    lairdnote  
       2021-02-22 08:21:08 +08:00
    @Kasumi20 哈哈 当年 redsocks 上过生产服务器 vpn 上来 redsocke 转换协议 然后在走 squid, 哈哈 流量看的清清楚楚
    sleepm
        47
    sleepm  
       2021-02-22 12:46:48 +08:00 via Android   ❤️ 1
    glider,想转发啥就转发啥
    socks5 to http
    vmess to http
    cathedrel
        48
    cathedrel  
    OP
       2021-02-22 16:36:49 +08:00
    @sleepm 你好,你推荐的这个软件看起来很棒,不过我这会大概看下来,它好像不能像 proxifier 那样只要设置好一个代理就能劫持转发系统上所有流量?好像是要在这个软件里设置各种流量相对应的转发然后各个软件也需要单独设置好才能起作用?
    sleepm
        49
    sleepm  
       2021-02-22 16:50:01 +08:00   ❤️ 1
    @cathedrel 是的,它只是转发
    你可以转发你的 socks5 到 http,然后就可以用你说的 Proxifier-For-Linux 了
    ungrown
        50
    ungrown  
       2021-02-24 13:01:53 +08:00
    都给你说了 proxychains4,好歹去看看嘛,多好用的东西
    实现在 /etc/proxychains.conf 里面配置好上游代理
    然后随便什么程序,你想让它的通过代理访问,就在它的命令前面加 proxychains4,比如 proxychains4 git pull
    多简单呐
    cathedrel
        51
    cathedrel  
    OP
       2021-02-24 20:39:22 +08:00
    @ungrown 我知道这个东西呀,我一直在用的,我就是嫌“随便什么程序,你想让它的通过代理访问,就在它的命令前面加 proxychains4”这个步骤麻烦,每个程序都要这样搞,就很麻烦
    qbqbqbqb
        52
    qbqbqbqb  
       2021-04-09 17:48:55 +08:00
    @cathedrel 支持 socks5 的。环境变量只是说明“哪种协议用哪个代理”,不限制具体代理类型(当然,需要程序本身支持;至少 git 拉取 https 源是支持的)。你完全可以这样用:

    ```
    export http_proxy=socks5h://127.0.0.1:1080
    export https_proxy=socks5h://127.0.0.1:1080
    ```

    或者

    ```
    export all_proxy=socks5h://127.0.0.1:1080
    ```

    (其中 socks5h 表示远程解析 dns,如果直接写 socks5 是本地解析 dns )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5128 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:44 · PVG 11:44 · LAX 19:44 · JFK 22:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.