diff --git a/backend/package.json b/backend/package.json index a642bd3f2..56e276232 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.99", + "version": "2.14.101", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/restful/index.js b/backend/src/restful/index.js index 8c2f7b54d..f8f220c5b 100644 --- a/backend/src/restful/index.js +++ b/backend/src/restful/index.js @@ -15,8 +15,13 @@ import registerMiscRoutes from './miscs'; import registerNodeInfoRoutes from './node-info'; export default function serve() { - const $app = express({ substore: $ }); - + let port; + let host; + if ($.env.isNode) { + port = eval('process.env.SUB_STORE_BACKEND_API_PORT'); + host = eval('process.env.SUB_STORE_BACKEND_API_HOST'); + } + const $app = express({ substore: $, port, host }); // register routes registerCollectionRoutes($app); registerSubscriptionRoutes($app); diff --git a/backend/src/vendor/express.js b/backend/src/vendor/express.js index 61b9343bf..e3eb5efaa 100644 --- a/backend/src/vendor/express.js +++ b/backend/src/vendor/express.js @@ -1,8 +1,9 @@ /* eslint-disable no-undef */ import { ENV } from './open-api'; -export default function express({ substore: $, port }) { +export default function express({ substore: $, port, host }) { port = port || 3000; + host = host || '::'; const { isNode } = ENV(); const DEFAULT_HEADERS = { 'Content-Type': 'text/plain;charset=UTF-8', @@ -29,8 +30,9 @@ export default function express({ substore: $, port }) { // adapter app.start = () => { - app.listen(port, () => { - $.info(`Express started on port: ${port}`); + const listener = app.listen(port, host, () => { + const { address, port } = listener.address(); + $.info(`Express started on ${address}:${port}`); }); }; return app;