Skip to content

unkaktus/onionize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/unkaktus/onionize/cmd/onionize

CLI + GUI version (reqiures GTK3 installed):

$ go get -tags gui github.com/unkaktus/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.

About

create an onion site from a directory, file, zip or an HTTP(S) site

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors