|
|
@@ -1,84 +0,0 @@
|
|
|
-#!/usr/bin/env node
|
|
|
-
|
|
|
-/**
|
|
|
- * Socket服务器启动脚本
|
|
|
- * 自动检测SSL证书并选择合适的启动模式
|
|
|
- */
|
|
|
-
|
|
|
-const fs = require('fs');
|
|
|
-const path = require('path');
|
|
|
-
|
|
|
-// 检查配置文件
|
|
|
-const configPath = path.join(__dirname, 'config.js');
|
|
|
-if (!fs.existsSync(configPath)) {
|
|
|
- console.error('错误: 配置文件 config.js 不存在');
|
|
|
- process.exit(1);
|
|
|
-}
|
|
|
-
|
|
|
-const config = require('./config.js');
|
|
|
-
|
|
|
-// 检查必要的配置项
|
|
|
-const requiredConfigs = ['socket_port', 'REDISHOST', 'REDISPORT', 'REDISPASS'];
|
|
|
-for (const key of requiredConfigs) {
|
|
|
- if (!config[key]) {
|
|
|
- console.error(`错误: 配置项 ${key} 未设置`);
|
|
|
- process.exit(1);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-console.log('配置检查通过');
|
|
|
-console.log('Redis配置:', config.REDISHOST + ':' + config.REDISPORT);
|
|
|
-console.log('Socket端口:', config.socket_port);
|
|
|
-
|
|
|
-// SSL证书路径配置
|
|
|
-const sslPaths = [
|
|
|
- // 默认路径
|
|
|
- {
|
|
|
- key: '/www/server/panel/vhost/cert/yjzb.yunchao2u.com/privkey.key',
|
|
|
- cert: '/www/server/panel/vhost/cert/yjzb.yunchao2u.com/fullchain.pem'
|
|
|
- },
|
|
|
- // 备用路径1
|
|
|
- {
|
|
|
- key: './ssl/privkey.key',
|
|
|
- cert: './ssl/fullchain.pem'
|
|
|
- },
|
|
|
- // 备用路径2
|
|
|
- {
|
|
|
- key: './cert/privkey.key',
|
|
|
- cert: './cert/fullchain.pem'
|
|
|
- }
|
|
|
-];
|
|
|
-
|
|
|
-// 检查SSL证书
|
|
|
-let sslConfig = null;
|
|
|
-for (const paths of sslPaths) {
|
|
|
- if (fs.existsSync(paths.key) && fs.existsSync(paths.cert)) {
|
|
|
- try {
|
|
|
- // 尝试读取证书文件
|
|
|
- const keyContent = fs.readFileSync(paths.key);
|
|
|
- const certContent = fs.readFileSync(paths.cert);
|
|
|
-
|
|
|
- sslConfig = {
|
|
|
- key: keyContent,
|
|
|
- cert: certContent
|
|
|
- };
|
|
|
-
|
|
|
- console.log('找到SSL证书:', paths.key);
|
|
|
- break;
|
|
|
- } catch (error) {
|
|
|
- console.log('SSL证书读取失败:', paths.key, error.message);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 启动服务器
|
|
|
-if (sslConfig) {
|
|
|
- console.log('使用HTTPS模式启动服务器...');
|
|
|
- process.env.SSL_MODE = 'true';
|
|
|
-} else {
|
|
|
- console.log('未找到有效SSL证书,使用HTTP模式启动服务器...');
|
|
|
- process.env.SSL_MODE = 'false';
|
|
|
-}
|
|
|
-
|
|
|
-// 启动主服务器文件
|
|
|
-require('./s1.js');
|