131 Commits

Author SHA1 Message Date
f13221133d Set dev version to 0.0.0 2026-02-01 21:10:50 -05:00
2c9e648c2c Clean API and add docs 2026-02-01 21:02:38 -05:00
558f40213b Update to Saprus 0.2.1
Handle management messages instead of letting them bubble up through the
connection to the consumer.
Right now, this just means handling ping messages by sending a pong.

Also updated to follow the new handshake flow.
The sentinel will mirror the ports instead of matching them.

Now filters on the full source and dest ports, which are less likely to
have erroneous matches.
2026-02-01 19:16:22 -05:00
daf18d3552 Exec command directly if subshell fails
If execing the child fails, it might be because the shell doesn't exist.
Try running the command directly before giving up.
2026-01-31 21:43:27 -05:00
4f721afcfd Add GPLv3 2026-01-31 20:27:55 -05:00
f554e7a3bb Kill process after 10 messages or 3 seconds 0.1.0 2026-01-25 23:49:09 -05:00
19c2b78d1d Connection by default 2026-01-25 01:14:02 -05:00
3c5f34d5c2 Set timeouts instead of sleeping 2026-01-24 21:14:40 -05:00
09152377ed Fix reconnection
Was failing to reconnect due to trying to reuse the same socket that
already had a BPF filter on it.
2026-01-24 20:14:22 -05:00
c3b17f8267 Better error handling and debug logging 2026-01-24 19:17:43 -05:00
cf365673b5 Retry timing
Wait 2 minutes if trying for initial connect. Wait 10 minutes if
connection to sentinel has timed out
2026-01-24 18:54:01 -05:00
16fd65e281 Add C API 2026-01-24 17:16:06 -05:00
8965a4d5d4 Skip empty stdin 2026-01-24 14:42:37 -05:00
ba8a84c478 Don't create dangling references
Apparently things die at the end of blk scopes.
2026-01-24 14:34:19 -05:00
19d4e88c33 Chunk stdin 2026-01-24 13:11:02 -05:00
3577d538b8 Chunk relay input
This makes it possible to chunk connection command output to a relay
command to direct it somewhere like discord
2026-01-24 11:28:18 -05:00
fc9c5bcd5d Chunk messages to 1000 byte payloads 2026-01-24 11:28:18 -05:00
157afa13b1 Fix checksum issue 2026-01-24 10:40:33 -05:00
a81c4b3175 Calculate IPv4 checksum header
This was causing an issue because virtual networks were dropping packets
without this being set
2026-01-23 23:05:20 -05:00
43f7497424 Simplify tagged union 2026-01-23 22:17:21 -05:00
213a01afc8 Implemented client and connection 2026-01-21 22:25:20 -05:00
067a11ab23 Move RawSocket and clean it up 2026-01-20 23:21:35 -05:00
6db4204bf0 Set don't fragment, and use random id 2026-01-20 22:08:10 -05:00
def8454012 Reconnect on timeout 2026-01-19 19:05:03 -05:00
4106679262 things are SOOOO good.... 2026-01-19 17:55:54 -05:00
01f44949f1 base64 encode payload and don't require connection playload 2026-01-19 17:16:29 -05:00
19126f1203 Attach BPF filter to get all the saprus messages 2026-01-19 17:04:08 -05:00
fec468c508 Complete handshake badly 2026-01-19 15:06:25 -05:00
9359fefdf7 Add real RawSocket deinit 2026-01-19 14:45:29 -05:00
f969d097ab Detect interface and use real mac 2026-01-19 14:43:44 -05:00
cc765dc91b Start adding connection message 2026-01-19 14:08:27 -05:00
abf2cfb366 use disc as default dest 2026-01-19 13:00:28 -05:00
c66b95bf89 Write relay message to the network 2026-01-19 12:59:21 -05:00
d7dedd243e construct full message 2026-01-19 12:30:08 -05:00
9947c21b4c Arrange bytes for relay 2026-01-19 12:12:23 -05:00
8a53c7366a 2026-01-18 17:20:44 -05:00
a33a96dafd start doing packet stuff 2026-01-17 21:38:23 -05:00
1a817df18d Mostly done with parsing and serializing messages 2026-01-17 16:06:47 -05:00
0d9c0c33fa 2026-01-14 19:34:35 -05:00
b3f1b00510 start porting to 0.16.0 2026-01-11 18:06:36 -05:00
7a8874ea6a doing some shenanigans
trying to start writing my own function to do raw socket connections
2026-01-10 21:17:46 -05:00
b39603522f 2025-11-14 14:47:56 -05:00
fc329d1064 2025-10-13 13:28:41 -04:00
3abe3095e6 Remove prints 2025-10-12 21:40:23 -04:00
d6da3cd31b IT'S RIGHT 2025-10-12 21:13:42 -04:00
fe166d2106 Start breaking out net logic to NetWriter 2025-10-12 18:05:34 -04:00
439ee00444 Simplify RawSocketWriter
Does not need to use an allocator anymor.
Just uses the internal buffer properly.
2025-10-12 18:02:56 -04:00
0da7bbda5b Cleanup and use random mac 2025-10-12 14:16:57 -04:00
b06cb6dada it works well! 2025-09-23 16:22:57 -04:00
b8313e4fa4 2025-09-23 15:01:12 -04:00