如何优雅的让 BT, PT 不走代理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
worldqiuzhi
V2EX    宽带症候群

如何优雅的让 BT, PT 不走代理

  •  
  •   worldqiuzhi 2023-02-20 13:53:05 +08:00 33240 次点击
    这是一个创建于 1023 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的 openclash ,威联通 NAS

    已知方式: 1.给 NAS IP 配置黑名单 -- 但我上面还有其他服务要使用代理

    2.openclash 只开 80 443 等常用端口 --担心各种设备出现各种网络问题

    3.使用 Bridge 或 Macvlan 给下载容器另开一个 IP 配置黑名单 --Container Station 容器工作站不支持图形化配置 Macvlan

    4.添加 tracker 域名 收藏的站多 而且担心某天某站更改了 tracker 域名 ban 号

    46 条回复    2024-08-24 17:36:17 +08:00
    yunyuyuan
        1
    yunyuyuan  
       2023-02-20 14:03:38 +08:00
    同问,我的下载机是 linux ,不知道 vlan 咋配置
    z7356995
        2
    z7356995  
       2023-02-20 14:05:54 +08:00 via Android
    我是搞了两台 nas ,蜗牛的那时便宜只要 300 不到,用来挂 pt,另外一台群晖
    z7356995
        3
    z7356995  
       2023-02-20 14:06:44 +08:00 via Android
    所以给 nas ip 配了黑名单
    Puteulanus
        4
    Puteulanus  
       2023-02-20 14:15:31 +08:00
    3.使用 Bridge 或 Macvlan 给下载容器另开一个 IP 配置黑名单 --Container Station 容器工作站不支持图形化配置 Macvlan

    用虚拟机跑(
    Jrajine
        5
    Jirajine  
       2023-02-20 14:17:19 +08:00   1
    这太简单了,你给服务器额外配置一个 IP 地址,然后从 bt 软件里选择绑定这个 IP 地址,再为这个 IP 地址配置规则就行了。
    kylelau
        6
    kylelau  
       2023-02-20 14:38:34 +08:00   1
    1. https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/Clash/PrivateTracker/PrivateTracker.yaml
    有规则,但不完善,很多新站没有

    2. 通常 clash 规则最后兜底走代理,但只要你前面的规则足够完善,兜底可以只配置 DST-PORT 22 、80 、443 等个别端口走代理,其他端口直连,这样不光 bt ,其他软件也可以防止误走代理

    3. 使用 - SRC-PORT,54321,DIRECT 指定 bt 软件的端口出栈全部直连,这似乎是最优雅的方式?
    xd880616
        7
    xd880616  
       2023-02-20 14:40:40 +08:00
    我的默认就不走代理,IP 白名单,也设置了 NAS IP 除外
    worldqiuzhi
        8
    worldqiuzhi  
    OP
       2023-02-20 14:57:54 +08:00
    @kylelau
    第 1 条 我在考虑要不要配置 怕覆盖不全或者换了不能及时更新
    第 2 条 我不怕其他软件误走,而是怕其他软件被误拦截 很多软件和设备不是只走 80 443 出了问题都不好排查
    第 3 条倒是足够优雅 不过我现在端口都是随机的 有时候大流量好像容易封端口 倒是可以尝试放开端口段和随机端口断匹配
    lin559671
        9
    lin559671  
       2023-02-20 15:39:14 +08:00 via iPhone
    我解决这种问题就是搞个无限流量的代理,直接治好了各种焦虑症
    worldqiuzhi
        10
    worldqiuzhi  
    OP
       2023-02-20 15:45:00 +08:00
    @lin559671 不担心流量 主要担心 ban 机场号或者 pt 号
    honeyjuice
        11
    honeyjuice  
       2023-02-20 15:45:12 +08:00
    末尾改成
    - PROCESS-NAME,aria2c,DIRECT
    - PROCESS-NAME,BitComet,DIRECT
    - PROCESS-NAME,fdm,DIRECT
    - PROCESS-NAME,NetTransport,DIRECT
    - PROCESS-NAME,qbittorrent,DIRECT
    - PROCESS-NAME,Thunder,DIRECT
    - PROCESS-NAME,transmission-daemon,DIRECT
    - PROCES-NAME,transmission-qt,DIRECT
    - PROCESS-NAME,uTorrent,DIRECT
    - PROCESS-NAME,WebTorrent,DIRECT
    - PROCESS-NAME,aria2c,DIRECT
    - PROCESS-NAME,fdm,DIRECT
    - PROCESS-NAME,Folx,DIRECT
    - PROCESS-NAME,NetTransport,DIRECT
    - PROCESS-NAME,qbittorrent,DIRECT
    - PROCESS-NAME,Thunder,DIRECT
    - PROCESS-NAME,Transmission,DIRECT
    - PROCESS-NAME,transmission,DIRECT
    - PROCESS-NAME,uTorrent,DIRECT
    - PROCESS-NAME,WebTorrent,DIRECT
    - PROCESS-NAME,WebTorrent Helper,DIRECT
    - PROCESS-NAME,v2ray,DIRECT
    - PROCESS-NAME,ss-local,DIRECT
    - PROCESS-NAME,ssr-local,DIRECT
    - PROCESS-NAME,ss-redir,DIRECT
    - PROCESS-NAME,ssr-redir,DIRECT
    - PROCESS-NAME,ss-server,DIRECT
    - PROCESS-NAME,trojan-go,DIRECT
    - PROCESS-NAME,xray,DIRECT
    - PROCESS-NAME,hysteria,DIRECT
    - PROCESS-NAME,UUBooster,DIRECT
    - PROCESS-NAME,uugamebooster,DIRECT
    - "DST-PORT,80,\U0001F41F 漏网之鱼"
    - "DST-PORT,443,\U0001F41F 漏网之鱼"
    - "DST-PORT,22,\U0001F41F 漏网之鱼"
    - MATCH,DIRECT

    即可
    fortynine
        12
    fortynine  
       2023-02-20 15:46:43 +08:00   1
    @honeyjuice 路由器上的 openclash 无法获取到下面设备的程序名称
    ymmud
        13
    ymmud  
       2023-02-20 15:57:27 +08:00
    bt 单独地址
    wwbfred
        14
    wwbfred  
       2023-02-20 16:11:40 +08:00
    开两张网卡,BT 软件单独绑定一张,然后在网关单独给它写策略。
    alne
        15
    alne  
       2023-02-20 16:13:33 +08:00 via Android
    改成白名单代理呗
    wolonggl
        16
    wolonggl  
       2023-02-20 16:26:43 +08:00
    个人经验, 用的是 v2raya 透明代理模式,修改 v2raya 启动脚本,配置只代理 80/443 常见端口的,
    bt/pt 通常都是高端口应用
    worldqiuzhi
        17
    worldqiuzhi  
    OP
       2023-02-20 16:32:47 +08:00
    @wolonggl 关键不止 bt pt 用高端口啊 别的应用也有用高端口的 如果出了问题 排查都不好排查
    worldqiuzhi
        18
    worldqiuzhi  
    OP
       2023-02-20 16:37:00 +08:00
    @wwbfred 是开容器的网卡 还是系统的网卡
    ettwz
        19
    ettwz  
       2023-02-20 16:44:35 +08:00
    之前弄规则总是会漏 最后还是物理隔离... OpenClash 做旁路 单独开个虚拟机挂 BT/PT 直接指向主路由
    huihuilang
        20
    huihuilang  
       2023-02-20 16:50:28 +08:00
    我用了旁路由,需要代理的手动设置网关,NAS 之类的不走旁路由,保证不会有侧漏
    worldqiuzhi
        21
    worldqiuzhi  
    OP
       2023-02-20 16:52:09 +08:00
    @huihuilang 关键我不是旁路由的事 我 nas 也需要走代理 只是个别应用( BT PT )不想走代理
    montoyaf
        22
    montoyaf  
       2023-02-20 16:54:55 +08:00 via iPhone
    不要用 clash 了,hello world 同样也可分流,设置仅代理常用端口即可
    skies457
        23
    skies457  
       2023-02-20 17:18:34 +08:00 via Android
    有些 bt 软件可以设置 dscp ,理论上可以在路由器上靠这个来分流
    skies457
        24
    skies457  
       2023-02-20 17:19:50 +08:00 via Android
    当然为了省事我选择 nas 直接做旁路由 hhhh 直接用 systemd 的 cgroup 筛选流量
    mhqschen
        25
    mhqschen  
       2023-02-20 17:31:18 +08:00
    @Jirajine #5 想问下怎么额外配置一个 IP 地址?
    goodryb
        26
    goodryb  
       2023-02-20 17:37:29 +08:00
    搞个虚拟机跑 pt 、bt ,IP 过滤
    dingwen07
        27
    dingwen07  
       2023-02-20 17:38:32 +08:00 via iPhone
    搭一个 Hyper-V 虚拟机,只分配外部网卡进去
    farah9
        28
    farah9  
       2023-02-20 17:39:50 +08:00 via iPhone
    不是可以不代理本地流量么
    MYDB
        29
    MYDB  
       2023-02-20 17:44:52 +08:00 via iPhone
    macvlan 不就是最优解吗,没有图形化页面也不是什么大事吧
    J4rod
        30
    J4rod  
       2023-02-20 18:11:06 +08:00
    @honeyjuice - MATCH,DIRECT 正解,不走 BT
    basncy
        31
    basncy  
       2023-02-20 20:09:49 +08:00
    新建一个用户, id 设为 1010, 用此用户运行 bt 软件 iptables 按用户 id 过滤 -m owner --uid-owner 1010 -j RETURN
    参考 android 的按应用代理.
    Tink
        32
    Tink  
    PRO
       2023-02-20 20:36:56 +08:00
    openclash 可以根据端口代理呀
    Liku
        33
    Liku  
       2023-02-20 21:01:58 +08:00 via iPhone
    搞个 routeros 想实现挺容易的
    artee
        34
    artee  
       2023-02-20 21:21:53 +08:00
    ```
    script:
    shortcuts:
    nas: (src_ip == '192.168.1.20' or 'ds716' in host) and dst_port > 5000

    rules:
    - SCRIPT,nas,DIRECT
    ```

    最简单的办法不是用脚本实现么,我设置 nas 上 `5000` 以上的端口都直连,基本上就没下载流量走代理了
    piku
        35
    piku  
       2023-02-21 08:16:33 +08:00 via Android
    上面说用 routeros 挺容易实现,我有不同意见。
    首先可以肯定,国内的上传下载流量是不可能过代理的。到服务器的流量一般是 cf 的,过不过代理其实无所谓。入站(上传)由于标记问题回包不会过代理。
    所以要解决的其实是从国外的 ip 下载的流量。要不就一刀切,高位端口全部直连。要不就只能做包过滤应用识别,要不就从 bt 软件禁了国外 ip ,只从国内下载
    worldqiuzhi
        36
    worldqiuzhi  
    OP
       2023-02-21 10:24:35 +08:00
    @artee 这个配置了不行 自定义规则里配置 有时候提醒我 unsupported type SCRIPT 有时候可以成功 但还是不能直连 我看 issue 说 端口控制无法控制你连接别人的端口
    honeyjuice
        37
    honeyjuice  
       2023-02-21 11:13:26 +08:00 via Android
    @fortynine 那就只需要最下面几行 特定端口走代理即可
    artee
        38
    artee  
       2023-02-21 12:12:47 +08:00
    @worldqiuzhi 我不确定你怎么用的,我的 clash 配置是手写的,不是用 openclash 合成出来的,模式选 fake-ip 增强,完全没有问题,如果你需要控制连接对方的端口,增加 `src_port` 的条件就好了。官方的[wiki]( https://github.com/Dreamacro/clash/wiki/Clash-Premium-Features#script-shortcut) 里面写得非常清楚
    TerranceL
        39
    TerranceL  
       2023-02-21 12:37:03 +08:00
    passwall 有个 BT 分流规则,里面判断标准是是 bittorrent 协议
    opengg
        40
    opengg  
       2023-02-21 12:58:11 +08:00 via Android
    docker 不是可以建 network 吗,让容器独占一个 ip ,然后 ip 策略呗?
    http://shareinto.github.io/2017/07/10/docker-ip/
    Jirajine
        41
    Jirajine  
       2023-02-21 22:34:44 +08:00
    @mhqschen 手动随便选个同网段的 ip 地址配置上去就行。
    bbsingao
        42
    bbsingao  
       2023-02-24 15:06:22 +08:00
    刚好我有 qnap nas ,container station 是支持 macvlan 的。
    我专门起了一个 ip 来运行 gitlab ( container )。
    worldqiuzhi
        43
    worldqiuzhi  
    OP
       2023-02-24 15:43:14 +08:00
    @bbsingao 我用了 macvlan 但配置的 ipv6 pt 网站上没显示 速度也不太行 换回规则了
    Karmylr
        44
    Karmylr  
       2023-08-04 23:35:02 +08:00
    换 v2raya ,创建一个直连的端口,然后 bt 客户端设置使用代理下载,填创建的端口
    vicq
        45
    vicq  
       2024-03-22 13:51:33 +08:00
    pt 的 tracker 大部分都是常用端口,汇报的时候全走代理了
    stc4672544
        46
    stc4672544  
       2024-08-24 17:36:17 +08:00
    tun:
    enable: true # 启用 tun
    stack: system # tun 模式堆栈,可用值:system/gvisor/mixed
    dns-hijack: # dns 劫持,将匹配到的连接导入内部 dns 模块,不书写协议则为 udp://
    - any:53
    auto-route: true # 自动设置全局路由,可以自动将全局流量路由进入 tun 网卡
    auto-detect-interface: true # 自动选择流量出口接口,多出口网卡同时连接的设备建议手动指定出口网卡
    exclude-uid:
    - 177169 #transmission UID (核心配置)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4635 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:45 PVG 17:45 LAX 01:45 JFK 04:45
    Do have faith in what you're doing.
    ubao msn 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