mirror of
https://git.mirrors.martin98.com/https://github.com/sub-store-org/Sub-Store.git
synced 2025-08-14 19:56:02 +08:00
fix (restful): Intercept IP-API query failed message when querying node info
This commit is contained in:
parent
f7333c0617
commit
3d58534dfe
6
backend/dist/cron-sync-artifacts.min.js
vendored
6
backend/dist/cron-sync-artifacts.min.js
vendored
File diff suppressed because one or more lines are too long
6
backend/dist/sub-store-parser.loon.min.js
vendored
6
backend/dist/sub-store-parser.loon.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "sub-store",
|
"name": "sub-store",
|
||||||
"version": "2.11.0",
|
"version": "2.11.1",
|
||||||
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
|
||||||
"main": "src/main.js",
|
"main": "src/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -175,6 +175,7 @@ async function gistBackup(req, res) {
|
|||||||
|
|
||||||
async function getNodeInfo(req, res) {
|
async function getNodeInfo(req, res) {
|
||||||
const proxy = req.body;
|
const proxy = req.body;
|
||||||
|
const lang = req.query.lang || 'zh-CN';
|
||||||
let shareUrl;
|
let shareUrl;
|
||||||
try {
|
try {
|
||||||
shareUrl = producer.URI.produce(proxy);
|
shareUrl = producer.URI.produce(proxy);
|
||||||
@ -186,13 +187,26 @@ async function getNodeInfo(req, res) {
|
|||||||
const $http = HTTP();
|
const $http = HTTP();
|
||||||
const info = await $http
|
const info = await $http
|
||||||
.get({
|
.get({
|
||||||
url: `http://ip-api.com/json/${proxy.server}?lang=zh-CN`,
|
url: `http://ip-api.com/json/${encodeURIComponent(
|
||||||
|
proxy.server,
|
||||||
|
)}?lang=${lang}`,
|
||||||
headers: {
|
headers: {
|
||||||
'User-Agent':
|
'User-Agent':
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
|
'Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then((resp) => JSON.parse(resp.body));
|
.then((resp) => {
|
||||||
|
const data = JSON.parse(resp.body);
|
||||||
|
if (data.status !== 'success') {
|
||||||
|
throw new Error(data.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove unnecessary fields
|
||||||
|
delete data.status;
|
||||||
|
delete data.query;
|
||||||
|
|
||||||
|
return data;
|
||||||
|
});
|
||||||
success(res, {
|
success(res, {
|
||||||
shareUrl,
|
shareUrl,
|
||||||
info,
|
info,
|
||||||
|
6
backend/sub-store.min.js
vendored
6
backend/sub-store.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user