afcdd11059
Merge branch 'tor' into testing
Testing / default (push) Has been cancelled
2025-02-18 03:59:23 +02:00
25cb745f05
Merge branch 'protocol' into testing
2025-02-18 03:58:42 +02:00
2ce34471e1
Started a test case for the tor service
2025-02-18 03:54:14 +02:00
5b60281ede
Fix publishing the onion - supposed to be done every 4 hours
2025-02-18 03:54:14 +02:00
c4194ea408
Don't start the tor service with --no-incoming if there is a system one
2025-02-18 03:54:13 +02:00
2b24a2cb6c
Bump version to 0.3.4
2025-02-18 03:54:13 +02:00
8580425385
Don't advertise own peer if run with --no-incoming or reported IP is 127.0.0.1
2025-02-18 03:54:13 +02:00
f5f271d378
Improve the logic of starting tor:
...
set missing initial port, exit on failure,
increase timeout to 90 reducing number of attempts to 20.
2025-02-18 03:54:12 +02:00
4eced74262
Conform tor setup to the restrictions for incoming and outgoing connections
2025-02-18 03:54:12 +02:00
18af183b38
Don't try to resolve DNS seeds if tor is enabled
2025-02-18 03:54:11 +02:00
5c73199d7e
Test process with --tor, set env variable HOME for tor
2025-02-18 03:54:11 +02:00
0cb4d67610
Complete help string on the --tor arg
2025-02-18 03:54:10 +02:00
a583bc68eb
Skip TLS also for incoming connections using tor
2025-02-18 03:54:10 +02:00
44ce91a169
A rough implementation of onion service based on pybitmessage plugin
2025-02-18 03:54:09 +02:00
d38d202b43
A test for encoding and decoding of onion peer object
2025-02-18 03:54:09 +02:00
6234474dba
Parse socks_proxy arg with urllib.parse and support more parameters
2025-02-18 03:54:08 +02:00
aa1442e2e4
Add a simple blind test for process running with --socks-proxy
2025-02-18 03:54:08 +02:00
4a5b3201a8
Do not start TLS in onion connections
2025-02-18 03:54:07 +02:00
253fe9e9e9
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.
2025-02-18 03:54:07 +02:00
9a4a0e5445
A minimal implementation of proxy for outgoing connections using PySocks,
...
special arg --tor currently just sets host and port for the socks_proxy.
2025-02-18 03:54:06 +02:00
27e72d2027
Add a minimal sanity check for addresses in the received addr message
2025-02-18 03:52:19 +02:00
2b312c4255
Lower timestamps in the addr message by a half of PyBitmessage ADDRESS_ALIVE
2025-02-18 03:52:11 +02:00
b83262fe66
Merge branch 'memory' into testing
2025-02-18 03:17:04 +02:00
1caf3288b2
Merge branch 'network-nonce' into testing
2025-02-18 03:08:04 +02:00
fa50a844ad
Discard the disconnected node from unchecked_node_pool
2025-02-18 03:07:47 +02:00
b9e5b07e1b
Generate new nonce for the I2P connections and improve nonce handling:
...
- make tuple (host, port) a key for shared.nonce_pool
to differentiate incoming tor connections,
- reserve 127.0.0.1, 8448 for self,
- convert nonce to string for logging.
2025-02-18 03:07:46 +02:00
d1b0f06ac1
Log also nonce when processing the version message
2025-02-18 03:07:46 +02:00
2147a6a716
Don't connect to nodes with the same nonce
2025-02-18 03:07:46 +02:00
21fe906ac3
Rewrite duplicate connection handling in i2p.listener, correct except clause
2025-02-18 03:07:04 +02:00
2f4cb203c8
Merge branch 'network' into testing
2025-02-18 03:05:00 +02:00
fd5c2c803d
Update request time in vectors_requested to not re-request too often
2025-02-18 03:04:24 +02:00
13d1a94ddf
Addressed pylint too-many-positional-arguments in connection,
...
reduced the number of instance attributes.
2025-02-14 05:33:04 +02:00
16c8c412bf
Addressed pylint too-many-positional-arguments in structure.Object
2025-02-14 05:33:04 +02:00
5ee3eec0ae
Addressed pylint too-many-positional-arguments in i2p,
...
simplified I2PDialer instantiation.
2025-02-14 05:33:03 +02:00
4b38debc35
Addressed pylint too-many-positional-arguments in message.Version
2025-02-14 05:32:57 +02:00
efc4be0ec1
Document the main proofofwork call
Testing / default (push) Successful in 9m40s
2025-01-27 22:26:43 +02:00
3623a05d55
Added docstrings in manager
2025-01-27 22:26:43 +02:00
6d84a5f20e
Added docstrings in i2p.util
2025-01-27 22:26:43 +02:00
ec24afd3bd
Define abstract bases in message and structure to reduce docstrings
2025-01-27 22:26:42 +02:00
c76a7556d7
Don't set shared.hosts - unused (duplicated in i2p.listener)
Testing / default (push) Successful in 9m0s
2024-10-25 23:48:50 +03:00
70f059d9b1
Removed unneeded objects validation in Manager.clean_objects()
Testing / default (push) Successful in 8m1s
2024-10-23 01:37:32 +03:00
9bb3038547
Unref open connections in the listener loops to let gc collect when closed
Testing / default (push) Successful in 10m11s
2024-10-22 04:48:45 +03:00
dcaee3febf
Add a test for the closed connection remaining in memory
2024-10-22 04:48:38 +03:00
f09509893f
Test bootstrapping with a minode process
Testing / default (push) Successful in 8m45s
2024-09-23 04:35:49 +03:00
144c3240db
Ensure main.bootstrap_from_dns() adds IPv6 addresses to the core nodes
2024-09-23 04:35:49 +03:00
80ca750da2
Added a test for bootstrapping
2024-09-23 04:35:48 +03:00
ce8bef45b8
Reduce number of simultaneous bootstrappers, refill the bootstrap pool
2024-09-23 04:33:22 +03:00
7053ac84f7
Try not to add core nodes to pool
2024-09-23 04:33:21 +03:00
05fcbdb45c
A rough implementation of proper bootstrapping:
...
added a Bootstrapper connection class, connect() and bootstrap() closures
in Manager.manage_connections(). The later is called while
shared.unchecked_node_pool is empty.
2024-09-23 04:28:33 +03:00
d106078dac
Skip tests instead of failing if I2PController freezes
Testing / default (push) Successful in 6m0s
2024-07-30 01:32:02 +03:00