修复备份错误的bug,请重新上传

This commit is contained in:
Peng-YM 2020-11-25 12:04:28 +08:00
parent 0fbdbe7b85
commit e630caf386
3 changed files with 10 additions and 27 deletions

View File

@ -18,15 +18,7 @@ service();
/****************************************** Service **********************************************************/ /****************************************** Service **********************************************************/
function service() { function service() {
const welcome = heredoc(function () {/* console.log("========== Sub-Store ===========")
_____ __ _____ __
/ ___/ __ __ / /_ / ___/ / /_ ____ _____ ___
\__ \ / / / // __ \ ______ \__ \ / __// __ \ / ___// _ \
___/ // /_/ // /_/ //_____/___/ // /_ / /_/ // / / __/
/____/ \__,_//_.___/ /____/ \__/ \____//_/ \___/
*/
});
console.log(welcome);
const $app = express(); const $app = express();
// Constants // Constants
const SETTINGS_KEY = "settings"; const SETTINGS_KEY = "settings";
@ -489,14 +481,14 @@ function service() {
switch (action) { switch (action) {
case "upload": case "upload":
content = $.read("#sub-store"); content = $.read("#sub-store");
await gist.upload(JSON.stringify(content));
$.info(`上传备份中...`); $.info(`上传备份中...`);
await gist.upload(content);
break; break;
case "download": case "download":
$.info(`还原备份中...`);
content = await gist.download(); content = await gist.download();
// restore settings // restore settings
$.write(content, "#sub-store"); $.write(content, "#sub-store");
$.info(`还原备份中...`);
break; break;
} }
res.json({ res.json({
@ -722,7 +714,6 @@ var PROXY_PREPROCESSORS = (function () {
return keys.some(k => raw.indexOf(k) !== -1); return keys.some(k => raw.indexOf(k) !== -1);
} }
const parse = function (raw) { const parse = function (raw) {
const Base64 = new Base64Code();
raw = Base64.safeDecode(raw); raw = Base64.safeDecode(raw);
return raw; return raw;
} }
@ -770,7 +761,6 @@ var PROXY_PREPROCESSORS = (function () {
const parse = function (raw) { const parse = function (raw) {
// preprocessing for SSD subscription format // preprocessing for SSD subscription format
const output = []; const output = [];
const Base64 = new Base64Code();
let ssdinfo = JSON.parse(Base64.safeDecode(raw.split("ssd://")[1])); let ssdinfo = JSON.parse(Base64.safeDecode(raw.split("ssd://")[1]));
// options (traffic_used, traffic_total, expiry, url) // options (traffic_used, traffic_total, expiry, url)
const traffic_used = ssdinfo.traffic_used; // GB const traffic_used = ssdinfo.traffic_used; // GB
@ -816,7 +806,6 @@ var PROXY_PARSERS = (function () {
const test = (line) => { const test = (line) => {
return /^ss:\/\//.test(line); return /^ss:\/\//.test(line);
}; };
const Base64 = new Base64Code();
const parse = (line) => { const parse = (line) => {
const supported = {}; const supported = {};
// parse url // parse url
@ -888,7 +877,6 @@ var PROXY_PARSERS = (function () {
const test = (line) => { const test = (line) => {
return /^ssr:\/\//.test(line); return /^ssr:\/\//.test(line);
}; };
const Base64 = new Base64Code();
const supported = { const supported = {
Surge: false, Surge: false,
}; };
@ -951,7 +939,6 @@ var PROXY_PARSERS = (function () {
const test = (line) => { const test = (line) => {
return /^vmess:\/\//.test(line); return /^vmess:\/\//.test(line);
}; };
const Base64 = new Base64Code();
const parse = (line) => { const parse = (line) => {
const supported = {}; const supported = {};
line = line.split("vmess://")[1]; line = line.split("vmess://")[1];
@ -1505,7 +1492,7 @@ var PROXY_PARSERS = (function () {
}; };
if (proxy.tls) { if (proxy.tls) {
if (typeof params["skip-cert-verify"] !== "undefined") { if (typeof params["skip-cert-verify"] !== "undefined") {
proxy['skip-cert-verify'] = params["skip-cert-verify"] == true || params["skip-cert-verify"] === "1"; proxy['skip-cert-verify'] = params["skip-cert-verify"] === true || params["skip-cert-verify"] === "1";
} }
proxy.sni = params["sni"] || params.server; proxy.sni = params["sni"] || params.server;
} }
@ -1541,7 +1528,7 @@ var PROXY_PARSERS = (function () {
tfo: JSON.parse(params.tfo || "false"), tfo: JSON.parse(params.tfo || "false"),
}; };
if (typeof params["skip-cert-verify"] !== "undefined") { if (typeof params["skip-cert-verify"] !== "undefined") {
proxy['skip-cert-verify'] = params["skip-cert-verify"] == true || params["skip-cert-verify"] === "1"; proxy['skip-cert-verify'] = params["skip-cert-verify"] === true || params["skip-cert-verify"] === "1";
} }
return proxy; return proxy;
}; };
@ -1568,7 +1555,7 @@ var PROXY_PARSERS = (function () {
}; };
if (proxy.tls) { if (proxy.tls) {
if (typeof params["skip-cert-verify"] !== "undefined") { if (typeof params["skip-cert-verify"] !== "undefined") {
proxy['skip-cert-verify'] = params["skip-cert-verify"] == true || params["skip-cert-verify"] === "1"; proxy['skip-cert-verify'] = params["skip-cert-verify"] === true || params["skip-cert-verify"] === "1";
} }
proxy.sni = params.sni || params.server; proxy.sni = params.sni || params.server;
} }
@ -2879,7 +2866,7 @@ function Gist(backupKey, token) {
}, },
events: { events: {
onResponse: (resp) => { onResponse: (resp) => {
if (String(resp.statusCode).startsWith("4")) { if (/^[45]/.test(String(resp.statusCode))) {
return Promise.reject(`ERROR: ${JSON.parse(resp.body).message}`); return Promise.reject(`ERROR: ${JSON.parse(resp.body).message}`);
} else { } else {
return resp; return resp;
@ -2935,7 +2922,7 @@ function Gist(backupKey, token) {
.get(`/gists/${id}`) .get(`/gists/${id}`)
.then(resp => JSON.parse(resp.body)); .then(resp => JSON.parse(resp.body));
const url = files[FILE_NAME].raw_url; const url = files[FILE_NAME].raw_url;
return await HTTP().get(url).then(resp => resp.body); return await http.get(url).then(resp => resp.body);
} catch (err) { } catch (err) {
return Promise.reject(err); return Promise.reject(err);
} }
@ -3230,9 +3217,6 @@ function express({port} = {port: 3000}) {
} }
/****************************************** Third Party Libraries **********************************************************/ /****************************************** Third Party Libraries **********************************************************/
function heredoc(fn) {
return fn.toString().split('\n').slice(1, -2).join('\n') + '\n';
}
/** /**
* Base64 Coding Library * Base64 Coding Library

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,6 @@ function operator(proxies) {
if (typeof counter[p.name] === 'undefined') counter[p.name] = 1; if (typeof counter[p.name] === 'undefined') counter[p.name] = 1;
else counter[p.name]++; else counter[p.name]++;
}); });
console.log(counter);
return proxies.map((p) => { return proxies.map((p) => {
if (counter[p.name] > 1) { if (counter[p.name] > 1) {
if (typeof increment[p.name] === "undefined") increment[p.name] = 1; if (typeof increment[p.name] === "undefined") increment[p.name] = 1;