Send and receive files securely through Tor.
A basic implementation of OnionShare in Go. Mostly built as a fun project, onionbox is still a WIP so usage is not guaranteed secure, yet.
The easiest way to install onionbox
will be to download the applicable binary
from the releases section. You can also install if you have the Go toolchain
installed and if you are running a flavor of Linux. This will not work with Windows or macOS. This will take a long time, roughly ~10 minutes. You can build from source with the Makefile
:
$ git clone https://github.com/ciehanski/onionbox .
$ cd onionbox && make build
Once you have the onionbox
binary simply make it executable and run it with the various flags
provided:
$ chmod +x onionbox
$ ./onionbox -lport 8080 -debug
-lport <int> : tell onionbox which port to make your onion service locally
run on.
-rport <int> : tell onionbox which port to make your onion service remotely
available on.
-torv3 <bool> : tell onionbox to run on torv3 or torv2.
-torrc <string> : utilize a custom Torrc file to run your onion service.
-debug <bool> : tell onionbox to print debug logs or silence logs.
Contributions and PRs are welcome!
You can get started by either forking or cloning the repo. After, you can get started by running:
make run
This will go ahead and build everything necessary to interface with Tor. After compose
has completed building, you will have a new onionbox
container which will be your
dev environment.
Anytime a change to a .go or .mod file is detected the container will rerun with the changes you have made. You must save in your IDE or text editor for the changes to be picked up. It takes roughly ~35 seconds for onionbox to restart after you have made changes.
You can completely restart the build with:
make restart
Run tests:
make exec
make test
Get container logs:
make logs
Shell into docker container:
make exec
Lint the project:
make lint