Commit Graph

559 Commits

Author SHA1 Message Date
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
Mark Qvist
d4b6b6ee59 Ignore interfaces on Darwin 2021-12-10 11:00:48 +01:00
Mark Qvist
fca03bbdce Ignore AWDL interfaces on Darwin 2021-12-10 10:58:28 +01:00
Mark Qvist
29aa4f9315 Updated AutoInterface IPv6 bind address 2021-12-10 10:35:25 +01:00
Mark Qvist
d5cac30a85 Log cleanup 2021-12-10 09:48:57 +01:00
Mark Qvist
006c70cd09 Updated documentation 2021-12-09 18:12:18 +01:00
Mark Qvist
02945f960d Updated timing 2021-12-09 17:44:19 +01:00
Mark Qvist
90174fcc28 Cleanup 2021-12-09 17:02:13 +01:00
Mark Qvist
c18ebed419 Added auto interface 2021-12-09 16:07:36 +01:00
Mark Qvist
4241990690 Implemented AutoInterface outbound traffic and multicast discovery listeners 2021-12-08 20:46:53 +01:00
Mark Qvist
3d49076602 Compatibility with IPv6 based interfaces 2021-12-08 20:45:41 +01:00
Mark Qvist
2e4fcc659c Added KISS framing option to TCP client interface 2021-12-06 13:07:12 +01:00
Mark Qvist
9e9606b8cf Systemd service support and documentation update 2021-12-05 16:05:43 +01:00
Mark Qvist
8be1acee0a Added auto reconnection for disconnected serial-based devices 2021-12-05 14:35:25 +01:00
Mark Qvist
ba39a69175 Timeout default structure updated 2021-12-05 11:45:13 +01:00
Mark Qvist
a692d29c90 Reconnect on serial port errors for KISS interface 2021-12-05 11:44:30 +01:00
Mark Qvist
1443f4c104 Updated umsgpack to 2.7.1 2021-12-01 19:20:24 +01:00
Mark Qvist
c44c6f9086 Conditional imports for serial-based interfaces 2021-12-01 13:57:40 +01:00
Mark Qvist
259c2aa397 Conditional imports for serial-based interfaces 2021-12-01 13:39:51 +01:00
Mark Qvist
10854bfdbc Added conditional import of netifaces 2021-12-01 11:46:19 +01:00
Mark Qvist
f5236878b0 Added Android platform detection 2021-12-01 11:40:44 +01:00
Mark Qvist
daf72f4237 Version updated 2021-12-01 11:40:31 +01:00
Mark Qvist
652b884d72 Added conditional import of netifaces 2021-12-01 11:39:40 +01:00
Mark Qvist
ea3716f48e Added Android platform detection 2021-12-01 11:39:06 +01:00
Mark Qvist
165e620043 Improved shutdown handling on interrupt. Updated gitignore. 2021-11-04 17:15:58 +01:00
Mark Qvist
58f43b163e Updated docs 2021-10-15 19:26:53 +02:00
Mark Qvist
448ea8ceb5 Added try statements for various callbacks 2021-10-15 14:36:50 +02:00
Mark Qvist
8d01586a5a Added RSSI and SNR to echo example 2021-10-12 18:04:55 +02:00
Mark Qvist
3e5f613f66 Fixed typo 2021-10-12 16:36:29 +02:00
Mark Qvist
1cf6570c2d Added RSSI and SNR reporting to packets on supported interfaces 2021-10-12 16:34:17 +02:00
Mark Qvist
fd13e20165 Updated version 2021-10-09 23:23:44 +02:00
Mark Qvist
66ce58f0f4 Implemented path updating for moving nodes 2021-10-09 22:13:27 +02:00
Mark Qvist
e8ee26f78d Emission timestamp in announce. 2021-10-09 21:36:01 +02:00
Mark Qvist
c0fb419fe1 Fixed Resource string representation. Added emission timestamp in announce. 2021-10-09 21:30:34 +02:00
Mark Qvist
4ef369cdd8 Added logfile rotation 2021-10-08 19:23:10 +02:00
Mark Qvist
b21e0bee20 Updated documentation 2021-10-08 18:30:17 +02:00
Mark Qvist
4ca00c6973 Added path expiry check to tunnel restoration 2021-10-08 17:09:31 +02:00
Mark Qvist
95f81cab7f Added path expiry check to tunnel restoration 2021-10-08 17:09:11 +02:00
Mark Qvist
60917f0eea Fixed interface detachment on TCP initiator interfaces 2021-10-08 17:06:00 +02:00
Mark Qvist
de800f0ea7 Updated log output 2021-10-08 11:57:23 +02:00
Mark Qvist
5dad76879c Improved known destination saving on shared instances 2021-10-08 08:52:50 +02:00
Mark Qvist
75c3180933 Improved shared instance and local client handling 2021-10-03 15:23:12 +02:00
Mark Qvist
cd6427cc9d Fixed rnstatus output 2021-09-25 23:56:56 +02:00
Mark Qvist
1749393732 Fixed rnstatus output 2021-09-25 23:44:59 +02:00
Mark Qvist
dcde5035b9 Updated docs 2021-09-25 23:22:33 +02:00
Mark Qvist
161eeca509 Updated logging 2021-09-25 15:39:42 +02:00
Mark Qvist
f25906d44e Improved path utility output 2021-09-25 11:27:43 +02:00
Mark Qvist
dd5133751e Updated utilities 2021-09-25 11:03:43 +02:00
Mark Qvist
7991db5c74 Added rnstatus utility 2021-09-24 20:10:04 +02:00
Mark Qvist
f5510f9777 Added verbosity options to rnsd 2021-09-24 20:05:24 +02:00
Mark Qvist
05e0b17fbf Improved rnprobe utility output. 2021-09-24 16:49:07 +02:00
Mark Qvist
7e9d608530 Improved shutdown handling for local shared instances 2021-09-24 16:42:31 +02:00
Mark Qvist
3d4ac0126b Added signal handler and interface detachment oon exit. 2021-09-24 16:09:07 +02:00
Mark Qvist
81cdb0b7e6 Updated version 2021-09-24 15:34:33 +02:00
Mark Qvist
c71660a9c3 Added verbosity level to utilities 2021-09-24 15:34:03 +02:00
Mark Qvist
9c1ac46989 Added loglevel override 2021-09-24 15:18:06 +02:00
Mark Qvist
c5b792f64a Added rnprobe utility 2021-09-24 14:20:12 +02:00
Mark Qvist
76d75e9a3e Updated rnpath utility 2021-09-24 14:16:25 +02:00
Mark Qvist
1bc2d4015e Fixed bug in reverse table culling 2021-09-24 14:14:34 +02:00
Mark Qvist
ab4f3ad8ae Updated logging and default config 2021-09-24 14:13:31 +02:00
Mark Qvist
16dae81844 Fixed regression in TCPInterface client spawner. 2021-09-24 14:11:04 +02:00
Mark Qvist
e9e2ffbe0d Improved log output from local interfaces 2021-09-24 14:10:18 +02:00
Mark Qvist
dc36644a1e Added rnpath utility 2021-09-24 12:42:24 +02:00
Mark Qvist
8436bc5ba3 Update rnsd utility description 2021-09-24 11:26:29 +02:00
Mark Qvist
9323fd22ee Improved TCP client interface recovery 2021-09-24 11:20:10 +02:00
Mark Qvist
544e15afdf Added rnsd utility 2021-09-24 11:17:23 +02:00
Mark Qvist
acae9e34c2 Improved link status detection and recovery of TCP interfaces over unreliable IP links. 2021-09-23 16:07:57 +02:00