i2p.plugins.tor-updater

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.

Usage:

See Usage for command-line usage.

Status:

Screenshot 2

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.

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.

Screenshot

Primary Goals

  1. Ship known-good public keys, download a current Tor for the platform in the background, authenticate it, and launch it only if necessary.
  1. Supervise Tor as a ShellService plugin to I2P
  1. Keep Tor up-to-date
  1. Work as an I2P Plugin OR as a freestanding app to be compatible with all I2P distributions
  1. Download Tor Browser from an in-I2P mirror(or one of a network of in-I2P mirrors)

Secondary Goals:

  1. Launch Tor Browser
  1. Configure and launch Tor browser for use with I2P

Optional Features I might add if there is interest

  1. Mirror the files which it downloads to an I2P Site
  1. Mirror the files which it downloads to I2P torrents
  1. Set up an onion site which announces an I2P mirror exists
  1. Use Bittorrent-over-I2P to download the Tor Browser software

Usage as a Library

More information at the GoDoc

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:

client, err = tbserve.NewClient(*verbose, *lang, *system, *arch, &content)

Customize the client using the exposed variables and methods:

client.Host = *host
client.Port = *port
client.TBS.Profile = &content
client.TBS.PassThroughArgs = flag.Args()

And serve the controller:

if err := client.Serve(); err != nil {
  log.Fatal(err)
}

Similar Projects:

Garlic icons created by Icongeek26 - Flaticon Onion icons created by Freepik - Flaticon

More Screenshots: