lycheex-system 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,49 @@
1
+ export interface InstanceIdentity {
2
+ workingDirectory: string;
3
+ containerId?: string;
4
+ instanceName?: string;
5
+ processTitle: string;
6
+ configPath: string;
7
+ listenPort?: number;
8
+ instanceUUID?: string;
9
+ }
10
+ export declare class EnhancedMachineCode {
11
+ private static readonly NAMESPACE;
12
+ /**
13
+ * 生成包含实例唯一性的机器码
14
+ */
15
+ static generateInstanceMachineCode(customInstanceId?: string): Promise<string>;
16
+ /**
17
+ * 获取硬件指纹(物理机级别)
18
+ */
19
+ private static getHardwareFingerprint;
20
+ /**
21
+ * 获取实例身份标识
22
+ */
23
+ private static getInstanceIdentity;
24
+ /**
25
+ * 检测Docker容器ID
26
+ */
27
+ private static getContainerId;
28
+ /**
29
+ * 获取监听端口
30
+ */
31
+ private static getListenPort;
32
+ /**
33
+ * 获取网络接口指纹
34
+ */
35
+ private static getNetworkFingerprint;
36
+ /**
37
+ * 获取首次安装时间戳(持久化)
38
+ */
39
+ private static getInstallationTimestamp;
40
+ /**
41
+ * 验证实例配置是否匹配
42
+ */
43
+ static validateInstanceIdentity(expectedMachineCode: string, customInstanceId?: string): Promise<boolean>;
44
+ /**
45
+ * 获取实例信息用于调试
46
+ */
47
+ static getInstanceInfo(customInstanceId?: string): Promise<any>;
48
+ }
49
+ //# sourceMappingURL=enhanced-machine-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-machine-code.d.ts","sourceRoot":"","sources":["../src/enhanced-machine-code.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA0C;IAE3E;;OAEG;WACU,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCpF;;OAEG;mBACkB,sBAAsB;IA4B3C;;OAEG;mBACkB,mBAAmB;IA4BxC;;OAEG;mBACkB,cAAc;IAgCnC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAqBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAuBvC;;OAEG;WACU,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/G;;OAEG;WACU,eAAe,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAUtE"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.EnhancedMachineCode = void 0;
37
+ /**
38
+ * 增强版机器码生成 - 包含实例唯一性
39
+ */
40
+ const crypto = __importStar(require("crypto"));
41
+ const path = __importStar(require("path"));
42
+ const fs = __importStar(require("fs"));
43
+ const os = __importStar(require("os"));
44
+ const uuid_1 = require("uuid");
45
+ class EnhancedMachineCode {
46
+ /**
47
+ * 生成包含实例唯一性的机器码
48
+ */
49
+ static async generateInstanceMachineCode(customInstanceId) {
50
+ try {
51
+ // 1. 获取基础硬件指纹
52
+ const hardwareFingerprint = await this.getHardwareFingerprint();
53
+ // 2. 获取实例身份标识
54
+ const instanceIdentity = await this.getInstanceIdentity(customInstanceId);
55
+ // 3. 组合生成最终机器码
56
+ const combinedData = {
57
+ hardware: hardwareFingerprint,
58
+ instance: instanceIdentity,
59
+ timestamp: this.getInstallationTimestamp() // 首次安装时间戳
60
+ };
61
+ const dataString = JSON.stringify(combinedData, Object.keys(combinedData).sort());
62
+ const machineCode = crypto.createHash('sha256')
63
+ .update(dataString)
64
+ .digest('hex')
65
+ .substring(0, 32);
66
+ console.log('🔧 Enhanced machine code generated:');
67
+ console.log(`📱 Hardware: ${hardwareFingerprint.substring(0, 8)}...`);
68
+ console.log(`📁 Instance: ${instanceIdentity.workingDirectory}`);
69
+ console.log(`🐳 Container: ${instanceIdentity.containerId || 'none'}`);
70
+ console.log(`🆔 Final Code: ${machineCode}`);
71
+ return machineCode;
72
+ }
73
+ catch (error) {
74
+ console.error('❌ Enhanced machine code generation failed:', error);
75
+ throw error;
76
+ }
77
+ }
78
+ /**
79
+ * 获取硬件指纹(物理机级别)
80
+ */
81
+ static async getHardwareFingerprint() {
82
+ try {
83
+ const { machineId } = require('node-machine-id');
84
+ const deviceId = await machineId(true);
85
+ // 获取稳定的硬件信息
86
+ const hardwareInfo = {
87
+ machineId: deviceId,
88
+ platform: os.platform(),
89
+ arch: os.arch(),
90
+ cpuCount: os.cpus().length,
91
+ totalMemory: os.totalmem(),
92
+ // 网络接口MAC地址
93
+ networkInterfaces: this.getNetworkFingerprint()
94
+ };
95
+ return crypto.createHash('sha256')
96
+ .update(JSON.stringify(hardwareInfo))
97
+ .digest('hex')
98
+ .substring(0, 16);
99
+ }
100
+ catch (error) {
101
+ // 降级方案
102
+ const fallbackData = `${os.hostname()}-${os.platform()}-${os.arch()}`;
103
+ return crypto.createHash('md5').update(fallbackData).digest('hex').substring(0, 16);
104
+ }
105
+ }
106
+ /**
107
+ * 获取实例身份标识
108
+ */
109
+ static async getInstanceIdentity(customInstanceId) {
110
+ const identity = {
111
+ workingDirectory: process.cwd(),
112
+ processTitle: process.title || 'node',
113
+ configPath: path.resolve('.'),
114
+ };
115
+ // 自定义实例ID(优先级最高)
116
+ if (customInstanceId) {
117
+ identity.instanceName = customInstanceId;
118
+ }
119
+ // Docker容器检测
120
+ identity.containerId = await this.getContainerId();
121
+ // 检测监听端口
122
+ identity.listenPort = this.getListenPort();
123
+ // 生成实例UUID(基于路径和环境)
124
+ const instanceData = `${identity.workingDirectory}-${identity.containerId || 'host'}-${identity.instanceName || 'default'}`;
125
+ const instanceUUID = (0, uuid_1.v5)(instanceData, this.NAMESPACE);
126
+ return {
127
+ ...identity,
128
+ instanceUUID
129
+ };
130
+ }
131
+ /**
132
+ * 检测Docker容器ID
133
+ */
134
+ static async getContainerId() {
135
+ try {
136
+ // 方法1: 读取 /proc/self/cgroup (Linux)
137
+ if (fs.existsSync('/proc/self/cgroup')) {
138
+ const cgroup = fs.readFileSync('/proc/self/cgroup', 'utf8');
139
+ const containerMatch = cgroup.match(/\/docker\/([a-f0-9]{64})/);
140
+ if (containerMatch) {
141
+ return containerMatch[1].substring(0, 12); // 短ID
142
+ }
143
+ }
144
+ // 方法2: 检查 /.dockerenv 文件
145
+ if (fs.existsSync('/.dockerenv')) {
146
+ // 是Docker容器,尝试其他方法获取ID
147
+ const hostname = os.hostname();
148
+ if (hostname.length === 12 && /^[a-f0-9]+$/.test(hostname)) {
149
+ return hostname;
150
+ }
151
+ }
152
+ // 方法3: 环境变量
153
+ if (process.env.CONTAINER_ID) {
154
+ return process.env.CONTAINER_ID;
155
+ }
156
+ return undefined;
157
+ }
158
+ catch (error) {
159
+ return undefined;
160
+ }
161
+ }
162
+ /**
163
+ * 获取监听端口
164
+ */
165
+ static getListenPort() {
166
+ return parseInt(process.env.PORT || '') || undefined;
167
+ }
168
+ /**
169
+ * 获取网络接口指纹
170
+ */
171
+ static getNetworkFingerprint() {
172
+ try {
173
+ const interfaces = os.networkInterfaces();
174
+ const macs = [];
175
+ Object.values(interfaces).forEach(iface => {
176
+ if (iface) {
177
+ iface.forEach(config => {
178
+ if (config.mac && config.mac !== '00:00:00:00:00:00') {
179
+ macs.push(config.mac);
180
+ }
181
+ });
182
+ }
183
+ });
184
+ return macs.sort().join('-');
185
+ }
186
+ catch (error) {
187
+ return 'unknown-network';
188
+ }
189
+ }
190
+ /**
191
+ * 获取首次安装时间戳(持久化)
192
+ */
193
+ static getInstallationTimestamp() {
194
+ const timestampFile = path.join(os.tmpdir(), '.lycheex-install-time');
195
+ try {
196
+ if (fs.existsSync(timestampFile)) {
197
+ const timestamp = fs.readFileSync(timestampFile, 'utf8');
198
+ return parseInt(timestamp);
199
+ }
200
+ }
201
+ catch (error) {
202
+ // 忽略错误,创建新的时间戳
203
+ }
204
+ // 创建新的安装时间戳
205
+ const now = Date.now();
206
+ try {
207
+ fs.writeFileSync(timestampFile, now.toString(), 'utf8');
208
+ }
209
+ catch (error) {
210
+ // 忽略写入错误
211
+ }
212
+ return now;
213
+ }
214
+ /**
215
+ * 验证实例配置是否匹配
216
+ */
217
+ static async validateInstanceIdentity(expectedMachineCode, customInstanceId) {
218
+ try {
219
+ const currentMachineCode = await this.generateInstanceMachineCode(customInstanceId);
220
+ return currentMachineCode === expectedMachineCode;
221
+ }
222
+ catch (error) {
223
+ return false;
224
+ }
225
+ }
226
+ /**
227
+ * 获取实例信息用于调试
228
+ */
229
+ static async getInstanceInfo(customInstanceId) {
230
+ const hardwareFingerprint = await this.getHardwareFingerprint();
231
+ const instanceIdentity = await this.getInstanceIdentity(customInstanceId);
232
+ return {
233
+ hardwareFingerprint,
234
+ instanceIdentity,
235
+ machineCode: await this.generateInstanceMachineCode(customInstanceId)
236
+ };
237
+ }
238
+ }
239
+ exports.EnhancedMachineCode = EnhancedMachineCode;
240
+ EnhancedMachineCode.NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
241
+ //# sourceMappingURL=enhanced-machine-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-machine-code.js","sourceRoot":"","sources":["../src/enhanced-machine-code.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,+CAAiC;AACjC,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAyB;AACzB,+BAAkD;AAYlD,MAAa,mBAAmB;IAG9B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,gBAAyB;QAChE,IAAI,CAAC;YACH,cAAc;YACd,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEhE,cAAc;YACd,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAE1E,eAAe;YACf,MAAM,YAAY,GAAG;gBACnB,QAAQ,EAAE,mBAAmB;gBAC7B,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,UAAU;aACtD,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC5C,MAAM,CAAC,UAAU,CAAC;iBAClB,MAAM,CAAC,KAAK,CAAC;iBACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAEpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,iBAAiB,gBAAgB,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;YAE7C,OAAO,WAAW,CAAC;QAErB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YAEvC,YAAY;YACZ,MAAM,YAAY,GAAG;gBACnB,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;gBACf,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM;gBAC1B,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE;gBAC1B,YAAY;gBACZ,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE;aAChD,CAAC;YAEF,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;iBAC/B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBACpC,MAAM,CAAC,KAAK,CAAC;iBACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;YACP,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACtE,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAyB;QAChE,MAAM,QAAQ,GAAqB;YACjC,gBAAgB,EAAE,OAAO,CAAC,GAAG,EAAE;YAC/B,YAAY,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;YACrC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;SAC9B,CAAC;QAEF,iBAAiB;QACjB,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,CAAC,YAAY,GAAG,gBAAgB,CAAC;QAC3C,CAAC;QAED,aAAa;QACb,QAAQ,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEnD,SAAS;QACT,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3C,oBAAoB;QACpB,MAAM,YAAY,GAAG,GAAG,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;QAC5H,MAAM,YAAY,GAAG,IAAA,SAAM,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1D,OAAO;YACL,GAAG,QAAQ;YACX,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,KAAK,CAAC,cAAc;QACjC,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAChE,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;gBACnD,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,uBAAuB;gBACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3D,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,YAAY;YACZ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YAClC,CAAC;YAED,OAAO,SAAS,CAAC;QAEnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,aAAa;QAC1B,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,qBAAqB;QAClC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxC,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACrB,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;4BACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,wBAAwB;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe;QACjB,CAAC;QAED,YAAY;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,mBAA2B,EAAE,gBAAyB;QAC1F,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;YACpF,OAAO,kBAAkB,KAAK,mBAAmB,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAyB;QACpD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE1E,OAAO;YACL,mBAAmB;YACnB,gBAAgB;YAChB,WAAW,EAAE,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC;SACtE,CAAC;IACJ,CAAC;;AA3NH,kDA4NC;AA3NyB,6BAAS,GAAG,sCAAsC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export interface SystemConfig {
5
5
  publicKeyPath?: string;
6
6
  envPath?: string;
7
7
  decryptionKey?: string;
8
+ instanceId?: string;
8
9
  }
9
10
  export interface MachineInfo {
10
11
  os: string;
@@ -74,9 +75,29 @@ export declare class SystemConfigClient {
74
75
  error?: string;
75
76
  }>;
76
77
  /**
77
- * 生成机器码 - 使用node-machine-id + UUID生成稳定的设备标识
78
+ * 生成机器码 - 包含实例唯一性防止批量部署
78
79
  */
79
80
  generateMachineCode(): Promise<string>;
81
+ /**
82
+ * 获取硬件指纹(物理机级别)
83
+ */
84
+ private getHardwareFingerprint;
85
+ /**
86
+ * 获取实例身份标识 (防止批量部署)
87
+ */
88
+ private getInstanceIdentity;
89
+ /**
90
+ * 检测Docker容器ID
91
+ */
92
+ private getContainerId;
93
+ /**
94
+ * 获取网络接口指纹
95
+ */
96
+ private getNetworkFingerprint;
97
+ /**
98
+ * 获取首次安装时间戳(持久化)
99
+ */
100
+ private getInstallationTimestamp;
80
101
  /**
81
102
  * 获取机器信息
82
103
  */
@@ -94,8 +115,8 @@ export declare class SystemConfigClient {
94
115
  */
95
116
  private removeConfigFile;
96
117
  /**
97
- * 解密配置文件 - 真正的AES对称解密
98
- */
118
+ * 解密配置文件 - RSA签名验证
119
+ */
99
120
  private decryptConfigFile;
100
121
  }
101
122
  export default SystemConfigClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAAsE;gBAEtF,MAAM,GAAE,YAAiB;IAMrC;;OAEG;YACW,aAAa;IA2B3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IA2BrC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmC3C;;OAEG;IACG,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAqD3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAoB1C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IA0D3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAsC1C;;OAEG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6B7E;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAgF5C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA6B5C;;OAEG;YACW,cAAc;IAK5B;;OAEG;YACW,cAAc;IAS5B;;OAEG;YACW,gBAAgB;IAQ9B;;OAEG;YACW,iBAAiB;CAsFhC;AAMD,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAAsE;gBAEtF,MAAM,GAAE,YAAiB;IAMrC;;OAEG;YACW,aAAa;IA2B3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IA2BrC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmC3C;;OAEG;IACG,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmD3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAoB1C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IA2B3C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAsC1C;;OAEG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6B7E;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyB5C;;OAEG;YACW,sBAAsB;IAuBpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA6B5C;;OAEG;YACW,cAAc;IAK5B;;OAEG;YACW,cAAc;IAS5B;;OAEG;YACW,gBAAgB;IAQ5B;;KAEC;YACW,iBAAiB;CAiChC;AAMD,eAAe,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -158,7 +158,6 @@ class SystemConfigClient {
158
158
  */
159
159
  async configure(configCode) {
160
160
  try {
161
- // 如果没有提供配置码,从.env文件读取
162
161
  if (!configCode) {
163
162
  const envConfigCode = await this.getActivationCode();
164
163
  if (!envConfigCode) {
@@ -168,7 +167,6 @@ class SystemConfigClient {
168
167
  };
169
168
  }
170
169
  configCode = envConfigCode;
171
- console.log('📋 Using config code from .env file');
172
170
  }
173
171
  // 首先获取服务器公钥
174
172
  await this.getServerPublicKey();
@@ -231,52 +229,25 @@ class SystemConfigClient {
231
229
  * 离线检查
232
230
  */
233
231
  async checkOffline() {
234
- try {
235
- console.log('🔍 开始离线验证...');
236
- const configFile = await this.readConfigFile();
237
- if (!configFile) {
238
- console.error('❌ 配置文件不存在');
239
- return { valid: false, error: 'Config file not found' };
240
- }
241
- console.log(' 配置文件读取成功');
242
- const configData = await this.decryptConfigFile(configFile);
243
- const currentMachineCode = await this.generateMachineCode();
244
- console.log('🔍 正在验证机器码匹配...');
245
- console.log(`📋 配置文件中的机器码: ${configData.machineCode}`);
246
- console.log(`💻 当前生成的机器码: ${currentMachineCode}`);
247
- // 检查机器码
248
- if (configData.machineCode !== currentMachineCode) {
249
- console.error('❌ 机器码不匹配!');
250
- console.error(` 预期: ${configData.machineCode}`);
251
- console.error(` 实际: ${currentMachineCode}`);
252
- return { valid: false, error: 'Machine code mismatch' };
253
- }
254
- console.log('✅ 机器码匹配成功');
255
- // 检查过期时间
256
- const expiresAt = new Date(configData.expiresAt);
257
- const now = new Date();
258
- console.log(`⏰ 当前时间: ${now.toISOString()}`);
259
- console.log(`⏰ 过期时间: ${expiresAt.toISOString()}`);
260
- if (now > expiresAt) {
261
- console.error('❌ 配置已过期');
262
- return { valid: false, error: 'Config expired' };
263
- }
264
- const remainingDays = Math.ceil((expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
265
- console.log('✅ 离线验证成功');
266
- console.log(`📅 剩余天数: ${remainingDays} 天`);
267
- return {
268
- valid: true,
269
- expiresAt,
270
- remainingDays
271
- };
272
- }
273
- catch (error) {
274
- console.error('❌ 离线验证失败:', error.message || 'Unknown error');
275
- return {
276
- valid: false,
277
- error: error.message || 'Offline check failed'
278
- };
279
- }
232
+ const configFile = await this.readConfigFile();
233
+ if (!configFile) {
234
+ return { valid: false, error: 'Config file not found' };
235
+ }
236
+ const configData = await this.decryptConfigFile(configFile);
237
+ const currentMachineCode = await this.generateMachineCode();
238
+ if (configData.machineCode !== currentMachineCode) {
239
+ return { valid: false, error: 'Machine code mismatch' };
240
+ }
241
+ const expiresAt = new Date(configData.expiresAt);
242
+ if (new Date() > expiresAt) {
243
+ return { valid: false, error: 'Config expired' };
244
+ }
245
+ const remainingDays = Math.ceil((expiresAt.getTime() - new Date().getTime()) / (1000 * 60 * 60 * 24));
246
+ return {
247
+ valid: true,
248
+ expiresAt,
249
+ remainingDays
250
+ };
280
251
  }
281
252
  /**
282
253
  * 在线检查
@@ -348,72 +319,123 @@ class SystemConfigClient {
348
319
  }
349
320
  }
350
321
  /**
351
- * 生成机器码 - 使用node-machine-id + UUID生成稳定的设备标识
322
+ * 生成机器码 - 包含实例唯一性防止批量部署
352
323
  */
353
324
  async generateMachineCode() {
354
- try {
355
- // 1. 获取机器唯一ID(持久化的)
356
- const deviceId = await machineId(true); // true表示获取原始机器ID
357
- // 2. 获取系统硬件信息作为补充
358
- const [cpu, os, system] = await Promise.all([
359
- si.cpu().catch(() => null),
360
- si.osInfo().catch(() => null),
361
- si.system().catch(() => null)
362
- ]);
363
- // 3. 构建设备指纹
364
- const deviceFingerprint = {
365
- machineId: deviceId,
366
- cpu: cpu ? `${cpu.manufacturer}-${cpu.brand}-${cpu.cores}` : 'unknown',
367
- os: os ? `${os.platform}-${os.arch}-${os.distro}` : 'unknown',
368
- system: system ? `${system.manufacturer}-${system.model}` : 'unknown'
369
- };
370
- // 4. 创建稳定的命名空间(基于应用程序)
371
- const namespace = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; // 固定命名空间UUID
372
- // 5. 生成基于设备指纹的UUID v5(确保同设备同结果)
373
- const fingerprintString = JSON.stringify(deviceFingerprint);
374
- const deviceUUID = (0, uuid_1.v5)(fingerprintString, namespace);
375
- // 6. 结合machine-id和UUID生成最终机器码
376
- const finalData = `${deviceId}-${deviceUUID}`;
377
- const machineCode = crypto.createHash('sha256').update(finalData).digest('hex').substring(0, 32);
378
- console.log('🔧 Machine code generated successfully');
379
- console.log(`📱 Device ID: ${deviceId.substring(0, 8)}...`);
380
- console.log(`🆔 Machine Code: ${machineCode}`);
381
- return machineCode;
325
+ const hardwareFingerprint = await this.getHardwareFingerprint();
326
+ const instanceIdentity = this.getInstanceIdentity();
327
+ const combinedData = {
328
+ hardware: hardwareFingerprint,
329
+ instance: instanceIdentity,
330
+ timestamp: this.getInstallationTimestamp()
331
+ };
332
+ const dataString = JSON.stringify(combinedData, Object.keys(combinedData).sort());
333
+ const machineCode = crypto.createHash('sha256')
334
+ .update(dataString)
335
+ .digest('hex')
336
+ .substring(0, 32);
337
+ console.log('🔧 Machine code generated:');
338
+ console.log(`📁 Directory: ${instanceIdentity.workingDirectory}`);
339
+ console.log(`🐳 Container: ${instanceIdentity.containerId || 'host'}`);
340
+ console.log(`🔖 Instance: ${instanceIdentity.instanceName}`);
341
+ console.log(`🆔 Code: ${machineCode}`);
342
+ return machineCode;
343
+ }
344
+ /**
345
+ * 获取硬件指纹(物理机级别)
346
+ */
347
+ async getHardwareFingerprint() {
348
+ const deviceId = await machineId(true);
349
+ const [cpu, osInfo, system] = await Promise.all([
350
+ si.cpu(),
351
+ si.osInfo(),
352
+ si.system()
353
+ ]);
354
+ const hardwareInfo = {
355
+ machineId: deviceId,
356
+ cpu: `${cpu.manufacturer}-${cpu.brand}-${cpu.cores}`,
357
+ os: `${osInfo.platform}-${osInfo.arch}-${osInfo.distro}`,
358
+ system: `${system.manufacturer}-${system.model}`,
359
+ networkInterfaces: this.getNetworkFingerprint()
360
+ };
361
+ return crypto.createHash('sha256')
362
+ .update(JSON.stringify(hardwareInfo))
363
+ .digest('hex')
364
+ .substring(0, 16);
365
+ }
366
+ /**
367
+ * 获取实例身份标识 (防止批量部署)
368
+ */
369
+ getInstanceIdentity() {
370
+ const identity = {
371
+ workingDirectory: process.cwd(),
372
+ containerId: this.getContainerId(),
373
+ instanceName: this.config.instanceId || process.env.INSTANCE_ID || 'default',
374
+ listenPort: parseInt(process.env.PORT || '') || undefined
375
+ };
376
+ // 生成实例UUID
377
+ const instanceData = `${identity.workingDirectory}-${identity.containerId || 'host'}-${identity.instanceName}`;
378
+ const namespace = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
379
+ identity.instanceUUID = (0, uuid_1.v5)(instanceData, namespace);
380
+ return identity;
381
+ }
382
+ /**
383
+ * 检测Docker容器ID
384
+ */
385
+ getContainerId() {
386
+ // 环境变量(优先)
387
+ if (process.env.CONTAINER_ID) {
388
+ return process.env.CONTAINER_ID;
382
389
  }
383
- catch (error) {
384
- console.warn('⚠️ Primary machine code generation failed, using fallback method');
385
- // 降级方案:使用Node.js内置方法
386
- try {
387
- const os = require('os');
388
- const fallbackData = {
389
- hostname: os.hostname(),
390
- platform: os.platform(),
391
- arch: os.arch(),
392
- cpuModel: os.cpus()[0]?.model || 'unknown',
393
- totalMemory: os.totalmem(),
394
- networkInterfaces: Object.keys(os.networkInterfaces()).sort().join('-')
395
- };
396
- // 使用UUID v5确保稳定性
397
- const namespace = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; // 降级命名空间
398
- const fallbackString = JSON.stringify(fallbackData);
399
- const fallbackUUID = (0, uuid_1.v5)(fallbackString, namespace);
400
- const fallbackMachineCode = crypto.createHash('sha256')
401
- .update(`fallback-${fallbackUUID}`)
402
- .digest('hex')
403
- .substring(0, 32);
404
- console.log('🔄 Using fallback machine code generation');
405
- console.log(`🆔 Fallback Machine Code: ${fallbackMachineCode}`);
406
- return fallbackMachineCode;
390
+ // 检查 /.dockerenv 文件
391
+ if (fs.existsSync('/.dockerenv')) {
392
+ const os = require('os');
393
+ const hostname = os.hostname();
394
+ if (hostname.length === 12 && /^[a-f0-9]+$/.test(hostname)) {
395
+ return hostname;
407
396
  }
408
- catch (fallbackError) {
409
- // 最后的降级方案:生成随机但可重现的ID
410
- const emergencyData = process.platform + process.arch + (process.env.USERNAME || process.env.USER || 'anonymous');
411
- const emergencyCode = crypto.createHash('md5').update(emergencyData).digest('hex');
412
- console.warn('⚠️ Emergency machine code generation used');
413
- console.log(`🆔 Emergency Machine Code: ${emergencyCode}`);
414
- return emergencyCode;
397
+ }
398
+ // 读取 /proc/self/cgroup (Linux)
399
+ if (fs.existsSync('/proc/self/cgroup')) {
400
+ const cgroup = fs.readFileSync('/proc/self/cgroup', 'utf8');
401
+ const containerMatch = cgroup.match(/\/docker\/([a-f0-9]{64})/);
402
+ if (containerMatch) {
403
+ return containerMatch[1].substring(0, 12);
415
404
  }
416
405
  }
406
+ return undefined;
407
+ }
408
+ /**
409
+ * 获取网络接口指纹
410
+ */
411
+ getNetworkFingerprint() {
412
+ const os = require('os');
413
+ const interfaces = os.networkInterfaces();
414
+ const macs = [];
415
+ Object.values(interfaces).forEach((iface) => {
416
+ if (iface) {
417
+ iface.forEach((config) => {
418
+ if (config.mac && config.mac !== '00:00:00:00:00:00') {
419
+ macs.push(config.mac);
420
+ }
421
+ });
422
+ }
423
+ });
424
+ return macs.sort().join('-');
425
+ }
426
+ /**
427
+ * 获取首次安装时间戳(持久化)
428
+ */
429
+ getInstallationTimestamp() {
430
+ const os = require('os');
431
+ const timestampFile = path.join(os.tmpdir(), '.lycheex-install-time');
432
+ if (fs.existsSync(timestampFile)) {
433
+ const timestamp = fs.readFileSync(timestampFile, 'utf8');
434
+ return parseInt(timestamp);
435
+ }
436
+ const now = Date.now();
437
+ fs.writeFileSync(timestampFile, now.toString(), 'utf8');
438
+ return now;
417
439
  }
418
440
  /**
419
441
  * 获取机器信息
@@ -477,70 +499,30 @@ class SystemConfigClient {
477
499
  }
478
500
  }
479
501
  /**
480
- * 解密配置文件 - 真正的AES对称解密
481
- */
502
+ * 解密配置文件 - RSA签名验证
503
+ */
482
504
  async decryptConfigFile(configFile) {
483
- try {
484
- console.log('🔍 开始解密配置文件...');
485
- console.log(`📄 配置文件版本: ${configFile.header?.version}`);
486
- // 验证版本
487
- if (configFile.header?.version !== '2.0') {
488
- console.error(`❌ 不支持的配置文件版本: ${configFile.header?.version}`);
489
- throw new Error('Unsupported config file version');
490
- }
491
- console.log('✅ 版本验证通过');
492
- const { payload, signature } = configFile;
493
- // 验证配置文件结构(注意:新版本没有encryptedKey字段)
494
- if (!payload || !signature) {
495
- throw new Error('Invalid config file structure');
496
- }
497
- console.log('📊 配置文件结构验证通过');
498
- console.log('🔓 开始AES解密...');
499
- // 使用与服务器相同的共享密钥
500
- const sharedKey = 'lycheex-license-shared-key-2024-secure';
501
- const aesKey = require('crypto').createHash('sha256').update(sharedKey).digest();
502
- // 解密AES数据
503
- const iv = Buffer.from(payload.iv, 'hex');
504
- const authTag = Buffer.from(payload.authTag, 'hex');
505
- const decipher = require('crypto').createDecipheriv('aes-256-gcm', aesKey, iv);
506
- decipher.setAuthTag(authTag);
507
- let decrypted = decipher.update(payload.data, 'hex', 'utf8');
508
- decrypted += decipher.final('utf8');
509
- console.log('✅ AES解密成功');
510
- // 解析解密后的数据
511
- const licenseData = JSON.parse(decrypted);
512
- console.log('🔍 验证解密后的数据...');
513
- console.log(`🆔 激活ID: ${licenseData.activationId}`);
514
- console.log(`🔑 授权码: ${licenseData.licenseCode}`);
515
- console.log(`💻 机器码: ${licenseData.machineCode}`);
516
- console.log(`⏰ 过期时间: ${licenseData.expiresAt}`);
517
- // 验证机器码匹配
518
- const currentMachineCode = await this.generateMachineCode();
519
- if (licenseData.machineCode !== currentMachineCode) {
520
- console.error('❌ 机器码不匹配!');
521
- console.error(` License中的: ${licenseData.machineCode}`);
522
- console.error(` 当前机器: ${currentMachineCode}`);
523
- throw new Error('Machine code mismatch - license not for this machine');
524
- }
525
- console.log('✅ 机器码验证通过');
526
- // 验证RSA签名
527
- if (this.serverPublicKey) {
528
- console.log('🔍 验证RSA签名...');
529
- const isValid = require('crypto').verify('sha256', Buffer.from(decrypted), {
530
- key: this.serverPublicKey,
531
- padding: require('crypto').constants.RSA_PKCS1_PSS_PADDING
532
- }, Buffer.from(signature, 'base64'));
533
- if (!isValid) {
534
- throw new Error('RSA signature verification failed');
535
- }
536
- console.log('✅ RSA签名验证通过');
537
- }
538
- return licenseData;
505
+ if (configFile.header?.version !== '2.0') {
506
+ throw new Error('Unsupported config file version');
539
507
  }
540
- catch (error) {
541
- console.error('❌ 配置文件解密失败:', error instanceof Error ? error.message : 'Unknown error');
542
- throw new Error('Config file corrupted');
508
+ const { payload, signature } = configFile;
509
+ if (!payload || !signature) {
510
+ throw new Error('Invalid config file structure');
511
+ }
512
+ // Base64解码
513
+ const decodedPayload = Buffer.from(payload, 'base64').toString('utf8');
514
+ const licenseData = JSON.parse(decodedPayload);
515
+ // 验证RSA签名
516
+ if (this.serverPublicKey) {
517
+ const isValid = require('crypto').verify('sha256', Buffer.from(decodedPayload), {
518
+ key: this.serverPublicKey,
519
+ padding: require('crypto').constants.RSA_PKCS1_PSS_PADDING
520
+ }, Buffer.from(signature, 'base64'));
521
+ if (!isValid) {
522
+ throw new Error('RSA signature verification failed');
523
+ }
543
524
  }
525
+ return licenseData;
544
526
  }
545
527
  }
546
528
  exports.SystemConfigClient = SystemConfigClient;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lycheex-system",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "System configuration and device management utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",