Files
i2p.plugins.tor-updater/README.md

120 lines
3.7 KiB
Markdown
Raw Normal View History

2022-01-14 16:01:28 +00:00
# i2p.plugins.tor-updater
2022-01-23 11:42:23 -05:00
A Tor package updater and runner as an I2P Plugin. This plugin is
2022-02-12 00:06:07 -05:00
usable on Windows, Linux, and OSX, as is the freestanding binary.
This also functions as a freestanding update for the Tor Browser
Bundle and is capable of configuring Tor Browser from the terminal
and updating it without running it, should the user choose to operate
this way.
2022-01-16 16:07:40 -05:00
2022-01-23 11:42:23 -05:00
Usage:
------
2022-02-07 21:38:54 -05:00
See [Usage](USAGE.md) for command-line usage.
2022-01-23 11:42:23 -05:00
2022-02-12 00:06:07 -05:00
[HTML version](usage.html)
2022-02-08 21:55:15 -05:00
Plugin:
-------
- [i2p.plugins.tor-manager-linux-386](i2p.plugins.tor-manager-linux-386.su3)
- [i2p.plugins.tor-manager-windows-amd64](i2p.plugins.tor-manager-windows-amd64.su3)
- [i2p.plugins.tor-manager-darwin-arm64](i2p.plugins.tor-manager-darwin-arm64.su3)
- [i2p.plugins.tor-manager-linux-amd64](i2p.plugins.tor-manager-linux-amd64.su3)
- [i2p.plugins.tor-manager-windows-386](i2p.plugins.tor-manager-windows-386.su3)
- [i2p.plugins.tor-manager-darwin-amd64](i2p.plugins.tor-manager-darwin-amd64.su3)
Status:
-------
![Screenshot 2](screenshot-console.png)
2022-02-12 00:06:07 -05:00
Linux: Usable, everything implemented works.
Windows: Usable, everything implemented works.
OSX: Usable, everything implemented works.
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.
2022-01-30 18:43:08 -05:00
![Screenshot](screenshot-i2pbrowser.png)
2022-01-23 11:42:23 -05:00
### Primary Goals
2022-01-23 13:16:43 -05:00
1. Ship known-good public keys, download a current Tor for the platform in the background, authenticate it, and launch it only if necessary.
2022-02-08 01:23:30 -05:00
- Works on Windows, Linux, OSX
2022-01-23 13:16:43 -05:00
2. Supervise Tor as a ShellService plugin to I2P
2022-02-08 01:23:30 -05:00
- Works on Linux, Windows, OSX
2022-01-23 13:16:43 -05:00
3. Keep Tor up-to-date
2022-02-08 01:23:30 -05:00
- Works on Windows, Linux, OSX
2022-01-23 13:16:43 -05:00
4. Work as an I2P Plugin OR as a freestanding app to be compatible with all I2P distributions
2022-02-08 01:23:30 -05:00
- Works on Linux, Windows, OSX
2022-01-23 13:16:43 -05:00
5. Download Tor Browser from an in-I2P mirror(or one of a network of in-I2P mirrors)
2022-01-23 11:42:23 -05:00
- Not done
### Secondary Goals:
2022-01-23 13:16:43 -05:00
1. Launch Tor Browser
2022-02-12 00:06:07 -05:00
- Works on Linux, Windows, OSX
2022-01-23 13:16:43 -05:00
2. Configure and launch Tor browser for use with I2P
2022-02-12 00:06:07 -05:00
- Works on Linux, Windows, OSX
2022-01-23 11:42:23 -05:00
#### Optional Features I might add if there is interest
2022-01-23 13:16:43 -05:00
1. Mirror the files which it downloads to an I2P Site
2022-02-08 18:31:32 -05:00
- Works on Windows, Linux, OSX
2022-01-23 13:16:43 -05:00
2. Mirror the files which it downloads to I2P torrents
- Not done
2022-01-23 13:16:43 -05:00
3. Set up an onion site which announces an I2P mirror exists
- Not done
2022-01-23 13:16:43 -05:00
4. Use Bittorrent-over-I2P to download the Tor Browser software
- Not Done
2022-02-12 00:06:07 -05:00
5. Import libi2pd and offer the use of an embedded i2pd router.
- Not done.
6. Option to use BRB in a thread as an in-I2P replacement for `mibbit` IRC client.
- Not done.
2022-01-23 11:42:23 -05:00
2022-02-07 15:44:06 -05:00
### Usage as a Library
[More information at the GoDoc](https://pkg.go.dev/i2pgit.org/idk/i2p.plugins.tor-manager)
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.
To create a new instance, use:
``` Go
client, err = tbserve.NewClient(*verbose, *lang, *system, *arch, &content)
```
Customize the client using the exposed variables and methods:
``` Go
client.Host = *host
client.Port = *port
client.TBS.Profile = &content
client.TBS.PassThroughArgs = flag.Args()
```
And serve the controller:
``` Go
if err := client.Serve(); err != nil {
log.Fatal(err)
}
```
2022-01-23 11:42:23 -05:00
### Similar Projects:
- https://github.com/micahflee/torbrowser-launcher
- https://github.com/whonix/tb-updater
2022-01-28 00:09:18 -05:00
<a href="https://www.flaticon.com/free-icons/garlic" title="garlic icons">Garlic icons created by Icongeek26 - Flaticon</a>
2022-01-30 18:43:08 -05:00
<a href="https://www.flaticon.com/free-icons/onion" title="onion icons">Onion icons created by Freepik - Flaticon</a>
### More Screenshots:
- ![Screenshot](screenshot.png)
- ![Screenshot](screenshot-dark.png)