jjkiers
1a9ca771ac
Update based on lints
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2025-01-09 20:56:51 +01:00
jjkiers
b7ec67ed07
Fix SNI header parsing
...
When a listener is configured to deal with TLS upstreams, we use the SNI
field of the TLS ClientHello message to decide where to send the traffic.
Therefore, a buffer of 1024 bytes was used to temporarily store this
message. However, a TLS ClientHello message can be larger than that, up
to 16K bytes.
So now the first few bytes are read and manually parsed to find out how
long the message is. And then the entire ClientHello message is
retrieved.
So hopefully that will fix the issue causing the ClientHello
determination to fail.
Closes #10
Signed-off-by: Jacob Kiers <code@kiers.eu >
2025-01-09 20:56:51 +01:00
jjkiers
aff46b6bfb
Update dependencies to latest version
...
This also fixes a build failure which would otherwise happen due to the
time crate.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2025-01-09 20:21:34 +01:00
jjkiers
922ea1f030
Add help to main command
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-12-24 17:22:58 +01:00
jjkiers
6300c43495
Upgrade toolchain to rust 1.79.0
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
v0.1.9
2024-06-22 15:44:13 +02:00
jjkiers
c21ff86ee4
Add change log
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-06-22 15:43:58 +02:00
jjkiers
8d6387773a
Add self update functionality
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-06-22 15:43:58 +02:00
jjkiers
95149ffd9f
Update .gitignore
...
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-06-22 11:49:12 +02:00
jjkiers
a140748647
Correct attribution to fourth
...
continuous-integration/drone/push Build is passing
Search and replace accidentally also renamed the original crate, called
fourth. But attributions should be correct.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-06-19 21:59:19 +02:00
jjkiers
ad6955a30d
Fix crate name and release v0.1.8
...
continuous-integration/drone Build is passing
continuous-integration/drone/tag Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
v0.1.8
2024-06-19 21:16:30 +02:00
jjkiers
4592c94586
Reintroduce L4P_CONFIG environment variable
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
This points to a user-configured configuration file.
Closes #5 .
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 23:53:47 +01:00
jjkiers
6284870059
Rename config::config to config::config_v1
...
To prevent module inception, which was a clippy warning.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 23:34:19 +01:00
jjkiers
97b4bf6bbe
Solve synchronization issue
...
The async mutex in the previous variant would fail when used in a single
threaded mode, because block_in_place() cannot be used there.
Instead, replace the code with a Arc<RwLock> inside of the
UpstreamAddress to let that class take care of its own mutability.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 23:31:23 +01:00
jjkiers
59c7128f93
Remove kcp support
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 22:49:43 +01:00
jjkiers
9d9f89881d
Improve config file handling
...
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 22:03:25 +01:00
jjkiers
ee67f7883e
Rename to l4p, update references and README.md
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-23 22:03:25 +01:00
jjkiers
77bc8364f2
Update dependencies to latest versions
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-22 21:59:14 +01:00
jjkiers
ec9ab1d2bc
Add example systemd unit with security protections
...
This is just about as secure as this process can get
Signed-off-by: Jacob Kiers <code@kiers.eu >
2024-02-22 21:49:58 +01:00
jjkiers
bb81a32349
Deduplicate some code
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-05 13:34:40 +02:00
jjkiers
17b39dc6bc
Prepare for new config version
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-05 13:34:40 +02:00
jjkiers
07fccb6b2a
Clippy
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-05 00:26:19 +02:00
jjkiers
3a2367ef28
Moved upstreams to their own dedicated namespace
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-05 00:26:06 +02:00
jjkiers
2116659a14
Sort dependencies
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 23:34:26 +02:00
jjkiers
8404f38182
Move ProxyToUpstream parsing to TryFrom trait
...
This seems cleaner to me than parsing it externally.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 23:27:42 +02:00
jjkiers
23296c6436
Improve code style
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 23:27:42 +02:00
jjkiers
84f0499ec8
Remove unnecessary manual Default implementations
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:32:36 +02:00
jjkiers
ae594135a1
Update dependencies
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:31:43 +02:00
jjkiers
9564fbed6e
Fix clippy warnings
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:14:51 +02:00
jjkiers
a574163aef
Rename Upstream::Custom to Upstream::Proxy
...
And CustomUpstream to ProxyToUpstream.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:14:51 +02:00
jjkiers
2651ec1f4a
Fix kcp module
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:14:51 +02:00
jjkiers
8dae1126d5
Deduplicate copy method
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 22:14:50 +02:00
jjkiers
da46c5873f
Fix typo
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-10-04 20:48:01 +02:00
jjkiers
086e2b4766
Tag 0.1.7
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Critical bug fixes
Signed-off-by: Jacob Kiers <code@kiers.eu >
v0.1.7
2023-08-25 23:11:29 +02:00
jjkiers
5f0de72b88
Remove unused variable
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-25 22:56:46 +02:00
jjkiers
40b890bc13
Add much better debug logging of address resolution
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-25 22:54:41 +02:00
jjkiers
483c058105
Slightly better way of finding the config file
...
It now also looks in the current working directory.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-25 22:53:46 +02:00
jjkiers
6349fc6502
Prevent unnecessary clone
...
This also ensures that the address resolver actually keeps state.
Otherwise it was cloned before each resolution, resulting in it never
keeping the resolved addresses.
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-25 22:52:46 +02:00
jjkiers
cd35859c9b
Initialize UpstreamAddress with actual address
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-25 22:51:25 +02:00
jjkiers
7f399af713
Update rust and zig
...
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-24 18:45:04 +02:00
jjkiers
fd86162450
Version 0.1.6
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
v0.1.6
2023-08-23 20:52:46 +02:00
jjkiers
a6748f30d9
Make English readme the default
...
continuous-integration/drone/pr Build was killed
continuous-integration/drone/push Build is passing
Since I'm unable to read Chinese
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-23 20:45:42 +02:00
jjkiers
902b2c0d55
Update build file
...
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-23 20:33:18 +02:00
jjkiers
fb7a7d9cae
Update gitignore
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-23 20:33:07 +02:00
jjkiers
1c325f45b4
Add sample configuration file
...
continuous-integration/drone Build is failing
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-23 19:29:49 +02:00
jjkiers
79c931fc38
Add build instructions
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-23 19:29:29 +02:00
jjkiers
915e39b684
Extract DNS address resolution
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-16 09:32:05 +02:00
jjkiers
0c5153bbd6
Rename Proxy::default to ::default_action
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-08-16 09:31:20 +02:00
jjkiers
01784ee3fd
Update dependencies
2023-08-16 09:29:18 +02:00
jjkiers
f4bc441ca8
Enable explicit ipv4 / ipv6 proxying
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-06-02 17:35:29 +02:00
jjkiers
f010f8c76b
Update dependencies
...
Signed-off-by: Jacob Kiers <code@kiers.eu >
2023-06-02 17:35:13 +02:00