mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
Fix --proxy parsing
This commit is contained in:
parent
a30206ce56
commit
39809e9a9b
@ -242,13 +242,11 @@ void GetCommandLineFromConfig(const base::FilePath& config_path,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string GetProxyFromURL(const GURL& url) {
|
std::string GetProxyFromURL(const GURL& url) {
|
||||||
auto shp = url::SchemeHostPort(url);
|
std::string str = url.GetWithEmptyPath().spec();
|
||||||
if (url::DefaultPortForScheme(shp.scheme().c_str(), shp.scheme().size()) ==
|
if (str.size() && str.back() == '/') {
|
||||||
url::PORT_UNSPECIFIED) {
|
str.pop_back();
|
||||||
return shp.Serialize() + ":" + base::IntToString(shp.port());
|
|
||||||
} else {
|
|
||||||
return shp.Serialize();
|
|
||||||
}
|
}
|
||||||
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ParseCommandLine(const CommandLine& cmdline, Params* params) {
|
bool ParseCommandLine(const CommandLine& cmdline, Params* params) {
|
||||||
@ -298,7 +296,6 @@ bool ParseCommandLine(const CommandLine& cmdline, Params* params) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
params->proxy_url = GetProxyFromURL(url_no_auth);
|
params->proxy_url = GetProxyFromURL(url_no_auth);
|
||||||
params->proxy_url.erase();
|
|
||||||
params->proxy_user = url.username();
|
params->proxy_user = url.username();
|
||||||
params->proxy_pass = url.password();
|
params->proxy_pass = url.password();
|
||||||
}
|
}
|
||||||
|
@ -40,19 +40,23 @@ echo '{"listen":"socks://127.0.0.1:61080","log":""}' >/tmp/config.json
|
|||||||
test_naive 'Config file' socks5h://127.0.0.1:61080 '/tmp/config.json'
|
test_naive 'Config file' socks5h://127.0.0.1:61080 '/tmp/config.json'
|
||||||
rm -f /tmp/config.json
|
rm -f /tmp/config.json
|
||||||
|
|
||||||
test_naive 'Trivial - scheme only' socks5h://127.0.0.1:1080 \
|
test_naive 'Trivial - listen scheme only' socks5h://127.0.0.1:1080 \
|
||||||
'--log --listen=socks://'
|
'--log --listen=socks://'
|
||||||
|
|
||||||
test_naive 'Trivial - no host' socks5h://127.0.0.1:61080 \
|
test_naive 'Trivial - listen no host' socks5h://127.0.0.1:61080 \
|
||||||
'--log --listen=socks://:61080'
|
'--log --listen=socks://:61080'
|
||||||
|
|
||||||
test_naive 'Trivial - no port' socks5h://127.0.0.1:1080 \
|
test_naive 'Trivial - listen no port' socks5h://127.0.0.1:1080 \
|
||||||
'--log --listen=socks://127.0.0.1'
|
'--log --listen=socks://127.0.0.1'
|
||||||
|
|
||||||
test_naive 'SOCKS-SOCKS' socks5h://127.0.0.1:11080 \
|
test_naive 'SOCKS-SOCKS' socks5h://127.0.0.1:11080 \
|
||||||
'--log --listen=socks://:11080 --proxy=socks://127.0.0.1:21080' \
|
'--log --listen=socks://:11080 --proxy=socks://127.0.0.1:21080' \
|
||||||
'--log --listen=socks://:21080'
|
'--log --listen=socks://:21080'
|
||||||
|
|
||||||
|
test_naive 'SOCKS-SOCKS - proxy no port' socks5h://127.0.0.1:11080 \
|
||||||
|
'--log --listen=socks://:11080 --proxy=socks://127.0.0.1' \
|
||||||
|
'--log --listen=socks://:1080'
|
||||||
|
|
||||||
test_naive 'SOCKS-HTTP' socks5h://127.0.0.1:11080 \
|
test_naive 'SOCKS-HTTP' socks5h://127.0.0.1:11080 \
|
||||||
'--log --listen=socks://:11080 --proxy=http://127.0.0.1:28080' \
|
'--log --listen=socks://:11080 --proxy=http://127.0.0.1:28080' \
|
||||||
'--log --listen=http://:28080'
|
'--log --listen=http://:28080'
|
||||||
|
Loading…
Reference in New Issue
Block a user