diff --git a/seqs/transmission.cfg.example b/seqs/transmission.cfg.example index 65c11de..94af1ca 100644 --- a/seqs/transmission.cfg.example +++ b/seqs/transmission.cfg.example @@ -2,6 +2,7 @@ # TRDA = transmission-daemon +TRDA_PEER_PORT=51413 TRDA_REMOTE_AUTH_LOC="/etc/transmission-daemon/transmission.sec" TRDA_REMOTE_AUTH="machine localhost login transmission diff --git a/seqs/transmission.sh b/seqs/transmission.sh index 92fa7a6..038d86c 100755 --- a/seqs/transmission.sh +++ b/seqs/transmission.sh @@ -2,17 +2,19 @@ toolName=transmission toolDeps=transmission-daemon +toolService=transmission-daemon +toolUser=debian-transmission toolCronLoc="/etc/cron.d/transmission_daemon" # Get script working directory # (when called from a different directory) WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)" +APTOPT= CONFIG=0 SCRIPT_NAME=$(basename -- $0) SCRIPT_NAME=${SCRIPT_NAME%%.*} CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg" CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example" -aptOpt= step_config() { initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE" @@ -22,10 +24,22 @@ step_config() { # End if no configuration file exists [ $DRY -eq 0 ] && return 1 fi - [ $QUIET -ne 0 ] && aptOpt="-y" + [ $QUIET -ne 0 ] && APTOPT="-y" return 0 } +step_1_info() { echo "Install $toolName"; } +step_1_alias() { ALIAS="install"; } +step_1() { + exe apt update + exe apt install $toolDeps $APTOPT + exe systemctl stop $toolService + exe systemctl disable $toolService + + exe mkdir -p "$TRDA_WATCH_LOCAL" + exe chown ${toolUser}: "$TRDA_WATCH_LOCAL" +} + step_10_info() { echo "Setup blocklist update cron job"; } step_10_alias() { ALIAS="bllupdate"; } step_10() { @@ -35,5 +49,56 @@ step_10() { addConf -s "$TRDA_CRON" "$toolCronLoc" } +step_12_info() { echo "Add ufw rules for rpc and peer port (default 9091 and 51413)"; } +step_12_alias() { ALIAS="ufw"; } +step_12() { + local trdaRpcPort=9091 + exe ufw allow in on eth0 to any port $trdaRpcPort proto tcp comment "Transmission rpc" + exe ufw allow in on tun0 to any port $TRDA_PEER_PORT comment "Transmission peer port" + exe ufw deny out on eth0 to any port $TRDA_PEER_PORT comment "Suppress transmission escapes" +} + +step_20_info() { echo "Configuration notes"; } +step_20_alias() { ALIAS="notes"; } +step_20() { + outColor green + cat <