autopt.sh 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #!/bin/bash
  2. SERVER_IP=172.17.0.1
  3. PORT=8080
  4. PASSWORD="adminadmin"
  5. MONGODB_API="mongodb+srv://pt:[email protected]/myFirstDatabase?retryWrites=true&w=majority"
  6. RSS_DOMAIN="RSS.AUTOPT.NET"
  7. RSS_PASSKEY="123456789-PASSKEY-PASSKEY-ABCDEF"
  8. set_qb_conf()
  9. {
  10. echo -e "${SkyBlue}:: Docker版 qBittorrent Web 默认: ${GreenBG} http://${SERVER_IP}:${PORT} ${SkyBlue} 密码:${RedBG} ${PASSWORD} "
  11. echo -e "${SkyBlue}:: 请按实际信息修改,下面三项按 ${RedBG}<Enter>${SkyBlue} 使用默认值! ${Yellow}"
  12. read -p ":: 1.请输入 qBittorrent Web 服务器IP (172.17.0.1): " sv_ip
  13. read -p ":: 2.请输入 qBittorrent Web 服务端口 ( 8080 ) : " port
  14. read -p ":: 3.请输入 qBittorrent Web 管理密码 (adminadmin): " passwd
  15. if [[ ! -z "${sv_ip}" ]]; then
  16. SERVER_IP=${sv_ip}
  17. fi
  18. if [[ ! -z "${port}" ]]; then
  19. PORT=${port}
  20. fi
  21. if [[ ! -z "${passwd}" ]]; then
  22. PASSWORD=${passwd}
  23. fi
  24. echo -e "${SkyBlue}:: 设置后 qBittorrent Web管理网址: ${GreenBG} http://${SERVER_IP}:${PORT} ${SkyBlue} 密码:${RedBG} ${PASSWORD} "
  25. echo -e ${Font}
  26. }
  27. set_passkey_conf()
  28. {
  29. echo -e "${SkyBlue}:: 请提前登陆 PT 网站生成 RSS 订阅地址; 获得${GreenBG} PASSKEY ${SkyBlue}和RSS域名, 键盘按 ${RedBG}<Shift+Insert>${RedBG}${SkyBlue} 粘贴"
  30. echo -e "${SkyBlue}:: 请按实际信息修改,按 ${RedBG}<Enter>${SkyBlue} 使用伪值填充! ${Yellow}"
  31. read -p ":: 4.请输入RSS-PASSKEY (123456789-PASSKEY-PASSKEY-ABCDEF) : " passkey
  32. read -p ":: 5.请输入RSS 订阅地址的域名 ( pt.msg.vg ): " domain
  33. if [[ ! -z "${domain}" ]]; then
  34. RSS_DOMAIN=${domain}
  35. fi
  36. if [[ ! -z "${passkey}" ]]; then
  37. RSS_PASSKEY=${passkey}
  38. fi
  39. echo -e "${SkyBlue}:: 设置后RSS域名: ${GreenBG} ${RSS_DOMAIN} ${SkyBlue} RSS-PASSKEY: ${RedBG} ${RSS_PASSKEY} "
  40. echo -e ${Font}
  41. }
  42. input_conf(){
  43. set_qb_conf
  44. set_passkey_conf
  45. echo -e "${SkyBlue}:: 请检查填充信息是否正确, 即将初始化自动PT工具配置文件: ${GreenBG} /root/goseeder.conf ${Font} 请确认覆盖\c"
  46. read -p "(Y/N): " key
  47. case $key in
  48. Y)
  49. init_config
  50. ;;
  51. y)
  52. init_config
  53. ;;
  54. N)
  55. input_conf
  56. ;;
  57. n)
  58. input_conf
  59. ;;
  60. esac
  61. }
  62. init_config(){
  63. # 初始化自动PT工具配置文件: /root/goseeder.conf
  64. cat <<EOF >/root/goseeder.conf
  65. {
  66. "dbserver": "${MONGODB_API}",
  67. "node": [
  68. {
  69. "source": "${RSS_DOMAIN}",
  70. "passkey": "${RSS_PASSKEY}",
  71. "limit": 10,
  72. "enable": true,
  73. "rule": {
  74. "seeder_time": 0,
  75. "seeder_ratio": 0,
  76. "speed_limit": 8.0
  77. }
  78. }
  79. ],
  80. "server": [
  81. {
  82. "endpoint": "http://${SERVER_IP}:${PORT}",
  83. "username": "admin",
  84. "password": "${PASSWORD}",
  85. "remark": "AutoPT-007",
  86. "enable": true,
  87. "rule": {
  88. "concurrent_download": 1,
  89. "disk_threshold": 10.0,
  90. "disk_overcommit": false,
  91. "max_speed": 30.00,
  92. "min_alivetime": 3600,
  93. "max_alivetime": 86400,
  94. "min_tasksize": 0.0,
  95. "max_tasksize": 50.0,
  96. "max_disklatency": 10000
  97. }
  98. }
  99. ]
  100. }
  101. EOF
  102. echo -e "${SkyBlue}:: 初始化自动PT工具配置文件完成: ${GreenBG} /root/goseeder.conf ${Font}"
  103. cat /root/goseeder.conf
  104. }
  105. system_def(){
  106. Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m"
  107. Font="\033[0m" && Yellow="\033[0;33m" && SkyBlue="\033[0;36m"
  108. }
  109. install(){
  110. docker run -d --name autopt \
  111. -v /root/goseeder.conf:/goseeder.conf \
  112. hongwenjun/autopt
  113. echo -e "${GreenBG}:: autopt镜像: https://hub.docker.com/r/hongwenjun/autopt ${Font}"
  114. }
  115. # 设置菜单
  116. start_menu(){
  117. clear
  118. echo -e "${GreenBG}> 开源项目: https://github.com/hongwenjun/vps_setup "
  119. echo -e "${RedBG}> 自动PT autopt.sh 一键脚本 感谢大神TaterLi创作goseeder工具 ${Font}"
  120. echo -e "${SkyBlue}> 1. 重置初始化自动PT工具配置文件(首次需运行)"
  121. echo -e "> 2. 安装 Docker 容器 autopt 镜像"
  122. echo -e "> 3. 重启 autopt 自动PT容器"
  123. echo -e "> 4. 停止 autopt 自动PT容器"
  124. echo -e "> 5. 卸载 autopt 自动PT容器"
  125. echo -e "> 6. 查看 QB 服务器最新状态"
  126. echo "------------------------------------------------------------"
  127. echo -e "${Green}> 7. 安装 Docker 容器引擎和 qBittorrent 软件"
  128. echo -e "> 8. 检查 自动PT 推送信息,按 ${RedBG}<Enter> ${Font}"
  129. echo
  130. echo -e "${GreenBG}:: autopt镜像: https://hub.docker.com/r/hongwenjun/autopt ${Font}"
  131. read -p "请输入数字(1-8):" num
  132. case "$num" in
  133. 1)
  134. input_conf
  135. ;;
  136. 2)
  137. install
  138. ;;
  139. 3)
  140. docker restart autopt
  141. ;;
  142. 4)
  143. docker stop autopt
  144. ;;
  145. 5)
  146. docker rm -f autopt
  147. docker rmi -f hongwenjun/autopt
  148. ;;
  149. 6)
  150. docker exec -it autopt gostat
  151. ;;
  152. 7)
  153. wget -O wgmtu git.io/wgmtu >/dev/null 2>&1
  154. bash wgmtu docker
  155. bash wgmtu qb
  156. ;;
  157. 8)
  158. docker logs autopt | grep -e 种子 -e 磁盘
  159. ;;
  160. esac
  161. docker logs autopt | grep -e 种子 -e 磁盘
  162. }
  163. system_def
  164. start_menu