Onionr/src/communicatorutils
Kevin Froman 60d2ebfaed + added more tests
* fixed chdir home bug
* fixed some tests creating normal data dir
2020-03-04 01:15:58 -06:00
..
downloadblocks work on mail settings 2020-02-25 20:30:04 -06:00
uploadblocks fixed hide blocks being broken in some cases 2020-01-30 00:54:43 -06:00
README.md renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
__init__.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
announcenode.py remove POW for annoncements 2020-01-19 21:02:04 -06:00
connectnewpeers.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
cooldownpeer.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
deniableinserts.py make deniable blocks larger on average 2020-01-19 21:06:22 -06:00
housekeeping.py + added more tests 2020-03-04 01:15:58 -06:00
lookupadders.py linting refactoring communicator(utils) and reduced TOCTOU issus with online peer picking 2019-12-20 01:24:38 -06:00
lookupblocks.py now avoid looking up older than allowed blocks 2020-02-23 02:12:13 -06:00
netcheck.py moved all but shutdown over to new daemon events system 2020-01-06 06:09:33 -06:00
onionrcommunicatortimers.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
proxypicker.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00
restarttor.py don't restart tor unless its our own 2020-02-02 19:07:48 -06:00
servicecreator.py renamed onionr dir and bugfixes/linting progress 2019-11-21 02:23:58 -06:00

README.md

communicatorutils

The files in this submodule handle various subtasks and utilities for the onionr communicator.

Files:

announcenode.py: Uses a communicator instance to announce our transport address to connected nodes

connectnewpeers.py: takes a communicator instance and has it connect to as many peers as needed, and/or to a new specified peer.

cooldownpeer.py: randomly selects a connected peer in a communicator and disconnects them for the purpose of security and network balancing.

daemonqueuehandler.py: checks for new commands in the daemon queue and processes them accordingly.

deniableinserts.py: insert fake blocks with the communicator for plausible deniability

downloadblocks.py: iterates a communicator instance's block download queue and attempts to download the blocks from online peers

housekeeping.py: cleans old blocks and forward secrecy keys

lookupadders.py: ask connected peers to share their list of peer transport addresses

lookupblocks.py: lookup new blocks from connected peers from the communicator

netcheck.py: check if the node is online based on communicator status and onion server ping results

onionrcommunicataortimers.py: create a timer for a function to be launched on an interval. Control how many possible instances of a timer may be running a function at once and control if the timer should be ran in a thread or not.

proxypicker.py: returns a string name for the appropriate proxy to be used with a particular peer transport address.

servicecreator.py: iterate connection blocks and create new direct connection servers for them.

uploadblocks.py: iterate a communicator's upload queue and upload the blocks to connected peers