@tom2012/cc-web 1.5.11 → 1.5.15
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.
- package/README.md +21 -1
- package/backend/dist/backup/config.d.ts +8 -0
- package/backend/dist/backup/config.d.ts.map +1 -0
- package/backend/dist/backup/config.js +104 -0
- package/backend/dist/backup/config.js.map +1 -0
- package/backend/dist/backup/engine.d.ts +22 -0
- package/backend/dist/backup/engine.d.ts.map +1 -0
- package/backend/dist/backup/engine.js +280 -0
- package/backend/dist/backup/engine.js.map +1 -0
- package/backend/dist/backup/providers/dropbox.d.ts +25 -0
- package/backend/dist/backup/providers/dropbox.d.ts.map +1 -0
- package/backend/dist/backup/providers/dropbox.js +319 -0
- package/backend/dist/backup/providers/dropbox.js.map +1 -0
- package/backend/dist/backup/providers/google-drive.d.ts +29 -0
- package/backend/dist/backup/providers/google-drive.d.ts.map +1 -0
- package/backend/dist/backup/providers/google-drive.js +305 -0
- package/backend/dist/backup/providers/google-drive.js.map +1 -0
- package/backend/dist/backup/providers/index.d.ts +3 -0
- package/backend/dist/backup/providers/index.d.ts.map +1 -0
- package/backend/dist/backup/providers/index.js +19 -0
- package/backend/dist/backup/providers/index.js.map +1 -0
- package/backend/dist/backup/providers/onedrive.d.ts +29 -0
- package/backend/dist/backup/providers/onedrive.d.ts.map +1 -0
- package/backend/dist/backup/providers/onedrive.js +316 -0
- package/backend/dist/backup/providers/onedrive.js.map +1 -0
- package/backend/dist/backup/scheduler.d.ts +6 -0
- package/backend/dist/backup/scheduler.d.ts.map +1 -0
- package/backend/dist/backup/scheduler.js +53 -0
- package/backend/dist/backup/scheduler.js.map +1 -0
- package/backend/dist/backup/types.d.ts +68 -0
- package/backend/dist/backup/types.d.ts.map +1 -0
- package/backend/dist/backup/types.js +4 -0
- package/backend/dist/backup/types.js.map +1 -0
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +74 -10
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/backup.d.ts +4 -0
- package/backend/dist/routes/backup.d.ts.map +1 -0
- package/backend/dist/routes/backup.js +175 -0
- package/backend/dist/routes/backup.js.map +1 -0
- package/backend/dist/routes/projects.d.ts.map +1 -1
- package/backend/dist/routes/projects.js +14 -0
- package/backend/dist/routes/projects.js.map +1 -1
- package/backend/dist/routes/sounds.d.ts +3 -0
- package/backend/dist/routes/sounds.d.ts.map +1 -0
- package/backend/dist/routes/sounds.js +285 -0
- package/backend/dist/routes/sounds.js.map +1 -0
- package/backend/package-lock.json +662 -20
- package/backend/package.json +8 -0
- package/bin/ccweb.js +33 -0
- package/frontend/dist/assets/index-Cr99sgtQ.js +489 -0
- package/frontend/dist/assets/index-D7gjxQKB.css +32 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-CQjbS4zv.css +0 -32
- package/frontend/dist/assets/index-C_RCd4kd.js +0 -434
package/backend/package.json
CHANGED
|
@@ -8,10 +8,16 @@
|
|
|
8
8
|
"postinstall": "chmod +x node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper 2>/dev/null || true"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
+
"@azure/msal-node": "^3.8.10",
|
|
12
|
+
"@microsoft/microsoft-graph-client": "^3.0.7",
|
|
11
13
|
"bcryptjs": "^2.4.3",
|
|
12
14
|
"cors": "^2.8.5",
|
|
15
|
+
"dropbox": "^10.34.0",
|
|
13
16
|
"express": "^4.18.2",
|
|
17
|
+
"googleapis": "^168.0.0",
|
|
14
18
|
"jsonwebtoken": "^9.0.2",
|
|
19
|
+
"minimatch": "^10.2.4",
|
|
20
|
+
"multer": "^2.1.1",
|
|
15
21
|
"node-pty": "^1.0.0",
|
|
16
22
|
"uuid": "^9.0.1",
|
|
17
23
|
"ws": "^8.16.0"
|
|
@@ -21,6 +27,8 @@
|
|
|
21
27
|
"@types/cors": "^2.8.17",
|
|
22
28
|
"@types/express": "^4.17.21",
|
|
23
29
|
"@types/jsonwebtoken": "^9.0.5",
|
|
30
|
+
"@types/minimatch": "^5.1.2",
|
|
31
|
+
"@types/multer": "^2.1.0",
|
|
24
32
|
"@types/node": "^20.11.5",
|
|
25
33
|
"@types/uuid": "^9.0.7",
|
|
26
34
|
"@types/ws": "^8.5.10",
|
package/bin/ccweb.js
CHANGED
|
@@ -273,6 +273,17 @@ async function startServer(opts = {}) {
|
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
// Access mode: explicit flag > interactive prompt
|
|
277
|
+
let accessMode = opts.accessMode;
|
|
278
|
+
if (!accessMode) {
|
|
279
|
+
console.log('\n访问模式 (Access mode):');
|
|
280
|
+
console.log(' 1) 仅本地访问 (Local only) — 最安全');
|
|
281
|
+
console.log(' 2) 允许局域网访问 (LAN)');
|
|
282
|
+
console.log(' 3) 允许外部网络访问 (Public)');
|
|
283
|
+
const choice = await ask('请选择 (1/2/3)', '1');
|
|
284
|
+
accessMode = choice === '2' ? 'lan' : choice === '3' ? 'public' : 'local';
|
|
285
|
+
}
|
|
286
|
+
|
|
276
287
|
// Daemon mode: explicit flag > interactive prompt
|
|
277
288
|
let daemon = opts.daemon;
|
|
278
289
|
if (daemon === undefined) {
|
|
@@ -292,6 +303,7 @@ async function startServer(opts = {}) {
|
|
|
292
303
|
env: {
|
|
293
304
|
...process.env,
|
|
294
305
|
CCWEB_DATA_DIR: DATA_DIR,
|
|
306
|
+
CCWEB_ACCESS_MODE: accessMode,
|
|
295
307
|
NODE_ENV: 'production',
|
|
296
308
|
},
|
|
297
309
|
cwd: PKG_ROOT,
|
|
@@ -326,7 +338,20 @@ async function startServer(opts = {}) {
|
|
|
326
338
|
fs.writeFileSync(PID_FILE, String(child.pid), 'utf-8');
|
|
327
339
|
fs.writeFileSync(PORT_FILE, String(port), 'utf-8');
|
|
328
340
|
|
|
341
|
+
const modeLabels = { local: '仅本地 (Local)', lan: '局域网 (LAN)', public: '外部网络 (Public)' };
|
|
329
342
|
console.log(`\nCCWeb running at http://localhost:${port}`);
|
|
343
|
+
console.log(`访问模式: ${modeLabels[accessMode] || accessMode}`);
|
|
344
|
+
if (accessMode === 'lan' || accessMode === 'public') {
|
|
345
|
+
// Show LAN IP for convenience
|
|
346
|
+
const nets = os.networkInterfaces();
|
|
347
|
+
for (const name of Object.keys(nets)) {
|
|
348
|
+
for (const net of nets[name] || []) {
|
|
349
|
+
if (net.family === 'IPv4' && !net.internal) {
|
|
350
|
+
console.log(`局域网地址: http://${net.address}:${port}`);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
330
355
|
openBrowser(`http://localhost:${port}`);
|
|
331
356
|
|
|
332
357
|
if (daemon) {
|
|
@@ -389,6 +414,9 @@ Usage:
|
|
|
389
414
|
ccweb start Start server (interactive)
|
|
390
415
|
ccweb start --daemon Start in background (no prompt)
|
|
391
416
|
ccweb start --foreground Start in foreground (no prompt)
|
|
417
|
+
ccweb start --local Local only (default, most secure)
|
|
418
|
+
ccweb start --lan Allow LAN access
|
|
419
|
+
ccweb start --public Allow public access
|
|
392
420
|
ccweb stop Stop background server
|
|
393
421
|
ccweb status Show running status
|
|
394
422
|
ccweb open Open browser to running server
|
|
@@ -409,6 +437,10 @@ const args = process.argv.slice(2);
|
|
|
409
437
|
const command = args.find((a) => !a.startsWith('--')) || 'start';
|
|
410
438
|
const isDaemon = args.includes('--daemon');
|
|
411
439
|
const isForeground = args.includes('--foreground');
|
|
440
|
+
const accessModeFlag = args.includes('--local') ? 'local'
|
|
441
|
+
: args.includes('--lan') ? 'lan'
|
|
442
|
+
: args.includes('--public') ? 'public'
|
|
443
|
+
: undefined;
|
|
412
444
|
|
|
413
445
|
(async () => {
|
|
414
446
|
try {
|
|
@@ -416,6 +448,7 @@ const isForeground = args.includes('--foreground');
|
|
|
416
448
|
case 'start':
|
|
417
449
|
await startServer({
|
|
418
450
|
daemon: isDaemon ? true : isForeground ? false : undefined,
|
|
451
|
+
accessMode: accessModeFlag,
|
|
419
452
|
});
|
|
420
453
|
break;
|
|
421
454
|
|