Code Monkey home page Code Monkey logo

byrbt_bot's Introduction

byrbt_bot

byrbt Python Transmission

北邮人BT全自动刷流下载做种机器人

目前byrbt_bot已经升级到2.0版本,代码进行了重构,同时添加了更多的功能,欢迎使用并提出建议,祝每个byrbter都能上传量4TB,账户永久保存!

本机器人可以利用校园里的主机、树莓派、服务器等机器进行全自动做种(本人亲测已上传133TB)(如果家里支持ipv6并且使用代理访问byrbt,在家也是可以使用本项目的,需要修改请求byrbt网站的相关代码,添加代理)。本机器人采用transmission作为下载器,可以从Web端查看种子下载情况。

byrbt_bot包含以下功能:

  • 支持自动识别验证码登录(感谢decaptcha项目)
  • 支持自动下载种子(感谢byrbt_bot项目)
  • 支持自动寻找合适的免费种子进行下载并做种(默认条件:种子文件大于1GB小于1TB大小,下载人数比做种人数大于0.6)
  • 支持自动识别Free活动,提高下载种子的条件,择优选取,避免频繁更换下载种子(默认条件:种子文件大于20GB小于1TB大小,下载人数比做种人数大于20.0)
  • 支持自动队列管理,设置队列上限,达到队列上限按照一定策略删除旧种子
  • 支持磁盘空间管理,可以设置种子文件大小总量上限
  • 支持过滤种子文件大小,范围在1G-1024G
  • 支持磁盘剩余空间检测,磁盘空间少于5GB时启动清理种子文件
  • 支持使用Transmission Web管理种子

运行截图:

byrbt-bot.png

transmission 3.00 Web界面:

transmission.png

背景

北邮人BT只要上传量高于4TB,并且分享率大于3.05,就能成为Veteran User,账户永久保存!

veteran-user.png

平常手动下载免费种子并做种来提升等级是一件较为繁琐的事情,使用本机器人可以利用校园里的主机、树莓派、服务器等机器进行全自动(刷流)做种,可以省去挑选种子和管理种子的麻烦,更快更轻松的实现4TB上传量!

配置

bot配置文件路径在config/config.ini

[ByrBTBot]
byrbt-url = https://byr.pt               # byrbt网址,默认不用修改
username = <please input your username>  # byrbt账户名
passwd = <please input your passwd>      # byrbt账户密码
max-torrent = 20                         # 种子队列上限
;all size in G
max-torrent-total-size = 1024   # 种子大小总量上限(单位G)
torrent-max-size = 512          # 单种子大小上限(单位G)
torrent-min-size = 1            # 单种子大小下限(单位G)

[Transmission]
transmission-host = 127.0.0.1            # transmission所在服务器地址
transmission-port = 9091                 # transmission rpc端口
transmission-username = admin            # transmission账户名
transmission-password = admin            # transmission账户密码
transmission-download-path = /downloads  # transmission下载目录

注意!!! 本机器人会自动删除种子,因此最好重新部署新的transmission服务,而不要将原本的transmission直接接入bot,以防重要种子被删除!

注意 北邮人BT-控制面板-网站设定-种子页面-促销种子设定下至少需要选择一个标记方式!

部署及运行

Docker Compose部署运行(推荐)

  1. 确保已经安装了dockerdocker-compose,本人用的版本是docker 19.03.15以及docker-compose 1.29.2。
  2. 配置config/config.ini,只需要修改byrbt账户名称和密码,transmission相关配置如果修改了transmission的默认账户和密码就需要一同更改
  3. 配置docker-compose.yml,可以修改transmission的下载目录以及账户密码,使用的transmission镜像的项目地址在这里
version: "3"
services:
  transmission:
    image: linuxserver/transmission:3.00-r5-ls123
    container_name: transmission
    environment:
      - PUID=${CURRENT_PUID} # 当前用户的UID
      - PGID=${CURRENT_PGID} # 当前用户的GID
      - TZ=Asia/Shanghai
      - TRANSMISSION_WEB_HOME=/combustion-release/
      - USER=admin # transmission的访问账户名
      - PASS=admin # transmission的访问密码
    volumes:
      - ./transmission/data:/config         # ./transmission/data包含transmission的配置文件,可启动后自行修改
      - ./transmission/downloads:/downloads # ./transmission/downloads是transmission的下载目录,可以自行替换,注意需要当前用户有读写权限
      - ./transmission/watch:/watch
    restart: unless-stopped
    network_mode: host
  bot:
    build:
      context: .
    image: smyyan/byrbt-bot-transmission
    user: ${CURRENT_PUID}:${CURRENT_PGID} # 设置容器运行用户为当前用户
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
      - ./data:/data
    depends_on:
      - transmission
    restart: unless-stopped
    network_mode: host
  1. 如果需要修改transmission本身的配置,可以修改./transmission/data/settings.json文件,transmission的docker容器会读取该文件进行配置
  2. 运行脚本start_bot_by_docker.sh即可
# 在项目根目录下执行
# docker-compose启动byrbt-bot
bash start_bot_by_docker.sh

# 或者手动执行
export CURRENT_PUID=$(id -u)
export CURRENT_PGID=$(id -g)
mkdir -p ./transmission/data ./transmission/downloads ./transmission/watch ./config ./data
docker-compose up -d --build
  1. 启停byrbr-bot
# 在项目根目录下执行
# 停止byrbr-bot
docker-compose stop bot
# 停止transmission
docker-compose stop transmission
# 停止所有
docker-compose stop

  1. 查看运行日志
# 在项目根目录下执行
# 查看byrbr-bot日志
docker-compose logs -f --tail=500 bot
# 查看transmission日志
docker-compose logs -f --tail=500 transmission
# 查看日志
docker-compose logs -f
  1. 卸载
# 在项目根目录下执行
export CURRENT_PUID=$(id -u)
export CURRENT_PGID=$(id -g)
docker-compose down
  1. 如果要在运行后修改transmission配置或者bot配置,只需要在修改完成配置文件后运行docker-compose restart即可

手动部署运行

  1. 确保安装transmission 3.00或者2.00以上版本,确保安装Python3.7版本(推荐anaconda/miniconda开一个新环境安装,高于3.7版本可能会导致sklearn无法安装)

  2. 配置transmission并运行transmission

    注意:尽量不要使用原有的transmission,因为本机器人会删除种子,如果原有的transmission有重要的种子数据,会导致数据丢失!

    以下是transmission部分配置说明,其他配置按自身需求设置,配置文件地址

{
    ...
    "download-dir": "/downloads/complete", # 下载文件夹路径设置
    "download-queue-enabled": false, # 下载队列功能,建议直接关闭,或者将queue-size设置大一些
    "download-queue-size": 50,
    "incomplete-dir": "/downloads/incomplete", # 未完成种子文件夹路径设置,未完成种子文件夹如不需要可以关闭
    "incomplete-dir-enabled": true,
    "preallocation": 1, # 预分配下载文件空间,必须设置为1,否则影响磁盘相关功能
    "rpc-enabled": true, # rpc功能必须开启
    ...
}
  1. 配置config/config.ini,需要修改byrbt账户名称和密码,同时需要修改transmission配置

  2. 安装Python依赖

# 如果scikit-learn安装不上的话,把Cpython添加进requirements.txt
pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt
  1. 启动byrbt-bot
python3 bot.py

维护者

@lipssmycode

感谢

byrbt_bot(https://github.com/Jason2031/byrbt_bot)
decaptcha(https://github.com/bumzy/decaptcha)

byrbt_bot's People

Contributors

lipssmycode avatar ghoskno avatar xzonn avatar cwang717 avatar yingriyanlong avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.