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"
@19wolf
Copy link

19wolf commented Dec 17, 2017

# cat /lib/systemd/system/transmission-daemon.service 
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=debian-transmission
Type=notify
ExecStart=/bin/bash -c "/usr/bin/transmission-daemon -f --log-error --bind-address-ipv4=$(ip a s tun0 | awk '/inet / {print $2}')"
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target
root@Urania:~# 

@ikwyl6
Copy link

ikwyl6 commented Feb 23, 2022

if you use ip -br addr show tun0 you can get rid of the grep inet part and change the awk to $3.
-br stands for -brief

@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