\documentclass[11pt]{article}
%Gummi|065|=)
\title{\textbf{Transmission Torrent Setup Notes}}
\usepackage{graphicx}
\usepackage{caption  }
\author{Steak Electronics}
\date{2019}
\begin{document}

%\maketitle


\section{Overview}
Transmission is a Bittorrent server that can be deployed on a computer or dedicated seedbox. It's installable with apt-get install transmission-server?. There is transmission-remote-gtk to view the torrents over the LAN.
\section{Setup Notes}
I setup transmission behind a VPN, and forward ports appropriately. In order to do this, I have an outbound VPN from my LAN that goes to a remote server, then the ports for transmission are open on the remote server.

\subsection{Setup Start}
Install openvpn road warrior from Nyr on github. This is deployed on the remote VPS. Create a client certificate and install that on the LAN seedbox.

\vspace{0.2in}

On server you need to forward ports:

\begin{verbatim}
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 52000 \
-j DNAT --to-destination 10.8.0.2:52000
iptables -t nat -I PREROUTING -i eth0 -p udp --dport 52000 \
-j DNAT --to-destination 10.8.0.2:52000
\end{verbatim}
In fact, you probably only need one, but here we are opening TCP and UDP. This example assumes you are using the default transmission ports. It's advised to change the default ports.

On transmission daemon client, you don't need anything (for iptables). The remote VPN server does all firewall routing.

\section{What can go wrong}

\subsection{/var/lib/transmission/config/settings.json}
Make sure peer port is 52000, or whatever you set it to.
Disable random peer port (shouldn't be enabled by default).

\vspace{0.2in}

make sure bind-address ipv4 has your vpn address, or make it 0.0.0.0
IF you have it to a previous or incorrect ipv4 address, it will look like * (for all ports) in your \# netstat -ano , but it just won't work. TRAP

\vspace{0.2in}

\section{Conclusion}


Basically:
\begin{itemize}
\item install nyr on server
\item client, add two prerouting commands (just these two!)
\item client, double check transmission settings.json if necessary.
\item client, watch /var/log/transmission/
\end{itemize}



\end{document}
