diff --git a/.gitignore b/.gitignore index ea8c4bf..2d5df85 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +.direnv diff --git a/src/tcp_to_udp.rs b/src/tcp_to_udp.rs index b09cae8..1fa4c11 100644 --- a/src/tcp_to_udp.rs +++ b/src/tcp_to_udp.rs @@ -1,4 +1,5 @@ use std::{ + env, io::{Read, Write}, net::{TcpListener, UdpSocket}, thread, @@ -15,7 +16,11 @@ impl Ports { let mut tcp = tcp_listener.accept().unwrap().0; thread::spawn(move || { let udp = UdpSocket::bind(("127.0.0.1", 0)).unwrap(); - udp.connect(("127.0.0.1", self.udp)).unwrap(); + udp.connect(( + env::var("TCPUDP_OTHER").unwrap_or("127.0.0.1".to_owned()), + self.udp, + )) + .unwrap(); { let (mut tcp, udp) = (tcp.try_clone().unwrap(), udp.try_clone().unwrap()); thread::spawn(move || { diff --git a/src/udp_to_tcp.rs b/src/udp_to_tcp.rs index 2270380..0a55e1f 100644 --- a/src/udp_to_tcp.rs +++ b/src/udp_to_tcp.rs @@ -1,5 +1,6 @@ use std::{ collections::HashMap, + env, io::{Read, Write}, net::{Shutdown, SocketAddr, TcpStream, UdpSocket}, thread, @@ -18,7 +19,11 @@ impl Ports { let (len, addr) = udp_listener.recv_from(&mut buf).unwrap(); let mut tcp_socket = map.get(&addr); if tcp_socket.is_none() { - let tcp = TcpStream::connect(("127.0.0.1", self.tcp)).unwrap(); + let tcp = TcpStream::connect(( + env::var("TCPUDP_OTHER").unwrap_or("127.0.0.1".to_owned()), + self.tcp, + )) + .unwrap(); { let (mut tcp, addr, udp) = ( tcp.try_clone().unwrap(),