1
0

transmission.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. # transmission.sh
  2. #!/bin/bash
  3. # 一键安装 transmission 服务
  4. username=admin
  5. # 密码随机,脚本提供修改
  6. passwd=$(date | md5sum | head -c 6)
  7. rpcport=9091
  8. peerport=51413
  9. downloads=/var/rclone
  10. ############################################
  11. # 定义文字颜色
  12. Green="\033[32m" && Red="\033[31m" && GreenBG="\033[42;37m" && RedBG="\033[41;37m"
  13. Font="\033[0m" && Yellow="\033[0;33m" && SkyBlue="\033[0;36m"
  14. echo -e "${GreenBG} 一键安装 transmission 服务脚本 ${Yellow}"
  15. echo -e ":: 随机生成密码: ${RedBG} ${passwd} ${Font} 现在可修改; "
  16. read -p ":: 请输入你要的密码(按回车不修改): " -t 30 new
  17. if [[ ! -z "${new}" ]]; then
  18. passwd="${new}"
  19. echo -e "${SkyBlue}:: 修改后新密码: ${GreenBG} ${passwd} ${Font}"
  20. fi
  21. # 程序安装
  22. apt update -y && apt -y install transmission transmission-daemon git
  23. # 停止服务
  24. systemctl stop transmission-daemon
  25. # 生成 transmission 配置
  26. cat <<EOF > /etc/transmission-daemon/settings.json
  27. {
  28. "alt-speed-down": 50,
  29. "alt-speed-enabled": false,
  30. "alt-speed-time-begin": 540,
  31. "alt-speed-time-day": 127,
  32. "alt-speed-time-enabled": false,
  33. "alt-speed-time-end": 1020,
  34. "alt-speed-up": 50,
  35. "bind-address-ipv4": "0.0.0.0",
  36. "bind-address-ipv6": "::",
  37. "blocklist-enabled": false,
  38. "blocklist-url": "http://www.example.com/blocklist",
  39. "cache-size-mb": 4,
  40. "dht-enabled": false,
  41. "download-dir": "${downloads}",
  42. "download-queue-enabled": true,
  43. "download-queue-size": 50,
  44. "encryption": 1,
  45. "idle-seeding-limit": 30,
  46. "idle-seeding-limit-enabled": false,
  47. "incomplete-dir": "${downloads}",
  48. "incomplete-dir-enabled": false,
  49. "lpd-enabled": false,
  50. "message-level": 1,
  51. "peer-congestion-algorithm": "",
  52. "peer-id-ttl-hours": 6,
  53. "peer-limit-global": 960,
  54. "peer-limit-per-torrent": 120,
  55. "peer-port": ${peerport},
  56. "peer-port-random-high": 65535,
  57. "peer-port-random-low": 49152,
  58. "peer-port-random-on-start": false,
  59. "peer-socket-tos": "default",
  60. "pex-enabled": false,
  61. "port-forwarding-enabled": true,
  62. "preallocation": 1,
  63. "prefetch-enabled": true,
  64. "queue-stalled-enabled": true,
  65. "queue-stalled-minutes": 30,
  66. "ratio-limit": 2,
  67. "ratio-limit-enabled": false,
  68. "rename-partial-files": true,
  69. "rpc-authentication-required": true,
  70. "rpc-bind-address": "0.0.0.0",
  71. "rpc-enabled": true,
  72. "rpc-host-whitelist": "",
  73. "rpc-host-whitelist-enabled": true,
  74. "rpc-password": "${passwd}",
  75. "rpc-port": ${rpcport},
  76. "rpc-url": "/transmission/",
  77. "rpc-username": "${username}",
  78. "rpc-whitelist": "0.0.0.0",
  79. "rpc-whitelist-enabled": false,
  80. "scrape-paused-torrents-enabled": true,
  81. "script-torrent-done-enabled": false,
  82. "script-torrent-done-filename": "",
  83. "seed-queue-enabled": false,
  84. "seed-queue-size": 10,
  85. "speed-limit-down": 100,
  86. "speed-limit-down-enabled": false,
  87. "speed-limit-up": 100,
  88. "speed-limit-up-enabled": false,
  89. "start-added-torrents": true,
  90. "trash-original-torrent-files": false,
  91. "umask": 18,
  92. "upload-slots-per-torrent": 14,
  93. "utp-enabled": true
  94. }
  95. EOF
  96. # 建立下载目录,添加程序权限
  97. mkdir -p ${downloads}
  98. chown debian-transmission:debian-transmission ${downloads}
  99. # 启动服务
  100. systemctl restart transmission-daemon
  101. ### tr-web-control 安装中文语言包
  102. TransmissionWeb=/usr/share/transmission/web
  103. cd $TransmissionWeb
  104. cp index.html index.original.html
  105. git clone https://github.com/ronggang/transmission-web-control.git
  106. cp -r transmission-web-control/src/* $TransmissionWeb
  107. rm transmission-web-control -rf
  108. # 浏览器中输入网址管理
  109. echo -e http://$(curl -4 ip.sb):9091
  110. echo -e "${GreenBG}:: transmission 网页管理地址和密码 ${Yellow}"
  111. echo -e "${SkyBlue}:: 用户名 ${RedBG} ${username} ${SkyBlue} 密码 ${RedBG} ${passwd} ${Font} "