117 lines
5.0 KiB
HTML
117 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>i2p.plugins.tor-manager - Tor Binary Manager</title>
|
||
<link rel="stylesheet" type="text/css" href ="/style.css" />
|
||
</head>
|
||
<body>
|
||
<h1 id="i2p.plugins.tor-updater">i2p.plugins.tor-updater</h1>
|
||
<p>A Tor package updater and runner as an I2P Plugin. This plugin is usable on Windows and Linux for now. OSX support is planned soon.</p>
|
||
<h2 id="usage">Usage:</h2>
|
||
<p>See <a href="USAGE.md">Usage</a> for command-line usage.</p>
|
||
<h2 id="status">Status:</h2>
|
||
<figure>
|
||
<img src="screenshot-console.png" alt="" /><figcaption>Screenshot 2</figcaption>
|
||
</figure>
|
||
<p>Linux: Usable, most things work. Windows: Unstable, mostly usable, does not work in some important cirumstances, cannot run from a flash drive OSX: Unstable, untested, not usable, WIP.</p>
|
||
<p>Other systems are not targeted and should use a Tor binary built from source, provided by TPO or, their prefered package management system and not this plugin. The plugin will not start a Tor instance if a SOCKS proxy is open on port 9050.</p>
|
||
<figure>
|
||
<img src="screenshot-i2pbrowser.png" alt="" /><figcaption>Screenshot</figcaption>
|
||
</figure>
|
||
<h3 id="primary-goals">Primary Goals</h3>
|
||
<ol type="1">
|
||
<li>Ship known-good public keys, download a current Tor for the platform in the background, authenticate it, and launch it only if necessary.</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Windows, Linux, probably also OSX</li>
|
||
</ul>
|
||
<ol start="2" type="1">
|
||
<li>Supervise Tor as a ShellService plugin to I2P</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Linux, Windows</li>
|
||
</ul>
|
||
<ol start="3" type="1">
|
||
<li>Keep Tor up-to-date</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Windows, Linux, probably also OSX</li>
|
||
</ul>
|
||
<ol start="4" type="1">
|
||
<li>Work as an I2P Plugin OR as a freestanding app to be compatible with all I2P distributions</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Linux, Windows</li>
|
||
</ul>
|
||
<ol start="5" type="1">
|
||
<li>Download Tor Browser from an in-I2P mirror(or one of a network of in-I2P mirrors)</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Not done</li>
|
||
</ul>
|
||
<h3 id="secondary-goals">Secondary Goals:</h3>
|
||
<ol type="1">
|
||
<li>Launch Tor Browser</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Linux, Windows, maybe OSX</li>
|
||
</ul>
|
||
<ol start="2" type="1">
|
||
<li>Configure and launch Tor browser for use with I2P</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Works on Linux, Windows.</li>
|
||
</ul>
|
||
<h4 id="optional-features-i-might-add-if-there-is-interest">Optional Features I might add if there is interest</h4>
|
||
<ol type="1">
|
||
<li>Mirror the files which it downloads to an I2P Site</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Probably works on everything</li>
|
||
</ul>
|
||
<ol start="2" type="1">
|
||
<li>Mirror the files which it downloads to I2P torrents</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Not done</li>
|
||
</ul>
|
||
<ol start="3" type="1">
|
||
<li>Set up an onion site which announces an I2P mirror exists</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Not done</li>
|
||
</ul>
|
||
<ol start="4" type="1">
|
||
<li>Use Bittorrent-over-I2P to download the Tor Browser software</li>
|
||
</ol>
|
||
<ul>
|
||
<li>Not Done</li>
|
||
</ul>
|
||
<h3 id="usage-as-a-library">Usage as a Library</h3>
|
||
<p><a href="https://pkg.go.dev/i2pgit.org/idk/i2p.plugins.tor-manager">More information at the GoDoc</a></p>
|
||
<p>This is also useful as a library for downloading a Tor Browser Bundle. This API isn’t really stable, more “stabilizing.” Feel free to use it, but it may still change a little.</p>
|
||
<p>To create a new instance, use:</p>
|
||
<div class="sourceCode" id="cb1"><pre class="sourceCode go"><code class="sourceCode go"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a>client, err = tbserve.NewClient(*verbose, *lang, *system, *arch, &content)</span></code></pre></div>
|
||
<p>Customize the client using the exposed variables and methods:</p>
|
||
<div class="sourceCode" id="cb2"><pre class="sourceCode go"><code class="sourceCode go"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a>client.Host = *host</span>
|
||
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true"></a>client.Port = *port</span>
|
||
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true"></a>client.TBS.Profile = &content</span>
|
||
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true"></a>client.TBS.PassThroughArgs = flag.Args()</span></code></pre></div>
|
||
<p>And serve the controller:</p>
|
||
<div class="sourceCode" id="cb3"><pre class="sourceCode go"><code class="sourceCode go"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a><span class="kw">if</span> err := client.Serve(); err != <span class="ot">nil</span> {</span>
|
||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true"></a> log.Fatal(err)</span>
|
||
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true"></a>}</span></code></pre></div>
|
||
<h3 id="similar-projects">Similar Projects:</h3>
|
||
<ul>
|
||
<li>https://github.com/micahflee/torbrowser-launcher</li>
|
||
<li>https://github.com/whonix/tb-updater</li>
|
||
</ul>
|
||
<p><a href="https://www.flaticon.com/free-icons/garlic" title="garlic icons">Garlic icons created by Icongeek26 - Flaticon</a> <a href="https://www.flaticon.com/free-icons/onion" title="onion icons">Onion icons created by Freepik - Flaticon</a></p>
|
||
<h3 id="more-screenshots">More Screenshots:</h3>
|
||
<ul>
|
||
<li><img src="screenshot.png" title="fig:" alt="Screenshot" /></li>
|
||
<li><img src="screenshot-dark.png" title="fig:" alt="Screenshot" /></li>
|
||
</ul>
|
||
</body>
|
||
</html>
|