9 changed files with 176 additions and 111 deletions
@ -1,54 +0,0 @@
@@ -1,54 +0,0 @@
|
||||
use std::env; |
||||
use wireguard_proxy::{Args, ProxyServer}; |
||||
|
||||
fn main() { |
||||
let raw_args = env::args().collect(); |
||||
let args = Args::new(&raw_args); |
||||
if args.get_str(1, "").contains("-h") { |
||||
println!( |
||||
"usage: {} [-h] [tcp_host, 127.0.0.1:5555] [udp_target, 127.0.0.1:51820] [udp_bind_host_range, 127.0.0.1:30000-40000] [socket_timeout, 0]", |
||||
args.get_str(0, "wireguard-proxyd") |
||||
); |
||||
return; |
||||
} |
||||
|
||||
let udp_bind_host_range_str = args.get_str(3, "127.0.0.1:30000-40000"); |
||||
let mut udp_bind_host_range = udp_bind_host_range_str.split(":"); |
||||
let udp_host = udp_bind_host_range |
||||
.next() |
||||
.expect("udp_bind_host_range host invalid"); |
||||
let mut udp_ports = udp_bind_host_range |
||||
.next() |
||||
.expect("udp_bind_host_range port range invalid") |
||||
.split("-"); |
||||
let udp_low_port = udp_ports |
||||
.next() |
||||
.expect("udp_bind_host_range low port invalid") |
||||
.trim() |
||||
.parse::<u16>() |
||||
.expect("udp_bind_host_range low port invalid"); |
||||
let udp_high_port = udp_ports |
||||
.next() |
||||
.expect("udp_bind_host_range low port invalid") |
||||
.trim() |
||||
.parse::<u16>() |
||||
.expect("udp_bind_host_range low port invalid"); |
||||
|
||||
let proxy_server = ProxyServer::new( |
||||
args.get_str(1, "127.0.0.1:5555").to_owned(), |
||||
args.get_str(2, "127.0.0.1:51820").to_owned(), |
||||
udp_host.to_string(), |
||||
udp_low_port, |
||||
udp_high_port, |
||||
args.get(4, 0), |
||||
); |
||||
|
||||
println!( |
||||
"udp_target: {}, udp_bind_host_range: {}, socket_timeout: {:?}", |
||||
proxy_server.client_handler.udp_target, |
||||
udp_bind_host_range_str, |
||||
proxy_server.client_handler.socket_timeout, |
||||
); |
||||
|
||||
proxy_server.start().expect("error running proxy_server"); |
||||
} |
@ -1,29 +1,32 @@
@@ -1,29 +1,32 @@
|
||||
#!/bin/sh |
||||
set -x |
||||
|
||||
# always run this clean |
||||
cargo clean |
||||
|
||||
# first make sure udp-test succeeds running against itself |
||||
cargo run --release --bin udp-test || exit 1 |
||||
|
||||
# now run udp-test without spawning other processes |
||||
cargo run --release --bin udp-test -- -is || exit 1 |
||||
|
||||
# now run udp-test essentially just like the script below, but all in rust |
||||
cargo run --release --bin udp-test -- -s || exit 1 |
||||
|
||||
# now run proxyd pointing to udp-test |
||||
cargo run --release --bin wireguard-proxyd -- 127.0.0.1:5555 127.0.0.1:51822 & |
||||
cargo run --release --bin wireguard-proxy -- -th 127.0.0.1:5555 -ut 127.0.0.1:51822 & |
||||
proxyd_pid=$! |
||||
# wait for ports to be set up, this is fragile... |
||||
sleep 1 |
||||
# proxy pointing to proxyd |
||||
cargo run --release --bin wireguard-proxy & |
||||
cargo run --release --bin wireguard-proxy -- -tt 127.0.0.1:5555 & |
||||
proxy_pid=$! |
||||
# wait for ports to be set up, this is fragile... |
||||
sleep 1 |
||||
# and udp-test pointing to proxy, which then hops to proxyd, and finally back to udp-test |
||||
cargo run --release --bin udp-test -- 127.0.0.1:51822 |
||||
cargo run --release --bin udp-test -- -uh 127.0.0.1:51822 |
||||
udp_exit=$? |
||||
|
||||
kill $proxyd_pid $proxy_pid |
||||
|
||||
exit $udp_exit |
||||
[ $udp_exit -ne 0 ] && exit $udp_exit |
||||
|
||||
# now run udp-test essentially just like the script above, but all in rust |
||||
cargo run --release --bin udp-test -- -s |
||||
|
Loading…
Reference in new issue