|kev aecd9ad9ef||5 months ago|
|.github||1 year ago|
|.vscode||1 year ago|
|docs||5 months ago|
|install||5 months ago|
|scripts||5 months ago|
|src||5 months ago|
|static-data||6 months ago|
|tests||5 months ago|
|.dockerignore||5 months ago|
|.env||5 months ago|
|.gitignore||6 months ago|
|.gitlab-ci.yml||1 year ago|
|.onionr.yml||2 years ago|
|AUTHORS.MD||2 years ago|
|CHANGELOG.md||6 months ago|
|CODE_OF_CONDUCT.md||2 years ago|
|CONTRIBUTING.md||2 years ago|
|Dockerfile||5 months ago|
|ISSUE_TEMPLATE.md||5 months ago|
|LICENSE.txt||2 years ago|
|Makefile||2 years ago|
|README.md||5 months ago|
|SECURITY.md||2 years ago|
|git-update.sh||7 months ago|
|make-release.sh||1 year ago|
|onionr.sh||6 months ago|
|requirements-ARM.txt||5 months ago|
|requirements-dev.in||5 months ago|
|requirements-dev.txt||5 months ago|
|requirements-notifications.in||1 year ago|
|requirements-notifications.txt||2 years ago|
|requirements.in||6 months ago|
|requirements.txt||6 months ago|
|run-onionr-node.py||5 months ago|
|run-onionr-node.sh||5 months ago|
|run_tests.sh||1 year ago|
|sandboxed-onionr.py||8 months ago|
|setprofile.sh||3 years ago|
|start-daemon.sh||2 years ago|
|start-many-nodes.py||1 year ago|
|start-ram.sh||1 year ago|
Privacy Respecting Communication Network 📡
Anonymous social platform, mail, file sharing.
- Discord - Matrix: #onionr:amorgan.xyz
|Docs/web copy||Get involved||Onionr.net/.onion|
The main repository for this software is at https://git.VoidNet.tech/kev/onionr/
Onionr ("Onion Relay") is a decentralized/distributed peer-to-peer communication network, designed to be anonymous and resistant to (meta)data analysis, spam, and corruption.
Onionr gives the individual the ability to speak freely, without fear of surveillance and censorship.
Onionr stores data in independent packages referred to as 'blocks'. The blocks are distributed to all nodes interested in their data type. 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 and as such cannot be trivially unmasked. Anonymity is achieved by a stateless network, with no given indication of what node a block originates from. In fact, since one is not required to participate in routing or storage to insert a message, blocks often do not originate from any identifiable node.
Onionr works primarily via epidemic/gossip style routing, with message delivery taking roughly logF(N) cycles where F is the number of nodes to send a message to each cycle and N is the number of connected nodes. So a network of 100 million nodes can deliver messages in a few minutes even with high packet loss and malfunctioning nodes.
Through message mixing and key privacy, it is intended to be nigh impossible to discover the identity of a message creator or recipient. Via long-term traffic analysis, a well funded adversary may discover the most probable node(s) to be creating a set of related blocks, however doing so would only lead them to a node behind Tor. As the first node that a block appears on is almost always not the creator of the block, there is plausible deniability regarding the true creator of the block.
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.
Due to the nature of anonymity, the graph as implemented in this reference network is dense, undirected, cyclic and can be disconnected. Since Onionr is technically just a data format, any routing scheme can be used to pass messages.
The whitepaper is available here.
Onionr ships with various application plugins ready for use out of the box:
Not yet usable:
Encrypted, metadata-masking mail application. One of the first distributed mail systems to have basic forward secrecy.
More docs coming soon.
The following applies to Ubuntu Bionic. Other distributions may have different package or command names.
Master may be unstable, you should use the latest release tag. (checkout via git:
$ git checkout release-latest)
$ sudo apt install python3-pip python3-dev tor
$ git clone https://gitlab.com/beardog/onionr --tags
$ cd onionr/
$ pip3 install --require-hashes -r requirements.txt(on ARM64 devices like Raspberry Pi 4's use requirements-ARM.txt instead.)
$ pip3 install --require-hashes -r requirements-notifications.txt
(--require-hashes is intended to prevent exploitation via compromise of PyPi/CA certificates)
$ ./onionr.sh start
$ ./onionr.sh openhome
$ ./onionr.sh stop
Everyone is welcome to contribute. Help is wanted for the following:
Donating at least $3 gets you cool Onionr stickers. Get in touch if you want them.
Bitcoin: 1onion55FXzm6h8KQw3zFw2igpHcV7LPq (Contact us for a unique address or for other coins)
USD (Card/Paypal (no account required)): Ko-Fi
Sign up for privacy.com (refferal link) to protect your personal information when contributing or shopping elsewhere, we both get $5 USD.
Note: probably not tax deductible
Onionr is alpha software. This means it is unstable, probably insecure, and experimental.
No matter how good Onionr and other software gets, there will always be ways for clever or well-funded adversaries to break your security.
Onionr does not protect your identity if you associate your user ID with your name either on Onionr or elsewhere.
Do not rely on Onionr or any other software to hold up if your life or liberty are at stake.
Onionr is published under the GNU GPL v3 license, except for the logo.
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 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.