Enhancements

Fix /render not correctly render UTF-8 content.
Add append to template function.
Optimize codes.
This commit is contained in:
Tindy X committed 2020-04-19 13:12:09 +08:00
1 parent 48c12054af
commit 4b5e0e1346
7 files changed
+120 -104

No files matched your search

+7 -7
View File
@@ -75,7 +75,7 @@ std::string hostnameToIPAddr(const std::string &host)
return retAddr;
}
std::string vmessConstruct(std::string add, std::string port, std::string type, std::string id, std::string aid, std::string net, std::string cipher, std::string path, std::string host, std::string edge, std::string tls, int local_port)
std::string vmessConstruct(std::string add, std::string port, std::string type, std::string id, std::string aid, std::string net, std::string cipher, std::string path, std::string host, std::string edge, std::string tls)
{
if(!path.size())
path = "/";
@@ -96,7 +96,7 @@ std::string vmessConstruct(std::string add, std::string port, std::string type,
writer.Key("Hostname");
writer.String(add.data());
writer.Key("Port");
writer.Int(shortAssemble((unsigned short)to_int(port), (unsigned short)local_port));
writer.Int(to_int(port));
writer.Key("UserID");
writer.String(id.data());
writer.Key("AlterID");
@@ -132,7 +132,7 @@ std::string vmessConstruct(std::string add, std::string port, std::string type,
return sb.GetString();
}
std::string ssrConstruct(std::string group, std::string remarks, std::string remarks_base64, std::string server, std::string port, std::string protocol, std::string method, std::string obfs, std::string password, std::string obfsparam, std::string protoparam, int local_port, bool libev)
std::string ssrConstruct(std::string group, std::string remarks, std::string remarks_base64, std::string server, std::string port, std::string protocol, std::string method, std::string obfs, std::string password, std::string obfsparam, std::string protoparam, bool libev)
{
rapidjson::StringBuffer sb;
rapidjson::Writer<rapidjson::StringBuffer> writer(sb);
@@ -144,7 +144,7 @@ std::string ssrConstruct(std::string group, std::string remarks, std::string rem
writer.Key("Hostname");
writer.String(server.data());
writer.Key("Port");
writer.Int(shortAssemble((unsigned short)to_int(port), (unsigned short)local_port));
writer.Int(to_int(port));
writer.Key("Password");
writer.String(password.data());
writer.Key("EncryptMethod");
@@ -161,7 +161,7 @@ std::string ssrConstruct(std::string group, std::string remarks, std::string rem
return sb.GetString();
}
std::string ssConstruct(std::string server, std::string port, std::string password, std::string method, std::string plugin, std::string pluginopts, std::string remarks, int local_port, bool libev)
std::string ssConstruct(std::string server, std::string port, std::string password, std::string method, std::string plugin, std::string pluginopts, std::string remarks, bool libev)
{
rapidjson::StringBuffer sb;
rapidjson::Writer<rapidjson::StringBuffer> writer(sb);
@@ -173,7 +173,7 @@ std::string ssConstruct(std::string server, std::string port, std::string passwo
writer.Key("Hostname");
writer.String(server.data());
writer.Key("Port");
writer.Int(shortAssemble((unsigned short)to_int(port), (unsigned short)local_port));
writer.Int(to_int(port));
writer.Key("Password");
writer.String(password.data());
writer.Key("EncryptMethod");
@@ -287,7 +287,7 @@ bool matchRange(std::string &range, int target)
string_array vArray = split(range, ",");
bool match = false;
int range_begin = 0, range_end = 0;
const std::string reg_num = "\\d+", reg_range = "(\\d+)-(\\d+)", reg_not = "\\!(\\d+)", reg_not_range = "\\!(\\d+)-(\\d+)", reg_less = "(\\d+)-", reg_more = "(\\d+)\\+";
const std::string reg_num = "-?\\d+", reg_range = "(\\d+)-(\\d+)", reg_not = "\\!(\\d+)", reg_not_range = "\\!(\\d+)-(\\d+)", reg_less = "(\\d+)-", reg_more = "(\\d+)\\+";
for(std::string &x : vArray)
{
if(regMatch(x, reg_num))