autopt.sh 5.2 KB

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