{"id":22474842,"url":"https://github.com/grinzero/node-network-devtools","last_synced_at":"2025-04-12T18:48:33.991Z","repository":{"id":241711123,"uuid":"807219698","full_name":"GrinZero/node-network-devtools","owner":"GrinZero","description":"Inspecting Node.js's Network with Chrome DevTools✨","archived":false,"fork":false,"pushed_at":"2024-10-16T06:36:30.000Z","size":2885,"stargazers_count":84,"open_issues_count":4,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-17T23:19:01.968Z","etag":null,"topics":["browser","chrome","chrome-devtools","chrome-devtools-protocol","devtools","inspect","inspector","javascript","monitor","network","node","nodejs"],"latest_commit_sha":null,"homepage":"https://grinzero.github.io/node-network-devtools/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GrinZero.png","metadata":{"files":{"readme":"README-zh_CN.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-28T17:24:13.000Z","updated_at":"2024-10-17T14:58:15.000Z","dependencies_parsed_at":"2024-06-14T18:11:18.085Z","dependency_job_id":"bf68d951-a42f-46b3-9477-5dcd99c3e393","html_url":"https://github.com/GrinZero/node-network-devtools","commit_stats":null,"previous_names":["grinzero/node-network-devtools"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrinZero%2Fnode-network-devtools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrinZero%2Fnode-network-devtools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrinZero%2Fnode-network-devtools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrinZero%2Fnode-network-devtools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GrinZero","download_url":"https://codeload.github.com/GrinZero/node-network-devtools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618130,"owners_count":21134197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","chrome","chrome-devtools","chrome-devtools-protocol","devtools","inspect","inspector","javascript","monitor","network","node","nodejs"],"created_at":"2024-12-06T13:12:11.408Z","updated_at":"2025-04-12T18:48:33.967Z","avatar_url":"https://github.com/GrinZero.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/GrinZero/extreme/assets/70185413/415b35ca-6e28-4486-b480-459bda8f1faa\" width=\"100\" /\u003e\n    \u003cbr\u003eNode Network Devtools\u003c/h1\u003e\n\n \u003ch3 align=\"center\"\u003e🔮  让node程序支持用chrome devtool的network选项卡调试\u003c/h3\u003e\n \u003ch3 align=\"center\"\u003e🦎  等同于浏览器的爬虫体验 \u003c/h3\u003e\n \u003ch3 align=\"center\"\u003e⚙️  Powered by CDP\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\n     \u003cimg src=\"https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white\" alt=\"NodeJs\"/\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Google%20Chrome-4285F4?style=for-the-badge\u0026logo=GoogleChrome\u0026logoColor=white\" alt=\"Chrome\"/\u003e\n   \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6.svg?style=for-the-badge\u0026logo=TypeScript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n \u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n[English](README.md) | 简体中文\n\n## 📖 介绍\n\n如你所见，添加`--inspect`选项打开的node程序并不支持network标签，因为它不去代理用户请求。\nnode network devtools正是为了解决这个问题，它一个允许您使用chrome devtools的network选项卡调试nodejs发出的请求，让debugger过程等同于浏览器中的网络爬虫体验。\n\n## 🎮 TODO\n\n- [x] HTTP/HTTPS\n  - [x] req/res headers\n  - [x] payload\n  - [x] json str response body\n  - [x] binary response body\n  - [x] stack follow\n    - [x] show stack\n    - [x] click to jump\n      - [x] base\n      - [x] Sourcemap\n- [x] WebSocket\n  - [x] messages\n  - [x] payload\n  - [x] headers\n- [ ] Compatibility\n  - [x] commonjs\n  - [x] esmodule\n  - [ ] Bun\n- [ ] Undici\n  - [ ] undici.request\n  - [x] undici.fetch\n\n## 👀 预览\n\n![img](https://github.com/GrinZero/node-network-devtools/assets/70185413/5338d8f2-bb54-46fd-b243-a7a5b4af3031)\n\n## 📦 快速开始\n\n### 1. 安装\n\n```bash\n# npm\nnpm install node-network-devtools -D\n# or pnpm\npnpm add node-network-devtools -D\n# or yarn\nyarn add node-network-devtools -D\n```\n\n### 2. Usage\n\n只需将以下代码添加到项目的入口文件中即可。\n\n```typescript\nimport { register } from 'node-network-devtools'\n\nprocess.env.NODE_ENV === 'development' \u0026\u0026 register()\n```\n\n如果需要停止调试网络请求并消除副作用，只需使用 `register` 方法的返回值进行清理。\n\n```typescript\nimport { register } from 'node-network-devtools'\n\nconst unregister = register()\nunregister()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrinzero%2Fnode-network-devtools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrinzero%2Fnode-network-devtools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrinzero%2Fnode-network-devtools/lists"}