shadowsocks-rust 1.0.0

shadowsocks is a fast tunnel proxy that helps you bypass firewalls.
Documentation
#![feature(slicing_syntax)]

use std::io::net::udp::UdpSocket;
use std::io::net::ip::SocketAddr;

use std::str;

fn main() {

    let mut socket_orig = UdpSocket::bind(SocketAddr {
        ip: from_str("127.0.0.1").unwrap(),
        port: 1234,
    }).unwrap();

    let mut buf = [0, ..1024];
    loop {
        match socket_orig.recv_from(buf) {
            Ok((len, src)) => {
                let mut socket = socket_orig.clone();
                spawn(proc() {
                    let data = buf[..len];

                    // println!("Received {} from {}", data, src);

                    socket.send_to(data, src).unwrap();
                });
            },
            Err(err) => {
                panic!(err);
            }
        }
    }
}