The MTProto
is easy to block; shadowsocks
is hard to identify but cannot work without a client.
You can deylop this docker image to run a relay inside the firewall (China/Russia etc.), it provide a MTProto and all the packets will be sent through shadowsocks protocol.