Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/unkaktus/onionize
create an onion site from a directory, file, zip or an HTTP(S) site
https://github.com/unkaktus/onionize
easy-setup onion-service onion-site privacy share-files tor
Last synced: about 1 month ago
JSON representation
create an onion site from a directory, file, zip or an HTTP(S) site
- Host: GitHub
- URL: https://github.com/unkaktus/onionize
- Owner: unkaktus
- License: cc0-1.0
- Created: 2016-09-28T06:15:00.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-01-27T20:56:18.000Z (almost 6 years ago)
- Last Synced: 2024-05-18T20:40:44.566Z (7 months ago)
- Topics: easy-setup, onion-service, onion-site, privacy, share-files, tor
- Language: Go
- Homepage:
- Size: 6.28 MB
- Stars: 30
- Watchers: 6
- Forks: 5
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-network-stuff - **20**星
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](https://www.torproject.org/docs/hidden-services.html.en)).
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](docs/onionize-dir-1.png)
Then you can grab the link from a text field:
![onionize GUI screenshot](docs/onionize-dir-2.png)
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](https://github.com/nogoegst/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](https://github.com/micahflee/onionshare)
by which onionize was inspired.