Mark Qvist
5faf13d505
Expanded address space to 128 bits
2022-06-30 14:02:57 +02:00
Mark Qvist
aa255d0713
Tuned I2PInterface socket timeouts
2022-06-13 15:45:53 +02:00
Mark Qvist
5a8152c589
Fixed I2PInterface status not being set on connectable interfaces
2022-06-12 21:34:54 +02:00
Mark Qvist
8a24dbae40
Added filter option to rnstatus utility
2022-06-12 19:08:47 +02:00
Mark Qvist
2166294a7a
Optimised resource transfer speed on faster links
2022-06-12 18:56:49 +02:00
Mark Qvist
8042f5eaa1
Improved log output
2022-06-12 18:55:06 +02:00
Mark Qvist
ae8fcb88d8
Resource timeout tuning
2022-06-12 13:28:05 +02:00
Mark Qvist
d7a444556a
Tuned TCP socket options
2022-06-12 11:50:09 +02:00
Mark Qvist
3c81f93d4a
Added link accept option to API
2022-06-12 11:49:24 +02:00
Mark Qvist
2685e043ea
Fixed missing check for zero-length packets on IFAC-enabled interfaces. Fixes #65 .
2022-06-11 18:52:33 +02:00
Mark Qvist
d39c1893e7
Cleanup
2022-06-11 14:11:58 +02:00
Mark Qvist
548cbd50d8
Improved I2PInterface error handling and stability
2022-06-11 13:52:56 +02:00
Mark Qvist
6b06875c42
Fixed potential undefined variable
2022-06-11 13:42:08 +02:00
Mark Qvist
d7262c7cbe
Fixed socket leak in I2PInterface
2022-06-11 11:27:01 +02:00
Mark Qvist
8451bbe7e6
Tuned resource window
2022-06-10 18:17:48 +02:00
Mark Qvist
1ac7238347
Cleanup
2022-06-10 17:05:00 +02:00
Mark Qvist
68cd79768b
Added internal python-only AES-128-CBC implementation
2022-06-09 21:13:34 +02:00
Mark Qvist
2c1b3a0e5b
Optimised resource performance over varied network topologies
2022-06-09 19:29:33 +02:00
Mark Qvist
02968baa76
Added establishment cost property to Link
2022-06-09 19:28:31 +02:00
Mark Qvist
513a82e363
Updated link test
2022-06-09 17:14:43 +02:00
Mark Qvist
be6910e4e0
Work on Resource optimisation
2022-06-09 17:00:27 +02:00
Mark Qvist
0a8b755230
Transport optimisations
2022-06-09 16:54:47 +02:00
Mark Qvist
d334613888
Removed delay
2022-06-09 16:48:31 +02:00
Mark Qvist
14bdcaf770
Added size print function
2022-06-09 14:46:36 +02:00
Mark Qvist
592c405067
Cleanup
2022-06-09 14:46:02 +02:00
Mark Qvist
648e9a68b8
Added profiling info to LocalInterface
2022-06-09 14:45:00 +02:00
Mark Qvist
26dae3830e
Fixed unclosed socket in AutoInterface
2022-06-09 08:48:55 +02:00
Mark Qvist
7916b8e7f4
Automatic switch to internal backend on missing PyCA module
2022-06-08 21:25:46 +02:00
Mark Qvist
c46b98f163
Added python-only fallback for SHA-256 and SHA-512
2022-06-08 21:03:58 +02:00
Mark Qvist
86061f9f47
Cleanup
2022-06-08 19:47:51 +02:00
Mark Qvist
e0b795b4d0
Added internal python-only implementation of Ed25519
2022-06-08 19:47:09 +02:00
Mark Qvist
34efbc6100
Cleanup
2022-06-08 17:05:15 +02:00
Mark Qvist
94edc8eff3
Implemented proxies to pyca X25519
2022-06-08 17:03:40 +02:00
Mark Qvist
e2aeb56c12
Renamed file
2022-06-08 15:54:48 +02:00
Mark Qvist
9a4325ce8e
Constant time X25519 exchange
2022-06-08 15:52:37 +02:00
Mark Qvist
06fffe5a94
Use internal implementation for X25519 key exchanges
2022-06-08 13:36:23 +02:00
Mark Qvist
7a596882a8
Cleanup
2022-06-08 12:52:42 +02:00
Mark Qvist
76f86f782a
Moved Destination Fernet to internal implementation
2022-06-08 12:37:24 +02:00
Mark Qvist
4bd5f05e0e
Moved Link Fernet to internal implementation
2022-06-08 12:34:31 +02:00
Mark Qvist
5d3a0efc89
Moved Identity Fernet to internal implementation
2022-06-08 12:29:51 +02:00
Mark Qvist
d1a461a2b3
Added multi-backend abstraction for AES-128 CBC primitive
2022-06-08 12:21:50 +02:00
Mark Qvist
0b1e7df31a
Added internal Fernet implementation
2022-06-07 17:38:57 +02:00
Mark Qvist
301661c29e
Set SHA-256 as default hash for HMAC
2022-06-07 17:33:08 +02:00
Mark Qvist
b2b6708e8f
Added python-only implementation of PKCS7 padding
2022-06-07 17:32:22 +02:00
Mark Qvist
19a033db96
Freed RNS from dependency on PyCA HMAC, HKDF and hashes
2022-06-07 15:48:23 +02:00
Mark Qvist
5bb510b589
Added internal python-only HKDF
2022-06-07 15:26:45 +02:00
Mark Qvist
f1dcda82ac
Added internal python-only HMAC implementation
2022-06-07 15:25:41 +02:00
Mark Qvist
d24f3a490a
Added internal abstraction to SHA-256
2022-06-07 15:21:19 +02:00
Mark Qvist
715a84c6f2
Moved hashing to native python3 hashlib
2022-06-07 12:51:41 +02:00
Mark Qvist
379e56b2ce
Socket option check for OpenWRT compatibility
2022-06-07 12:40:50 +02:00
Mark Qvist
c6df6293b2
Added hardware MTU parameter to interfaces
2022-05-29 15:43:50 +02:00
Mark Qvist
9e20ba2dac
Implemented I2PInterface recovery on I2P router restart
2022-05-28 02:24:01 +02:00
Mark Qvist
49ed335e19
Cleanup
2022-05-26 16:52:28 +02:00
Mark Qvist
33fac728f8
Improved link stale process and timeout calculations
2022-05-26 16:49:02 +02:00
Mark Qvist
49616a36cf
Fixed I2P controller startup when event loop is not immediately ready
2022-05-26 09:54:56 +02:00
Mark Qvist
1e77f85cd4
Fixed rnx version output
2022-05-26 00:03:37 +02:00
Mark Qvist
9e316ab989
Fixed deprecated options in asyncio API for Python 3.10. Fixes #58 .
2022-05-25 23:11:01 +02:00
Mark Qvist
94749e0dde
Updated default configs
2022-05-25 23:10:05 +02:00
Mark Qvist
a6dbc53209
Improved status display for I2P interfaces
2022-05-25 21:44:49 +02:00
Mark Qvist
3af5a8f3ed
Improved I2P server tunnel error handling. Fixes #13 .
2022-05-25 21:23:52 +02:00
Mark Qvist
fb5172ff10
Improved I2P client tunnel error handling
2022-05-25 20:18:06 +02:00
Mark Qvist
d3ab0878e0
Improved I2P interface display in rnstatus
2022-05-25 15:50:54 +02:00
Mark Qvist
7848b7e396
Fixed invalid reference in rnx
2022-05-25 15:08:45 +02:00
Mark Qvist
fc80dd2614
Improved rnstatus output
2022-05-25 14:21:04 +02:00
Mark Qvist
417ac9f8da
Added rnx remote command utility
2022-05-24 20:14:43 +02:00
Mark Qvist
fe5e74bc2b
Improved rncp arguments
2022-05-24 20:13:54 +02:00
Mark Qvist
30f71857ae
Added docstrings. Added request size to receipts. Fixed link stale time calculation on newly created links with no actual activity.
2022-05-24 20:13:11 +02:00
Mark Qvist
c24233845e
Implemented bandwidth cap for recursive path requests
2022-05-23 19:49:48 +02:00
Mark Qvist
c0fbde5ad1
Added recursive path request loop avoidance
2022-05-23 18:14:45 +02:00
Mark Qvist
5da66402dd
Fixed rncp output
2022-05-23 09:23:37 +02:00
Mark Qvist
3bf5694238
Fixed naming conflict in resource advertisements
2022-05-23 08:54:07 +02:00
Mark Qvist
9e6a5d5d91
Fix announce rate targets on I2PInterface peers
2022-05-23 00:28:06 +02:00
Mark Qvist
cf3e47f469
Fixed interface mode inheritance
2022-05-23 00:06:26 +02:00
Mark Qvist
f8db5a545d
Fixed interface mode check
2022-05-23 00:00:14 +02:00
Mark Qvist
a79f6e7efa
Added rncp utility
2022-05-22 23:44:32 +02:00
Mark Qvist
d1cb07356c
Fixed missing recursive progress callback allocation in segmented resource transfer
2022-05-22 21:05:07 +02:00
Mark Qvist
e811d54d0f
Fixed bug in conditional resource acceptance callback
2022-05-22 19:09:44 +02:00
Mark Qvist
49c8ada478
Added standard identity storage folder
2022-05-22 19:09:16 +02:00
Mark Qvist
0ace84367b
Improved link authentication callback
2022-05-22 19:08:03 +02:00
Mark Qvist
e63e6821e0
Updated Destination docstrings
2022-05-22 17:11:30 +02:00
Mark Qvist
109132e09d
Fixed expired AP and roaming paths not being removed at correct time.
2022-05-22 15:43:46 +02:00
Mark Qvist
44ba5624bc
Added gateway mode to rnstatus
2022-05-22 15:16:58 +02:00
Mark Qvist
e9c5e3c189
Version bump
2022-05-22 14:29:29 +02:00
Mark Qvist
f3ff71d9b8
Implemented unknown path discovery
2022-05-22 14:18:58 +02:00
Mark Qvist
81b92ffdc1
Added gateway interface mode
2022-05-22 11:14:33 +02:00
Mark Qvist
ecc9e84bc2
Fixed typo
2022-05-18 00:47:29 +02:00
Mark Qvist
2b43436f56
Updated manual and documentation
2022-05-17 22:12:21 +02:00
Mark Qvist
b2d61843d0
Improved log output
2022-05-17 13:25:42 +02:00
Mark Qvist
d66c31b4e9
Added announce rate information to rnpath utility, added exit codes and improved table lookup.
2022-05-14 22:14:38 +02:00
Mark Qvist
e825b0b8ff
Added Pipe Interface
2022-05-14 20:19:46 +02:00
Mark Qvist
3871d8615e
Added per-interface announce rate control
2022-05-14 18:09:38 +02:00
Mark Qvist
8636259886
Added roaming and boundary interface modes
2022-05-13 21:03:51 +02:00
Mark Qvist
af1a05ff6a
Added announce queue dropping to rnpath utility
2022-05-13 16:18:13 +02:00
Mark Qvist
1b50f5267a
Improved announce queue processing
2022-05-13 15:45:09 +02:00
Mark Qvist
600bd0e64d
Updated documentation
2022-04-28 14:17:12 +02:00
Mark Qvist
123fd1de92
Configure IFAC size in bits
2022-04-28 11:51:04 +02:00
Mark Qvist
b8ca89c2b6
Cleanup
2022-04-28 10:58:26 +02:00
Mark Qvist
79725a1637
Cleanup
2022-04-28 10:56:19 +02:00
Mark Qvist
1a2da0d7c7
Drop IFAC packets on non-IFAC interfaces
2022-04-28 10:38:34 +02:00
Mark Qvist
5d90ea565a
Implemented interface authentication and virtual network segmentation
2022-04-27 19:00:09 +02:00
Mark Qvist
b701cdd07f
Generalised transport transmit handler
2022-04-27 13:50:56 +02:00
Mark Qvist
8e5b3b4e83
Cleanup
2022-04-27 13:31:44 +02:00
Mark Qvist
24b7cb777f
Cleanup
2022-04-27 13:31:07 +02:00
Mark Qvist
cf1ca01a3b
Configuration support for interface access codes
2022-04-27 13:21:53 +02:00
Mark Qvist
7c70f9d865
Set IFAC parameters on spawned interfaces
2022-04-27 13:20:46 +02:00
Mark Qvist
6cf9288b11
Improved AutoInterface peering timeout
2022-04-27 13:19:48 +02:00
Mark Qvist
ecffa1a7eb
Cleanup
2022-04-20 20:28:14 +02:00
Mark Qvist
9fef53d083
Updated propagation timing
2022-04-20 20:06:44 +02:00
Mark Qvist
0db64610b1
Added reverse path detection
2022-04-20 19:29:25 +02:00
Mark Qvist
4af14a712c
Added timeout to rnpath utility
2022-04-20 13:40:07 +02:00
Mark Qvist
402b5fc461
Random hash length from truncated hash length
2022-04-20 13:08:21 +02:00
Mark Qvist
38aeb1ab3b
Improved logging
2022-04-20 12:58:00 +02:00
Mark Qvist
b0a21b3aa9
Improved logging
2022-04-20 12:56:43 +02:00
Mark Qvist
5e6a1add6b
Improved logging and rnpath output
2022-04-20 11:22:52 +02:00
Mark Qvist
104b186047
Added drop path ability to rnpath utility
2022-04-20 11:12:21 +02:00
Mark Qvist
6d23da360d
Added path table output to rnpath utility
2022-04-20 10:40:51 +02:00
Mark Qvist
1be00a5c41
Improved announce logging
2022-04-20 10:08:55 +02:00
Mark Qvist
71e5eef8c1
Improved announce logging
2022-04-20 10:08:30 +02:00
Mark Qvist
b3a439993d
Improved rnstatus output
2022-04-20 09:59:58 +02:00
Mark Qvist
5606b64317
Improved transport logging
2022-04-20 09:24:48 +02:00
Mark Qvist
3d38ef27d4
Improved announce logging
2022-04-20 09:04:12 +02:00
Mark Qvist
d53e8cf037
Bitrate guess on TCP and UDP interfaces
2022-04-18 18:09:31 +02:00
Mark Qvist
da297aeb64
Changed log level
2022-04-18 16:54:35 +02:00
Mark Qvist
282239fc57
Added interface announce queue stats to rnstatus
2022-04-18 16:41:38 +02:00
Mark Qvist
222437d851
Version bump
2022-04-18 16:26:08 +02:00
Mark Qvist
c9de260e00
Cleanup
2022-04-18 16:25:11 +02:00
Mark Qvist
31104c6e9c
Implemented bandwidth-based announce propagation calculation
2022-04-18 16:23:24 +02:00
Mark Qvist
64593e27be
Added announce cap setting
2022-04-17 20:14:20 +02:00
Mark Qvist
124ec006b4
Auto-set sensible interface rate defaults
2022-04-17 19:35:31 +02:00
Mark Qvist
dd55899775
Improved I2P interface display in rnstatus
2022-04-17 19:35:05 +02:00
Mark Qvist
cc0c01661d
Fixed a possible race condition in Transport startup when a local shared instance was restarted and client apps reconnect
2022-04-17 19:34:12 +02:00
Mark Qvist
5f36c8601f
Improved rnstatus utility display
2022-04-17 19:08:48 +02:00
Mark Qvist
2f71296816
Basic interface rate estimation
2022-04-17 19:07:32 +02:00
Mark Qvist
7923322d92
Linearized announce propagation delays for supporting up to 128 hops
2022-04-17 18:27:35 +02:00
Mark Qvist
fef5ed6bad
Cleanup
2022-04-17 17:37:27 +02:00
Mark Qvist
059b0743ef
Improved rnstatus util display
2022-04-17 17:30:39 +02:00
Mark Qvist
4d4d39651f
Improved rnstatus util display
2022-04-16 23:26:57 +02:00
Mark Qvist
6a1e6417bb
Updated logging
2022-04-16 16:44:10 +02:00
Mark Qvist
39f1258d0e
Added interface mode config shorthands
2022-04-16 16:42:59 +02:00
Mark Qvist
03d3478b5e
Added interface mode shorthand
2022-04-15 22:13:59 +02:00
Mark Qvist
ee90605b30
Tweaked decay constant
2022-04-07 19:00:07 +02:00
Mark Qvist
04540f6e48
Changed config description
2022-04-06 15:51:27 +02:00
Mark Qvist
dc6877927e
Updated license headers
2022-04-01 17:18:18 +02:00
Mark Qvist
7398e312fc
Updated version
2022-03-28 15:20:14 +02:00
Mark Qvist
3051b6897d
Updated filtering rules. Fixes #18 .
2022-03-15 14:55:47 +01:00
Mark Qvist
550dfd44cb
Improved cryptography API compatibility
2022-03-08 00:38:51 +01:00
Mark Qvist
95d3346da6
Fixed I2P interface missing attribute
2022-02-26 21:37:50 +01:00
Mark Qvist
d4aabc8b89
Added I2P base32 address output to rnstatus utility
2022-02-26 21:04:54 +01:00
Mark Qvist
cb023cde40
Fixed potential race condition in resource assembly
2022-02-26 18:27:11 +01:00
Mark Qvist
b8105e23ff
Fixed TCP interface mode reference
2022-02-25 22:10:55 +01:00
Mark Qvist
4dfa62833c
Restructured default config
2022-02-25 21:48:25 +01:00
Mark Qvist
15d027e11e
Restructured default config and added config example to rnsd
2022-02-25 21:41:24 +01:00
Mark Qvist
f8272793b4
Tuned AutoInterface timeouts
2022-02-25 20:29:47 +01:00
Mark Qvist
3a215be859
Interface mode defaults
2022-02-25 18:56:09 +01:00
Mark Qvist
0e1279d012
Added Access Point interface mode
2022-02-25 18:47:55 +01:00
Mark Qvist
8ec356a28e
Interface outbound option enabled by default
2022-02-25 13:31:52 +01:00
Mark Qvist
49d7808835
i2plib license
2022-02-24 01:45:42 +01:00
Mark Qvist
48184134e4
Improved I2P Interface
2022-02-24 01:30:10 +01:00
Mark Qvist
987ff0658b
Version bump
2022-02-23 22:53:16 +01:00
Mark Qvist
27dea7c524
Implemented I2PInterface
2022-02-23 22:43:08 +01:00
Mark Qvist
9c6fd132d4
Work on I2P Interface
2022-02-23 22:15:06 +01:00
Mark Qvist
8d58bb62ab
Work on I2P Interface
2022-02-23 21:47:30 +01:00
Mark Qvist
c357f7a94e
Work on I2P Interface
2022-02-23 21:39:29 +01:00
Mark Qvist
4b3ead3db2
Work on I2P Interface
2022-02-23 21:29:18 +01:00
Mark Qvist
b62e9af5d4
Work on I2P Interface
2022-02-23 21:19:43 +01:00
Mark Qvist
fa82989a2e
Preliminary I2P Interface support
2022-02-23 17:40:31 +01:00
Mark Qvist
257bd95da8
AutoInterface carrier loss detection
2022-02-22 20:16:02 +01:00
Mark Qvist
1ccfa9079c
Work on AutoInterface recovery on WiFi carrier loss
2022-02-22 14:49:43 +01:00
Mark Qvist
57226201ff
Fixed I2P tunneled config keyword
2022-02-22 14:45:36 +01:00
Mark Qvist
d9419cd895
Merge branch 'master' of github.com:markqvist/Reticulum
2022-02-22 14:43:19 +01:00
Mark Qvist
aae10ede72
Work on AutoInterface recovery on WiFi carrier loss
2022-02-22 14:43:14 +01:00
Mark Qvist
3f53c89d32
Added I2P-tunneled mode to TCP interfaces
2022-01-31 23:31:29 +01:00
Mark Qvist
b403441074
Version updated
2022-01-27 23:30:44 +01:00
Mark Qvist
d3a23e3b00
RNodeInterface firmware version check
2022-01-22 22:46:47 +01:00
markqvist
329d83587e
Merge pull request #10 from 4c3e/4c3e-osx-nameerror-fix
...
OSX NameError fix
2022-01-22 21:39:01 +01:00
Mark Qvist
0a4dd64434
Improved support for ESP32-based RNodes
2022-01-22 21:36:49 +01:00
4c3e
b96cbf1014
OSX NameError fix
...
Had the following error when trying to run Reticulum on OSX High Sierra:
line 115, in set_timeouts_osx
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
NameError: name 'sock' is not defined
This fix resolved the problem for me.
2022-01-21 01:34:55 +00:00
Mark Qvist
f3d04ba90f
Improved AutoInterface handling on Android
2022-01-12 12:12:04 +01:00
Mark Qvist
1d2564cedb
Interface import on Android
2022-01-12 12:02:00 +01:00
Mark Qvist
bec8473695
Better Android detection
2022-01-12 11:50:03 +01:00
Mark Qvist
25620415a0
Updated platform utils
2022-01-12 11:18:24 +01:00
Mark Qvist
b6df952995
Platform version check for Windows
2022-01-12 10:16:59 +01:00
Mark Qvist
a72aaf12ca
Platform version check for Windows
2022-01-12 10:07:44 +01:00
Mark Qvist
b978a993b2
Version update
2022-01-11 03:07:34 +01:00
Mark Qvist
5ae00264e8
Preliminaly ESP32 support for RNodeInterface
2022-01-11 03:07:03 +01:00
Mark Qvist
fdaa58a6fa
Improved malformed packet detection
2022-01-11 03:06:16 +01:00
Mark Qvist
4253175627
Cleanup
2021-12-11 20:10:31 +01:00
Mark Qvist
81158c27e4
Cleanup
2021-12-11 18:41:28 +01:00
Mark Qvist
eeb424ecee
Link request debug
2021-12-11 18:33:09 +01:00
Mark Qvist
0273328b23
Link proof debug
2021-12-11 18:19:51 +01:00
Mark Qvist
20dfbcf0cc
Link activation time
2021-12-11 17:26:45 +01:00
Mark Qvist
c96e067839
Added proper requester interface detection for path requests for destinations behind local clients.
2021-12-11 16:50:03 +01:00
Mark Qvist
9ff37543f3
Adjusted request timeout
2021-12-11 16:42:57 +01:00
Mark Qvist
974ca48cb4
Adjusted peering timing
2021-12-11 16:42:15 +01:00
Mark Qvist
167d48c8ce
Updated peering timeouts
2021-12-11 15:41:34 +01:00
Mark Qvist
1c768e9219
Removed log statement
2021-12-10 18:55:17 +01:00
Mark Qvist
df39cff520
Added recovery to local shared interfaces if master RNS instance is restarted
2021-12-10 18:32:24 +01:00
Mark Qvist
e1e31692d7
UDP socket contructor and doc update
2021-12-10 16:23:35 +01:00
Mark Qvist
293a834c35
Log output and cleanup
2021-12-10 14:48:30 +01:00
Mark Qvist
1bbdd9b3f5
Ignore interfaces on Darwin
2021-12-10 11:10:09 +01:00