Commit Graph

198 Commits

Author SHA1 Message Date
Lee Miller 2712d21214
Bump version to 0.3.4 2023-10-17 06:05:21 +03:00
Lee Miller 750cfdf4cc
Test process with --tor, set env variable HOME for tor 2023-10-17 06:05:21 +03:00
Lee Miller 377010c9b7
Update command line dump in README 2023-10-17 06:05:21 +03:00
Lee Miller d3d05d0084
Complete help string on the --tor arg 2023-10-17 06:05:21 +03:00
Lee Miller d3a9f128a9
Skip TLS also for incoming connections using tor 2023-10-17 06:05:21 +03:00
Lee Miller 8f83634068
Add a stem requirement for testing and a new extra - 'tor' 2023-10-17 06:05:20 +03:00
Lee Miller 3d52b5488d
A rough implementation of onion service based on pybitmessage plugin 2023-10-17 06:05:20 +03:00
Lee Miller 6c432d38ac
A test for encoding and decoding of onion peer object 2023-10-17 06:05:20 +03:00
Lee Miller f8e0eefb39
Parse socks_proxy arg with urllib.parse and support more parameters 2023-10-17 06:05:00 +03:00
Lee Miller 7b62a7b14a
Resolve the conflict between socks proxy and i2p
by preventing their simultaneous use.
2023-10-17 06:04:50 +03:00
Lee Miller b26cf7322d
Reduce logging verbosity for socks.GeneralProxyError 2023-10-17 06:04:50 +03:00
Lee Miller 4c63a1be40
Install and start tor in buildbot 2023-10-17 06:04:50 +03:00
Lee Miller 8fc40a9d7d
Add a simple blind test for process running with --socks-proxy 2023-10-17 06:04:50 +03:00
Lee Miller dadde74d24
Add an extra 'proxy' with a requirement of PySocks 2023-10-17 06:04:50 +03:00
Lee Miller cee80ca34e
Do not start TLS in onion connections 2023-10-17 06:04:50 +03:00
Lee Miller a1427290c1
Implement decoding and connection to onion peer:
make a separate a bit controversial class structure.OnionPeer(),
having .from_object() and .to_object() instead of .from_bytes() etc.
2023-10-17 06:04:23 +03:00
Lee Miller 8fd34d879d
A minimal implementation of proxy for outgoing connections using PySocks,
special arg --tor currently just sets host and port for the socks_proxy.
2023-10-17 05:41:33 +03:00
Lee Miller d7ee73843e
Adjust pylint design checker parameters:
raise max-args to 8, add max-attributes with the same value.
2023-10-14 03:43:22 +03:00
Lee Miller 9bcaea12cf
Specifically skip B311 in manager by bandit 2023-10-14 01:06:31 +03:00
Lee Miller e4c2c1be16
Make load_data a static method in manager,
use ascii while loading nodes csv.
2023-10-14 01:06:31 +03:00
Lee Miller a7187d8dfd
Suppress some too-many-* pylint design warnings in parse_arguments() 2023-10-14 01:06:31 +03:00
Lee Miller ddf07fd506
Set object tag for object types supporting it 2023-10-12 19:50:18 +03:00
Lee Miller 2145f5839e
Cover the main proofofwork call and worker procedure 2023-10-12 19:50:15 +03:00
Lee Miller b806906af4
Add Error message class, handle fatal 2023-10-12 19:49:32 +03:00
Lee Miller 3f61bd694b
Define a helper function to read a varint and trim payload 2023-10-12 19:49:32 +03:00
Lee Miller 7812e4bbc2
Use shared.stream when assembling i2p_dest object instead of hardcoded 1 2023-10-12 19:49:32 +03:00
Lee Miller fda6ecfe01
Unify and improve message.Version:
- from_message() decoding method as in other messages;
  - support multiple streams and move stream check to connection;
  - use shared.stream instead of hardcoded 1;
  - replace values from shared with the instance attributes in to_bytes(),
    put conventional 1 as services of a remote host.
2023-10-12 19:49:32 +03:00
Lee Miller 428580a980
Add a test for version message 2023-10-12 19:49:32 +03:00
Lee Miller 399fc6f21f
Improve structure.Object:
- use shared.stream instead of hardcoded 1;
  - reuse pow_initial_hash() in is_valid().
2023-10-12 19:49:31 +03:00
Lee Miller 218905739c
Add a test for object covering also proofofwork 2023-10-12 19:48:52 +03:00
Lee Miller e4887734a0
Send ping into inactive connection, not pong 2023-10-07 17:55:49 +03:00
Lee Miller ae40a3d0b8
Update copyright notes 2023-10-07 17:53:11 +03:00
Lee Miller fe508c176b
Update the Specification link 2023-08-23 02:47:03 +03:00
Lee Miller 58a80bb4a4
Remove unreachable except clause for ConnectionResetError
- handled in socket.error branch. TODO: follow PEP 3151
2023-08-20 01:19:11 +03:00
Lee Miller 8755e56167
Replace Manager.clean_objects() by the extended version from main
and call it upon the Manager start.
2023-08-20 01:14:17 +03:00
Lee Miller 45a4a8fd31
Manifest disconnecting 2023-08-16 03:42:16 +03:00
Lee Miller 644a09ba0b
Set maximum args to 7 for pylint design checker 2023-08-15 00:13:36 +03:00
Lee Miller 67ecbf95d3
Suppress false positives on unsubscriptable-object in connection 2023-08-14 23:59:57 +03:00
Lee Miller b38e00c0a3
Handle pylint warnings in test_process, suppress fixme globally 2023-08-14 06:05:29 +03:00
Lee Miller e249e501cc
Fix formatting lint issues 2023-08-14 05:53:20 +03:00
Lee Miller 4f1e14da2a
Finish test_address() using a sample data, generated with pybitmessage 2023-08-14 05:15:09 +03:00
Lee Miller dd2b0b89af
Improve docstrings in message and structure and add more 2023-08-14 05:15:08 +03:00
Lee Miller 3788b12a28
Complete test_packet()
with parsing a prepared message and assertion of validation,
including message.Header; use magic_bytes from shared
assuming the value from the Spec.

Cover message.Message except for repr
2023-08-14 05:14:31 +03:00
Lee Miller c6d8bd64b2
Bump version to 0.3.2 2023-08-12 06:36:17 +03:00
Lee Miller 6558245a32
Minimal implementation of anti-intersection delay to wait before getdata 2023-08-12 06:35:15 +03:00
Lee Miller 1dfe98cf1f
Test shutting down minode --i2p if there is no running i2pd 2023-08-10 03:55:48 +03:00
Lee Miller e8dc62f08b
Allow shutting down while starting I2P listener 2023-08-10 03:52:16 +03:00
Lee Miller 761c95d561
Fix SSLError in incoming connection with python 3.10 2023-08-04 00:27:38 +03:00
Lee Miller 42995c5ca7
Check host and port of I2P connections 2023-08-02 23:02:21 +03:00
Lee Miller c6d0160001
Move s and state into the base 2023-08-02 05:23:33 +03:00