Skip to content

Instantly share code, notes, and snippets.

@dmp1ce
Created May 3, 2015 12:18
Show Gist options
  • Save dmp1ce/6bcb38d1843bac1a25e9 to your computer and use it in GitHub Desktop.
Save dmp1ce/6bcb38d1843bac1a25e9 to your computer and use it in GitHub Desktop.
Start transmission-daemon and bind it to VPN IP address
#!/bin/bash
# Kill transmission-daemon if it is running
transmission_da_pid=$(pgrep transmission-da)
if [ $transmission_da_pid ]; then
killall transmission-daemon && echo "Closing existing tranmission-daemon processes ..." && sleep 8
fi
# Get VPN IP to bind to
bind_address=$(ip addr show tun0 | grep inet | awk '{print $2}')
# If IP wasn't found then quit
if [ -z $bind_address ]; then
echo "VPN doesn't seem to be up. Will not start tranmission-daemon"
exit
fi
# Start transmission-daemon
transmission-daemon --rpc-bind-address=127.0.0.1 --bind-address-ipv4=$bind_address
echo "transmission-daemon started and bound to address $bind_address"
@rokezu
Copy link

rokezu commented Apr 8, 2022

A quick update as I stumbled upon this thread and used the suggested service unit successfully, but the ExecStart= line should be updated to remove the parameter assignation = as Transmission 3.00 now uses a space, and by using the suggestions by @ikwyl6 the line could be set to:

ExecStart=/bin/bash -c "/usr/bin/transmission-daemon -f --log-error --bind-address-ipv4 $(ip -br addr show tun0 | awk '{print $3}')"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment