195 lines
16 KiB
HTML
195 lines
16 KiB
HTML
<h1 id="samcatd---router-independent-tunnel-management-for-i2p">samcatd - Router-independent tunnel management for i2p</h1>
|
||
<p>samcatd is a daemon which runs a group of forwarding proxies to provide services over i2p independent of the router. It also serves as a generalized i2p networking utility for power-users. It’s intended to be a Swiss-army knife for the SAM API.</p>
|
||
<h2 id="usage">usage:</h2>
|
||
<pre><code>flag needs an argument: -h
|
||
Usage of ./bin/samcatd:
|
||
-a string
|
||
Type of access list to use, can be "whitelist" "blacklist" or "none". (default "none")
|
||
-c Client proxy mode(true or false)
|
||
-conv string
|
||
Display the base32 and base64 values of a specified .i2pkeys file
|
||
-cr string
|
||
Encrypt/decrypt the key files with a passfile
|
||
-css string
|
||
custom CSS for web interface (default "css/styles.css")
|
||
-ct int
|
||
Reduce tunnel quantity after X (milliseconds) (default 600000)
|
||
-d string
|
||
Directory to save tunnel configuration file in.
|
||
-de string
|
||
Destination to connect client's to by default.
|
||
-f string
|
||
Use an ini file for configuration(config file options override passed arguments for now.) (default "none")
|
||
-h string
|
||
Target host(Host of service to forward to i2p) (default "127.0.0.1")
|
||
-i string
|
||
Destination for client tunnels. Ignored for service tunnels. (default "none")
|
||
-ib int
|
||
Set inbound tunnel backup quantity(0 to 5) (default 2)
|
||
-ih
|
||
Inject X-I2P-DEST headers
|
||
-il int
|
||
Set inbound tunnel length(0 to 7) (default 3)
|
||
-iq int
|
||
Set inbound tunnel quantity(0 to 15) (default 6)
|
||
-iv int
|
||
Set inbound tunnel length variance(-7 to 7)
|
||
-js string
|
||
custom JS for web interface (default "js/scripts.js")
|
||
-k string
|
||
key for encrypted leaseset (default "none")
|
||
-l Use an encrypted leaseset(true or false) (default true)
|
||
-littleboss string
|
||
instruct the littleboss:
|
||
|
||
start: start and manage this process using service name "service-name"
|
||
stop: signal the littleboss to shutdown the process
|
||
status: print statistics about the running littleboss
|
||
reload: restart the managed process using the executed binary
|
||
bypass: disable littleboss, run the program directly (default "bypass")
|
||
-n string
|
||
Tunnel name, this must be unique but can be anything. (default "forwarder")
|
||
-ob int
|
||
Set outbound tunnel backup quantity(0 to 5) (default 2)
|
||
-ol int
|
||
Set outbound tunnel length(0 to 7) (default 3)
|
||
-oq int
|
||
Set outbound tunnel quantity(0 to 15) (default 6)
|
||
-ov int
|
||
Set outbound tunnel length variance(-7 to 7)
|
||
-p string
|
||
Target port(Port of service to forward to i2p) (default "8081")
|
||
-pk string
|
||
private key for encrypted leaseset (default "none")
|
||
-psk string
|
||
private signing key for encrypted leaseset (default "none")
|
||
-r Reduce tunnel quantity when idle(true or false)
|
||
-rq int
|
||
Reduce idle tunnel quantity to X (0 to 5) (default 3)
|
||
-rt int
|
||
Reduce tunnel quantity after X (milliseconds) (default 600000)
|
||
-s Start a tunnel with the passed parameters(Otherwise, they will be treated as default values.)
|
||
-sh string
|
||
SAM host (default "127.0.0.1")
|
||
-sp string
|
||
SAM port (default "7656")
|
||
-st string
|
||
Signature type
|
||
-t Use saved file and persist tunnel(If false, tunnel will not persist after program is stopped.
|
||
-tls string
|
||
(Currently inoperative. Target TLS port(HTTPS Port of service to forward to i2p)
|
||
-u UDP mode(true or false)
|
||
-w Start web administration interface
|
||
-wp string
|
||
Web port (default "7957")
|
||
-x Close tunnel idle(true or false)
|
||
-z Uze gzip(true or false)
|
||
-zi
|
||
Allow zero-hop, non-anonymous tunnels in(true or false)
|
||
-zo
|
||
Allow zero-hop, non-anonymous tunnels out(true or false)</code></pre>
|
||
<h1 id="managing-samcatd-save-encryption-keys">managing samcatd save-encryption keys</h1>
|
||
<p>In order to keep from saving the .i2pkeys files in plaintext format, samcatd can optionally generate a key and encrypt the .i2pkeys files securely. Of course, to fully benefit from this arrangement, you need to move those keys away from the machine where the tunnel keys(the .i2pkeys file) are located, or protect them in some other way(sandboxing, etc). If you want to use encrypted .i2pkeys files, you can specify a key file to use with the -cr option on the terminal or with keyfile option in the .ini file.</p>
|
||
<h1 id="example-config---valid-for-both-ephsite-and-samcat">example config - valid for both ephsite and samcat</h1>
|
||
<p>Options are still being added, pretty much as fast as I can put them in. For up-to-the-minute options, see <a href="config/CHECKLIST.md">the checklist</a></p>
|
||
<p>(<strong>ephsite</strong> will only use top-level options, but they can be labeled or unlabeled)</p>
|
||
<p>(<strong>samcatd</strong> treats the first set of options it sees as the default, and does not start tunnels based on unlabeled options unless passed the -s flag.)</p>
|
||
<div class="sourceCode" id="cb2"><pre class="sourceCode ini"><code class="sourceCode ini"><a class="sourceLine" id="cb2-1" title="1"></a>
|
||
<a class="sourceLine" id="cb2-2" title="2"><span class="co">## Defaults, these are only invoked with the -start option or if labeled tunnels</span></a>
|
||
<a class="sourceLine" id="cb2-3" title="3"><span class="co">## are not present(samcatd instructions). **THESE** are the correct config files</span></a>
|
||
<a class="sourceLine" id="cb2-4" title="4"><span class="co">## to use as defaults, and not the ones in ../sam-forwarder/tunnels.ini, which</span></a>
|
||
<a class="sourceLine" id="cb2-5" title="5"><span class="co">## are used for testing settings availability only.</span></a>
|
||
<a class="sourceLine" id="cb2-6" title="6"></a>
|
||
<a class="sourceLine" id="cb2-7" title="7"><span class="dt">inbound.length </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-8" title="8"><span class="dt">outbound.length </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-9" title="9"><span class="dt">inbound.lengthVariance </span><span class="ot">=</span><span class="st"> </span><span class="dv">0</span></a>
|
||
<a class="sourceLine" id="cb2-10" title="10"><span class="dt">outbound.lengthVariance </span><span class="ot">=</span><span class="st"> </span><span class="dv">0</span></a>
|
||
<a class="sourceLine" id="cb2-11" title="11"><span class="dt">inbound.backupQuantity </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-12" title="12"><span class="dt">outbound.backupQuantity </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-13" title="13"><span class="dt">inbound.quantity </span><span class="ot">=</span><span class="st"> </span><span class="dv">5</span></a>
|
||
<a class="sourceLine" id="cb2-14" title="14"><span class="dt">outbound.quantity </span><span class="ot">=</span><span class="st"> </span><span class="dv">5</span></a>
|
||
<a class="sourceLine" id="cb2-15" title="15"><span class="dt">inbound.allowZeroHop </span><span class="ot">=</span><span class="st"> </span><span class="kw">false</span></a>
|
||
<a class="sourceLine" id="cb2-16" title="16"><span class="dt">outbound.allowZeroHop </span><span class="ot">=</span><span class="st"> </span><span class="kw">false</span></a>
|
||
<a class="sourceLine" id="cb2-17" title="17"><span class="dt">i2cp.encryptLeaseSet </span><span class="ot">=</span><span class="st"> </span><span class="kw">false</span></a>
|
||
<a class="sourceLine" id="cb2-18" title="18"><span class="dt">gzip </span><span class="ot">=</span><span class="st"> </span><span class="kw">true</span></a>
|
||
<a class="sourceLine" id="cb2-19" title="19"><span class="dt">i2cp.reduceOnIdle </span><span class="ot">=</span><span class="st"> </span><span class="kw">true</span></a>
|
||
<a class="sourceLine" id="cb2-20" title="20"><span class="dt">i2cp.reduceIdleTime </span><span class="ot">=</span><span class="st"> </span><span class="dv">3000000</span></a>
|
||
<a class="sourceLine" id="cb2-21" title="21"><span class="dt">i2cp.reduceQuantity </span><span class="ot">=</span><span class="st"> </span><span class="dv">2</span></a>
|
||
<a class="sourceLine" id="cb2-22" title="22"><span class="dt">i2cp.enableWhiteList </span><span class="ot">=</span><span class="st"> </span><span class="kw">false</span></a>
|
||
<a class="sourceLine" id="cb2-23" title="23"><span class="dt">i2cp.enableBlackList </span><span class="ot">=</span><span class="st"> </span><span class="kw">false</span></a>
|
||
<a class="sourceLine" id="cb2-24" title="24"><span class="dt">keyfile </span><span class="ot">=</span><span class="st"> "/usr/share/samcatd/samcatd"</span></a>
|
||
<a class="sourceLine" id="cb2-25" title="25"></a>
|
||
<a class="sourceLine" id="cb2-26" title="26"><span class="co">#[sam-forwarder-tcp-server]</span></a>
|
||
<a class="sourceLine" id="cb2-27" title="27"><span class="co">#type = server</span></a>
|
||
<a class="sourceLine" id="cb2-28" title="28"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-29" title="29"><span class="co">#port = 8081</span></a>
|
||
<a class="sourceLine" id="cb2-30" title="30"><span class="co">#inbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-31" title="31"><span class="co">#outbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-32" title="32"><span class="co">#keys = forwarder</span></a>
|
||
<a class="sourceLine" id="cb2-33" title="33"></a>
|
||
<a class="sourceLine" id="cb2-34" title="34"><span class="kw">[sam-forwarder-tcp-client]</span></a>
|
||
<a class="sourceLine" id="cb2-35" title="35"><span class="dt">type </span><span class="ot">=</span><span class="st"> client</span></a>
|
||
<a class="sourceLine" id="cb2-36" title="36"><span class="dt">host </span><span class="ot">=</span><span class="st"> </span><span class="dv">127</span><span class="st">.</span><span class="dv">0</span><span class="st">.</span><span class="fl">0.1</span></a>
|
||
<a class="sourceLine" id="cb2-37" title="37"><span class="dt">port </span><span class="ot">=</span><span class="st"> </span><span class="dv">8082</span></a>
|
||
<a class="sourceLine" id="cb2-38" title="38"><span class="dt">inbound.length </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-39" title="39"><span class="dt">outbound.length </span><span class="ot">=</span><span class="st"> </span><span class="dv">3</span></a>
|
||
<a class="sourceLine" id="cb2-40" title="40"><span class="dt">destination </span><span class="ot">=</span><span class="st"> i2p-projekt.i2p</span></a>
|
||
<a class="sourceLine" id="cb2-41" title="41"><span class="dt">keys </span><span class="ot">=</span><span class="st"> forwarder-two</span></a>
|
||
<a class="sourceLine" id="cb2-42" title="42"></a>
|
||
<a class="sourceLine" id="cb2-43" title="43"><span class="co">#[sam-forwarder-udp-server]</span></a>
|
||
<a class="sourceLine" id="cb2-44" title="44"><span class="co">#type = udpserver</span></a>
|
||
<a class="sourceLine" id="cb2-45" title="45"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-46" title="46"><span class="co">#port = 8084</span></a>
|
||
<a class="sourceLine" id="cb2-47" title="47"><span class="co">#inbound.length = 6</span></a>
|
||
<a class="sourceLine" id="cb2-48" title="48"><span class="co">#outbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-49" title="49"><span class="co">#keys = forwarder-four</span></a>
|
||
<a class="sourceLine" id="cb2-50" title="50"></a>
|
||
<a class="sourceLine" id="cb2-51" title="51"><span class="co">#[sam-forwarder-udp-client]</span></a>
|
||
<a class="sourceLine" id="cb2-52" title="52"><span class="co">#type = udpclient</span></a>
|
||
<a class="sourceLine" id="cb2-53" title="53"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-54" title="54"><span class="co">#port = 8083</span></a>
|
||
<a class="sourceLine" id="cb2-55" title="55"><span class="co">#inbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-56" title="56"><span class="co">#outbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-57" title="57"><span class="co">#destination = i2p-projekt.i2p</span></a>
|
||
<a class="sourceLine" id="cb2-58" title="58"><span class="co">#keys = forwarder-three</span></a>
|
||
<a class="sourceLine" id="cb2-59" title="59"></a>
|
||
<a class="sourceLine" id="cb2-60" title="60"><span class="co">#[sam-forwarder-tcp-http-server]</span></a>
|
||
<a class="sourceLine" id="cb2-61" title="61"><span class="co">#type = http</span></a>
|
||
<a class="sourceLine" id="cb2-62" title="62"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-63" title="63"><span class="co">#port = 8085</span></a>
|
||
<a class="sourceLine" id="cb2-64" title="64"><span class="co">#inbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-65" title="65"><span class="co">#outbound.length = 3</span></a>
|
||
<a class="sourceLine" id="cb2-66" title="66"><span class="co">#keys = forwarder-five</span></a>
|
||
<a class="sourceLine" id="cb2-67" title="67"></a>
|
||
<a class="sourceLine" id="cb2-68" title="68"><span class="co">#[sam-forwarder-vpn-server]</span></a>
|
||
<a class="sourceLine" id="cb2-69" title="69"><span class="co">#type = udpserver</span></a>
|
||
<a class="sourceLine" id="cb2-70" title="70"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-71" title="71"><span class="co">#port = 8084</span></a>
|
||
<a class="sourceLine" id="cb2-72" title="72"><span class="co">#inbound.length = 2</span></a>
|
||
<a class="sourceLine" id="cb2-73" title="73"><span class="co">#outbound.length = 2</span></a>
|
||
<a class="sourceLine" id="cb2-74" title="74"><span class="co">#inbound.backupQuantity = 3</span></a>
|
||
<a class="sourceLine" id="cb2-75" title="75"><span class="co">#outbound.backupQuantity = 3</span></a>
|
||
<a class="sourceLine" id="cb2-76" title="76"><span class="co">#inbound.quantity = 5</span></a>
|
||
<a class="sourceLine" id="cb2-77" title="77"><span class="co">#outbound.quantity = 5</span></a>
|
||
<a class="sourceLine" id="cb2-78" title="78"><span class="co">#i2cp.reduceOnIdle = true</span></a>
|
||
<a class="sourceLine" id="cb2-79" title="79"><span class="co">#i2cp.reduceIdleTime = 3000000</span></a>
|
||
<a class="sourceLine" id="cb2-80" title="80"><span class="co">#i2cp.reduceQuantity = 2</span></a>
|
||
<a class="sourceLine" id="cb2-81" title="81"><span class="co">#i2cp.closeOnIdle = false</span></a>
|
||
<a class="sourceLine" id="cb2-82" title="82"><span class="co">#keys = i2pvpnserver</span></a>
|
||
<a class="sourceLine" id="cb2-83" title="83"></a>
|
||
<a class="sourceLine" id="cb2-84" title="84"><span class="co">#[sam-forwarder-vpn-client]</span></a>
|
||
<a class="sourceLine" id="cb2-85" title="85"><span class="co">#type = udpclient</span></a>
|
||
<a class="sourceLine" id="cb2-86" title="86"><span class="co">#host = 127.0.0.1</span></a>
|
||
<a class="sourceLine" id="cb2-87" title="87"><span class="co">#port = 8085</span></a>
|
||
<a class="sourceLine" id="cb2-88" title="88"><span class="co">#inbound.length = 2</span></a>
|
||
<a class="sourceLine" id="cb2-89" title="89"><span class="co">#outbound.length = 2</span></a>
|
||
<a class="sourceLine" id="cb2-90" title="90"><span class="co">#inbound.backupQuantity = 3</span></a>
|
||
<a class="sourceLine" id="cb2-91" title="91"><span class="co">#outbound.backupQuantity = 3</span></a>
|
||
<a class="sourceLine" id="cb2-92" title="92"><span class="co">#inbound.quantity = 5</span></a>
|
||
<a class="sourceLine" id="cb2-93" title="93"><span class="co">#outbound.quantity = 5</span></a>
|
||
<a class="sourceLine" id="cb2-94" title="94"><span class="co">#i2cp.reduceOnIdle = true</span></a>
|
||
<a class="sourceLine" id="cb2-95" title="95"><span class="co">#i2cp.reduceIdleTime = 3000000</span></a>
|
||
<a class="sourceLine" id="cb2-96" title="96"><span class="co">#i2cp.reduceQuantity = 2</span></a>
|
||
<a class="sourceLine" id="cb2-97" title="97"><span class="co">#destination = adestinationisrequiredorbespecifiedatruntime.i2p</span></a>
|
||
<a class="sourceLine" id="cb2-98" title="98"><span class="co">#keys = i2pvpnclient</span></a></code></pre></div>
|