Giter VIP home page Giter VIP logo

onionize's Introduction

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.

onionize's People

Contributors

unkaktus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

onionize's Issues

UI mock-up for simple filesharing.

Hi!

I've been putting together some paper prototypes for the GUI. I'm starting off with the simple use cases.

Use case

A user wants to share a zipfile, called pictures.zip, using Onionize.

Advanced settings

  • Using slug is enabled (i.e. randomised onion-subdomain)
  • New Tor Hidden Service URL is created

Paper prototype link

https://marvelapp.com/3hidh4a/

NB: This doesn't cover any of the advanced settings, or any error messages.

I'd like to hear your thoughts.

Thanks!

PS: I'll update it to reflect the change you mentioned in #45. ๐Ÿ‘

Rewrite GUI in thread safe way

Pango:ERROR:/build/pango1.0-hEi7pY/pango1.0-1.36.8/./pango/pango-layout.c:3916:pango_layout_check_lines: assertion failed: (!layout->log_attrs)
GUI is complicated as hell. What am I doing wrong??

could not determine kind of name for C.gtk_menu_popup_at_pointer

Hi!

I'm having a problem with getting onionize installed.

OS:
Ubuntu 16.04.3 LTS 64-bit

GTK:
Installed: 2.24.30-1ubuntu1.16.04.2
Installed: 3.18.9-1ubuntu3.3

STEPS
I've got the GO PATH set:
bernard@MACHINE:~$ export GOPATH=$HOME/go bernard@MACHINE:~$ export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

When I try to install:
bernard@MACHINE:~$ go get -tags gui github.com/nogoegst/onionize/cmd/onionize

I first get these 2 messages:
# github.com/nogoegst/onionize/vendor/github.com/nogoegst/tlspin go/src/github.com/nogoegst/onionize/vendor/github.com/nogoegst/tlspin/tlspin.go:23: undefined: tls.X25519 go/src/github.com/nogoegst/onionize/vendor/github.com/nogoegst/tlspin/tlspin.go:26: undefined: tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305

Then this:
# github.com/nogoegst/onionize/vendor/github.com/gotk3/gotk3/gtk could not determine kind of name for C.gtk_menu_popup_at_pointer bernard@MACHINE:~$

I'm unsure how to proceed.
Thanks.

Add 30s countdown

Until this delay is gone (tor 0.3.0.0) this should be implemented

Bundle tor

Connecting to some tor daemon is a bit complicated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.