make local port selectable

This commit is contained in:
Tove 2025-10-12 22:30:31 +02:00
parent 7cd56bbc3a
commit af0bfdaa0e
Signed by: TudbuT
GPG key ID: B3CF345217F202D3

View file

@ -18,19 +18,20 @@ pub struct URedir {
fn main() {
let mut args = env::args().skip(1);
println!("uredir by TudbuT: uredir [true server] [port] [mtu]");
println!("uredir by TudbuT: uredir [true server] [port] [lport] [mtu]");
let true_server: String = args.next().unwrap();
let true_server = IpAddr::from_str(&true_server).unwrap();
let port: u16 = args.next().unwrap().parse().unwrap();
let lport: u16 = args.next().unwrap().parse().unwrap();
let mtu: usize = args.next().unwrap().parse().unwrap();
println!("Start!");
URedir::run_server(true_server, port, mtu);
URedir::run_server(true_server, port, lport, mtu);
}
impl URedir {
pub fn run_server(true_server: IpAddr, port: u16, mtu: usize) -> ! {
let clients = UdpSocket::bind(("0.0.0.0", port)).unwrap();
pub fn run_server(true_server: IpAddr, port: u16, lport: u16, mtu: usize) -> ! {
let clients = UdpSocket::bind(("0.0.0.0", lport)).unwrap();
clients.set_nonblocking(true).unwrap();
let mut server = URedir {