exflower-license-server 1.4.1 → 1.4.3

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.
Files changed (3) hide show
  1. package/db.js +3 -2
  2. package/package.json +1 -1
  3. package/routes.js +6 -6
package/db.js CHANGED
@@ -260,9 +260,10 @@ function setSetting(key, value) {
260
260
  .run(key, value);
261
261
  }
262
262
 
263
- // Seed demo data if empty
263
+ // Seed demo data if empty(仅显式开启:SEED_DEMO=1。生产部署不应自带有效演示 license——
264
+ // key 会打印在日志里,且客户并不知情)
264
265
  const count = db.prepare('SELECT COUNT(*) as c FROM companies').get().c;
265
- if (count === 0) {
266
+ if (count === 0 && process.env.SEED_DEMO === '1') {
266
267
  const { generateLicenseKey } = require('./utils');
267
268
  const demoKey = generateLicenseKey();
268
269
  db.prepare(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exflower-license-server",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "ExFlower License Server - 在线授权验证服务",
5
5
  "main": "index.js",
6
6
  "bin": {
package/routes.js CHANGED
@@ -155,13 +155,13 @@ function buildLatestYml(mac) {
155
155
  // version 取各行里语义最新(简单按创建时间最新的一行)
156
156
  rows.sort((a, b) => (a.created_at < b.created_at ? 1 : -1));
157
157
  const esc = (s) => String(s).replace(/'/g, "''");
158
- // 本地文件就绪(存在且大小匹配)→ 本地相对路径(客户端局域网速度);
159
- // 否则 remote_url(CDN)兜底——后台下载完成后下一轮自动切回本地
158
+ // 远端优先(2026-09-06 翻转):有 remote_url 就写 CDN 绝对 URL——客户端单连接直连
159
+ // CDN,服务器只吐 KB 级 yml,多少客户端并发升级都不受本机带宽影响(115 类弱机
160
+ // 多实例的关键防线);本地文件仅作无 remote_url 时的兜底(离线/气隙场景)。
161
+ // 服务器仍后台拉包,本地副本是 CDN 不可达时的最终兜底(files/ 路由 302 已覆盖)。
160
162
  const fileUrl = (r) => {
161
- if (r.file_path && fs.existsSync(r.file_path) && fs.statSync(r.file_path).size === r.file_size) {
162
- return `files/${r.platform}/${esc(r.file_name)}`;
163
- }
164
- return r.remote_url || `files/${r.platform}/${esc(r.file_name)}`;
163
+ if (r.remote_url) return r.remote_url;
164
+ return `files/${r.platform}/${esc(r.file_name)}`;
165
165
  };
166
166
  const lines = [`version: ${rows[0].version}`, 'files:'];
167
167
  for (const r of rows) {