Inspired by shadowsocks-go