a shadowsocks uri parser inspired by https://github.com/Jigsaw-Code/outline-shadowsocksconfig
this crate uses the same algorithm and passes the same tests of what outline uses so it is compatible with what outline expects
example usage :
```rust use ssuri::SSConfig; use url::Host; use ssuri::Method; let config = SSConfig::parse("ss://YWVzLTEyOC1nY206dGVzdA@192.168.100.1:8888#Foo%20Bar").unwrap();
asserteq!(config.method, Method::Aes128Gcm); asserteq!(config.password,"test"); asserteq!(config.host, Host::parse("192.168.100.1").unwrap()); asserteq!(config.port, 8888); asserteq!(config.tag, Some("Foo Bar".tostring()));
asserteq!(config.tosip002(),"ss://YWVzLTEyOC1nY206dGVzdA@192.168.100.1:8888#Foo%20Bar") ```
a cli tool generating ss-local config based on this parser : https://github.com/ehsan2003/ss-uri-cli