onionr/src/communicatorutils
Kevin Froman 862b39c217 fix systemrandom shuffle 2020-10-22 14:25:57 +00:00
..
downloadblocks remove random shuffle function for systemrandom equivalent 2020-10-21 09:46:05 +00:00
uploadblocks fix systemrandom shuffle 2020-10-22 14:25:57 +00: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 Fixed some broken things from communicator decoupling 2020-08-08 12:38:14 -05:00
connectnewpeers.py do not upload plaintext to peers that do not support it, closes #14 2020-10-10 04:26:51 +00:00
cooldownpeer.py Moved all communicator ext vars to KV 2020-07-29 03:57:06 -05:00
deniableinserts.py formatting and comment improvements, cleanup 2020-07-07 09:11:30 -05:00
housekeeping.py Added/corrected timeouts for sqlite3 database connections 2020-08-16 19:52:50 -05:00
lookupadders.py fixed pex 2020-10-11 05:58:42 +00:00
lookupblocks.py Fixing block syncing quirks 2020-08-25 15:02:13 -05:00
netcheck.py Added tor restart button to index and tor restart command. Enabled tor restart daemon event 2020-09-15 17:08:50 +00:00
onionrcommunicatortimers.py Moved onlinePeers to KV to further reduce coupling 2020-07-25 22:28:32 -05:00
proxypicker.py formatting and comment improvements, cleanup 2020-07-07 09:11:30 -05:00
restarttor.py Added tor restart button to index and tor restart command. Enabled tor restart daemon event 2020-09-15 17:08:50 +00:00
servicecreator.py formatting and comment improvements, cleanup 2020-07-07 09:11:30 -05: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