#uri #github #com #parser #shadowsocks #host #outline-shadowsocksconfig

ss-uri

受 https://github.com/Jigsaw-Code/outline-shadowsocksconfig 启发的 shadowsocks uri 解析器

3 个版本 (破坏性更新)

0.3.0 2022年3月19日
0.2.0 2022年3月19日
0.1.0 2022年3月8日

#11 in #shadowsocks


ss-uri-cli 中使用

Apache-2.0

33KB
698

受 https://github.com/Jigsaw-Code/outline-shadowsocksconfig 启发的 shadowsocks uri 解析器

此 crate 使用与 outline 相同的算法并通过相同的测试,因此与 outline 预期的兼容

示例用法

use ss_uri::SSConfig;
use url::Host;
use ss_uri::Method;
let config = SSConfig::parse("ss://[email protected]:8888#Foo%20Bar").unwrap();

assert_eq!(config.method, Method::Aes128Gcm);
assert_eq!(config.password,"test");
assert_eq!(config.host, Host::parse("192.168.100.1").unwrap());
assert_eq!(config.port, 8888);
assert_eq!(config.tag, Some("Foo Bar".to_string()));

assert_eq!(config.to_sip002(),"ss://[email protected]:8888#Foo%20Bar")

一个基于此解析器生成 ss-local 配置的命令行工具: https://github.com/ehsan2003/ss-uri-cli

依赖

~1.5MB
~52K SLoC