From 796befebd236c0c008d4375d76567974759ae877 Mon Sep 17 00:00:00 2001 From: MoeFurina Date: Sun, 5 Apr 2026 18:29:29 +0800 Subject: [PATCH] chore: update deps --- AGENTS.md | 37 ++++++++++++++++++++++++++++++++ package.json | 17 +++++++++------ pnpm-lock.yaml | 57 +++++++++++++++++++++++++------------------------- 3 files changed, 77 insertions(+), 34 deletions(-) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..f2cfd82 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,37 @@ +# AGENTS.md + +## Setup + +```bash +pnpm install +cp .env.example .env +node src/server/generate-cert.js # Generate HTTPS certs for proxy +``` + +## Run + +```bash +pnpm start +``` + +- Frontend: http://localhost:3000 +- Proxy server: http://localhost:9000 + +## Test + +Jest tests exist in `src/server/request.test.js`. No test script in package.json - run with: +```bash +npx jest +``` + +## Project Structure + +- `src/index.js` - Main entry, starts both servers +- `src/server/` - Proxy server (app.js, server.js, hook.js) +- `src/client/` - Frontend static files + +## Important Notes + +- Requires pnpm (specified in `packageManager` field) +- HTTPS proxy needs `server.crt`/`server.key` generated via `generate-cert.js` +- First-time: must trust the self-signed cert in Netease Music client diff --git a/package.json b/package.json index 600d50e..8a22ceb 100644 --- a/package.json +++ b/package.json @@ -6,17 +6,22 @@ "scripts": { "start": "node src/index.js" }, - "keywords": ["netease", "music", "api", "clawer"], + "keywords": [ + "netease", + "music", + "api", + "clawer" + ], "author": "", "license": "MIT", "packageManager": "pnpm@10.28.1", "dependencies": { - "express": "^4.18.2", - "dotenv": "^16.3.1", - "ws": "^8.14.2", - "axios": "^1.6.2", + "axios": "^1.14.0", "concurrently": "^8.2.2", + "dotenv": "^16.6.1", + "express": "^4.22.1", "pino": "^6.14.0", - "pino-pretty": "^7.6.1" + "pino-pretty": "^7.6.1", + "ws": "^8.20.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dc76358..a2e1c85 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,16 +9,16 @@ importers: .: dependencies: axios: - specifier: ^1.6.2 - version: 1.13.6 + specifier: ^1.14.0 + version: 1.14.0 concurrently: specifier: ^8.2.2 version: 8.2.2 dotenv: - specifier: ^16.3.1 + specifier: ^16.6.1 version: 16.6.1 express: - specifier: ^4.18.2 + specifier: ^4.22.1 version: 4.22.1 pino: specifier: ^6.14.0 @@ -27,13 +27,13 @@ importers: specifier: ^7.6.1 version: 7.6.1 ws: - specifier: ^8.14.2 - version: 8.19.0 + specifier: ^8.20.0 + version: 8.20.0 packages: - '@babel/runtime@7.28.6': - resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} engines: {node: '>=6.9.0'} accepts@1.3.8: @@ -66,8 +66,8 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - axios@1.13.6: - resolution: {integrity: sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==} + axios@1.14.0: + resolution: {integrity: sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==} body-parser@1.20.4: resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} @@ -328,8 +328,8 @@ packages: resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} engines: {node: '>=0.10.0'} - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + lodash@4.18.1: + resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} @@ -391,8 +391,8 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + path-to-regexp@0.1.13: + resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} pino-abstract-transport@0.5.0: resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} @@ -415,8 +415,9 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} @@ -574,8 +575,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + ws@8.20.0: + resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -600,7 +601,7 @@ packages: snapshots: - '@babel/runtime@7.28.6': {} + '@babel/runtime@7.29.2': {} accepts@1.3.8: dependencies: @@ -630,11 +631,11 @@ snapshots: atomic-sleep@1.0.0: {} - axios@1.13.6: + axios@1.14.0: dependencies: follow-redirects: 1.15.11 form-data: 4.0.5 - proxy-from-env: 1.1.0 + proxy-from-env: 2.1.0 transitivePeerDependencies: - debug @@ -708,7 +709,7 @@ snapshots: dependencies: chalk: 4.1.2 date-fns: 2.30.0 - lodash: 4.17.23 + lodash: 4.18.1 rxjs: 7.8.2 shell-quote: 1.8.3 spawn-command: 0.0.2 @@ -728,7 +729,7 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.28.6 + '@babel/runtime': 7.29.2 dateformat@4.6.3: {} @@ -811,7 +812,7 @@ snapshots: methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 - path-to-regexp: 0.1.12 + path-to-regexp: 0.1.13 proxy-addr: 2.0.7 qs: 6.14.2 range-parser: 1.2.1 @@ -918,7 +919,7 @@ snapshots: leven@2.1.0: {} - lodash@4.17.23: {} + lodash@4.18.1: {} math-intrinsics@1.1.0: {} @@ -958,7 +959,7 @@ snapshots: parseurl@1.3.3: {} - path-to-regexp@0.1.12: {} + path-to-regexp@0.1.13: {} pino-abstract-transport@0.5.0: dependencies: @@ -1000,7 +1001,7 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - proxy-from-env@1.1.0: {} + proxy-from-env@2.1.0: {} pump@3.0.4: dependencies: @@ -1173,7 +1174,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.19.0: {} + ws@8.20.0: {} y18n@5.0.8: {}