Commit graph

127 commits

Author SHA1 Message Date
B. Blechschmidt
0027c5ac4e Use smoltcp origin after feature merge 2023-04-17 22:37:39 +02:00
ssrlive
cba6ba7318 new_token function 2023-04-15 10:07:40 +02:00
ssrlive
7442abece5 integrate to android 2023-04-14 20:17:10 +02:00
ssrlive
62a04229db shutdown function 2023-04-14 20:17:10 +02:00
B. Blechschmidt
fb3ad33b53 Add file descriptor and MTU to CLI arguments 2023-04-13 21:54:02 +02:00
B. Blechschmidt
500f6ef21f Add file descriptor support 2023-04-10 23:24:53 +02:00
B. Blechschmidt
9437308283 Support building for Android 2023-04-10 21:37:20 +02:00
B. Blechschmidt
cb1babebd4 Only include setup feature on Linux 2023-04-10 20:59:54 +02:00
B. Blechschmidt
b669b9de22 Remove unnecessary integer suffix 2023-04-10 20:48:42 +02:00
ssrlive
c0cff1da58 refine SocksAddressType 2023-04-10 12:30:45 +02:00
B. Blechschmidt
fd48be5feb Parameterize IP addresses in manual tests 2023-04-10 11:05:06 +02:00
B. Blechschmidt
70cea8e11f Add manual tests for half open connections 2023-04-10 10:57:41 +02:00
B. Blechschmidt
2cf7c9cdea Add label for testing pull requests in CI 2023-04-10 10:34:30 +02:00
B. Blechschmidt
1a53e2bb52 Fix sparse index in cargo config 2023-04-10 10:31:41 +02:00
ssrlive
14279a482c
Turn off target type 2023-04-10 12:09:30 +08:00
ssrlive
3fc112fc2c update for smoltcp 2023-04-10 09:58:17 +08:00
B. Blechschmidt
44122f3c68 Improve performance by increasing smoltcp socket buffer size 2023-04-04 10:17:13 +02:00
B. Blechschmidt
7818829760 Apply clippy fixes 2023-04-04 00:19:41 +02:00
B. Blechschmidt
10a674d1c9 Fix CPU spikes due to always-writable event and improve half-open connection handling 2023-04-04 00:18:50 +02:00
B. Blechschmidt
0be39345a8 Improve handling of half-open connections 2023-04-03 20:31:31 +02:00
B. Blechschmidt
6d9767db42 Add SOCKS4 support to CI 2023-04-03 00:39:13 +02:00
B. Blechschmidt
15703a4823 Use nix crate instead of interacting with libc directly, drop privileges 2023-04-01 21:18:01 +02:00
B. Blechschmidt
3dc7fde5e9 Publish build for every commit as prerelease 2023-03-31 02:02:12 +02:00
B. Blechschmidt
b8a08871d0 Support older Rust versions 2023-03-30 23:00:39 +02:00
B. Blechschmidt
69b5e6580c Adapt GitHub workflow to use dotenv 2023-03-30 01:52:29 +02:00
B. Blechschmidt
73f54c4a90 Adapt tests to use the setup functionality 2023-03-30 01:50:30 +02:00
B. Blechschmidt
a59be5a1af Whitespace change to make cargo fmt happy 2023-03-29 13:26:10 +02:00
B. Blechschmidt
0bfd3f2514 Remove obsolete comment 2023-03-29 13:21:35 +02:00
B. Blechschmidt
3c79fa6071 Enable automated setup for private IP addresses 2023-03-29 13:08:33 +02:00
B. Blechschmidt
e78a3f9a73 Add notes about half-open connections 2023-03-27 17:04:52 +02:00
ssrlive
eac87c4f9f refine code 2023-03-27 16:37:50 +02:00
B. Blechschmidt
94d70d11f4 Fix bug introduced by 86e7af0398 2023-03-27 12:14:43 +02:00
B. Blechschmidt
167059c9d8 Describe --setup-ip in README 2023-03-26 16:30:30 +02:00
B. Blechschmidt
86e7af0398 Prevent connection error bubbling from terminating the app 2023-03-26 15:22:22 +02:00
B. Blechschmidt
b12e00c0f5 Document --setup-ip 2023-03-26 11:07:06 +02:00
B. Blechschmidt
76e0b6fe1d Handle private IP addresses in setup 2023-03-26 11:03:15 +02:00
B. Blechschmidt
2a2b188c75 Make setup argument optional 2023-03-26 00:47:34 +01:00
B. Blechschmidt
d0c24b9f6a Improve setup error handling and describe the setup function in the README 2023-03-26 00:18:28 +01:00
B. Blechschmidt
bfface515d Only log the DNS A query 2023-03-25 22:25:57 +01:00
B. Blechschmidt
33892e28dc Improve code elegance in DNS cache removal function 2023-03-25 22:23:46 +01:00
B. Blechschmidt
58faf871c3 Fix copy and paste error 2023-03-25 21:52:58 +01:00
B. Blechschmidt
4a48b297f3 Restore network configuration on Drop 2023-03-25 21:41:40 +01:00
B. Blechschmidt
e4d4e0965e Add root privilege requirement notice 2023-03-25 21:18:45 +01:00
B. Blechschmidt
1a4a8c4c16 Add auto setup method 2023-03-25 21:12:41 +01:00
B. Blechschmidt
d4127af422 Add DNS hint
Virtual DNS intercepts the DNS queries generated by the machine. This
requires that the queries are actually sent through the tunnel
interface. In some scenarios, this is not automatically the case, for
example when `/etc/resolv.conf` contains a `nameserver` entry with some
local IP address for which there is a route through the ethernet
interface. A special-purpose IP address like 198.18.0.1 is unlikely to
be inside another route than the default route and can be used to force
DNS resolution through the tunnel.
2023-03-25 15:29:15 +01:00
B. Blechschmidt
20dc6f78f1 Refactor
This commit moves some essential types to lib and fixes one clippy
warning: https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names
2023-03-25 13:07:49 +01:00
B. Blechschmidt
e6e6c70006 Fix formatting
IPv6 addresses without ports are not enclosed in brackets. They only get
enclosed in brackets in combination with a port.
2023-03-25 11:02:25 +01:00
ssrlive
d4410264e6 refine code 2023-03-25 16:44:33 +08:00
B. Blechschmidt
ce8ecbe44e Fix CI 2023-03-25 02:01:17 +01:00
B. Blechschmidt
a5aac8c0a4 Merge SOCKS4 support
The SOCKS4 tests in the CI pipeline will currently fail, as no SOCKS4
test server for automated testing has been set up yet.
2023-03-25 01:53:30 +01:00