V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
worldqiuzhi
V2EX  ›  宽带症候群

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

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

    用的 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

    用虚拟机跑(
    Jirajine
        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
    - PROCESS-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 不就是最优解吗,没有图形化页面也不是什么大事吧
    abwong
        30
    abwong  
       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  
       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  
       280 天前
    pt 的 tracker 大部分都是常用端口,汇报的时候全走代理了
    stc4672544
        46
    stc4672544  
       125 天前
    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   ·   实用小工具   ·   2706 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.