From 526de550953ca47742bc0f483d4944f636ddfd05 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Thu, 19 Dec 2019 09:50:05 +0800 Subject: [PATCH] Add remotely update configuration via Web interface --- main.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/main.cpp b/main.cpp index 3ea4cdd..c92e892 100644 --- a/main.cpp +++ b/main.cpp @@ -525,6 +525,27 @@ int main(int argc, char *argv[]) return "done"; }); + append_response("POST", "/updateconf", "text/plain", [](RESPONSE_CALLBACK_ARGS) -> std::string + { + if(access_token.size()) + { + std::string token = getUrlArg(argument, "token"); + if(token != access_token) + return "Unauthorized"; + } + std::string type = getUrlArg(argument, "type"); + if(type == "form") + fileWrite(pref_path, getFormData(postdata), true); + else if(type == "direct") + fileWrite(pref_path, postdata, true); + else + return "Not implemented"; + readConf(); + if(!update_ruleset_on_request) + refreshRulesets(rulesets, ruleset_content_array); + return "done"; + }); + append_response("GET", "/sub", "text/plain;charset=utf-8", subconverter); append_response("GET", "/clash", "text/plain;charset=utf-8", [](RESPONSE_CALLBACK_ARGS) -> std::string