Commit graph

70 commits

Author SHA1 Message Date
Mark Qvist
6567c3a09d Added support for dynamic link MTU discovery 2025-01-12 23:24:27 +01:00
Mark Qvist
a77451743b Fixed invalid escape sequence handling. This fixes terminal escape sequences such as Page Up/down, home/end, pasting text and others not being processed correctly. 2024-05-11 13:14:51 +02:00
Mark Qvist
4da540f189 Fixed missing format string declarator 2024-05-11 12:40:28 +02:00
markqvist
cde20121ea
Merge branch 'acehoss:main' into main 2024-05-11 12:38:30 +02:00
Aaron Heise
ab7f43e910
Improve pipe management
Fixes an issue where terminating a session with ~. prevents another session from connecting for some amount of time.
2023-12-17 13:09:56 -06:00
Dionysis Grigoropoulos
982132ccc3
Fix type bug when specifying --timeout 2023-10-27 02:05:15 +03:00
Mark Qvist
f5aab30d7b Use local docopts 2023-09-22 09:55:07 +02:00
Mark Qvist
f18a0946c7 Removed external dependency on docopt, included local version 2023-09-22 08:25:10 +02:00
Mark Qvist
bd1c02e256 Cleanup 2023-09-22 08:24:24 +02:00
Mark Qvist
e9894cc9fe Updated version fetch method, since pyproject.toml is never present in installed distributions 2023-09-22 08:14:11 +02:00
Mark Qvist
a3f147e2bd Cleanup 2023-09-19 00:56:26 +02:00
Mark Qvist
79eb170030 Implemented escape sequences and line-interactive mode 2023-09-18 20:39:24 +02:00
Mark Qvist
e0ba3d11ba Implemented an allowed_identities file for more convenient access management 2023-09-18 17:58:44 +02:00
Mark Qvist
3b71b197ae Removed log statement 2023-09-18 00:32:47 +02:00
Mark Qvist
14f9320860 Removed logging statement 2023-09-18 00:26:49 +02:00
Mark Qvist
a2a45a82af Implemented adaptive compression on stdin, stdout and stderr streams 2023-09-16 18:43:22 +02:00
Mark Qvist
4897cd0387 Fixed missing version resolution without pyproject.toml 2023-05-11 20:52:15 +02:00
Mark Qvist
494ebb29fb Remove unused importlib.metadata for Python 3.7+ compatibility 2023-05-11 20:18:28 +02:00
Aaron Heise
53332bf1ac
Use StreamDataMessage from RNS.Buffer
But don't use Buffer yet
2023-03-08 16:54:02 -06:00
Aaron Heise
5bca575a4b
Switch to RNS-provided Channel 2023-02-28 08:48:29 -06:00
Aaron Heise
b6a22cd2a7
Fix incorrect callback for loop signals 2023-02-25 05:20:48 -06:00
Aaron Heise
a06d27ec15
Separate listener and initiator code into separate modules 2023-02-23 06:36:55 -06:00
Aaron Heise
458a2391df
Add tests for and fix #14 2023-02-22 21:16:41 -06:00
Aaron Heise
a07ce53bf9
Remove service name from aspects #12; minor tweaks
- Remove service name from RNS destination aspects. Service name
  now selects a suffix for the identity file and should only be
  supplied on the listener. The initiator only needs the destination
  hash of the listener to connect.
- Show a spinner during link establishment on tty sessions
- Attempt to catch and beautify exceptions on initiator
2023-02-22 19:58:03 -06:00
Aaron Heise
07cf0e3d05
Retry with Packet.resend() instead of Packet.send() for #8 2023-02-19 06:45:58 -06:00
Aaron Heise
b41bcbbc44
Event loop bursting
Pump event loops dry before sleeping. This has a noticeable positive effect on throughput.
2023-02-18 19:40:27 -06:00
Aaron Heise
04b2660d41
Rate limit window change event.
Also added some scaling for pumping event loops to improve CPU usage.
Version bump for release
2023-02-18 18:31:59 -06:00
Aaron Heise
64fec6e012 Remove some stuff blocking older versions 2023-02-18 08:10:26 -06:00
Aaron Heise
acc217df90 Upgrade rns and remove hacks for previous version 2023-02-18 07:44:24 -06:00
Aaron Heise
d4339ba224 Fix issue with high CPU on listener after initiator disconnect
#6
2023-02-18 07:14:15 -06:00
Aaron Heise
8edb4020b1 Got the new protocol working. 2023-02-18 00:09:28 -06:00
Aaron Heise
0ee305795f Added a new message-based, packet-ready protocol layer with test suite for #4 2023-02-17 10:48:16 -06:00
Aaron Heise
aa37e4e3da Added a polling tty function 2023-02-16 18:02:44 -06:00
Aaron Heise
3b3cee73bb Add some additional tests for #3 2023-02-16 07:03:57 -06:00
Aaron Heise
9a37a52601 Remove dependency on psutil for #5
The changes made for #3 allowed the removal of the dependency on `psutil`, the import of which was throwing a startup error on Android.
2023-02-16 00:34:38 -06:00
Aaron Heise
ebdcb50265 Support for pipes. #3
Connects pipes on the listener child process the same way they are connected on the initiator--any combination of stdin, stdout, and stderr could be connected to a pipe. Any one of those not connected to a pipe will be connected to a pty.
2023-02-16 00:18:34 -06:00
Aaron Heise
27664df0b3 Several test-driven fixes
- Improved test suite exposed several issues with the handling of
command line arguments which are now fixed
- Fixed a race condition that would cause remote characters to be
  lost intermittently when running remote commands that finish
  immediately.
- Added automated testing that actually spins up a random listener
  and initiator in a private Reticulum network and passes data
  between them, uncovering more issues which are now fixed.
- Fixed (hopefully) an issue where `rnsh` doesn't know what
  version it is.
2023-02-14 15:42:55 -06:00
Aaron Heise
d4cb31e220 Remote command append mode (-A) for listener 2023-02-14 06:18:22 -06:00
Aaron Heise
a3bd1f20fb Protocol version 2: do not base64 encode stream data 2023-02-14 04:28:31 -06:00
Aaron Heise
2c61fdf391 Allow retry timer callback to signal complete 2023-02-14 03:56:03 -06:00
Aaron Heise
a9f8ede4fe Allow retry timer callback to signal complete 2023-02-14 03:53:28 -06:00
Aaron Heise
da1e62483d Notification message should be debug level, not info level. 2023-02-13 20:07:40 -06:00
Aaron Heise
bf61ce891c Remote command line options 2023-02-13 19:21:05 -06:00
Aaron Heise
f25a9104e1 - Fix running rnsh initiator from a script
- Sanitize TERM input just in case
- Fix badge link
2023-02-13 15:40:16 -06:00
Aaron Heise
39ba482720 Align version numbers 2023-02-12 23:50:14 -06:00
Aaron Heise
d76b36cd63 Performance and stability improvements. 2023-02-12 22:34:36 -06:00
Aaron Heise
5e755acad4 Performance and stability improvements. 2023-02-12 22:29:16 -06:00
Aaron Heise
7d711cde6d Performance tweaks 2023-02-12 08:57:08 -06:00
Aaron Heise
2e61b70996 Fix issue with running rnsh without proper tty (like from launch) 2023-02-12 01:51:58 -06:00
Aaron Heise
5860317743 Fix exceptions when using -p option 2023-02-11 22:25:48 -06:00