@ -1,8 +1,31 @@ | |||||
#AutoSSH and Reverse Proxy Alternative | |||||
Connecting up multiple servers' apache servers via AutoSSH | |||||
#Devuan Preseed Automated Install | |||||
#Fail2Ban Primer | |||||
Notes on Fail2ban. | |||||
#GNU\Linux Resizing Partitions | |||||
Notes on resizing a HDD for personal reference. | |||||
#Router Fail Repair | |||||
Notes on dealing with "Internet down" at a company. | |||||
#Searx Setup with Docker and Filtron | #Searx Setup with Docker and Filtron | ||||
A half hearted attempt to get Searx started in a short amount of time. Works but needs work. | |||||
A half hearted attempt to get Searx started in a short amount of time. Works but needs more attention (SSL not configured). | |||||
#Transmission Primer | |||||
Notes on Transmission Daemon | |||||
#Windows Finding Printers | |||||
How to add printers in Win 10, just a short note. There is always one way that is faster than others. | |||||
#Windows ID vs Windows Product Key | #Windows ID vs Windows Product Key | ||||
See how an unsuspecting user thinks they copied the valid Windows Key but instead only copied the oem ID. | See how an unsuspecting user thinks they copied the valid Windows Key but instead only copied the oem ID. | ||||
Windows 1, User 0 | Windows 1, User 0 | ||||
Also a vbs script from lenovo in resources to grab the actual key from the machine (if the key isn't corrupted). | |||||
Also a vbs script from lenovo in resources to grab the actual key from the machine (if the key isn't corrupted). | |||||
#Fail2Ban Primer | |||||
Notes on Fail2ban. | |||||
@ -0,0 +1,7 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}/var/lib/transmission/config/settings.json}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{2}} |
@ -0,0 +1,185 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:01 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/1.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/1.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./1.aux) | |||||
\openout1 = `1.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 53. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 53. | |||||
[2] (./1.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2529 strings out of 495020 | |||||
40415 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5753 multiletter control sequences out of 15000+600000 | |||||
5575 words of font info for 21 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,333b,143s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.p | |||||
fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 1.pdf (2 pages, 57351 bytes). | |||||
PDF statistics: | |||||
27 PDF objects out of 1000 (max. 8388607) | |||||
18 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,61 @@ | |||||
\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} |
@ -0,0 +1,33 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Finding Printers on the Network In Windows}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{02/22/19} | |||||
\begin{document} | |||||
\maketitle | |||||
\textbf{Todo} | |||||
\section{Overview} | |||||
Finding Printers in Windows, can be difficult, and it changes from OS to OS release. OS Coder job security. | |||||
There is usually a faster way to find printers, if you know what you are looking for. | |||||
\section{Steps} | |||||
Follow these graphical steps. | |||||
\includegraphics[scale=0.8]{../pics/1.png} | |||||
\includegraphics[scale=0.8]{../pics/2.png} | |||||
\includegraphics[scale=0.8]{../pics/3.png} | |||||
There is something similar in Windows 7, and I imagine in Windows 11 they will change it again. Job security. | |||||
\end{document} |
@ -0,0 +1,11 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic to transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{2}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{2}} |
@ -0,0 +1,186 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:18 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/2.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/2.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./2.aux) | |||||
\openout1 = `2.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 83. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 83. | |||||
[2] [3] (./2.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2531 strings out of 495020 | |||||
40439 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5754 multiletter control sequences out of 15000+600000 | |||||
5883 words of font info for 22 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,333b,169s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/ | |||||
cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmb | |||||
x12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb | |||||
></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr | |||||
/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 2.pdf (3 pages, 75635 bytes). | |||||
PDF statistics: | |||||
34 PDF objects out of 1000 (max. 8388607) | |||||
23 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,91 @@ | |||||
\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-daemon. 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{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,61 @@ | |||||
\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} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic to transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,186 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:24 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/3.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/3.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./3.aux) | |||||
\openout1 = `3.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 88. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 88. | |||||
[3] (./3.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2531 strings out of 495020 | |||||
40439 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5754 multiletter control sequences out of 15000+600000 | |||||
5883 words of font info for 22 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,562b,143s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12. | |||||
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/sha | |||||
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 3.pdf (3 pages, 77465 bytes). | |||||
PDF statistics: | |||||
34 PDF objects out of 1000 (max. 8388607) | |||||
23 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,96 @@ | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,91 @@ | |||||
\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-daemon. 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{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic to transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,187 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:27 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/4.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/4.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./4.aux) | |||||
\openout1 = `4.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 95. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 95. | |||||
[3] (./4.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2533 strings out of 495020 | |||||
40463 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5755 multiletter control sequences out of 15000+600000 | |||||
6229 words of font info for 23 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,562b,143s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12. | |||||
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/sha | |||||
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/tex | |||||
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 4.pdf (3 pages, 91336 bytes). | |||||
PDF statistics: | |||||
38 PDF objects out of 1000 (max. 8388607) | |||||
26 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,103 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,96 @@ | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic to transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,191 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:28 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/5.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/5.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./5.aux) | |||||
\openout1 = `5.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
No file 5.toc. | |||||
\tf@toc=\write3 | |||||
\openout3 = `5.toc'. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 98. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 98. | |||||
[3] (./5.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2534 strings out of 495020 | |||||
40467 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5755 multiletter control sequences out of 15000+600000 | |||||
6229 words of font info for 23 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,562b,143s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12. | |||||
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/sha | |||||
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/tex | |||||
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 5.pdf (3 pages, 91346 bytes). | |||||
PDF statistics: | |||||
38 PDF objects out of 1000 (max. 8388607) | |||||
26 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,103 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,11 @@ | |||||
\contentsline {section}{\numberline {1}Overview}{1} | |||||
\contentsline {section}{\numberline {2}Setup Notes}{1} | |||||
\contentsline {subsection}{\numberline {2.1}Setup Start}{1} | |||||
\contentsline {section}{\numberline {3}What can go wrong}{2} | |||||
\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} | |||||
\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} | |||||
\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2} | |||||
\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic to transmission}{2} | |||||
\contentsline {subsection}{\numberline {3.4}RPC}{2} | |||||
\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} | |||||
\contentsline {section}{\numberline {4}Conclusion}{3} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,198 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:29 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/6.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/6.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./6.aux) | |||||
\openout1 = `6.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
(./6.toc | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <10.95> on input line 3. | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <8> on input line 3. | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <6> on input line 3. | |||||
) | |||||
\tf@toc=\write3 | |||||
\openout3 = `6.toc'. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 98. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 98. | |||||
[3] (./6.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2552 strings out of 495020 | |||||
40653 string characters out of 6181323 | |||||
95812 words of memory out of 5000000 | |||||
5765 multiletter control sequences out of 15000+600000 | |||||
8411 words of font info for 30 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,5n,38p,562b,146s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12. | |||||
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/sha | |||||
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/tex | |||||
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 6.pdf (3 pages, 93539 bytes). | |||||
PDF statistics: | |||||
38 PDF objects out of 1000 (max. 8388607) | |||||
26 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic to transmission} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,11 @@ | |||||
\contentsline {section}{\numberline {1}Overview}{1} | |||||
\contentsline {section}{\numberline {2}Setup Notes}{1} | |||||
\contentsline {subsection}{\numberline {2.1}Setup Start}{1} | |||||
\contentsline {section}{\numberline {3}What can go wrong}{2} | |||||
\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} | |||||
\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} | |||||
\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2} | |||||
\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} | |||||
\contentsline {subsection}{\numberline {3.4}RPC}{3} | |||||
\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} | |||||
\contentsline {section}{\numberline {4}Conclusion}{3} |
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,191 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:29 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Setup_Notes/docs/7,tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Setup_Notes/docs/7,tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) | |||||
No file 7,tex.aux. | |||||
\openout1 = `7,tex.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
No file 7,tex.toc. | |||||
\tf@toc=\write3 | |||||
\openout3 = `7,tex.toc'. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 98. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 98. | |||||
[3] (./7,tex.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2532 strings out of 495020 | |||||
40475 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5755 multiletter control sequences out of 15000+600000 | |||||
6229 words of font info for 23 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,4n,38p,562b,143s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/ | |||||
cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmb | |||||
x12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb | |||||
></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr | |||||
/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share | |||||
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 7,tex.pdf (3 pages, 91338 bytes). | |||||
PDF statistics: | |||||
38 PDF objects out of 1000 (max. 8388607) | |||||
26 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,11 @@ | |||||
\contentsline {section}{\numberline {1}Overview}{1} | |||||
\contentsline {section}{\numberline {2}Setup Notes}{1} | |||||
\contentsline {subsection}{\numberline {2.1}Setup Start}{1} | |||||
\contentsline {section}{\numberline {3}What can go wrong}{2} | |||||
\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} | |||||
\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} | |||||
\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2} | |||||
\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{2} | |||||
\contentsline {subsection}{\numberline {3.4}RPC}{2} | |||||
\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} | |||||
\contentsline {section}{\numberline {4}Conclusion}{3} |
@ -0,0 +1,12 @@ | |||||
\relax | |||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Setup Notes}{1}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Setup Start}{1}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {3}What can go wrong}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2}} | |||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}RPC}{3}} | |||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3}} | |||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{3}} |
@ -0,0 +1,198 @@ | |||||
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2018.11.28) 7 JUN 2019 12:33 | |||||
entering extended mode | |||||
restricted \write18 enabled. | |||||
%&-line parsing enabled. | |||||
**/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmiss | |||||
ion_Primer/docs/8.tex | |||||
(/home/layoutdev/Desktop/code/documentation_general/IT_Articles/2019/Transmissi | |||||
on_Primer/docs/8.tex | |||||
LaTeX2e <2014/05/01> | |||||
Babel <3.9l> and hyphenation patterns for 2 languages loaded. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls | |||||
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo | |||||
File: size11.clo 2014/09/29 v1.4h Standard LaTeX file (size option) | |||||
) | |||||
\c@part=\count79 | |||||
\c@section=\count80 | |||||
\c@subsection=\count81 | |||||
\c@subsubsection=\count82 | |||||
\c@paragraph=\count83 | |||||
\c@subparagraph=\count84 | |||||
\c@figure=\count85 | |||||
\c@table=\count86 | |||||
\abovecaptionskip=\skip41 | |||||
\belowcaptionskip=\skip42 | |||||
\bibindent=\dimen102 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty | |||||
Package: graphicx 2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty | |||||
Package: keyval 2014/05/08 v1.15 key=value parser (DPC) | |||||
\KV@toks@=\toks14 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty | |||||
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty | |||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg | |||||
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live | |||||
) | |||||
Package graphics Info: Driver file: pdftex.def on input line 91. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def | |||||
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty | |||||
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty | |||||
Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) | |||||
) | |||||
\Gread@gobject=\count87 | |||||
)) | |||||
\Gin@req@height=\dimen103 | |||||
\Gin@req@width=\dimen104 | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty | |||||
Package: caption 2013/05/02 v3.3-89 Customizing captions (AR) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty | |||||
Package: caption3 2013/05/02 v1.6-88 caption3 kernel (AR) | |||||
Package caption3 Info: TeX engine: e-TeX on input line 57. | |||||
\captionmargin=\dimen105 | |||||
\captionmargin@=\dimen106 | |||||
\captionwidth=\dimen107 | |||||
\caption@tempdima=\dimen108 | |||||
\caption@indent=\dimen109 | |||||
\caption@parindent=\dimen110 | |||||
\caption@hangindent=\dimen111 | |||||
) | |||||
\c@ContinuedFloat=\count88 | |||||
) (./8.aux) | |||||
\openout1 = `8.aux'. | |||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 8. | |||||
LaTeX Font Info: ... okay on input line 8. | |||||
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii | |||||
[Loading MPS to PDF converter (version 2006.09.02).] | |||||
\scratchcounter=\count89 | |||||
\scratchdimen=\dimen112 | |||||
\scratchbox=\box26 | |||||
\nofMPsegments=\count90 | |||||
\nofMParguments=\count91 | |||||
\everyMPshowfont=\toks15 | |||||
\MPscratchCnt=\count92 | |||||
\MPscratchDim=\dimen113 | |||||
\MPnumerator=\count93 | |||||
\makeMPintoPDFobject=\count94 | |||||
\everyMPtoPDFconversion=\toks16 | |||||
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty | |||||
Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty | |||||
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) | |||||
Package ifluatex Info: LuaTeX not detected. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty | |||||
Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) | |||||
Package ifpdf Info: pdfTeX in PDF mode is detected. | |||||
) | |||||
Package pdftexcmds Info: LuaTeX not detected. | |||||
Package pdftexcmds Info: \pdf@primitive is available. | |||||
Package pdftexcmds Info: \pdf@ifprimitive is available. | |||||
Package pdftexcmds Info: \pdfdraftmode found. | |||||
) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty | |||||
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty | |||||
Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty | |||||
Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) | |||||
)) | |||||
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty | |||||
Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty | |||||
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) | |||||
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty | |||||
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) | |||||
Package etexcmds Info: Could not find \expanded. | |||||
(etexcmds) That can mean that you are not using pdfTeX 1.50 or | |||||
(etexcmds) that some package has redefined \expanded. | |||||
(etexcmds) In the latter case, load this package earlier. | |||||
))) | |||||
Package grfext Info: Graphics extension search list: | |||||
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE | |||||
G,.JBIG2,.JB2,.eps] | |||||
(grfext) \AppendGraphicsExtensions on input line 452. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg | |||||
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv | |||||
e | |||||
)) | |||||
Package caption Info: Begin \AtBeginDocument code. | |||||
Package caption Info: End \AtBeginDocument code. | |||||
(./8.toc | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <10.95> on input line 3. | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <8> on input line 3. | |||||
LaTeX Font Info: External font `cmex10' loaded for size | |||||
(Font) <6> on input line 3. | |||||
) | |||||
\tf@toc=\write3 | |||||
\openout3 = `8.toc'. | |||||
[1 | |||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] | |||||
LaTeX Font Info: Try loading font information for OMS+cmr on input line 98. | |||||
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd | |||||
File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions | |||||
) | |||||
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10.95> not available | |||||
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 98. | |||||
[3] (./8.aux) ) | |||||
Here is how much of TeX's memory you used: | |||||
2552 strings out of 495020 | |||||
40638 string characters out of 6181323 | |||||
94812 words of memory out of 5000000 | |||||
5765 multiletter control sequences out of 15000+600000 | |||||
8411 words of font info for 30 fonts, out of 8000000 for 9000 | |||||
14 hyphenation exceptions out of 8191 | |||||
38i,5n,38p,557b,146s stack positions out of 5000i,500n,10000p,200000b,80000s | |||||
</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c | |||||
mbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12. | |||||
pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></u | |||||
sr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/sha | |||||
re/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/tex | |||||
live/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> | |||||
Output written on 8.pdf (3 pages, 93076 bytes). | |||||
PDF statistics: | |||||
38 PDF objects out of 1000 (max. 8388607) | |||||
26 compressed objects within 1 object stream | |||||
0 named destinations out of 1000 (max. 500000) | |||||
1 words of extra memory for PDF output out of 10000 (max. 10000000) | |||||
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Primer} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,106 @@ | |||||
\documentclass[11pt]{article} | |||||
%Gummi|065|=) | |||||
\title{\textbf{Transmission Torrent Setup Notes}} | |||||
\usepackage{graphicx} | |||||
\usepackage{caption } | |||||
\author{Steak Electronics} | |||||
\date{2019} | |||||
\begin{document} | |||||
%\maketitle | |||||
\textbf{Transmission Bittorrent Guide} | |||||
\vspace{0.2in} | |||||
\emph{Whomsoever diggeth a pit, shall fall in it.} | |||||
\emph{(You reap what you sow)} | |||||
\tableofcontents | |||||
\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-daemon. There is transmission-remote, and 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. | |||||
Test that the port is open in Transmision remote gtk's settings. If it's not, diagnose with tcpdump. | |||||
\section{What can go wrong} | |||||
\subsection{Changing transmission configs} | |||||
In order to change any settings.json of transmission, you must stop transmission. Otherwise, the running program will overwrite / ignore your changes. | |||||
\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. \textbf{TRAP} | |||||
\vspace{0.2in} | |||||
\subsection{All Bittorrent traffic through Transmission} | |||||
If your vpn for all the traffic is working correctly when you examine ifconfig you will see the packet numbers for eth0 and tun0 be comparable in numbers. | |||||
if it seems like eth0 is moving more packets than tun0, your tunnel is not working | |||||
the torrent client is leaking. | |||||
Verify it by doing either a netstat or more helpfully a tcpdump for the local interface | |||||
\subsubsection{Block WAN traffic} | |||||
You can block the WAN traffic that isn't from the VPN to the transmission daemon at the router. | |||||
So wan > no vpn > router > seedbox -- BLOCK | |||||
and on top of that (insert for iptables, not append) | |||||
Wan > yes vpn > router > seedbox -- ALLOW | |||||
\subsection{RPC} | |||||
RPC on transmission. This is the protocol that you can access transmission through from another machine. | |||||
\textbf{Problem:} | |||||
Only works through http. If you want it on a VPS, you have a problem (It's not encrypted and passwords are in plain text). There's no way to access the Seedbox remotely (securely). | |||||
\textbf{Solution:} | |||||
Use it through a VPN tunnel. e.g. Transmission-remote-gui. | |||||
Force binding of RPC to be only the TUN IP address as well. This way RPC is not accessible from WAN. | |||||
\subsection{Crashes due to high torrent count} | |||||
I've used a Beaglebone with transmission, and eventually (after about 400 torrents) found instability. Transmission-daemon would crash. Instead, I moved onto x86 hardware, and the problems have mostly gone away. It's possible to tune transmission to connect to less peers, or have less torrents active if you are having stability problems. This lowers your seeding ability, but brings stability back. Ideally, you should use server motherboards / hardware. | |||||
\section{Conclusion} | |||||
Basically: | |||||
\begin{itemize} | |||||
\item install nyr on server, then make cert for client and setup | |||||
\item server, add two prerouting commands (just these two!) | |||||
\item client, double check transmission settings.json if necessary. | |||||
\item client, watch /var/log/transmission/, and verify the port is open via transmission-remote-gtk | |||||
\end{itemize} | |||||
\end{document} |
@ -0,0 +1,11 @@ | |||||
\contentsline {section}{\numberline {1}Overview}{1} | |||||
\contentsline {section}{\numberline {2}Setup Notes}{1} | |||||
\contentsline {subsection}{\numberline {2.1}Setup Start}{1} | |||||
\contentsline {section}{\numberline {3}What can go wrong}{2} | |||||
\contentsline {subsection}{\numberline {3.1}Changing transmission configs}{2} | |||||
\contentsline {subsection}{\numberline {3.2}/var/lib/transmission/config/settings.json}{2} | |||||
\contentsline {subsection}{\numberline {3.3}All Bittorrent traffic through Transmission}{2} | |||||
\contentsline {subsubsection}{\numberline {3.3.1}Block WAN traffic}{3} | |||||
\contentsline {subsection}{\numberline {3.4}RPC}{3} | |||||
\contentsline {subsection}{\numberline {3.5}Crashes due to high torrent count}{3} | |||||
\contentsline {section}{\numberline {4}Conclusion}{3} |