mirror of
https://github.com/JuniorDark/RustyHearts-API.git
synced 2026-05-07 14:11:44 -04:00
Version 1.3.0
- Implemented authentication and billing routes for Jpn region. - Refactored and changed the project structure from CommonJS to ES Modules
This commit is contained in:
parent
9584e58143
commit
c3d9e7afb5
76 changed files with 3847 additions and 1109 deletions
100
src/config.js
Normal file
100
src/config.js
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
import dotenv from 'dotenv';
|
||||
dotenv.config();
|
||||
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { dirname } from 'path';
|
||||
|
||||
import cors from 'cors';
|
||||
import compression from 'compression';
|
||||
import express from 'express';
|
||||
import helmet from 'helmet';
|
||||
|
||||
import { logger } from './utils/logger.js';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
export default {
|
||||
// Port configurations
|
||||
ports: {
|
||||
main: process.env.API_LISTEN_PORT || 80,
|
||||
usaApp: process.env.API_USA_PORT || 8070,
|
||||
jpnApp: process.env.API_JPN_PORT || 8080,
|
||||
proxy: process.env.API_PROXY_PORT || 8090,
|
||||
gate: process.env.GATESERVER_PORT || 50001,
|
||||
},
|
||||
|
||||
// IP configurations
|
||||
ips: {
|
||||
public: process.env.API_LISTEN_HOST || '0.0.0.0',
|
||||
local: process.env.API_LOCAL_LISTEN_HOST || '127.0.0.1',
|
||||
gate: process.env.GATESERVER_IP,
|
||||
},
|
||||
|
||||
// configurations
|
||||
config: {
|
||||
serverId: Number(process.env.SERVER_ID) || 10101,
|
||||
shopBalance: process.env.API_SHOP_INITIAL_BALANCE || 0,
|
||||
timeZone: process.env.TZ,
|
||||
},
|
||||
|
||||
// API configurations
|
||||
apiConfig: {
|
||||
trustProxyEnabled: process.env.API_TRUSTPROXY_ENABLE || 'false',
|
||||
trustProxyHosts: process.env.API_TRUSTPROXY_HOSTS || [],
|
||||
logIPAddresses: process.env.LOG_IP_ADDRESSES || 'false',
|
||||
},
|
||||
|
||||
// Mailer configurations
|
||||
mailer: {
|
||||
host: process.env.SMTP_HOST,
|
||||
port: Number(process.env.SMTP_PORT),
|
||||
secure: process.env.SMTP_ENCRYPTION === 'ssl' || process.env.SMTP_ENCRYPTION === 'tls',
|
||||
auth: {
|
||||
user: process.env.SMTP_USERNAME,
|
||||
pass: process.env.SMTP_PASSWORD
|
||||
}
|
||||
},
|
||||
|
||||
// middleware
|
||||
middleware: {
|
||||
baseMiddleware: [
|
||||
cors(),
|
||||
compression(),
|
||||
express.json(),
|
||||
express.urlencoded({ extended: true }),
|
||||
],
|
||||
|
||||
getMiddleware: function () {
|
||||
const middleware = [...this.baseMiddleware];
|
||||
if (process.env.API_ENABLE_HELMET === 'true') {
|
||||
middleware.unshift(helmet());
|
||||
}
|
||||
return middleware;
|
||||
}
|
||||
},
|
||||
|
||||
// Static file paths
|
||||
staticPaths: {
|
||||
public: path.join(__dirname, '../public'),
|
||||
launcherNews: path.join(__dirname, '../public/launcher/news'),
|
||||
launcherNewsImages: path.join(__dirname, '../public/launcher/news/images'),
|
||||
launcherPatch: path.join(__dirname, '../public/launcher/patch'),
|
||||
launcherClient: path.join(__dirname, '../public/launcher/client'),
|
||||
site: path.join(__dirname, '../public/site'),
|
||||
},
|
||||
|
||||
// Logger
|
||||
logger,
|
||||
|
||||
// Backend configuration for proxy
|
||||
BACKENDS: {
|
||||
AUTH: {
|
||||
paths: ['/Auth/cgi-bin/auth_rest_oem.cgi']
|
||||
},
|
||||
BILLING: {
|
||||
paths: ['/Billing/S1/ApiPointTotalGetS.php', '/Billing/S1/ApiPointMoveS.php']
|
||||
}
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue