mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2026-11-03 02:02:24 +00:00
Enhancements
Add support for SOCKS5 nodes in Quantumult X configs. Fix GHA Windows build error.
This commit is contained in:
2 files changed
+24
-11
No files matched your search
@@ -3,7 +3,7 @@ set -xe
|
|||||||
|
|
||||||
git clone https://github.com/curl/curl --depth=1
|
git clone https://github.com/curl/curl --depth=1
|
||||||
cd curl
|
cd curl
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release -DCURL_USE_LIBSSH2=OFF -DHTTP_ONLY=ON -DCURL_USE_SCHANNEL=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_CURL_EXE=OFF -DCMAKE_INSTALL_PREFIX="$MINGW_PREFIX" -G "Unix Makefiles" -DHAVE_LIBIDN2=OFF .
|
cmake -DCMAKE_BUILD_TYPE=Release -DCURL_USE_LIBSSH2=OFF -DHTTP_ONLY=ON -DCURL_USE_SCHANNEL=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_CURL_EXE=OFF -DCMAKE_INSTALL_PREFIX="$MINGW_PREFIX" -G "Unix Makefiles" -DHAVE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF .
|
||||||
make install -j4
|
make install -j4
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
@@ -52,5 +52,5 @@ rm -f C:/Strawberry/perl/bin/pkg-config C:/Strawberry/perl/bin/pkg-config.bat
|
|||||||
cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" .
|
cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" .
|
||||||
make -j4
|
make -j4
|
||||||
rm subconverter.exe
|
rm subconverter.exe
|
||||||
g++ $(find CMakeFiles/subconverter.dir/src -name "*.obj") curl/lib/libcurl.a -o base/subconverter.exe -static -levent -lpcre2-8 -lquickjs -llibcron -lyaml-cpp -liphlpapi -lcrypt32 -lws2_32 -lwsock32 -lz -s
|
g++ $(find CMakeFiles/subconverter.dir/src -name "*.obj") curl/lib/libcurl.a -o base/subconverter.exe -static -lbcrypt -levent -lpcre2-8 -lquickjs -llibcron -lyaml-cpp -liphlpapi -lcrypt32 -lws2_32 -lwsock32 -lz -s
|
||||||
mv base subconverter
|
mv base subconverter
|
||||||
@@ -1386,6 +1386,23 @@ void proxyToQuanX(std::vector<Proxy> &nodes, INIReader &ini, std::vector<Ruleset
|
|||||||
proxyStr += ", over-tls=false";
|
proxyStr += ", over-tls=false";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ProxyType::SOCKS5:
|
||||||
|
proxyStr = "socks5 = " + hostname + ":" + port;
|
||||||
|
if(!username.empty() && !password.empty())
|
||||||
|
{
|
||||||
|
proxyStr += ", username=" + username + ", password=" + password;
|
||||||
|
if(tlssecure)
|
||||||
|
{
|
||||||
|
proxyStr += ", over-tls=true, tls-host=" + host;
|
||||||
|
if(!tls13.is_undef())
|
||||||
|
proxyStr += ", tls13=" + std::string(tls13 ? "true" : "false");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
proxyStr += ", over-tls=false";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -1393,7 +1410,7 @@ void proxyToQuanX(std::vector<Proxy> &nodes, INIReader &ini, std::vector<Ruleset
|
|||||||
proxyStr += ", fast-open=" + tfo.get_str();
|
proxyStr += ", fast-open=" + tfo.get_str();
|
||||||
if(!udp.is_undef())
|
if(!udp.is_undef())
|
||||||
proxyStr += ", udp-relay=" + udp.get_str();
|
proxyStr += ", udp-relay=" + udp.get_str();
|
||||||
if(tlssecure && !scv.is_undef() && (x.Type == ProxyType::HTTP || x.Type == ProxyType::Trojan))
|
if(tlssecure && !scv.is_undef() && (x.Type != ProxyType::Shadowsocks && x.Type != ProxyType::ShadowsocksR))
|
||||||
proxyStr += ", tls-verification=" + scv.reverse().get_str();
|
proxyStr += ", tls-verification=" + scv.reverse().get_str();
|
||||||
proxyStr += ", tag=" + remark;
|
proxyStr += ", tag=" + remark;
|
||||||
|
|
||||||
@@ -1406,17 +1423,13 @@ void proxyToQuanX(std::vector<Proxy> &nodes, INIReader &ini, std::vector<Ruleset
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
string_multimap original_groups;
|
string_multimap original_groups;
|
||||||
string_array filtered_nodelist;
|
|
||||||
ini.SetCurrentSection("policy");
|
ini.SetCurrentSection("policy");
|
||||||
ini.GetItems(original_groups);
|
ini.GetItems(original_groups);
|
||||||
ini.EraseSection();
|
ini.EraseSection();
|
||||||
|
|
||||||
std::string singlegroup;
|
|
||||||
std::string proxies;
|
|
||||||
string_array vArray;
|
|
||||||
for(const ProxyGroupConfig &x : extra_proxy_group)
|
for(const ProxyGroupConfig &x : extra_proxy_group)
|
||||||
{
|
{
|
||||||
eraseElements(filtered_nodelist);
|
string_array filtered_nodelist;
|
||||||
|
|
||||||
switch(x.Type)
|
switch(x.Type)
|
||||||
{
|
{
|
||||||
@@ -1464,7 +1477,7 @@ void proxyToQuanX(std::vector<Proxy> &nodes, INIReader &ini, std::vector<Ruleset
|
|||||||
});
|
});
|
||||||
if(iter != original_groups.end())
|
if(iter != original_groups.end())
|
||||||
{
|
{
|
||||||
vArray = split(iter->second, ",");
|
string_array vArray = split(iter->second, ",");
|
||||||
if(vArray.size() > 1)
|
if(vArray.size() > 1)
|
||||||
{
|
{
|
||||||
if(trim(vArray[vArray.size() - 1]).find("img-url") == 0)
|
if(trim(vArray[vArray.size() - 1]).find("img-url") == 0)
|
||||||
@@ -1472,9 +1485,9 @@ void proxyToQuanX(std::vector<Proxy> &nodes, INIReader &ini, std::vector<Ruleset
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proxies = join(filtered_nodelist, ", ");
|
std::string proxies = join(filtered_nodelist, ", ");
|
||||||
|
|
||||||
singlegroup = type + "=" + x.Name + ", " + proxies;
|
std::string singlegroup = type + "=" + x.Name + ", " + proxies;
|
||||||
ini.Set("{NONAME}", singlegroup);
|
ini.Set("{NONAME}", singlegroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user