Compare commits
289 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
de18cdfd55 | 8 months ago |
![]() |
06907a80fa | 8 months ago |
![]() |
aecd9ad9ef | 2 years ago |
![]() |
3e17cf7c0b | 2 years ago |
![]() |
735220d8da | 2 years ago |
![]() |
914b505dfa | 2 years ago |
![]() |
8659fa613e | 2 years ago |
![]() |
7fa320cfc5 | 2 years ago |
![]() |
9306143e4c | 2 years ago |
![]() |
7303cf041e | 2 years ago |
![]() |
4e96d18396 | 2 years ago |
![]() |
133b3ea699 | 2 years ago |
![]() |
3a98183fa0 | 2 years ago |
![]() |
8083489110 | 2 years ago |
![]() |
cb2e29ad6e | 2 years ago |
![]() |
6b6a698370 | 2 years ago |
![]() |
d10ccd2e13 | 2 years ago |
![]() |
513b758c7a | 2 years ago |
![]() |
5a9594074e | 2 years ago |
![]() |
ba8b9b49ed | 2 years ago |
![]() |
8c9a24b227 | 2 years ago |
![]() |
c28e5dea74 | 2 years ago |
![]() |
07d9207808 | 2 years ago |
![]() |
ad91a3222f | 2 years ago |
![]() |
a032782d26 | 2 years ago |
![]() |
1042676f26 | 2 years ago |
![]() |
9bf27b345d | 2 years ago |
![]() |
8a2d0a635a | 2 years ago |
![]() |
5a0231653f | 2 years ago |
![]() |
e71935fcef | 2 years ago |
![]() |
87685fd728 | 2 years ago |
![]() |
d0df62770f | 2 years ago |
![]() |
e95b75b193 | 2 years ago |
![]() |
59090b4a03 | 2 years ago |
![]() |
ab41282fba | 2 years ago |
![]() |
d1e4ae6032 | 2 years ago |
![]() |
b6b941bf9b | 2 years ago |
![]() |
509e8a290b | 2 years ago |
![]() |
b267d3028e | 2 years ago |
![]() |
76f1d164e7 | 2 years ago |
![]() |
54f6e3bdc6 | 2 years ago |
![]() |
fd440b8b91 | 2 years ago |
![]() |
8797bce4fa | 2 years ago |
![]() |
b42dc8fbc6 | 2 years ago |
![]() |
e950f3242e | 2 years ago |
![]() |
eefcb8ccbe | 2 years ago |
![]() |
f4e37bbf4e | 2 years ago |
![]() |
7dce969eaa | 2 years ago |
![]() |
79b46b62eb | 2 years ago |
![]() |
314bec0909 | 2 years ago |
![]() |
fcc3bd656d | 2 years ago |
![]() |
4b7be71102 | 2 years ago |
![]() |
8a722a0911 | 2 years ago |
![]() |
797da0aaea | 2 years ago |
![]() |
52bffa0aae | 2 years ago |
![]() |
d7bcd2b4a8 | 2 years ago |
![]() |
0fb5e5df10 | 2 years ago |
![]() |
ae84d09e8e | 2 years ago |
![]() |
80e4562029 | 2 years ago |
![]() |
427957b9e8 | 2 years ago |
![]() |
9d55c62d68 | 2 years ago |
![]() |
e36f44f9a1 | 2 years ago |
![]() |
57638e73f7 | 2 years ago |
![]() |
2dc11303d7 | 2 years ago |
![]() |
9345d27d6a | 2 years ago |
![]() |
5afbed63cf | 2 years ago |
![]() |
c44d6624ff | 2 years ago |
![]() |
ae359de562 | 2 years ago |
![]() |
2bd58945da | 2 years ago |
![]() |
b1ef248ee9 | 2 years ago |
![]() |
416e43e7bb | 2 years ago |
![]() |
1eb6140811 | 2 years ago |
![]() |
700bde4bd8 | 2 years ago |
![]() |
71b511382b | 2 years ago |
![]() |
67f5c30d85 | 2 years ago |
![]() |
9684585432 | 2 years ago |
![]() |
9d6216e16b | 2 years ago |
![]() |
2a6f6bb1aa | 2 years ago |
![]() |
7820c87b79 | 2 years ago |
![]() |
93d176badc | 2 years ago |
![]() |
968f468027 | 2 years ago |
![]() |
86fd936d52 | 2 years ago |
![]() |
e34b499044 | 2 years ago |
![]() |
01ed4d49d0 | 2 years ago |
![]() |
9db9c495c8 | 2 years ago |
![]() |
dcc304be9d | 2 years ago |
![]() |
eaf61c280a | 2 years ago |
![]() |
e831a27ae3 | 2 years ago |
![]() |
de271794fd | 2 years ago |
![]() |
21df88fdaa | 2 years ago |
![]() |
9d4afc4b3a | 2 years ago |
![]() |
28044f2bd7 | 2 years ago |
![]() |
adba4be099 | 2 years ago |
![]() |
30a4285b92 | 2 years ago |
![]() |
59330149e1 | 2 years ago |
![]() |
a775f3b26d | 2 years ago |
![]() |
cc703fc404 | 2 years ago |
![]() |
ecd2cc54da | 2 years ago |
![]() |
bbd76da333 | 2 years ago |
![]() |
04105a2b70 | 2 years ago |
![]() |
8d839f62c9 | 2 years ago |
![]() |
a0ae62d0a3 | 2 years ago |
![]() |
a9d0524ccc | 2 years ago |
![]() |
130e9de5e9 | 2 years ago |
![]() |
f0cd2fb2b9 | 2 years ago |
![]() |
44112750ec | 2 years ago |
![]() |
f2d7075b3a | 2 years ago |
![]() |
256c402223 | 2 years ago |
![]() |
2601263b87 | 2 years ago |
![]() |
3ab8681b24 | 2 years ago |
![]() |
2837210cf4 | 2 years ago |
![]() |
d0e6f6c4af | 2 years ago |
![]() |
67054446ae | 2 years ago |
![]() |
f7f4732789 | 2 years ago |
![]() |
f80d58e5b8 | 2 years ago |
![]() |
4a831a4a4d | 2 years ago |
![]() |
57ec04eff5 | 2 years ago |
![]() |
da11c74f6c | 2 years ago |
![]() |
c4be08bd23 | 2 years ago |
![]() |
299980f126 | 2 years ago |
![]() |
b5fe4453ed | 2 years ago |
![]() |
77de7e318d | 2 years ago |
![]() |
eec8c356ad | 2 years ago |
![]() |
6a4744997c | 2 years ago |
![]() |
cf0507b82d | 2 years ago |
![]() |
862b39c217 | 2 years ago |
![]() |
b424ef6674 | 2 years ago |
![]() |
4847d9bddf | 2 years ago |
![]() |
51c3078b90 | 2 years ago |
![]() |
8a4c138eed | 2 years ago |
![]() |
5dddeb3f10 | 2 years ago |
![]() |
fb85856f76 | 2 years ago |
![]() |
5c61708c61 | 2 years ago |
![]() |
183e6491d0 | 2 years ago |
![]() |
3ca05e2390 | 2 years ago |
![]() |
88ec98c92a | 2 years ago |
![]() |
8f52fa4669 | 2 years ago |
![]() |
60c7e6cb37 | 2 years ago |
![]() |
c23b286540 | 2 years ago |
![]() |
723d004e5c | 2 years ago |
![]() |
989692c6ac | 2 years ago |
![]() |
fcfecaff7e | 2 years ago |
![]() |
895b4fe4fd | 2 years ago |
![]() |
cf669024bf | 2 years ago |
![]() |
a9096dc048 | 2 years ago |
![]() |
1e7d7840b1 | 2 years ago |
![]() |
57225f57f0 | 2 years ago |
![]() |
fbcb95be9e | 2 years ago |
![]() |
c2b7246048 | 2 years ago |
![]() |
e0f59784b1 | 2 years ago |
![]() |
2291d5a5f2 | 2 years ago |
![]() |
d067a343e6 | 2 years ago |
![]() |
3ef29077e7 | 2 years ago |
![]() |
835c2e527e | 2 years ago |
![]() |
1c44a514a5 | 2 years ago |
![]() |
5baa048a4e | 2 years ago |
![]() |
0338cd64b6 | 2 years ago |
![]() |
fc7db42deb | 2 years ago |
![]() |
503bf65cbe | 2 years ago |
![]() |
da57dc373f | 2 years ago |
![]() |
f0bb41daac | 2 years ago |
![]() |
2dc706a894 | 2 years ago |
![]() |
d0baa7fd12 | 2 years ago |
![]() |
10689f24d7 | 2 years ago |
![]() |
b010fa8326 | 2 years ago |
![]() |
b5b7c756ea | 2 years ago |
![]() |
99371cfec5 | 2 years ago |
![]() |
10ba2be93f | 2 years ago |
![]() |
45940b2dba | 2 years ago |
![]() |
092233027c | 2 years ago |
![]() |
5abe4cf704 | 2 years ago |
![]() |
ab9726a41a | 2 years ago |
![]() |
6370d07f90 | 2 years ago |
![]() |
fa0318802b | 2 years ago |
![]() |
366295f09c | 2 years ago |
![]() |
48f988877d | 2 years ago |
![]() |
68a557daf5 | 2 years ago |
![]() |
02cdbc75ce | 2 years ago |
![]() |
843f1c1a8e | 2 years ago |
![]() |
50f0ff8da6 | 2 years ago |
![]() |
60d6aa0510 | 2 years ago |
![]() |
0c315c3181 | 2 years ago |
![]() |
e9dbc9fa09 | 2 years ago |
![]() |
499981ed52 | 2 years ago |
![]() |
60c1ec07e9 | 2 years ago |
![]() |
fd0f13cf63 | 2 years ago |
![]() |
3199f93d4b | 2 years ago |
![]() |
646a7c0b80 | 2 years ago |
![]() |
5b3d76067a | 2 years ago |
![]() |
c0ebfec034 | 2 years ago |
![]() |
c19797bb2e | 2 years ago |
![]() |
1f067f614a | 2 years ago |
![]() |
b4d80da3ff | 2 years ago |
![]() |
43d3e687d7 | 2 years ago |
![]() |
4bc2bf5db5 | 2 years ago |
![]() |
c7e0b6c1b2 | 2 years ago |
![]() |
247b1f616d | 2 years ago |
![]() |
b4ddf343fc | 2 years ago |
![]() |
196d02a751 | 2 years ago |
![]() |
a5b6805b5f | 2 years ago |
![]() |
e11c3d2733 | 2 years ago |
![]() |
97708e5875 | 2 years ago |
![]() |
41e57cb5b9 | 2 years ago |
![]() |
79a5e6ca3e | 2 years ago |
![]() |
2ce5f48c90 | 2 years ago |
![]() |
17ef138c21 | 2 years ago |
![]() |
cb88ff8c3f | 2 years ago |
![]() |
d40bd85368 | 2 years ago |
![]() |
d7e7d4499b | 2 years ago |
![]() |
104f71c0c3 | 2 years ago |
![]() |
16cdd6d877 | 2 years ago |
![]() |
b7091d2062 | 2 years ago |
![]() |
f8fcd6d4e5 | 2 years ago |
![]() |
15a66c7fb4 | 2 years ago |
![]() |
37e5dbab4b | 2 years ago |
![]() |
3df1859df5 | 2 years ago |
![]() |
14f2d03ebf | 2 years ago |
![]() |
3422ca43ff | 2 years ago |
![]() |
a83351a73c | 2 years ago |
![]() |
39650a4ca0 | 2 years ago |
![]() |
8d54519771 | 2 years ago |
![]() |
9f1f1435ce | 2 years ago |
![]() |
78e533952c | 2 years ago |
![]() |
e19e23022b | 2 years ago |
![]() |
68aac2153b | 2 years ago |
![]() |
15379a7c2f | 2 years ago |
![]() |
61bc5fd34b | 2 years ago |
![]() |
b66e1d852e | 2 years ago |
![]() |
02fde0ad70 | 2 years ago |
![]() |
308fca7c22 | 2 years ago |
![]() |
72653c1e93 | 2 years ago |
![]() |
cd0b69b03f | 2 years ago |
![]() |
bbc9646a25 | 2 years ago |
![]() |
fd73f63ecd | 2 years ago |
![]() |
2cf7a8c8b3 | 2 years ago |
![]() |
6089cc3c98 | 2 years ago |
![]() |
05127dd3b7 | 2 years ago |
![]() |
d39c12ab4d | 2 years ago |
![]() |
ce0e60c4ea | 2 years ago |
![]() |
0938bf0692 | 2 years ago |
![]() |
fb4dd07ba4 | 2 years ago |
![]() |
6f242298fe | 2 years ago |
![]() |
0b2658374b | 2 years ago |
![]() |
2a7c933321 | 2 years ago |
![]() |
c9af24392d | 2 years ago |
![]() |
272d7d7f74 | 2 years ago |
![]() |
ce63c4cd3b | 2 years ago |
![]() |
e900d597d8 | 2 years ago |
![]() |
2ddeab8788 | 2 years ago |
![]() |
a24086da62 | 2 years ago |
![]() |
8389ed190c | 2 years ago |
![]() |
87b8655b83 | 2 years ago |
![]() |
feb8004c95 | 2 years ago |
![]() |
a01b645a79 | 2 years ago |
![]() |
3473c5e36a | 2 years ago |
![]() |
e14955cb6b | 2 years ago |
![]() |
504c53edb3 | 2 years ago |
![]() |
5e00bb930f | 2 years ago |
![]() |
6976dcf8f3 | 2 years ago |
![]() |
552e7427d8 | 2 years ago |
![]() |
661a4ee3d2 | 2 years ago |
![]() |
96af4e8db0 | 2 years ago |
![]() |
bff2595ac9 | 2 years ago |
![]() |
522cd2c462 | 2 years ago |
![]() |
2f5c1311be | 2 years ago |
![]() |
077f530b72 | 2 years ago |
![]() |
5930f3bfad | 2 years ago |
![]() |
ab10cea8b6 | 2 years ago |
![]() |
086f2f718c | 2 years ago |
![]() |
4cf17ffe62 | 2 years ago |
![]() |
0b34aa7385 | 2 years ago |
![]() |
6f1daf50d3 | 2 years ago |
![]() |
5bde99967b | 2 years ago |
![]() |
f28d469e56 | 2 years ago |
![]() |
080f33bf1f | 2 years ago |
![]() |
fad5e8547e | 2 years ago |
![]() |
dde10b7005 | 2 years ago |
![]() |
10c1cd7803 | 2 years ago |
![]() |
97a5f50271 | 2 years ago |
![]() |
e00d41f8a9 | 2 years ago |
![]() |
6a6718c9fd | 2 years ago |
![]() |
0e4e7bb050 | 2 years ago |
![]() |
0460d3380f | 2 years ago |
![]() |
e3b1eaad17 | 2 years ago |
![]() |
6ecb62356a | 2 years ago |
![]() |
47013431d2 | 2 years ago |
![]() |
b4be481f81 | 2 years ago |
![]() |
f4d1739e4a | 2 years ago |
![]() |
8b5c87d356 | 2 years ago |
548 changed files with 5316 additions and 52393 deletions
@ -1,4 +1,6 @@
|
||||
onionr/data/**/* |
||||
onionr/data |
||||
RUN-WINDOWS.bat |
||||
MY-RUN.sh |
||||
Dockerfile |
||||
.dockerignore |
||||
.git |
||||
|
@ -0,0 +1,48 @@
|
||||
# Changelog |
||||
|
||||
All notable changes to this project will be documented in this file. |
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
||||
|
||||
## [8.0.1] - 2020-12-22 |
||||
|
||||
* Fix subprocess in 3.9x with dumb hack |
||||
* Dependency bumps |
||||
|
||||
## [8.0.0] - 2020-12-04 |
||||
|
||||
* Decrease PoW until better implementation is made |
||||
|
||||
|
||||
## [7.2.0] - 2020-12-03 |
||||
|
||||
* Purge blocks not meeting current pow on startup |
||||
* Check block POW before LAN sync |
||||
* WSL fixes |
||||
|
||||
## [7.1.0] - 2020-11-23 |
||||
|
||||
* Check for ownership of existing dirs in createdirs, this prevents the rare edge case where a user might use a home directory in a location an attacker could write (allowing arbitrary code execution via plugins). This was already partially mitigated by the chmod of the home directory in any case, but this further fixes the issue. |
||||
|
||||
## [7.0.0] - 2020-11-22 |
||||
|
||||
* Removed communicator timers |
||||
* Removed direct connections and chat (these will be either plugins or separate programs/processes in the future) |
||||
|
||||
|
||||
## [5.1.0] - 2020-09-07 |
||||
|
||||
* Moved plugin web files to be in the plugin folder to reduce staticfiles blueprint coupling |
||||
* Added basic sidebar on index page |
||||
* Many bug fixes |
||||
|
||||
|
||||
## [5.0.1] - 2020-08-08 |
||||
|
||||
* bumped deadsimplekv to 0.3.2 |
||||
* bumped urllib3 to 1.25.10 |
||||
|
||||
## [5.0.0] - 2020-07-23 |
||||
|
||||
- Removed single-process POW support (was only needed on Windows) |
@ -1,28 +1,31 @@
|
||||
FROM python |
||||
FROM python:3.7 |
||||
EXPOSE 8080 |
||||
|
||||
USER root |
||||
|
||||
RUN mkdir /app |
||||
WORKDIR /app |
||||
|
||||
#Base settings |
||||
ENV HOME /root |
||||
ENV ONIONR_DOCKER=true |
||||
|
||||
#Install needed packages |
||||
RUN apt update && apt install -y tor locales |
||||
RUN apt-get update && apt-get install -y tor locales |
||||
|
||||
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ |
||||
locale-gen |
||||
ENV LANG en_US.UTF-8 |
||||
ENV LANGUAGE en_US:en |
||||
ENV LC_ALL en_US.UTF-8 |
||||
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
||||
|
||||
WORKDIR /srv/ |
||||
ADD ./requirements.txt /srv/requirements.txt |
||||
ADD ./requirements.txt /app/requirements.txt |
||||
RUN pip3 install --require-hashes -r requirements.txt |
||||
|
||||
WORKDIR /root/ |
||||
#Add Onionr source |
||||
COPY . /root/ |
||||
VOLUME /root/data/ |
||||
COPY . /app/ |
||||
|
||||
#Set upstart command |
||||
CMD bash |
||||
VOLUME /app/data/ |
||||
|
||||
#Expose ports |
||||
EXPOSE 8080 |
||||
#Default to running as nonprivileged user |
||||
RUN chmod g=u -R /app |
||||
USER 1000 |
||||
ENV HOME=/app |
||||
|
||||
CMD ["bash", "./run-onionr-node.sh"] |
||||
|
Binary file not shown.
@ -0,0 +1,19 @@
|
||||
# Generating requirements.txt |
||||
|
||||
To generate a requirements.txt file, install pip-tools from pip |
||||
|
||||
Onionr requirements files should have hashes to prevent backdooring by the pypi server. |
||||
|
||||
Put your package versions in requirements.in like normal. Child dependencies are usually not necessary: |
||||
|
||||
``` |
||||
requests==0.1.1 |
||||
flask==0.1.1 |
||||
``` |
||||
|
||||
Then generate the requirements.txt: |
||||
|
||||
`$ pip-compile requirements.in --generate-hashes -o requirements.txt` |
||||
|
||||
|
||||
Your requirements.txt will have hash-pinned requirements of all dependencies and child dependencies. |
@ -0,0 +1,44 @@
|
||||
# Running Onionr tests |
||||
|
||||
Onionr has four types of tests: |
||||
|
||||
* unittests |
||||
* integration tests |
||||
* selenium tests (web tests) |
||||
* runtime-tests |
||||
|
||||
|
||||
## unittests |
||||
|
||||
Onionr uses Python's built in unittest module. These tests are located in tests/ (top level) |
||||
|
||||
Run all tests with `$ make test`, which will also run integration tests. |
||||
|
||||
Please note that one unittest tests if runtime-tests have passed recently. This is simply a forceful reminder to run those tests as well. |
||||
|
||||
You can also run a single unittest in a loop by using the script scripts/run-unit-test-by-name.py |
||||
|
||||
## integration tests |
||||
|
||||
These tests are pretty basic and test on stdout of Onionr commands. |
||||
|
||||
They are also run from `$ make test` |
||||
|
||||
The runtime-tests do most of the actual integration testing. |
||||
|
||||
## selenium tests |
||||
|
||||
These are browser automation tests to test if the UI is working as how it should for a user. |
||||
|
||||
There's only a couple and they're incomplete, so they can be ignored for now (test manually) |
||||
|
||||
## runtime-tests |
||||
|
||||
These are important. They look into the Onionr client Flask app when Onionr daemon is running and test a bunch of things. |
||||
|
||||
If you do it a lot you should make your own Onionr network (disable official bootstrap) |
||||
|
||||
You run this while the daemon is running (probably should make sure onboarding is done), with `$ onionr.sh runtime-test` |
||||
|
||||
It's necessary to do this before running `$ make test` for unittesting |
||||
|
@ -0,0 +1,9 @@
|
||||
# Interesting papers related to Onionr development |
||||
|
||||
A paper being listed here is not end-all-be-all endorsement of every detail inside. |
||||
|
||||
* [Epidemic Routing for Partially-Connected Ad Hoc Networks](https://web.archive.org/web/20200208074703/http://issg.cs.duke.edu/epidemic/epidemic.pdf) |
||||
* [Freenet: A distibuted decentralized information storage and retrieval system](https://freenetproject.org/assets/papers/ddisrs.pdf) |
||||
* [Protecting Free Expression Online with Freenet](https://freenetproject.org/assets/papers/ddisrs.pdf) |
||||
* [Bitmessage: A Peer‐to‐Peer Message Authentication and Delivery System](https://archive.org/details/BitmessageWhitepaper/) |
||||
* [MuON: Epidemic based Mutual Anonymity](https://web.archive.org/web/20060901153544/http://www.csl.mtu.edu/cs6461/www/Reading/MuON_ICNP2005.pdf) |
@ -1,13 +1,72 @@
|
||||
<h1 align="center">Onionr Developer Guide</h1> |
||||
|
||||
This page assumes that Onionr is already installed and normal user requirements are setup. |
||||
|
||||
The Onionr development environment is simple. All one really needs is a supported Python version (currently 3.7-3.8 as of writing). |
||||
|
||||
There are additional requirements specified in requirements-dev.txt |
||||
|
||||
Intended to be used from VSCode, there are scripts in scripts/ named enable/disable-dev-config.py. |
||||
**Developers agree to the [CoC](../../CODE_OF_CONDUCT.md) and to contribute new code under GPLv3 or later**. Developers should stick to PEP8 in most cases, and write unittests or integration tests where possible. |
||||
|
||||
## Developer Scripts |
||||
|
||||
run-onionr-node.py can be used to start a node with specific parameters |
||||
|
||||
Intended to be used from VSCode (but could work otherwise), there are scripts in scripts/ named enable/disable-dev-config.py. |
||||
These make modifications to the default config for the purpose of making testing Onionr nodes easier. |
||||
Be sure to disable it again before pushing work. |
||||
|
||||
Generally, one should disable bootstrap list usage when making non trivial changes. This is a config option: general.use_bootstrap_list. |
||||
There are also scripts to generate new tests. |
||||
|
||||
*When adjusting PoW, it will make your node not compatible with the existing network* |
||||
|
||||
Generally, one should disable bootstrap list usage when testing non trivial changes. This is a config option: general.use_bootstrap_list. and can be configured through enable-dev-config.py and run-onionr-node.py |
||||
|
||||
|
||||
# Current state of Onionr [2021-01-14] |
||||
|
||||
Onionr in it's current form is functional, albeit buggy. |
||||
|
||||
|
||||
## Current major components |
||||
|
||||
Onionr runs via two main HTTP gevent servers serving Flask apps. |
||||
|
||||
Dir: apiservers |
||||
|
||||
* 1 Parent app hosts all public API endpoints for the Tor transport. |
||||
* 1 Parent app hosts all UI-related files and endpoints. Some commands and internal modules interact with this API as well |
||||
* The HTTP servers have strict anti-dns-rebinding and CSRF countermeasures, so there is a script to craft requests to the UI-related API in scripts/ |
||||
* Block storage is currently handled via metadata in sqlite (mostly defunct now), and block data storage in a different database. This is in blocks/ in running Onionr daemon data directory |
||||
* cryptography is currently handled in onionrcrypto/ except for ephemeral messages which are handled by onionr |
||||
* Transport clients run from looping threads mostly created in communicator/__init__.py, this includes block lookups and uploading on the Tor transport |
||||
|
||||
## Road map |
||||
|
||||
There are several big ways Onionr will be improved in the next major version: |
||||
|
||||
* Migration to the [new modular block system](https://git.voidnet.tech/kev/onionrblocks) |
||||
* Probability proof of work -> verifiable delay function |
||||
* Friend system built on top of signing proofs (Private networks?) |
||||
* Gossip transport improvements such as with neighbor improvements. See streamfill/ and [simple gossip](https://github.com/onion-sudo/simplegossip) for incomplete experiments |
||||
|
||||
* Finish removing "communicator" |
||||
* I2P transports |
||||
* Gossip |
||||
* Torrents (patch for sha1?) |
||||
* Modular transports |
||||
* Currently transports are just threads coupled together. |
||||
* It would be better if there was a generic way to tell any loaded transport what blocks are wanted and feed back received blocks to the database |
||||
* Migrate to SafeDB for peers and blocks |
||||
* SafeDB wrapper that contacts http endpoint to store if it is running, otherwise directly open DB |
||||
* Separate UI logic from daemon. Refactor code to |
||||
* Improve cryptography |
||||
* Restore phrases or deterministic keys (generate key from password, be very careful) |
||||
* Change identities to be dual keys (ed25519+curve25519) |
||||
* Finish treasurechest |
||||
* Interact via [named pipes](https://en.wikipedia.org/wiki/Named_pipe) |
||||
* Ephemeral key management |
||||
* Encrypt/decrypt/sign/verify functions to keep key out of main memory |
||||
* PGP-like symmetric messages |
||||
|
||||
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Running Onionr in Docker |
||||
|
||||
A Dockerfile is included in the root directory of Onionr. |
||||
|
||||
In Docker version 20.10 (and probably others), there is a strange bug where Onionr must be run with -it or stdout will be garbled and it may hang. |
||||
|
||||
## Clone and build the image |
||||
|
||||
`$ git clone https://git.voidnet.tech/kev/onionr/` |
||||
`$ cd onionr` |
||||
`$ sudo docker build -t onionr .` |
||||
|
||||
|
||||
## Run Onionr |
||||
|
||||
`$ sudo docker run -it -p 8080:8080 onionr` |
||||
|
||||
Onionr will be accessible over any network interface by default, so make sure to either change the entry point bind-address argument or set a firewall rule. |
||||
|
||||
That said, Onionr does protect it's interface by default with a web token, which will be shown in stdout. |
||||
|
||||
**However, anyone who can access the port may be able to see what Onionr sites you have saved and potentially deanonymize your node** |
||||
|
||||
## View the UI |
||||
|
||||
Visit the address and port for the machine Onionr is running on, for example: http://192.168.1.5:8080/#<long-token-taken-from-stdout> |
||||
|
||||
If you want a secure connection to the interface, either use a proxy such as nginx or caddy, or use [SSH tunneling](./vps-cloud-guide.md). |