onionize

package module
v3.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2018 License: CC0-1.0 Imports: 17 Imported by: 0

README

onionize

Make an onion site (aka HTTP over onion services) up and running from a directory, a file, zip archive contents or another HTTP server.

Onion services are end-to-end encrypted, metadata-free and forward-secure (see design overview). Much love to onion services.

Install

You have to have Go 1.8+ installed to build onionize.

CLI-only version:

$ go get github.com/nogoegst/onionize/cmd/onionize

CLI + GUI version (reqiures GTK3 installed):

$ go get -tags gui github.com/nogoegst/onionize/cmd/onionize

If you have troubles setting up GUI version straight away, try to build it using Docker (see /dockerfiles). Also you may look into Dockerfiles themselves to reproduce building steps on your host OS.

Usage

To onionize things pass the path to them with optional aliases:

$ onionize /path/to/thing:/things/thing1 /path/to/another/thing:/things/thing2

or the URL:

$ onionize https://example.com/

Pass -zip flag to serve from the zip archive.

Grab the onion link from stdout and errors/info from stderr.

That's it.

GUI mode

To run onionize in GUI mode just don't specify any path. Select target type, open your file/directory and click onionize:

onionize GUI screenshot

Then you can grab the link from a text field:

onionize GUI screenshot

You can find more screenshots in docs.

Identity passphrase

You may also specify a passphrase from which onion service identity key will be derived. Thus you can preserve same .onion address across setups.

Identity passphrase can be specified on stdin by setting -p flag in CLI or in corresponding field in GUI.

Private key file

One may load a typical onion private key from a file:

$ onionize -id-key onion.key /path/to/the-thing

TLS

You can specify tlspin private key via -tlspin-key flag.

When running with -local flag TLS enabled by default via tlspin with a generated ephemeral key.

One can also specifying paths to X.509 key and certificate:

$ onionize -tls-cert server.crt -tls-key server.key /path/to/the-thing

To disabe TLS run onionize with -no-tls.

Thanks

I want to thank Micah Lee for OnionShare tool by which onionize was inspired.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Onionize

func Onionize(p Parameters, linkChan chan<- url.URL) error

Types

type Parameters

type Parameters struct {
	Pathspec        string
	Zip             bool
	Slug            bool
	ControlPath     string
	ControlPassword string
	Passphrase      string
	Debug           bool
	IdentityKey     crypto.PrivateKey
	TLSConfig       *tls.Config
	NoOnion         bool
	StartTor        bool
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL