B. Blechschmidt
fd48be5feb
Parameterize IP addresses in manual tests
3 years ago
B. Blechschmidt
70cea8e11f
Add manual tests for half open connections
3 years ago
B. Blechschmidt
2cf7c9cdea
Add label for testing pull requests in CI
3 years ago
B. Blechschmidt
1a53e2bb52
Fix sparse index in cargo config
3 years ago
ssrlive
14279a482c
Turn off target type
3 years ago
ssrlive
3fc112fc2c
update for smoltcp
3 years ago
B. Blechschmidt
44122f3c68
Improve performance by increasing smoltcp socket buffer size
3 years ago
B. Blechschmidt
7818829760
Apply clippy fixes
3 years ago
B. Blechschmidt
10a674d1c9
Fix CPU spikes due to always-writable event and improve half-open connection handling
3 years ago
B. Blechschmidt
0be39345a8
Improve handling of half-open connections
3 years ago
B. Blechschmidt
6d9767db42
Add SOCKS4 support to CI
3 years ago
B. Blechschmidt
15703a4823
Use nix crate instead of interacting with libc directly, drop privileges
3 years ago
B. Blechschmidt
3dc7fde5e9
Publish build for every commit as prerelease
3 years ago
B. Blechschmidt
b8a08871d0
Support older Rust versions
3 years ago
B. Blechschmidt
69b5e6580c
Adapt GitHub workflow to use dotenv
3 years ago
B. Blechschmidt
73f54c4a90
Adapt tests to use the setup functionality
3 years ago
B. Blechschmidt
a59be5a1af
Whitespace change to make cargo fmt happy
3 years ago
B. Blechschmidt
0bfd3f2514
Remove obsolete comment
3 years ago
B. Blechschmidt
3c79fa6071
Enable automated setup for private IP addresses
3 years ago
B. Blechschmidt
e78a3f9a73
Add notes about half-open connections
3 years ago
ssrlive
eac87c4f9f
refine code
3 years ago
B. Blechschmidt
94d70d11f4
Fix bug introduced by 86e7af0398
3 years ago
B. Blechschmidt
167059c9d8
Describe --setup-ip in README
3 years ago
B. Blechschmidt
86e7af0398
Prevent connection error bubbling from terminating the app
3 years ago
B. Blechschmidt
b12e00c0f5
Document --setup-ip
3 years ago
B. Blechschmidt
76e0b6fe1d
Handle private IP addresses in setup
3 years ago
B. Blechschmidt
2a2b188c75
Make setup argument optional
3 years ago
B. Blechschmidt
d0c24b9f6a
Improve setup error handling and describe the setup function in the README
3 years ago
B. Blechschmidt
bfface515d
Only log the DNS A query
3 years ago
B. Blechschmidt
33892e28dc
Improve code elegance in DNS cache removal function
3 years ago
B. Blechschmidt
58faf871c3
Fix copy and paste error
3 years ago
B. Blechschmidt
4a48b297f3
Restore network configuration on Drop
3 years ago
B. Blechschmidt
e4d4e0965e
Add root privilege requirement notice
3 years ago
B. Blechschmidt
1a4a8c4c16
Add auto setup method
3 years ago
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.
3 years ago
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
3 years ago
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.
3 years ago
ssrlive
d4410264e6
refine code
3 years ago
B. Blechschmidt
ce8ecbe44e
Fix CI
3 years ago
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.
3 years ago
B. Blechschmidt
341bab5586
Implement SOCKS4
3 years ago
B. Blechschmidt
c8e1872efe
Add configuration notes
3 years ago
ssrlive
197b1c83a4
use thiserror to make error handler simple
3 years ago
ssrlive
bfa1bbc462
switch to smoltcp dev version
to support IpProtocol with Hash trait
3 years ago
B. Blechschmidt
4eddcfd02b
Fix code style
3 years ago
B. Blechschmidt
8135ed3dce
Handle poll interrupt gracefully
3 years ago
B. Blechschmidt
280073ebfe
Fix test framework
3 years ago
B. Blechschmidt
5930b9b3b1
Merge improved error handling from ssrlive
3 years ago
B. Blechschmidt
83846fe631
Make virtual DNS more robust
3 years ago
B. Blechschmidt
3c8005e6b7
Use LRU cache for virtual DNS
This commit introduces an LRU cache for virtual DNS and fixes a bug
where the virtual DNS feature would cause connection mappings to time
out.
3 years ago