清雨影的Blog
  • README
  • 机器学习
    • 一般话题
      • 再谈正则化项
      • 论文阅读:“快把卷积神经网络中的平移不变性带回来”
      • 半监督/无监督学习收集
      • 收藏夹
    • 推荐系统
      • Understanding LightGCN in a visualized way
      • Learning To Rank 之 RankNet
      • 随想: BPR Loss 与 Hinger Loss
      • 关于AA测试和AB测试的一些思考
      • 无采样的矩阵分解
      • 收藏夹
    • 强化学习
      • Re:从零开始的Multi-armed Bandit
  • 高级物理引擎实战指南笔记
    • 弹簧质点系统
    • 光滑粒子法
    • 专题:线性方程组求解
  • 有限单元法
    • 1. 引论
    • 2. 基于直接刚度法的杆系有限元方法
    • 3. 针对复杂几何形状变形体的力学描述(1)
  • Web开发相关技术
    • JWT简介
  • 技术杂文
    • React-Script转Vite时引用路径的问题
    • Let's encrypt -- 让我们一起愉快的使用HTTPS
    • 干掉吸血雷,重塑和谐P2P环境
    • 开源CAN总线信号可编程台架
    • Linux下利用mdadm设置软件 RAID
    • 互不联网时代的自给自足
    • 为什么我劝你不要使用云计算?
    • 科学的公司内网连接技术选型
    • 构建家用NAS过程中的碎碎念
    • 简易的Linux迁移指北
    • 记录一次rsync命令引起的异常
    • 为FFMPEG添加Intel QSV支持
    • 备忘录
    • 福冈外免切替(中国驾照换日本驾照)攻略
    • 记一个离谱的MySQL语句的性能问题
    • 拯救变砖的OpenWRT路由器
    • 使用FRP进行内网穿透
  • 政治不正确
    • 吃屎系列:资本家如何喂员工吃屎
      • 华为251事件记忆
    • 吃屎系列:资本家如何喂用户吃屎
      • 互不联网公司是如何强奸用户的(持续更新)
    • 吃屎系列:大学如何喂学生吃屎
    • 推荐系统如何让我们变得极端
    • 互联网政治圈观察日志
    • 中国网络防火长城简史
    • 《线性代数》(同济版)——教科书中的耻辱柱
    • 杂谈
      • 访谈:为什么毛泽东时代工人的积极性很高?
      • 90年代到21世纪初的商业环境
    • 为什么不应该用国产手机
    • “救救孩子”
  • 随园食单
    • ボロネーゼ
    • 甜酒酿的制作
    • 香草与香料
    • 皮塔饼
    • 韭菜鸡蛋饼
    • 牛肉蔬菜汤
由 GitBook 提供支持
在本页
  • qBittorrent 反吸血增强版
  • 关于反吸血的一点畅想

这有帮助吗?

  1. 技术杂文

干掉吸血雷,重塑和谐P2P环境

上一页Let's encrypt -- 让我们一起愉快的使用HTTPS下一页开源CAN总线信号可编程台架

最后更新于2年前

这有帮助吗?

在我不懂技术的时候,经常使用迅雷下载各种电影,软件,迅雷很好的解决了死链之类的问题,现在来看,在那个带宽不充足的年代,缓解了一部分服务器的下载压力。 但是迅雷对于整个P2P环境的破坏是极大的,你经常可以在peer里面看到很多客户端名字为XL00+一堆乱码,或者Xunlei,7.x.xx之类的,永远只从你这里下载,而不给你上传。

说实话,我不是个吝啬带宽的人,我自己用的是光纤,而下载速度上传最快都是可以突破百兆的,我还有公网IP。所有的下载资源,我都会等待分享比率为2.0或者等了很久没人来下载我才会撤。 P2P要能玩下去,平均每个人的分享比率需要大于1.0才可以。

而迅雷,则是这样做的:

  1. 如果对方不是迅雷的客户端,那我就只下载,而不给他上传数据。

  2. 如果对方是迅雷的客户端,则优先给会员数据。

除此之外还有百度的离线下载,Xfplayer等等等等。

最后导致大家开发了反吸血的qBittorrent。

qBittorrent 反吸血增强版

如果你是Win或者Mac的客户端,可以尝试下载这位大神Fork的反吸血增强版:

Mac用户可以直接用Brew安装:

brew cask install c0re100-qbittorrent

Linux的用户可以自己编译,下载软件源的编译好的结果,或者使用Docker版:

关于反吸血的一点畅想

P2P的协议的缺陷在于,假定每个人,尤其是软件制作者都是善良的,这个假设非常脆弱。

我猜想以后迅雷这样的软件可能会冒充其它软件来获取数据,对于这种方式,我们需要其它的屏蔽手段:

比如,我们可以每个人在下载的时候尝试探测对方。

  1. 你还没数据,对方已经下载了85%,但是拒绝给你提供任何数据。

  2. 或者你已经给对方提供了某个block的数据,但是和对方请求这个block的数据的时候却无法下载

这样的例子多次出现,可以BAN了对方。

对方有可能在给别人上传而顾不到你,这个时候,不能运用这些准则百分百判断对方就一定是吸血,但是我们可以设定行为权重,如果出现次数较多,那我建议自动BAN掉这个IP一周再释放。 而P2P协议应该也允许你获取其他人的黑名单,而你可以设置参考权重,选择参考或者不参考。

甚至可以用最优化的理论来调节这些权重,在不影响下载和分享的前提下,尽可能屏蔽掉多的IP,这样不好好分享的人就很难捞到好处,而又不至于对P2P生态破坏太大。

有些人可能说,我上行带宽吃紧(比如电信,下行和上行差距就非常大),那照我说,上行带宽吃紧就不要参与这个P2P了,连100k都贡献不出来就算了。

https://github.com/c0re100/qBittorrent-Enhanced-Edition
https://hub.docker.com/r/superng6/qbittorrentee