* bumped unpaddedbase32 version
* improved readme * better shutdown message in uimaster
parent
aa07d50eed
commit
adcb3f31a9
|
@ -5,7 +5,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Private P2P Communication Network 📡
|
Privacy Respecting Communication Network 📡
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<img src='https://img.shields.io/github/license/beardog108/onionr'> <img src='https://gitlab.com/beardog/Onionr/badges/master/build.svg'> <img src='https://img.shields.io/badge/docker%20%F0%9F%90%8B-supported-success'> <img src='https://img.shields.io/badge/python%20version%20%F0%9F%90%8D-3.7+-blue'> <img src='https://img.shields.io/github/commit-activity/m/beardog108/onionr'>
|
<img src='https://img.shields.io/github/license/beardog108/onionr'> <img src='https://gitlab.com/beardog/Onionr/badges/master/build.svg'> <img src='https://img.shields.io/badge/docker%20%F0%9F%90%8B-supported-success'> <img src='https://img.shields.io/badge/python%20version%20%F0%9F%90%8D-3.7+-blue'> <img src='https://img.shields.io/github/commit-activity/m/beardog108/onionr'>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
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 ("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 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. The anonymity is achieved by a stateless network with no given indication of what node a block came from or even the user ID.
|
Onionr stores data in independent packages referred to as 'blocks'. The blocks are distributed to all interested nodes. 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. The anonymity is achieved by a stateless network with no given indication of what node a block came from or even the user ID.
|
||||||
|
|
||||||
Through 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 or I2P. 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.
|
Through 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 or I2P. 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.
|
||||||
|
|
||||||
|
|
|
@ -202,6 +202,7 @@ class OnionrCommunicatorDaemon:
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
# Stop onionr direct connection services
|
||||||
for server in self.service_greenlets:
|
for server in self.service_greenlets:
|
||||||
server.stop()
|
server.stop()
|
||||||
localcommand.local_command('shutdown') # shutdown the api
|
localcommand.local_command('shutdown') # shutdown the api
|
||||||
|
|
|
@ -47,7 +47,7 @@ def site(name: str)->Response:
|
||||||
# Now make sure the key is regardless a valid base32 format ed25519 key (readding padding if necessary)
|
# Now make sure the key is regardless a valid base32 format ed25519 key (readding padding if necessary)
|
||||||
if stringvalidators.validate_pub_key(name):
|
if stringvalidators.validate_pub_key(name):
|
||||||
name = unpaddedbase32.repad(name)
|
name = unpaddedbase32.repad(name)
|
||||||
resp = sitefiles.get_file('index.html')
|
resp = sitefiles.get_file(name, 'index.html')
|
||||||
|
|
||||||
elif stringvalidators.validate_hash(name):
|
elif stringvalidators.validate_hash(name):
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -14,9 +14,13 @@ from onionrcrypto import generate_deterministic
|
||||||
|
|
||||||
def find_site_gzip(user_id: str)->str:
|
def find_site_gzip(user_id: str)->str:
|
||||||
sites = blockmetadb.get_blocks_by_type('osite')
|
sites = blockmetadb.get_blocks_by_type('osite')
|
||||||
|
user_site = None
|
||||||
for site in sites:
|
for site in sites:
|
||||||
if onionrblockapi.Block(site).isSigner(user_id):
|
block = onionrblockapi.Block(site)
|
||||||
return tarfile.open(fileobj=io.BytesIO(site.bcontent), mode='r')
|
if block.isSigner(user_id):
|
||||||
|
user_site = block
|
||||||
|
if not user_site is None:
|
||||||
|
return tarfile.open(fileobj=io.BytesIO(user_site.bcontent), mode='r')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_file(user_id, file)->Union[bytes, None]:
|
def get_file(user_id, file)->Union[bytes, None]:
|
||||||
|
|
|
@ -6,7 +6,7 @@ Flask==1.1.1
|
||||||
PySocks==1.6.8
|
PySocks==1.6.8
|
||||||
stem==1.7.1
|
stem==1.7.1
|
||||||
deadsimplekv==0.2.0
|
deadsimplekv==0.2.0
|
||||||
unpaddedbase32==0.1.0
|
unpaddedbase32==0.2.0
|
||||||
streamedrequests==1.0.0
|
streamedrequests==1.0.0
|
||||||
jinja2==2.10.1
|
jinja2==2.10.1
|
||||||
toomanyobjs==1.1.0
|
toomanyobjs==1.1.0
|
||||||
|
|
|
@ -178,8 +178,9 @@ streamedrequests==1.0.0 \
|
||||||
--hash=sha256:1d9d07394804a6e1fd66bde74a804e71cab98e6920053865574a459f1cf7d3b7
|
--hash=sha256:1d9d07394804a6e1fd66bde74a804e71cab98e6920053865574a459f1cf7d3b7
|
||||||
toomanyobjs==1.1.0 \
|
toomanyobjs==1.1.0 \
|
||||||
--hash=sha256:99e27468f9dad19127be9e2fb086b42acd69aed9ad7e63cef74d6e4389be0534
|
--hash=sha256:99e27468f9dad19127be9e2fb086b42acd69aed9ad7e63cef74d6e4389be0534
|
||||||
unpaddedbase32==0.1.0 \
|
unpaddedbase32==0.2.0 \
|
||||||
--hash=sha256:5e4143fcaf77c9c6b4f60d18301c7570f0dac561dcf9b9aed8b5ba6ead7f218c
|
--hash=sha256:4aacee75f8fd6c8cf129842ecba45ca59c11bfb13dae19d86f32b48fa3715403 \
|
||||||
|
--hash=sha256:b7b780c31d27d55e66abf6c221216a35690ee8892c2daacff7f2528e229bd9c3
|
||||||
urllib3==1.24.2 \
|
urllib3==1.24.2 \
|
||||||
--hash=sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0 \
|
--hash=sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0 \
|
||||||
--hash=sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3
|
--hash=sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
<div id="shutdownNotice" class='overlay'>
|
<div id="shutdownNotice" class='overlay'>
|
||||||
<div>
|
<div>
|
||||||
<p>Your node will shutdown. Thank you for using Onionr.</p>
|
<p>Your node will shutdown. Thank you for using Onionr.</p>
|
||||||
|
<p>If you are using random bind IPs (default in non dev mode), Onionr will have a different URL next time.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
<div id="shutdownNotice" class="overlay">
|
<div id="shutdownNotice" class="overlay">
|
||||||
<div>
|
<div>
|
||||||
<p>Your node will shutdown. Thank you for using Onionr.</p>
|
<p>Your node will shutdown. Thank you for using Onionr.</p>
|
||||||
|
<p>If you are using random bind IPs (default in non dev mode), Onionr will have a different URL next time.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue