Commit Graph

210 Commits

Author SHA1 Message Date
b478913b85
Bump version to 0.3.4 2024-07-06 06:08:02 +03:00
a3cffce1ed
Don't advertise own peer if run with --no-incoming or reported IP is 127.0.0.1 2024-07-06 06:08:01 +03:00
c4df256415
Improve the logic of starting tor:
set missing initial port, exit on failure,
increase timeout to 90 reducing number of attempts to 20.
2024-07-06 06:08:01 +03:00
4a51979966
Conform tor setup to the restrictions for incoming and outgoing connections 2024-07-06 06:08:01 +03:00
de140baeb4
Don't try to resolve DNS seeds if tor is enabled 2024-07-06 06:08:00 +03:00
aeac305dd5
Test process with --tor, set env variable HOME for tor 2024-07-06 06:08:00 +03:00
4b10a1f56c
Update command line dump in README 2024-07-06 06:08:00 +03:00
7ca7bd2677
Complete help string on the --tor arg 2024-07-06 06:07:59 +03:00
4d16b4f077
Skip TLS also for incoming connections using tor 2024-07-06 06:07:59 +03:00
c998cf2e66
Add a stem requirement for testing and a new extra - 'tor' 2024-07-06 06:07:21 +03:00
4bcd7076e2
A rough implementation of onion service based on pybitmessage plugin 2024-07-06 06:06:57 +03:00
46f2d2d1e3
A test for encoding and decoding of onion peer object 2024-06-26 00:06:50 +03:00
dd7d08482d
Parse socks_proxy arg with urllib.parse and support more parameters 2024-06-26 00:06:50 +03:00
04cd99ed2b
Install and start tor in buildbot 2024-06-26 00:06:44 +03:00
4cc55e7242
Add a simple blind test for process running with --socks-proxy 2024-06-26 00:04:29 +03:00
6bd3190349
Add an extra 'proxy' with a requirement of PySocks 2024-06-26 00:04:29 +03:00
b5259d72c1
Do not start TLS in onion connections 2024-06-26 00:04:28 +03:00
8105453861
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.
2024-06-26 00:03:34 +03:00
d589ce3bec
A minimal implementation of proxy for outgoing connections using PySocks,
special arg --tor currently just sets host and port for the socks_proxy.
2024-06-25 23:58:01 +03:00
65bb09000d
Define a base class for connection to subclass for special purposes 2024-06-25 23:58:01 +03:00
efeabcb4cf
Cleanup the wait time in test_process, correct format in TestProcess.fail()
Some checks failed
Testing / default (push) Failing after 3m49s
2024-06-18 19:09:31 +03:00
12f6e34afe
Add a gitea workflow badge in readme 2024-06-08 04:44:43 +03:00
fd68c6ebe2
Rewrite the github workflow to use by gitea 2024-05-07 19:15:36 +03:00
740654b563
Make tuples from sets before taking random samples 2024-05-07 19:15:36 +03:00
4e77342d4d
.dockerignore for local run 2024-05-07 19:15:36 +03:00
ddba85384d
Update the buildbot_multibuild dir to jammy and enable py311 2024-05-07 19:15:36 +03:00
5a65978678
Fix a mistake in Connection._do_tls_handshake(): return on exception,
log ssl.SSLError reason and discard the node.
2024-05-07 19:15:36 +03:00
d06beded72
Resolve an SSL issue connecting to PyBitmessage 0.6.1 or using openssl 3.0,
log version
2024-05-07 19:15:00 +03:00
c9a3877b92
Lower logging level for connection error messages in I2PDialer 2023-12-24 01:44:08 +02:00
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
9bcaea12cf
Specifically skip B311 in manager by bandit 2023-10-14 01:06:31 +03:00
e4c2c1be16
Make load_data a static method in manager,
use ascii while loading nodes csv.
2023-10-14 01:06:31 +03:00
a7187d8dfd
Suppress some too-many-* pylint design warnings in parse_arguments() 2023-10-14 01:06:31 +03:00
ddf07fd506
Set object tag for object types supporting it 2023-10-12 19:50:18 +03:00
2145f5839e
Cover the main proofofwork call and worker procedure 2023-10-12 19:50:15 +03:00
b806906af4
Add Error message class, handle fatal 2023-10-12 19:49:32 +03:00
3f61bd694b
Define a helper function to read a varint and trim payload 2023-10-12 19:49:32 +03:00
7812e4bbc2
Use shared.stream when assembling i2p_dest object instead of hardcoded 1 2023-10-12 19:49:32 +03:00
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
428580a980
Add a test for version message 2023-10-12 19:49:32 +03:00
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
218905739c
Add a test for object covering also proofofwork 2023-10-12 19:48:52 +03:00
e4887734a0
Send ping into inactive connection, not pong 2023-10-07 17:55:49 +03:00
ae40a3d0b8
Update copyright notes 2023-10-07 17:53:11 +03:00
fe508c176b
Update the Specification link 2023-08-23 02:47:03 +03:00
58a80bb4a4
Remove unreachable except clause for ConnectionResetError
- handled in socket.error branch. TODO: follow PEP 3151
2023-08-20 01:19:11 +03:00
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
45a4a8fd31
Manifest disconnecting 2023-08-16 03:42:16 +03:00
644a09ba0b
Set maximum args to 7 for pylint design checker 2023-08-15 00:13:36 +03:00
67ecbf95d3
Suppress false positives on unsubscriptable-object in connection 2023-08-14 23:59:57 +03:00