├── img.png ├── Save Multiple URLs ├── icon.png ├── manifest.json ├── popup.html ├── style.css └── popup.js └── README.md /img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exp3n5ive/Save-Multiple-URLs/HEAD/img.png -------------------------------------------------------------------------------- /Save Multiple URLs/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exp3n5ive/Save-Multiple-URLs/HEAD/Save Multiple URLs/icon.png -------------------------------------------------------------------------------- /Save Multiple URLs/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 3, 3 | "name": "Save Multiple URLs", 4 | "version": "1.0", 5 | "description": "复制或导出当前窗口所有标签页的 URL", 6 | "permissions": ["tabs"], 7 | "action": { 8 | "default_popup": "popup.html", 9 | "default_icon": "icon.png" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Save Multiple URLs/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 保存标签页 URL 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 |
14 |

15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Save Multiple URLs/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Arial, sans-serif; 3 | padding: 10px; 4 | width: 400px; 5 | } 6 | 7 | textarea { 8 | width: 100%; 9 | height: 250px; 10 | margin-bottom: 10px; 11 | resize: none; 12 | font-size: 12px; 13 | } 14 | 15 | .button-group { 16 | display: flex; 17 | gap: 10px; 18 | } 19 | 20 | button { 21 | flex: 1; 22 | padding: 8px; 23 | font-size: 14px; 24 | cursor: pointer; 25 | } 26 | 27 | #status { 28 | margin-top: 8px; 29 | color: green; 30 | font-size: 14px; 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Save Multiple URLs 2 | 3 | Save Multiple URLs 是一个专为渗透测试人员、红队工程师、网络安全研究者打造的浏览器插件,便于快速保存当前所有打开的网页 URL,避免在测试过程中遗漏关键目标。 4 | 5 | --- 6 | 7 | ## 🚀 功能特点 8 | 9 | - ✅ 一键获取当前所有浏览器标签页的 URL 10 | - ✅ 支持复制 URL 到剪贴板 11 | - ✅ 支持导出 URL 为 `.txt` 文本文件 12 | - ✅ 界面简洁,操作便捷 13 | - ✅ 无需网络权限,纯本地操作,安全可靠 14 | 15 | --- 16 | 17 | ## 🛠 使用场景 18 | 19 | - 在对目标进行信息收集、目录遍历、页面测试时,临时打开了大量标签页,使用插件一键保存,避免手动记录出错。 20 | - 渗透测试项目报告撰写前,快速整理访问过的所有目标 URL。 21 | - 日常浏览多个测试站点时,便于归档保存以供后续分析。 22 | 23 | --- 24 | 25 | ## 📷 使用截图 26 | 27 | > 可视化界面简洁直观: 28 | > - 「📋 复制到剪贴板」按钮:一键复制所有 URL 到剪贴板 29 | > - 「💾 导出为 txt」按钮:保存为文件到本地 30 | 31 | ![img](./img.png) 32 | 33 | --- 34 | 35 | ## 📦 安装方式 36 | 37 | 1. 下载或克隆本项目 38 | 2. 打开浏览器 `chrome://extensions/` 39 | 3. 打开「开发者模式」 40 | 4. 点击「加载已解压的扩展程序」,选择项目目录 41 | -------------------------------------------------------------------------------- /Save Multiple URLs/popup.js: -------------------------------------------------------------------------------- 1 | // 查询当前窗口所有标签页并显示 2 | chrome.tabs.query({ currentWindow: true }, function (tabs) { 3 | const urlList = document.getElementById('urlList'); 4 | const urls = tabs.map(tab => tab.url).join('\n'); // 拼接成多行字符串 5 | urlList.value = urls; 6 | }); 7 | 8 | // 📋 复制到剪贴板 9 | document.getElementById('copyBtn').addEventListener('click', async function () { 10 | const text = document.getElementById('urlList').value; 11 | try { 12 | await navigator.clipboard.writeText(text); 13 | document.getElementById('status').textContent = '✅ 已复制到剪贴板'; 14 | } catch (err) { 15 | document.getElementById('status').textContent = '❌ 复制失败,请手动复制'; 16 | } 17 | }); 18 | 19 | // 💾 导出为 .txt 文件 20 | document.getElementById('exportBtn').addEventListener('click', function () { 21 | const text = document.getElementById('urlList').value; 22 | const blob = new Blob([text], { type: 'text/plain' }); // 创建文本 Blob 23 | const url = URL.createObjectURL(blob); // 创建下载链接 24 | const a = document.createElement('a'); 25 | a.href = url; 26 | a.download = 'tabs-urls.txt'; 27 | a.click(); 28 | URL.revokeObjectURL(url); // 清理内存 29 | }); 30 | --------------------------------------------------------------------------------