Commit Graph

134 Commits

Author SHA1 Message Date
fe6a6af1db
Started a test case for the tor service 2025-02-21 03:30:31 +02:00
cb239c7d68
Bump version to 0.3.4 2025-02-18 05:25:05 +02:00
ec4e24185a
Don't advertise own peer if run with --no-incoming or reported IP is 127.0.0.1 2025-02-18 05:25:04 +02:00
d17de19aca
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 05:24:55 +02:00
c5a1310083
Conform tor setup to the restrictions for incoming and outgoing connections;
don't start the tor service with --no-incoming if there is a system one.
2025-02-18 05:23:07 +02:00
a0537a9e66
Don't try to resolve DNS seeds if tor is enabled 2025-02-18 05:06:14 +02:00
b1749c368c
Test process with --tor, set env variable HOME for tor 2025-02-18 05:06:13 +02:00
ff0df70388
Complete help string on the --tor arg 2025-02-18 05:06:13 +02:00
947607937c
Skip TLS also for incoming connections using tor 2025-02-18 05:06:12 +02:00
d6de7c8d1e
A rough implementation of onion service based on pybitmessage plugin;
publishing interval for onionpeer object is a half of its TTL,
as for I2P destination.
2025-02-18 05:02:11 +02:00
59fcd9eb2b
A test for encoding and decoding of onion peer object 2025-02-18 04:39:29 +02:00
1400486b22
Parse socks_proxy arg with urllib.parse and support more parameters 2025-02-18 04:39:29 +02:00
cd6f82bc2a
Add a simple blind test for process running with --socks-proxy 2025-02-18 04:39:28 +02:00
a10a905407
Do not start TLS in onion connections 2025-02-18 04:39:28 +02:00
bdfd39a163
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 04:39:14 +02:00
452fe8d5f1
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 04:39:07 +02:00
efc4be0ec1
Document the main proofofwork call
All checks were successful
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)
All checks were successful
Testing / default (push) Successful in 9m0s
2024-10-25 23:48:50 +03:00
70f059d9b1
Removed unneeded objects validation in Manager.clean_objects()
All checks were successful
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
All checks were successful
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
All checks were successful
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
All checks were successful
Testing / default (push) Successful in 6m0s
2024-07-30 01:32:02 +03:00
a01e2d3469
Add a test for the saved I2P keys 2024-07-29 15:44:36 +03:00
0c898f687b
Expect I2PController to start in TestProcess._wait_time before checks,
thus increasing the maximum wait time, but increase also _connection_limit,
because 2 connections it is only the controller and the listener.
2024-07-29 15:43:09 +03:00
a451a255af
Bump version to 0.3.3
All checks were successful
Testing / default (push) Successful in 4m14s
2024-07-09 05:41:35 +03:00
16031874c7
Relax the condition in TestProcess.test_connections() 2024-07-09 05:41:23 +03:00
aa6e8a57fb
Copy the relevant part of test_network_group() from PyBitmessage 2024-06-25 20:19:31 +03:00
e11aece1a8
Invalidate the version message with a large time offset 2024-06-25 20:19:30 +03:00
908ed1f582
Run listener with a large time offset and ensure it's not connected 2024-06-25 20:19:30 +03:00
1b9648f3de
Correct position of the except clause in listener loop 2024-06-25 20:19:29 +03:00
c4d22c4c21
Add a test case for listener with a process running with --trusted-peer 2024-06-25 20:19:29 +03:00
5ca6e8a3e3
Add a test for connections with large time offset 2024-06-25 20:19:24 +03:00
abf062ac86
Check network group of connections in process test if it isn't for i2p 2024-06-25 19:55:29 +03:00
7719de5338
Define a static method network_group() in NetAddrNoPrefix
and use it in manager.
2024-06-25 19:55:28 +03:00
b0fa199838
A short test for normal connection (with timeout in 5 min) 2024-06-25 19:55:27 +03:00
f9272cbac9
Define a base class for connection to subclass for special purposes 2024-06-25 19:55:27 +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
740654b563
Make tuples from sets before taking random samples 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