All Projects → ciehanski → onionbox

ciehanski / onionbox

Licence: AGPL-3.0 license
Send and receive files securely through Tor.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to onionbox

Onionshare
Securely and anonymously share files, host websites, and chat with friends using the Tor network
Stars: ✭ 4,961 (+12620.51%)
Mutual labels:  file-sharing, tor, onion-service
onionshare-android
Android version of OnionShare (under development)
Stars: ✭ 31 (-20.51%)
Mutual labels:  file-sharing, tor, onion-service
garlicshare
Private and self-hosted file sharing over the Tor network written in golang
Stars: ✭ 110 (+182.05%)
Mutual labels:  file-sharing, tor, onion-service
onionshare
Securely and anonymously share files, host websites, and chat with friends using the Tor network
Stars: ✭ 5,222 (+13289.74%)
Mutual labels:  file-sharing, tor, onion-service
Attacks-on-Tor
Thirteen Years of Tor Attacks
Stars: ✭ 170 (+335.9%)
Mutual labels:  tor, tor-network, onion-routing
Online Privacy Test Resource List
Privacy Online Test and Resource Compendium (POTARC) 🕵🏻
Stars: ✭ 185 (+374.36%)
Mutual labels:  tor, tor-network
T0rlib4Android
A minimal android controller library for Tor
Stars: ✭ 25 (-35.9%)
Mutual labels:  tor, tor-network
onionfruit
OnionFruit™ Connect - Tor access client with country selection, bridge configuration, pluggable transports and experimental DNS support
Stars: ✭ 150 (+284.62%)
Mutual labels:  tor, tor-network
Docker Tor Hiddenservice Nginx
Easily setup a hidden service inside the Tor network
Stars: ✭ 145 (+271.79%)
Mutual labels:  tor, tor-network
haskell-ricochet
(WIP/Experimental) Ricochet implementation as Haskell Library.
Stars: ✭ 22 (-43.59%)
Mutual labels:  tor, onion-service
mkonion
A simple way to create a Tor onion service for existing Docker containers.
Stars: ✭ 81 (+107.69%)
Mutual labels:  tor, onion-service
Torghostng
TorghostNG - Make your internet traffic anonymized through Tor network and Privoxy. Rewritten from TorGhost with Python 3
Stars: ✭ 241 (+517.95%)
Mutual labels:  tor, tor-network
Ansible Relayor
An Ansible Role for Tor Relay Operators
Stars: ✭ 165 (+323.08%)
Mutual labels:  tor, tor-network
onionize
create an onion site from a directory, file, zip or an HTTP(S) site
Stars: ✭ 30 (-23.08%)
Mutual labels:  tor, onion-service
GhostNET
GhostNET script that will help you be safer on the cyber
Stars: ✭ 45 (+15.38%)
Mutual labels:  tor, tor-network
onionjuggler
Manage your Onion Services via CLI or TUI on Unix-like operating system with a POSIX compliant shell.
Stars: ✭ 31 (-20.51%)
Mutual labels:  tor, onion-service
Tor-IP-Addresses
Hourly checked and updated list of IP Addresses of Tor and Tor Exit Nodes
Stars: ✭ 182 (+366.67%)
Mutual labels:  tor, tor-network
Onionbrowser
An open-source, privacy-enhancing web browser for iOS, utilizing the Tor anonymity network
Stars: ✭ 1,702 (+4264.1%)
Mutual labels:  tor, tor-network
Private Tor Network
Run an isolated instance of a tor network in Docker containers
Stars: ✭ 125 (+220.51%)
Mutual labels:  tor, tor-network
T0rlib4j
T0rlib4j is a Java controller library for Tor
Stars: ✭ 50 (+28.21%)
Mutual labels:  tor, tor-network

onionbox build Coverage Status Go Report Card FOSSA Status

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.

Key Features:

  • All files are stored in memory and never written to disk. The bytes from each uploaded file are written to an individual zip buffer (in memory, and also compressed 😄) and then written directly to the response for download. Zip was chosen since it is the most universal archiving standard that is supported by all operating systems.
  • You have the ability to encrypt the uploaded files' bytes if the content is extra sensitive. AES-GCM-256 is used for encryption. This means, while stored in memory, the files' bytes will be encrypted as well. If password encryption is enabled, recipients will need to enter the correct password before the download.
  • You have the ability to limit the number of downloads per download link generated.
  • You have the ability to enforce that download links automatically expire after a specific duration of your choosing.
  • 2-way file sharing. For instance, if you are the recipient of confidential information but the sender is not technically-savvy, you yourself can run an onionbox server, send them the generated .onion URL and have them upload the files directly for you to download.
  • Can be run in a Docker container, or locally on your host machine. You could of course deploy onionbox to any cloud provider of your choosing.
  • Static binary! Woo!

onionbox Example-1 onionbox Example-2

TODO:

  • Implement more tests
  • Android support (build almost working)
  • Windows support
  • ARM support
  • QR Code Generation
  • Add another mode supporting cli-only upload from disk

Build/Install

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

Usage

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.

Contributing:

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

License:

  • AGPLv3

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].