Go to file
Kevin Froman d054722bce Merge branch 'docs' into windowspow 2019-06-14 23:26:30 -05:00
.github Create FUNDING.yml 2019-06-11 19:42:29 -05:00
docs removed network comparison from whitepaper 2019-06-11 21:31:54 -05:00
install Add installation scripts 2019-03-29 03:33:14 +00:00
onionr Merge branch 'docs' into windowspow 2019-06-14 23:26:30 -05:00
.dockerignore changed permisisons 2019-02-02 17:10:04 -06:00
.gitignore Add installation scripts 2019-03-29 03:33:14 +00:00
.gitlab-ci.yml work on plugins doing http endpoints 2019-03-02 00:22:59 -06:00
CODE_OF_CONDUCT.md refactored onionr commands and other small adjustments 2019-06-01 11:54:36 -05:00
CONTRIBUTING.md * Progress in adjust tagline in files, license boilerplate fixes 2019-06-11 19:05:15 -05:00
Dockerfile changed permisisons 2019-02-02 17:10:04 -06:00
ISSUE_TEMPLATE.md changed permisisons 2019-02-02 17:10:04 -06:00
LICENSE.txt do not spam connection messages 2019-03-13 16:10:11 -05:00
Makefile Add installation scripts 2019-03-29 03:33:14 +00:00
PKGBUILD Add installation scripts 2019-03-29 03:33:14 +00:00
README.md minor boilerplate adjustments 2019-06-14 23:26:10 -05:00
SECURITY.md Create SECURITY.md 2019-06-11 20:49:02 -05:00
onionr.sh more work on serialization and communication, misc work on web, run files 2019-01-14 00:14:02 -06:00
requirements.in bumped requests and urllib3 version to fix urllib3 CA cert security issue 2019-06-11 20:01:33 -05:00
requirements.txt bumped requests and urllib3 version to fix urllib3 CA cert security issue 2019-06-11 20:01:33 -05:00
run-windows-dev.bat + added powchoice.py to use old pow on windows, temporary fix for subprocess method not working there 2019-06-14 20:31:01 -05:00
run-windows.bat windows color compat 2019-02-16 14:40:30 -06:00
run_tests.sh small fixes and work on tests 2019-02-19 16:14:06 -06:00
setprofile.sh Merge Tempblocks 2018-11-11 02:10:58 +00:00
start-daemon.sh more work on serialization and communication, misc work on web, run files 2019-01-14 00:14:02 -06:00

README.md

Private P2P Communication Network 🕵️

(pre-alpha & experimental, not well tested or easy to use yet)

Open Source Love


The main repository for this software is at https://gitlab.com/beardog/Onionr/

About

Onionr is a decentralized, peer-to-peer communication and storage network, designed to be anonymous and resistant to (meta)data analysis, spam, and corruption.

Onionr stores data in independent packages referred to as 'blocks'. The blocks are synced to all other nodes in the network. Blocks and user IDs cannot be easily proven to have been created by a particular user. Even if there is enough evidence to believe that a specific user created a block, nodes still operate behind Tor or I2P and as such cannot be trivially unmasked.

Users are identified by ed25519/curve25519 public keys, which can be used to sign blocks or send encrypted data.

Onionr can be used for mail, as a social network, instant messenger, file sharing software, or for encrypted group discussion.

The whitepaper (subject to change prior to alpha release) is available here.

Tor stinks slide image

Main Features

  • 🌐 Fully p2p/decentralized, no trackers or other single points of failure
  • 🔒 End to end encryption of user data
  • 📢 Optional non-encrypted blocks, useful for blog posts or public file sharing
  • 💻 Easy HTTP API for integration to websites
  • 🕵️ Metadata analysis resistance and anonymity
  • 📡 Transport agnosticism (no internet required)

Software Suite

Onionr ships with various application plugins ready for use out of the box:

Currently usable:

  • Mail
  • Public anonymous chat
  • Simple webpage hosting (Will be greatly extended)
  • File sharing (Work in progress)

Not yet usable:

  • Instant messaging
  • Forum/BBS

Onionr API and functionality is subject to non-backwards compatible change during pre-alpha development

Screenshots

Node statistics page screenshot

Node statistics

Friend/contact manager screenshot

Friend/contact manager

Encrypted, metadata-masking mail application screenshot

Encrypted, metadata-masking mail application. One of the first distributed mail systems to have basic forward secrecy.

Documentation

More docs coming soon.

Install and Run on Linux

The following applies to Ubuntu Bionic. Other distros may have different package or command names.

$ sudo apt install python3-pip python3-dev tor

  • Have python3.6+, python3-pip, Tor (daemon, not browser) installed (python3-dev recommended)
  • Clone the git repo: $ git clone https://gitlab.com/beardog/onionr
  • cd into install direction: $ cd onionr/
  • Install the Python dependencies (virtualenv strongly recommended): $ pip3 install --require-hashes -r requirements.txt

(--require-hashes is intended to prevent exploitation via compromise of PyPi/CA certificates)

Help out

Everyone is welcome to contribute. Help is wanted for the following:

  • Development (Get in touch first)
    • Creation of a shared lib for use from other languages and faster proof-of-work
    • Android and IOS development
    • Windows and Mac support (already partially supported, testers needed)
    • General bug fixes and development of new features
  • Testing
  • UI/UX design
  • Running stable nodes
  • Security review/audit
  • Automatic I2P setup

Contribute money:

Donating at least $5 gets you cool Onionr stickers. Get in touch if you want them.

Bitcoin: 1onion55FXzm6h8KQw3zFw2igpHcV7LPq (Contact us for a unique address or for other coins)

Monero: 4B5BA24d1P3R5aWEpkGY5TP7buJJcn2aSGBVRQCHhpiahxeB4aWsu15XwmuTjC6VF62NApZeJGTS248RMVECP8aW73Uj2ax

USD (Card/Paypal): Ko-Fi

Note: probably not tax deductible

Contact

Email: beardog [ at ] mailbox.org

Onionr is published under the GNU GPL v3 license.

The Tor Project and I2P developers do not own, create, or endorse this project, and are not otherwise involved.

Tor is a trademark for the Tor Project. We do not own it.

The 'open source badge' is by Maik Ellerbrock and is licensed under a Creative Commons Attribution 4.0 International License.

The Onionr logo was created by Anhar Ismail under the Creative Commons Attribution 4.0 International License.

If you modify and redistribute our code ("forking"), please use a different logo and project name to avoid confusion. Please do not use the project name or logo in a way that makes it seem like we endorse you without our permission.

node web illustration