commit 74d351ba32da8b45ca210585486eaa28b267fd63 Author: 爱喝水的木子 Date: Thu Jan 8 14:05:55 2026 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/NEW_UI_GUIDE.md b/NEW_UI_GUIDE.md new file mode 100644 index 0000000..30d8139 --- /dev/null +++ b/NEW_UI_GUIDE.md @@ -0,0 +1,138 @@ +# 新UI设计指南 + +## 🎨 设计理念 + +新的UI界面采用了现代化的**玻璃拟态设计**风格,结合了以下设计原则: + +- **玻璃拟态 (Glassmorphism)** - 半透明背景与模糊效果 +- **渐变色彩** - 流畅的色彩过渡 +- **微交互** - 丰富的悬停和点击反馈 +- **响应式设计** - 完美适配各种设备 + +## 🌟 主要特性 + +### 1. 视觉层次 +- **英雄头部** - 包含Logo和欢迎文案 +- **智能搜索** - 支持实时搜索与自动补全提示 +- **标签云** - 分类标签带有流行度和趋势标识 +- **卡片网格** - 响应式网格布局,自动适配屏幕宽度 + +### 2. 交互体验 +- **悬停效果** - 卡片上浮、光晕、阴影增强 +- **点击反馈** - 涟漪动画、缩放效果 +- **状态指示** - 搜索结果统计、空状态提示 +- **快捷操作** - 随机打乱、重置筛选 + +### 3. 智能功能 +- **分类图标** - 每个分类都有独特的emoji图标 +- **颜色编码** - 不同分类使用不同主题色 +- **动态标签** - 热门标签自动高亮、趋势标签动画 +- **URL格式化** - 简洁显示网站域名 + +## 🎯 设计亮点 + +### 玻璃拟态组件 +```css +/* 背景 */ +background: rgba(255, 255, 255, 0.15); +backdrop-filter: blur(20px); +border: 1px solid rgba(255, 255, 255, 0.25); +``` + +### 动画系统 +- `float` - Logo悬浮动画 +- `pulse` - 趋势标签呼吸动画 +- `glow-pulse` - 卡片发光脉冲 +- `ripple` - 点击涟漪效果 +- `fadeInUp` - 卡片渐入动画 + +### 响应式断点 +- **1024px** - 中等屏幕优化 +- **768px** - 平板设备适配 +- **480px** - 手机设备优化 + +## 🎨 色彩系统 + +### 主题渐变 +```css +background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); +``` + +### 分类色彩 +- 影视娱乐: #FF6B6B +- 个人工具站: #4ECDC4 +- 编程学习: #45B7D1 +- 前端开发: #96CEB4 +- 开发平台: #FFEAA7 +- 开发工具: #DDA0DD +- 实用工具: #98D8C8 +- 设计资源: #F7DC6F + +## 📱 移动端优化 + +1. **触摸友好** - 更大的点击区域 +2. **手势优化** - 防止误触,支持快速操作 +3. **性能优化** - 减少动画,提升流畅度 +4. **视觉调整** - 适配小屏幕的布局变化 + +## ✨ 无障碍特性 + +- **高对比度模式** - 适配 `prefers-contrast: high` +- **减少动画** - 适配 `prefers-reduced-motion: reduce` +- **键盘导航** - 清晰的焦点指示 +- **屏幕阅读器** - 语义化HTML结构 + +## 🚀 使用指南 + +### 搜索功能 +1. 在搜索框中输入关键词 +2. 实时查看匹配结果 +3. 按 ESC 清空搜索 +4. 点击 ✕ 按钮重置 + +### 分类浏览 +1. 浏览标签云中的分类 +2. 点击标签筛选内容 +3. 热门分类自动高亮 +4. 趋势分类有动画标识 + +### 快捷操作 +- **随机** - 打乱当前显示顺序 +- **重置** - 清除所有筛选条件 + +## 🎨 组件结构 + +``` +App.vue +├── Hero Header (头部区域) +├── Controls Section (控制区域) +│ ├── SearchBox (搜索框) +│ ├── Tags Cloud (标签云) +│ └── Result Stats (结果统计) +├── Content Section (内容区域) +│ ├── Loading State (加载状态) +│ ├── Cards Grid (卡片网格) +│ └── Empty State (空状态) +└── App Footer (底部统计与操作) +``` + +## 🔧 技术实现 + +### 状态管理 +- Vue 3 Composition API +- Refs 和 Computed Properties +- 响应式数据绑定 + +### 样式架构 +- Scoped CSS 组件样式 +- CSS 自定义属性 (CSS Variables) +- CSS Grid 布局系统 + +### 动画系统 +- CSS Keyframes +- Transition Groups +- JavaScript 动画控制 + +--- + +这个新UI设计将导航体验提升到了一个全新的水平,不仅视觉上更加吸引人,功能上也更加智能和易用。 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9cf8188 --- /dev/null +++ b/README.md @@ -0,0 +1,122 @@ +# Vue3 智能导航系统 + +一个纯前端的Vue3导航项目,采用**上下分区布局**:上半部分是搜索和分类网格,下半部分是随机移动的不规则多边形卡片,完美解决闪烁问题。 + +## 功能特点 + +- 🎨 **智能上下布局**: + - 上半部分:搜索框 + 分类网格(点击筛选) + - 下半部分:随机移动的不规则多边形卡片 +- 🔍 **实时搜索**: 支持搜索网站名称、描述、分类和URL +- 🎯 **多边形卡片**: + - 使用 `clip-path` 实现梯形、五边形、菱形等不规则形状 + - 每个卡片都有不同的尺寸和随机旋转 + - 仅在下半部分区域移动,永不越界 +- ✨ **无闪烁设计**: + - 完全移除悬停暂停功能 + - 卡片持续平滑移动,无任何中断 + - 纯CSS过渡,无JavaScript状态冲突 +- 🔗 **网站导航**: 从 `public/link.json` 读取链接数据 +- 📱 **响应式设计**: 适配不同屏幕尺寸 +- ⚡ **纯前端**: 无需后端,可部署在Vercel等静态托管平台 + +## 项目结构 + +``` +├── public/ +│ └── link.json # 网站链接数据 +├── src/ +│ ├── components/ +│ │ └── FloatingCard.vue # 浮动卡片组件 +│ ├── App.vue # 主应用组件 +│ └── main.js # 应用入口 +├── index.html # HTML入口 +├── vite.config.js # Vite配置 +├── package.json # 项目依赖 +├── vercel.json # Vercel部署配置 +└── README.md # 项目说明 +``` + +## 数据格式 + +`link.json` 文件格式要求: + +```json +[ + { + "name": "网站名称", + "url": "https://example.com", + "catelog": "分类", + "desc": "网站描述" + } +] +``` + +## 安装和运行 + +### 本地开发 + +```bash +# 安装依赖 +npm install + +# 启动开发服务器 +npm run dev + +# 构建生产版本 +npm run build + +# 预览生产版本 +npm run preview +``` + +### 部署到Vercel + +1. 将项目推送到GitHub仓库 +2. 登录Vercel并导入GitHub仓库 +3. Vercel会自动检测并部署 + +## 使用说明 + +1. 首次运行时,项目会自动从 `public/link.json` 读取数据 +2. 如果 `public/link.json` 不存在,会使用内置的示例数据 +3. 卡片会在屏幕上随机移动,鼠标悬停时会暂停 +4. 点击任意卡片即可在新标签页中打开对应网站 +5. 可以修改 `link.json` 文件来添加或更新链接 + +## 自定义配置 + +### 修改卡片数量 + +在 `src/App.vue` 中修改 `maxCards` 变量: + +```javascript +const maxCards = ref(20) // 默认显示15个卡片 +``` + +### 修改动画速度 + +在 `src/components/FloatingCard.vue` 中修改动画参数: + +```javascript +const ease = 0.02 // 移动平滑度 +const time = Date.now() / 1000 // 动画时间因子 +``` + +## 技术栈 + +- Vue 3.3 +- Vite 4.4 +- Element Plus (用于加载状态) +- 纯JavaScript动画 (requestAnimationFrame) + +## 浏览器兼容性 + +- Chrome 90+ +- Firefox 88+ +- Safari 14+ +- Edge 90+ + +## 许可证 + +MIT License \ No newline at end of file diff --git a/dist/assets/index-331758b3.css b/dist/assets/index-331758b3.css new file mode 100644 index 0000000..6403090 --- /dev/null +++ b/dist/assets/index-331758b3.css @@ -0,0 +1 @@ +.smart-card[data-v-50cc595c]{position:relative;background:rgba(255,255,255,.98);border-radius:16px;padding:16px;min-height:140px;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;transform-style:preserve-3d}.smart-card[data-v-50cc595c]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--category-color);opacity:.8;transition:opacity .3s ease}.smart-card[data-v-50cc595c]:hover:before{opacity:1}.smart-card.is-hovered[data-v-50cc595c]{box-shadow:0 12px 32px #00000026,0 0 0 1px #0000001a;transform:translateY(-4px) scale(1.02)}.smart-card.is-pressed[data-v-50cc595c]{transform:scale(.98) translateY(0);box-shadow:0 2px 8px #0000001a}.card-decoration[data-v-50cc595c]{position:absolute;top:0;right:0;width:60px;height:60px;border-radius:0 16px 0 12px;opacity:.15;transition:opacity .3s ease;pointer-events:none}.smart-card.is-hovered .card-decoration[data-v-50cc595c]{opacity:.25;width:80px;height:80px}.card-content[data-v-50cc595c]{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;gap:12px}.card-header[data-v-50cc595c]{display:flex;flex-direction:column;gap:6px}.category-badge[data-v-50cc595c]{display:inline-block;padding:4px 10px;border-radius:12px;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 6px #00000026}.card-title[data-v-50cc595c]{font-size:1.05rem;font-weight:800;color:#1a1a1a;line-height:1.3;margin:0;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body[data-v-50cc595c]{flex:1;display:flex;flex-direction:column;gap:8px}.card-description[data-v-50cc595c]{font-size:.85rem;color:#555;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em}.card-url[data-v-50cc595c]{font-size:.75rem;color:#888;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 8px;background:rgba(0,0,0,.03);border-radius:6px;align-self:flex-start}.card-footer[data-v-50cc595c]{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.interaction-hint[data-v-50cc595c]{display:flex;align-items:center;gap:6px;opacity:.6;transition:opacity .3s ease;font-size:.75rem;color:#666}.smart-card.is-hovered .interaction-hint[data-v-50cc595c]{opacity:1;color:var(--category-color)}.hint-icon[data-v-50cc595c]{font-size:.9rem}.hint-text[data-v-50cc595c]{font-weight:600}.hover-actions[data-v-50cc595c]{display:flex;gap:4px}.action-icon[data-v-50cc595c]{width:24px;height:24px;border:none;background:rgba(0,0,0,.05);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease;color:#666}.action-icon[data-v-50cc595c]:hover{background:var(--category-color);color:#fff;transform:scale(1.1)}.hover-glow[data-v-50cc595c]{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:16px;opacity:0;animation:glow-pulse-50cc595c 1.5s ease-in-out infinite;pointer-events:none;z-index:1}.smart-card.is-hovered .hover-glow[data-v-50cc595c]{opacity:.4}@keyframes glow-pulse-50cc595c{0%,to{opacity:.3;filter:blur(8px)}50%{opacity:.6;filter:blur(12px)}}.ripple-effect[data-v-50cc595c]{position:absolute;top:50%;left:50%;width:100px;height:100px;border-radius:50%;transform:translate(-50%,-50%) scale(0);opacity:.6;animation:ripple-50cc595c .6s ease-out;pointer-events:none;z-index:3}@keyframes ripple-50cc595c{to{transform:translate(-50%,-50%) scale(4);opacity:0}}.smart-card[data-v-50cc595c]:active{transform:scale(.97)}@media (max-width: 768px){.smart-card[data-v-50cc595c]{padding:12px;min-height:120px;border-radius:12px}.card-title[data-v-50cc595c]{font-size:.95rem}.card-description[data-v-50cc595c]{font-size:.8rem;-webkit-line-clamp:2}.card-url[data-v-50cc595c]{font-size:.7rem}.category-badge[data-v-50cc595c]{font-size:.65rem;padding:3px 8px}}@media (max-width: 480px){.smart-card[data-v-50cc595c]{padding:10px;min-height:110px}.card-title[data-v-50cc595c]{font-size:.9rem}.card-description[data-v-50cc595c]{-webkit-line-clamp:1;font-size:.75rem}}@media (prefers-color-scheme: dark){.smart-card[data-v-50cc595c]{background:rgba(30,30,30,.95);border-color:#ffffff1a}.card-title[data-v-50cc595c]{color:#f0f0f0}.card-description[data-v-50cc595c]{color:#bbb}.card-url[data-v-50cc595c]{background:rgba(255,255,255,.05);color:#999}}.search-container[data-v-c0a570bf]{position:relative;z-index:100;width:100%;max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.search-box[data-v-c0a570bf]{position:relative;display:flex;align-items:center;background:rgba(255,255,255,.95);border-radius:20px;padding:12px 16px;box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.search-box[data-v-c0a570bf]:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease;z-index:0}.search-box.is-focused[data-v-c0a570bf]{border-color:#667eea;box-shadow:0 6px 30px #667eea4d;transform:translateY(-2px)}.search-box.is-focused[data-v-c0a570bf]:before{opacity:.05}.search-icon[data-v-c0a570bf]{position:relative;z-index:1;font-size:1.3rem;margin-right:12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:all .3s ease}.search-box.is-focused .search-icon[data-v-c0a570bf]{opacity:1;transform:scale(1.1)}input[data-v-c0a570bf]{flex:1;border:none;background:transparent;outline:none;font-size:1rem;padding:8px 4px;color:#333;font-weight:500;position:relative;z-index:1;transition:all .3s ease}input[data-v-c0a570bf]::placeholder{color:#999;font-style:italic;font-weight:400}.search-box.is-focused input[data-v-c0a570bf]{color:#1a1a1a}.clear-btn[data-v-c0a570bf]{position:relative;z-index:1;width:28px;height:28px;border:none;background:rgba(0,0,0,.05);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#666;margin-left:8px;transition:all .2s ease;font-weight:600}.clear-btn[data-v-c0a570bf]:hover{background:#667eea;color:#fff;transform:scale(1.1)}.clear-btn[data-v-c0a570bf]:active{transform:scale(.95)}.search-decoration[data-v-c0a570bf]{position:absolute;bottom:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);transition:width .4s ease}.search-box.is-focused .search-decoration[data-v-c0a570bf]{width:100%}.search-stats[data-v-c0a570bf]{animation:slideDown-c0a570bf .3s ease-out;text-align:center}.stats-content[data-v-c0a570bf]{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);padding:10px 20px;border-radius:16px;font-size:.95rem;color:#333;font-weight:600;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-icon[data-v-c0a570bf]{font-size:1.1rem}.stats-content strong[data-v-c0a570bf]{color:#667eea;font-weight:800}.search-hint[data-v-c0a570bf]{display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:12px;color:#fff;font-size:.85rem;opacity:.9;animation:fadeIn-c0a570bf .5s ease-out}.hint-icon[data-v-c0a570bf]{font-size:1rem}.hint-text[data-v-c0a570bf]{font-weight:500}@keyframes slideDown-c0a570bf{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn-c0a570bf{0%{opacity:0}to{opacity:.9}}@media (max-width: 768px){.search-container[data-v-c0a570bf]{max-width:95%}.search-box[data-v-c0a570bf]{padding:10px 14px;border-radius:16px}.search-icon[data-v-c0a570bf]{font-size:1.1rem;width:20px;height:20px;margin-right:8px}input[data-v-c0a570bf]{font-size:.95rem}.clear-btn[data-v-c0a570bf]{width:24px;height:24px;font-size:.9rem}.stats-content[data-v-c0a570bf]{font-size:.85rem;padding:8px 16px}.search-hint[data-v-c0a570bf]{font-size:.8rem;padding:6px 12px}}@media (max-width: 480px){.search-box[data-v-c0a570bf]{padding:8px 12px}input[data-v-c0a570bf]{font-size:.9rem}.search-hint[data-v-c0a570bf]{font-size:.75rem;background:rgba(255,255,255,.1)}}@media (prefers-color-scheme: dark){.search-box[data-v-c0a570bf]{background:rgba(30,30,30,.95);border-color:#ffffff1a}.search-box.is-focused[data-v-c0a570bf]{border-color:#764ba2}input[data-v-c0a570bf]{color:#f0f0f0}input[data-v-c0a570bf]::placeholder{color:#888}.clear-btn[data-v-c0a570bf]{background:rgba(255,255,255,.1);color:#ccc}.clear-btn[data-v-c0a570bf]:hover{background:#764ba2;color:#fff}.search-box.is-focused[data-v-c0a570bf]:before{opacity:.1}}.app-container[data-v-af3d73a9]{height:100vh;position:relative;background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);overflow:hidden;display:flex;flex-direction:column}.glass-bg[data-v-af3d73a9]{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 10% 20%,rgba(255,255,255,.1) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(255,255,255,.08) 0%,transparent 20%);pointer-events:none;z-index:0}.main-content[data-v-af3d73a9]{position:relative;z-index:1;max-width:1400px;margin:0 auto;width:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.hero-header[data-v-af3d73a9]{flex-shrink:0;text-align:center;padding:12px 20px;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0 0 20px 20px;border:1px solid rgba(255,255,255,.25);border-bottom:none;box-shadow:0 4px 20px #0000001a;margin:0 20px}.logo-area[data-v-af3d73a9]{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px}.logo-icon[data-v-af3d73a9]{font-size:2rem;animation:float-af3d73a9 3s ease-in-out infinite}.hero-title[data-v-af3d73a9]{font-size:2.2rem;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:-.5px}.hero-subtitle[data-v-af3d73a9]{font-size:.95rem;color:#ffffffe6;font-weight:400;margin-top:4px}.controls-section[data-v-af3d73a9]{flex-shrink:0;display:flex;flex-direction:column;gap:8px;align-items:center;padding:0 20px}.tags-cloud[data-v-af3d73a9]{width:100%;display:flex;justify-content:center}.tags-wrapper[data-v-af3d73a9]{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:1000px;padding:4px 0}.tag-item[data-v-af3d73a9]{padding:6px 12px;border:none;border-radius:16px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:4px;font-size:.85rem;position:relative;overflow:hidden;white-space:nowrap}.tag-item[data-v-af3d73a9]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.tag-item[data-v-af3d73a9]:hover:before{left:100%}.tag-item[data-v-af3d73a9]:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.tag-item.active[data-v-af3d73a9]{background:rgba(255,255,255,.95);color:#667eea;transform:scale(1.05) translateY(-2px);box-shadow:0 4px 16px #0003}.tag-item.popular[data-v-af3d73a9]{background:linear-gradient(135deg,#FF6B6B,#FF8E53);font-weight:700}.tag-item.trending[data-v-af3d73a9]{background:linear-gradient(135deg,#FDC830,#F37335);animation:pulse-af3d73a9 2s ease-in-out infinite}.tag-icon[data-v-af3d73a9]{font-size:1rem}.tag-count[data-v-af3d73a9]{background:rgba(0,0,0,.2);padding:1px 5px;border-radius:8px;font-size:.7rem;font-weight:700}.result-stats[data-v-af3d73a9]{animation:slideDown-af3d73a9 .3s ease-out}.stats-badge[data-v-af3d73a9]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 24px;border-radius:20px;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px #0003}.stats-icon[data-v-af3d73a9]{font-size:1.2rem}.content-section[data-v-af3d73a9]{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding:10px}.loading-state[data-v-af3d73a9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.25);gap:16px}.spinner[data-v-af3d73a9]{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-af3d73a9 1s linear infinite}.loading-state p[data-v-af3d73a9]{color:#fff;font-size:1.1rem;font-weight:600}.cards-grid[data-v-af3d73a9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:10px}.card-wrapper[data-v-af3d73a9]{animation:fadeInUp-af3d73a9 .5s ease-out both}.empty-state[data-v-af3d73a9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.25);gap:12px;text-align:center}.empty-icon[data-v-af3d73a9]{font-size:3rem;opacity:.7}.empty-state h3[data-v-af3d73a9]{color:#fff;font-size:1.4rem;font-weight:700}.empty-state p[data-v-af3d73a9]{color:#ffffffe6;font-size:1rem}.reset-btn[data-v-af3d73a9]{margin-top:8px;padding:10px 20px;background:white;color:#667eea;border:none;border-radius:16px;font-weight:700;cursor:pointer;transition:all .3s}.reset-btn[data-v-af3d73a9]:hover{transform:scale(1.05);box-shadow:0 4px 16px #0003}.app-footer[data-v-af3d73a9]{flex-shrink:0;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.25);padding:16px 20px;margin:0 20px 20px}.footer-content[data-v-af3d73a9]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.stats-overview[data-v-af3d73a9]{display:flex;gap:24px;flex-wrap:wrap}.stat-item[data-v-af3d73a9]{display:flex;flex-direction:column;gap:2px}.stat-label[data-v-af3d73a9]{font-size:.75rem;color:#ffffffb3;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-af3d73a9]{font-size:1.3rem;color:#fff;font-weight:800}.quick-actions[data-v-af3d73a9]{display:flex;gap:8px;flex-wrap:wrap}.action-btn[data-v-af3d73a9]{padding:8px 16px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-size:.9rem}.action-btn.primary[data-v-af3d73a9]{background:white;color:#667eea}.action-btn.primary[data-v-af3d73a9]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}.action-btn.secondary[data-v-af3d73a9]{background:rgba(255,255,255,.2);color:#fff}.action-btn.secondary[data-v-af3d73a9]:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}@keyframes float-af3d73a9{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-af3d73a9{0%,to{opacity:1}50%{opacity:.8}}@keyframes spin-af3d73a9{to{transform:rotate(360deg)}}@keyframes fadeInUp-af3d73a9{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown-af3d73a9{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.cards-grid[data-v-af3d73a9]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.hero-title[data-v-af3d73a9]{font-size:2.4rem}}@media (max-width: 768px){.main-content[data-v-af3d73a9]{padding:12px;gap:12px}.hero-header[data-v-af3d73a9]{padding:24px 16px 16px}.hero-title[data-v-af3d73a9]{font-size:1.8rem}.hero-subtitle[data-v-af3d73a9]{font-size:.95rem}.tags-wrapper[data-v-af3d73a9]{gap:6px}.tag-item[data-v-af3d73a9]{padding:6px 12px;font-size:.85rem}.cards-grid[data-v-af3d73a9]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:6px}.footer-content[data-v-af3d73a9]{flex-direction:column;align-items:stretch}.stats-overview[data-v-af3d73a9]{justify-content:space-between;gap:12px}.quick-actions[data-v-af3d73a9]{justify-content:stretch}.action-btn[data-v-af3d73a9]{flex:1;justify-content:center}}@media (max-width: 480px){.hero-title[data-v-af3d73a9]{font-size:1.5rem}.logo-icon[data-v-af3d73a9]{font-size:2rem}.cards-grid[data-v-af3d73a9]{grid-template-columns:1fr}.stats-overview[data-v-af3d73a9]{flex-direction:column;gap:8px}.stat-item[data-v-af3d73a9]{flex-direction:row;justify-content:space-between;width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;position:relative}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;outline:none;cursor:pointer}input{font-family:inherit}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform .3s ease,opacity .3s ease}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(20px);opacity:0}.text-gradient{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.backdrop-glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:rgba(255,255,255,.1)}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}@media (max-width: 768px){body{-webkit-text-size-adjust:100%}input,textarea,select{font-size:16px!important}}@media (prefers-contrast: high){.smart-card,.search-box,.tag-item{border-width:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:white}.glass-bg,.app-footer,.controls-section,.hero-header{display:none}.cards-grid{grid-template-columns:repeat(2,1fr)}.smart-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}::selection{background:rgba(102,126,234,.3);color:#fff}:focus-visible{outline:2px solid #667eea;outline-offset:2px}.hidden{display:none!important}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} diff --git a/dist/assets/index-694da4b5.js b/dist/assets/index-694da4b5.js new file mode 100644 index 0000000..73064f6 --- /dev/null +++ b/dist/assets/index-694da4b5.js @@ -0,0 +1,17 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();/** +* @vue/shared v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function js(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const K={},ft=[],ye=()=>{},Bn=()=>!1,ts=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Hs=e=>e.startsWith("onUpdate:"),X=Object.assign,Us=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Yr=Object.prototype.hasOwnProperty,j=(e,t)=>Yr.call(e,t),F=Array.isArray,ut=e=>ss(e)==="[object Map]",Wn=e=>ss(e)==="[object Set]",R=e=>typeof e=="function",Z=e=>typeof e=="string",Je=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",kn=e=>(J(e)||R(e))&&R(e.then)&&R(e.catch),qn=Object.prototype.toString,ss=e=>qn.call(e),Zr=e=>ss(e).slice(8,-1),Jn=e=>ss(e)==="[object Object]",Ks=e=>Z(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wt=js(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ns=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Qr=/-\w/g,ke=ns(e=>e.replace(Qr,t=>t.slice(1).toUpperCase())),Xr=/\B([A-Z])/g,Ge=ns(e=>e.replace(Xr,"-$1").toLowerCase()),Gn=ns(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=ns(e=>e?`on${Gn(e)}`:""),We=(e,t)=>!Object.is(e,t),Wt=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Vs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let an;const rs=()=>an||(an=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Re(e){if(F(e)){const t={};for(let s=0;s{if(s){const n=s.split(ti);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function gt(e){let t="";if(Z(e))t=e;else if(F(e))for(let s=0;s!!(e&&e.__v_isRef===!0),he=e=>Z(e)?e:e==null?"":F(e)||J(e)&&(e.toString===qn||!R(e.toString))?Zn(e)?he(e.value):JSON.stringify(e,Qn,2):String(e),Qn=(e,t)=>Zn(t)?Qn(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[ms(n,i)+" =>"]=r,s),{})}:Wn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>ms(s))}:Je(t)?ms(t):J(t)&&!F(t)&&!Jn(t)?String(t):t,ms=(e,t="")=>{var s;return Je(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +* @vue/reactivity v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let fe;class oi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=fe,!t&&fe&&(this.index=(fe.scopes||(fe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(fe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(St){let t=St;for(St=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ct;){let t=Ct;for(Ct=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function sr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function nr(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),ks(n),ci(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Os(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(rr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function rr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pt)||(e.globalVersion=Pt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Os(e))))return;e.flags|=2;const t=e.dep,s=k,n=xe;k=e,xe=!0;try{sr(e);const r=e.fn(e._value);(t.version===0||We(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{k=s,xe=n,nr(e),e.flags&=-3}}function ks(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)ks(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function ci(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let xe=!0;const ir=[];function $e(){ir.push(xe),xe=!1}function je(){const e=ir.pop();xe=e===void 0?!0:e}function dn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=k;k=void 0;try{t()}finally{k=s}}}let Pt=0;class fi{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!k||!xe||k===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==k)s=this.activeLink=new fi(k,this),k.deps?(s.prevDep=k.depsTail,k.depsTail.nextDep=s,k.depsTail=s):k.deps=k.depsTail=s,or(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=k.depsTail,s.nextDep=void 0,k.depsTail.nextDep=s,k.depsTail=s,k.deps===s&&(k.deps=n)}return s}trigger(t){this.version++,Pt++,this.notify(t)}notify(t){Bs();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Ws()}}}function or(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)or(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const As=new WeakMap,tt=Symbol(""),Ps=Symbol(""),Mt=Symbol("");function te(e,t,s){if(xe&&k){let n=As.get(e);n||As.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new qs),r.map=n,r.key=s),r.track()}}function De(e,t,s,n,r,i){const o=As.get(e);if(!o){Pt++;return}const l=f=>{f&&f.trigger()};if(Bs(),t==="clear")o.forEach(l);else{const f=F(e),d=f&&Ks(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,T)=>{(T==="length"||T===Mt||!Je(T)&&T>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Mt)),t){case"add":f?d&&l(o.get("length")):(l(o.get(tt)),ut(e)&&l(o.get(Ps)));break;case"delete":f||(l(o.get(tt)),ut(e)&&l(o.get(Ps)));break;case"set":ut(e)&&l(o.get(tt));break}}Ws()}function rt(e){const t=$(e);return t===e?t:(te(t,"iterate",Mt),_e(e)?t:t.map(Ce))}function is(e){return te(e=$(e),"iterate",Mt),e}function Ke(e,t){return He(e)?st(e)?ht(Ce(t)):ht(t):Ce(t)}const ui={__proto__:null,[Symbol.iterator](){return vs(this,Symbol.iterator,e=>Ke(this,e))},concat(...e){return rt(this).concat(...e.map(t=>F(t)?rt(t):t))},entries(){return vs(this,"entries",e=>(e[1]=Ke(this,e[1]),e))},every(e,t){return Ie(this,"every",e,t,void 0,arguments)},filter(e,t){return Ie(this,"filter",e,t,s=>s.map(n=>Ke(this,n)),arguments)},find(e,t){return Ie(this,"find",e,t,s=>Ke(this,s),arguments)},findIndex(e,t){return Ie(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ie(this,"findLast",e,t,s=>Ke(this,s),arguments)},findLastIndex(e,t){return Ie(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ie(this,"forEach",e,t,void 0,arguments)},includes(...e){return bs(this,"includes",e)},indexOf(...e){return bs(this,"indexOf",e)},join(e){return rt(this).join(e)},lastIndexOf(...e){return bs(this,"lastIndexOf",e)},map(e,t){return Ie(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return hn(this,"reduce",e,t)},reduceRight(e,...t){return hn(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return Ie(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return rt(this).toReversed()},toSorted(e){return rt(this).toSorted(e)},toSpliced(...e){return rt(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return vs(this,"values",e=>Ke(this,e))}};function vs(e,t,s){const n=is(e),r=n[t]();return n!==e&&!_e(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const ai=Array.prototype;function Ie(e,t,s,n,r,i){const o=is(e),l=o!==e&&!_e(e),f=o[t];if(f!==ai[t]){const p=f.apply(e,i);return l?Ce(p):p}let d=s;o!==e&&(l?d=function(p,T){return s.call(this,Ke(e,p),T,e)}:s.length>2&&(d=function(p,T){return s.call(this,p,T,e)}));const a=f.call(o,d,n);return l&&r?r(a):a}function hn(e,t,s,n){const r=is(e);let i=s;return r!==e&&(_e(e)?s.length>3&&(i=function(o,l,f){return s.call(this,o,l,f,e)}):i=function(o,l,f){return s.call(this,o,Ke(e,l),f,e)}),r[t](i,...n)}function bs(e,t,s){const n=$(e);te(n,"iterate",Mt);const r=n[t](...s);return(r===-1||r===!1)&&Ys(s[0])?(s[0]=$(s[0]),n[t](...s)):r}function bt(e,t,s=[]){$e(),Bs();const n=$(e)[t].apply(e,s);return Ws(),je(),n}const di=js("__proto__,__v_isRef,__isVue"),lr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function hi(e){Je(e)||(e=String(e));const t=$(this);return te(t,"has",e),t.hasOwnProperty(e)}class cr{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Ci:dr:i?ar:ur).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=F(t);if(!r){let f;if(o&&(f=ui[s]))return f;if(s==="hasOwnProperty")return hi}const l=Reflect.get(t,s,se(t)?t:n);if((Je(s)?lr.has(s):di(s))||(r||te(t,"get",s),i))return l;if(se(l)){const f=o&&Ks(s)?l:l.value;return r&&J(f)?Is(f):f}return J(l)?r?Is(l):Gs(l):l}}class fr extends cr{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=F(t)&&Ks(s);if(!this._isShallow){const d=He(i);if(!_e(n)&&!He(n)&&(i=$(i),n=$(n)),!o&&se(i)&&!se(n))return d||(i.value=n),!0}const l=o?Number(s)e,Kt=e=>Reflect.getPrototypeOf(e);function vi(e,t,s){return function(...n){const r=this.__v_raw,i=$(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,d=r[e](...n),a=s?Ms:t?ht:Ce;return!t&&te(i,"iterate",f?Ps:tt),{next(){const{value:p,done:T}=d.next();return T?{value:p,done:T}:{value:l?[a(p[0]),a(p[1])]:a(p),done:T}},[Symbol.iterator](){return this}}}}function Vt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function bi(e,t){const s={get(r){const i=this.__v_raw,o=$(i),l=$(r);e||(We(r,l)&&te(o,"get",r),te(o,"get",l));const{has:f}=Kt(o),d=t?Ms:e?ht:Ce;if(f.call(o,r))return d(i.get(r));if(f.call(o,l))return d(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&te($(r),"iterate",tt),r.size},has(r){const i=this.__v_raw,o=$(i),l=$(r);return e||(We(r,l)&&te(o,"has",r),te(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,f=$(l),d=t?Ms:e?ht:Ce;return!e&&te(f,"iterate",tt),l.forEach((a,p)=>r.call(i,d(a),d(p),o))}};return X(s,e?{add:Vt("add"),set:Vt("set"),delete:Vt("delete"),clear:Vt("clear")}:{add(r){!t&&!_e(r)&&!He(r)&&(r=$(r));const i=$(this);return Kt(i).has.call(i,r)||(i.add(r),De(i,"add",r,r)),this},set(r,i){!t&&!_e(i)&&!He(i)&&(i=$(i));const o=$(this),{has:l,get:f}=Kt(o);let d=l.call(o,r);d||(r=$(r),d=l.call(o,r));const a=f.call(o,r);return o.set(r,i),d?We(i,a)&&De(o,"set",r,i):De(o,"add",r,i),this},delete(r){const i=$(this),{has:o,get:l}=Kt(i);let f=o.call(i,r);f||(r=$(r),f=o.call(i,r)),l&&l.call(i,r);const d=i.delete(r);return f&&De(i,"delete",r,void 0),d},clear(){const r=$(this),i=r.size!==0,o=r.clear();return i&&De(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=vi(r,e,t)}),s}function Js(e,t){const s=bi(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(j(s,r)&&r in n?s:n,r,i)}const yi={get:Js(!1,!1)},xi={get:Js(!1,!0)},wi={get:Js(!0,!1)};const ur=new WeakMap,ar=new WeakMap,dr=new WeakMap,Ci=new WeakMap;function Si(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ti(e){return e.__v_skip||!Object.isExtensible(e)?0:Si(Zr(e))}function Gs(e){return He(e)?e:zs(e,!1,gi,yi,ur)}function Ei(e){return zs(e,!1,_i,xi,ar)}function Is(e){return zs(e,!0,mi,wi,dr)}function zs(e,t,s,n,r){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Ti(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?n:s);return r.set(e,l),l}function st(e){return He(e)?st(e.__v_raw):!!(e&&e.__v_isReactive)}function He(e){return!!(e&&e.__v_isReadonly)}function _e(e){return!!(e&&e.__v_isShallow)}function Ys(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function Oi(e){return!j(e,"__v_skip")&&Object.isExtensible(e)&&zn(e,"__v_skip",!0),e}const Ce=e=>J(e)?Gs(e):e,ht=e=>J(e)?Is(e):e;function se(e){return e?e.__v_isRef===!0:!1}function Ne(e){return Ai(e,!1)}function Ai(e,t){return se(e)?e:new Pi(e,t)}class Pi{constructor(t,s){this.dep=new qs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:$(t),this._value=s?t:Ce(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||_e(t)||He(t);t=n?t:$(t),We(t,s)&&(this._rawValue=t,this._value=n?t:Ce(t),this.dep.trigger())}}function Mi(e){return se(e)?e.value:e}const Ii={get:(e,t,s)=>t==="__v_raw"?e:Mi(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return se(r)&&!se(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function hr(e){return st(e)?e:new Proxy(e,Ii)}class Fi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new qs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&k!==this)return tr(this,!0),!0}get value(){const t=this.dep.track();return rr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ri(e,t,s=!1){let n,r;return R(e)?n=e:(n=e.get,r=e.set),new Fi(n,r,s)}const Bt={},zt=new WeakMap;let et;function Di(e,t=!1,s=et){if(s){let n=zt.get(s);n||zt.set(s,n=[]),n.push(e)}}function Li(e,t,s=K){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:l,call:f}=s,d=x=>r?x:_e(x)||r===!1||r===0?Le(x,1):Le(x);let a,p,T,C,M=!1,D=!1;if(se(e)?(p=()=>e.value,M=_e(e)):st(e)?(p=()=>d(e),M=!0):F(e)?(D=!0,M=e.some(x=>st(x)||_e(x)),p=()=>e.map(x=>{if(se(x))return x.value;if(st(x))return d(x);if(R(x))return f?f(x,2):x()})):R(e)?t?p=f?()=>f(e,2):e:p=()=>{if(T){$e();try{T()}finally{je()}}const x=et;et=a;try{return f?f(e,3,[C]):e(C)}finally{et=x}}:p=ye,t&&r){const x=p,E=r===!0?1/0:r;p=()=>Le(x(),E)}const Q=li(),N=()=>{a.stop(),Q&&Q.active&&Us(Q.effects,a)};if(i&&t){const x=t;t=(...E)=>{x(...E),N()}}let U=D?new Array(e.length).fill(Bt):Bt;const q=x=>{if(!(!(a.flags&1)||!a.dirty&&!x))if(t){const E=a.run();if(r||M||(D?E.some((V,le)=>We(V,U[le])):We(E,U))){T&&T();const V=et;et=a;try{const le=[E,U===Bt?void 0:D&&U[0]===Bt?[]:U,C];U=E,f?f(t,3,le):t(...le)}finally{et=V}}}else a.run()};return l&&l(q),a=new Xn(p),a.scheduler=o?()=>o(q,!1):q,C=x=>Di(x,!1,a),T=a.onStop=()=>{const x=zt.get(a);if(x){if(f)f(x,4);else for(const E of x)E();zt.delete(a)}},t?n?q(!0):U=a.run():o?o(q.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function Le(e,t=1/0,s){if(t<=0||!J(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,se(e))Le(e.value,t,s);else if(F(e))for(let n=0;n{Le(n,t,s)});else if(Jn(e)){for(const n in e)Le(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Le(e[n],t,s)}return e}/** +* @vue/runtime-core v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Dt(e,t,s,n){try{return n?e(...n):e()}catch(r){os(r,t,s)}}function Pe(e,t,s,n){if(R(e)){const r=Dt(e,t,s,n);return r&&kn(r)&&r.catch(i=>{os(i,t,s)}),r}if(F(e)){const r=[];for(let i=0;i>>1,r=ie[n],i=It(r);i=It(s)?ie.push(e):ie.splice(ji(t),0,e),e.flags|=1,gr()}}function gr(){Yt||(Yt=pr.then(_r))}function Hi(e){F(e)?at.push(...e):Ve&&e.id===-1?Ve.splice(it+1,0,e):e.flags&1||(at.push(e),e.flags|=1),gr()}function pn(e,t,s=Oe+1){for(;sIt(s)-It(n));if(at.length=0,Ve){Ve.push(...t);return}for(Ve=t,it=0;ite.id==null?e.flags&2?-1:1/0:e.id;function _r(e){const t=ye;try{for(Oe=0;Oe{n._d&&Sn(-1);const i=Zt(t);let o;try{o=e(...r)}finally{Zt(i),n._d&&Sn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Ki(e,t){if(me===null)return e;const s=us(me),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return s&&R(t)?t.call(n&&n.proxy):t}}const Bi=Symbol.for("v-scx"),Wi=()=>kt(Bi);function ys(e,t,s){return br(e,t,s)}function br(e,t,s=K){const{immediate:n,deep:r,flush:i,once:o}=s,l=X({},s),f=t&&n||!t&&i!=="post";let d;if(Rt){if(i==="sync"){const C=Wi();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!f){const C=()=>{};return C.stop=ye,C.resume=ye,C.pause=ye,C}}const a=oe;l.call=(C,M,D)=>Pe(C,a,M,D);let p=!1;i==="post"?l.scheduler=C=>{de(C,a&&a.suspense)}:i!=="sync"&&(p=!0,l.scheduler=(C,M)=>{M?C():Zs(C)}),l.augmentJob=C=>{t&&(C.flags|=4),p&&(C.flags|=2,a&&(C.id=a.uid,C.i=a))};const T=Li(e,t,l);return Rt&&(d?d.push(T):f&&T()),T}function ki(e,t,s){const n=this.proxy,r=Z(e)?e.includes(".")?yr(n,e):()=>n[e]:e.bind(n,n);let i;R(t)?i=t:(i=t.handler,s=t);const o=Lt(this),l=br(r,i.bind(n),s);return o(),l}function yr(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Gi=Symbol("_leaveCb");function Qs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Qs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function xr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Qt=new WeakMap;function Tt(e,t,s,n,r=!1){if(F(e)){e.forEach((M,D)=>Tt(M,t&&(F(t)?t[D]:t),s,n,r));return}if(Et(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Tt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?us(n.component):n.el,o=r?null:i,{i:l,r:f}=e,d=t&&t.r,a=l.refs===K?l.refs={}:l.refs,p=l.setupState,T=$(p),C=p===K?Bn:M=>j(T,M);if(d!=null&&d!==f){if(gn(t),Z(d))a[d]=null,C(d)&&(p[d]=null);else if(se(d)){d.value=null;const M=t;M.k&&(a[M.k]=null)}}if(R(f))Dt(f,l,12,[o,a]);else{const M=Z(f),D=se(f);if(M||D){const Q=()=>{if(e.f){const N=M?C(f)?p[f]:a[f]:f.value;if(r)F(N)&&Us(N,i);else if(F(N))N.includes(i)||N.push(i);else if(M)a[f]=[i],C(f)&&(p[f]=a[f]);else{const U=[i];f.value=U,e.k&&(a[e.k]=U)}}else M?(a[f]=o,C(f)&&(p[f]=o)):D&&(f.value=o,e.k&&(a[e.k]=o))};if(o){const N=()=>{Q(),Qt.delete(e)};N.id=-1,Qt.set(e,N),de(N,s)}else gn(e),Q()}}}function gn(e){const t=Qt.get(e);t&&(t.flags|=8,Qt.delete(e))}rs().requestIdleCallback;rs().cancelIdleCallback;const Et=e=>!!e.type.__asyncLoader,wr=e=>e.type.__isKeepAlive;function zi(e,t){Cr(e,"a",t)}function Yi(e,t){Cr(e,"da",t)}function Cr(e,t,s=oe){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ls(t,n,s),s){let r=s.parent;for(;r&&r.parent;)wr(r.parent.vnode)&&Zi(n,t,s,r),r=r.parent}}function Zi(e,t,s,n){const r=ls(t,e,n,!0);Tr(()=>{Us(n[t],r)},s)}function ls(e,t,s=oe,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{$e();const l=Lt(s),f=Pe(t,s,e,o);return l(),je(),f});return n?r.unshift(i):r.push(i),i}}const Ue=e=>(t,s=oe)=>{(!Rt||e==="sp")&&ls(e,(...n)=>t(...n),s)},Qi=Ue("bm"),Sr=Ue("m"),Xi=Ue("bu"),eo=Ue("u"),to=Ue("bum"),Tr=Ue("um"),so=Ue("sp"),no=Ue("rtg"),ro=Ue("rtc");function io(e,t=oe){ls("ec",e,t)}const oo=Symbol.for("v-ndc");function mn(e,t,s,n){let r;const i=s&&s[n],o=F(e);if(o||Z(e)){const l=o&&st(e);let f=!1,d=!1;l&&(f=!_e(e),d=He(e),e=is(e)),r=new Array(e.length);for(let a=0,p=e.length;at(l,f,void 0,i&&i[f]));else{const l=Object.keys(e);r=new Array(l.length);for(let f=0,d=l.length;fe?kr(e)?us(e):Fs(e.parent):null,Ot=X(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Fs(e.parent),$root:e=>Fs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xs(e),$forceUpdate:e=>e.f||(e.f=()=>{Zs(e.update)}),$nextTick:e=>e.n||(e.n=$i.bind(e.proxy)),$watch:e=>ki.bind(e)}),xs=(e,t)=>e!==K&&!e.__isScriptSetup&&j(e,t),lo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:l,appContext:f}=e;if(t[0]!=="$"){const T=o[t];if(T!==void 0)switch(T){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(xs(n,t))return o[t]=1,n[t];if(r!==K&&j(r,t))return o[t]=2,r[t];if(j(i,t))return o[t]=3,i[t];if(s!==K&&j(s,t))return o[t]=4,s[t];Rs&&(o[t]=0)}}const d=Ot[t];let a,p;if(d)return t==="$attrs"&&te(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==K&&j(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,j(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return xs(r,t)?(r[t]=s,!0):n!==K&&j(n,t)?(n[t]=s,!0):j(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},l){let f;return!!(s[l]||e!==K&&l[0]!=="$"&&j(e,l)||xs(t,l)||j(i,l)||j(n,l)||j(Ot,l)||j(r.config.globalProperties,l)||(f=o.__cssModules)&&f[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:j(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function _n(e){return F(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Rs=!0;function co(e){const t=Xs(e),s=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&vn(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:d,created:a,beforeMount:p,mounted:T,beforeUpdate:C,updated:M,activated:D,deactivated:Q,beforeDestroy:N,beforeUnmount:U,destroyed:q,unmounted:x,render:E,renderTracked:V,renderTriggered:le,errorCaptured:Me,serverPrefetch:Nt,expose:ze,inheritAttrs:mt,components:$t,directives:jt,filters:as}=t;if(d&&fo(d,n,null),o)for(const G in o){const B=o[G];R(B)&&(n[G]=B.bind(s))}if(r){const G=r.call(s,s);J(G)&&(e.data=Gs(G))}if(Rs=!0,i)for(const G in i){const B=i[G],Ye=R(B)?B.bind(s,s):R(B.get)?B.get.bind(s,s):ye,Ht=!R(B)&&R(B.set)?B.set.bind(s):ye,Ze=ct({get:Ye,set:Ht});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>Ze.value,set:Se=>Ze.value=Se})}if(l)for(const G in l)Er(l[G],n,s,G);if(f){const G=R(f)?f.call(s):f;Reflect.ownKeys(G).forEach(B=>{Vi(B,G[B])})}a&&vn(a,e,"c");function ne(G,B){F(B)?B.forEach(Ye=>G(Ye.bind(s))):B&&G(B.bind(s))}if(ne(Qi,p),ne(Sr,T),ne(Xi,C),ne(eo,M),ne(zi,D),ne(Yi,Q),ne(io,Me),ne(ro,V),ne(no,le),ne(to,U),ne(Tr,x),ne(so,Nt),F(ze))if(ze.length){const G=e.exposed||(e.exposed={});ze.forEach(B=>{Object.defineProperty(G,B,{get:()=>s[B],set:Ye=>s[B]=Ye,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===ye&&(e.render=E),mt!=null&&(e.inheritAttrs=mt),$t&&(e.components=$t),jt&&(e.directives=jt),Nt&&xr(e)}function fo(e,t,s=ye){F(e)&&(e=Ds(e));for(const n in e){const r=e[n];let i;J(r)?"default"in r?i=kt(r.from||n,r.default,!0):i=kt(r.from||n):i=kt(r),se(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function vn(e,t,s){Pe(F(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Er(e,t,s,n){let r=n.includes(".")?yr(s,n):()=>s[n];if(Z(e)){const i=t[e];R(i)&&ys(r,i)}else if(R(e))ys(r,e.bind(s));else if(J(e))if(F(e))e.forEach(i=>Er(i,t,s,n));else{const i=R(e.handler)?e.handler.bind(s):t[e.handler];R(i)&&ys(r,i,e)}}function Xs(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(d=>Xt(f,d,o,!0)),Xt(f,t,o)),J(t)&&i.set(t,f),f}function Xt(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&Xt(e,i,s,!0),r&&r.forEach(o=>Xt(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=uo[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const uo={data:bn,props:yn,emits:yn,methods:xt,computed:xt,beforeCreate:re,created:re,beforeMount:re,mounted:re,beforeUpdate:re,updated:re,beforeDestroy:re,beforeUnmount:re,destroyed:re,unmounted:re,activated:re,deactivated:re,errorCaptured:re,serverPrefetch:re,components:xt,directives:xt,watch:ho,provide:bn,inject:ao};function bn(e,t){return t?e?function(){return X(R(e)?e.call(this,this):e,R(t)?t.call(this,this):t)}:t:e}function ao(e,t){return xt(Ds(e),Ds(t))}function Ds(e){if(F(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ke(t)}Modifiers`]||e[`${Ge(t)}Modifiers`];function _o(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||K;let r=s;const i=t.startsWith("update:"),o=i&&mo(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Z(a)?a.trim():a)),o.number&&(r=s.map(Vs)));let l,f=n[l=gs(t)]||n[l=gs(ke(t))];!f&&i&&(f=n[l=gs(Ge(t))]),f&&Pe(f,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Pe(d,e,6,r)}}const vo=new WeakMap;function Ar(e,t,s=!1){const n=s?vo:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!R(e)){const f=d=>{const a=Ar(d,t,!0);a&&(l=!0,X(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(J(e)&&n.set(e,null),null):(F(i)?i.forEach(f=>o[f]=null):X(o,i),J(e)&&n.set(e,o),o)}function cs(e,t){return!e||!ts(t)?!1:(t=t.slice(2).replace(/Once$/,""),j(e,t[0].toLowerCase()+t.slice(1))||j(e,Ge(t))||j(e,t))}function ws(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:f,render:d,renderCache:a,props:p,data:T,setupState:C,ctx:M,inheritAttrs:D}=e,Q=Zt(e);let N,U;try{if(s.shapeFlag&4){const x=r||n,E=x;N=Ae(d.call(E,x,a,p,C,T,M)),U=l}else{const x=t;N=Ae(x.length>1?x(p,{attrs:l,slots:o,emit:f}):x(p,null)),U=t.props?l:bo(l)}}catch(x){At.length=0,os(x,e,1),N=we(qe)}let q=N;if(U&&D!==!1){const x=Object.keys(U),{shapeFlag:E}=q;x.length&&E&7&&(i&&x.some(Hs)&&(U=yo(U,i)),q=pt(q,U,!1,!0))}return s.dirs&&(q=pt(q,null,!1,!0),q.dirs=q.dirs?q.dirs.concat(s.dirs):s.dirs),s.transition&&Qs(q,s.transition),N=q,Zt(Q),N}const bo=e=>{let t;for(const s in e)(s==="class"||s==="style"||ts(s))&&((t||(t={}))[s]=e[s]);return t},yo=(e,t)=>{const s={};for(const n in e)(!Hs(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function xo(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,d=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?xn(n,o,d):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;pObject.create(Pr),Ir=e=>Object.getPrototypeOf(e)===Pr;function Co(e,t,s,n=!1){const r={},i=Mr();e.propsDefaults=Object.create(null),Fr(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:Ei(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function So(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=$(r),[f]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[T,C]=Rr(p,t,!0);X(o,T),C&&l.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return J(e)&&n.set(e,ft),ft;if(F(i))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",tn=e=>F(e)?e.map(Ae):[Ae(e)],Eo=(e,t,s)=>{if(t._n)return t;const n=Ui((...r)=>tn(t(...r)),s);return n._c=!1,n},Dr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(en(r))continue;const i=e[r];if(R(i))t[r]=Eo(r,i,n);else if(i!=null){const o=tn(i);t[r]=()=>o}}},Lr=(e,t)=>{const s=tn(t);e.slots.default=()=>s},Nr=(e,t,s)=>{for(const n in t)(s||!en(n))&&(e[n]=t[n])},Oo=(e,t,s)=>{const n=e.slots=Mr();if(e.vnode.shapeFlag&32){const r=t._;r?(Nr(n,t,s),s&&zn(n,"_",r,!0)):Dr(t,n)}else t&&Lr(e,t)},Ao=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=K;if(n.shapeFlag&32){const l=t._;l?s&&l===1?i=!1:Nr(r,t,s):(i=!t.$stable,Dr(t,r)),o=t}else t&&(Lr(e,t),o={default:1});if(i)for(const l in r)!en(l)&&o[l]==null&&delete r[l]},de=Ro;function Po(e){return Mo(e)}function Mo(e,t){const s=rs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:d,setElementText:a,parentNode:p,nextSibling:T,setScopeId:C=ye,insertStaticContent:M}=e,D=(c,u,h,v=null,g=null,m=null,w=void 0,y=null,b=!!u.dynamicChildren)=>{if(c===u)return;c&&!yt(c,u)&&(v=Ut(c),Se(c,g,m,!0),c=null),u.patchFlag===-2&&(b=!1,u.dynamicChildren=null);const{type:_,ref:P,shapeFlag:S}=u;switch(_){case fs:Q(c,u,h,v);break;case qe:N(c,u,h,v);break;case qt:c==null&&U(u,h,v,w);break;case ge:$t(c,u,h,v,g,m,w,y,b);break;default:S&1?E(c,u,h,v,g,m,w,y,b):S&6?jt(c,u,h,v,g,m,w,y,b):(S&64||S&128)&&_.process(c,u,h,v,g,m,w,y,b,nt)}P!=null&&g?Tt(P,c&&c.ref,m,u||c,!u):P==null&&c&&c.ref!=null&&Tt(c.ref,null,m,c,!0)},Q=(c,u,h,v)=>{if(c==null)n(u.el=l(u.children),h,v);else{const g=u.el=c.el;u.children!==c.children&&d(g,u.children)}},N=(c,u,h,v)=>{c==null?n(u.el=f(u.children||""),h,v):u.el=c.el},U=(c,u,h,v)=>{[c.el,c.anchor]=M(c.children,u,h,v,c.el,c.anchor)},q=({el:c,anchor:u},h,v)=>{let g;for(;c&&c!==u;)g=T(c),n(c,h,v),c=g;n(u,h,v)},x=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=T(c),r(c),c=h;r(u)},E=(c,u,h,v,g,m,w,y,b)=>{if(u.type==="svg"?w="svg":u.type==="math"&&(w="mathml"),c==null)V(u,h,v,g,m,w,y,b);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),Nt(c,u,g,m,w,y,b)}finally{_&&_._endPatch()}}},V=(c,u,h,v,g,m,w,y)=>{let b,_;const{props:P,shapeFlag:S,transition:A,dirs:I}=c;if(b=c.el=o(c.type,m,P&&P.is,P),S&8?a(b,c.children):S&16&&Me(c.children,b,null,v,g,Cs(c,m),w,y),I&&Qe(c,null,v,"created"),le(b,c,c.scopeId,w,v),P){for(const W in P)W!=="value"&&!wt(W)&&i(b,W,null,P[W],m,v);"value"in P&&i(b,"value",null,P.value,m),(_=P.onVnodeBeforeMount)&&Ee(_,v,c)}I&&Qe(c,null,v,"beforeMount");const L=Io(g,A);L&&A.beforeEnter(b),n(b,u,h),((_=P&&P.onVnodeMounted)||L||I)&&de(()=>{_&&Ee(_,v,c),L&&A.enter(b),I&&Qe(c,null,v,"mounted")},g)},le=(c,u,h,v,g)=>{if(h&&C(c,h),v)for(let m=0;m{for(let _=b;_{const y=u.el=c.el;let{patchFlag:b,dynamicChildren:_,dirs:P}=u;b|=c.patchFlag&16;const S=c.props||K,A=u.props||K;let I;if(h&&Xe(h,!1),(I=A.onVnodeBeforeUpdate)&&Ee(I,h,u,c),P&&Qe(u,c,h,"beforeUpdate"),h&&Xe(h,!0),(S.innerHTML&&A.innerHTML==null||S.textContent&&A.textContent==null)&&a(y,""),_?ze(c.dynamicChildren,_,y,h,v,Cs(u,g),m):w||B(c,u,y,null,h,v,Cs(u,g),m,!1),b>0){if(b&16)mt(y,S,A,h,g);else if(b&2&&S.class!==A.class&&i(y,"class",null,A.class,g),b&4&&i(y,"style",S.style,A.style,g),b&8){const L=u.dynamicProps;for(let W=0;W{I&&Ee(I,h,u,c),P&&Qe(u,c,h,"updated")},v)},ze=(c,u,h,v,g,m,w)=>{for(let y=0;y{if(u!==h){if(u!==K)for(const m in u)!wt(m)&&!(m in h)&&i(c,m,u[m],null,g,v);for(const m in h){if(wt(m))continue;const w=h[m],y=u[m];w!==y&&m!=="value"&&i(c,m,y,w,g,v)}"value"in h&&i(c,"value",u.value,h.value,g)}},$t=(c,u,h,v,g,m,w,y,b)=>{const _=u.el=c?c.el:l(""),P=u.anchor=c?c.anchor:l("");let{patchFlag:S,dynamicChildren:A,slotScopeIds:I}=u;I&&(y=y?y.concat(I):I),c==null?(n(_,h,v),n(P,h,v),Me(u.children||[],h,P,g,m,w,y,b)):S>0&&S&64&&A&&c.dynamicChildren&&c.dynamicChildren.length===A.length?(ze(c.dynamicChildren,A,h,g,m,w,y),(u.key!=null||g&&u===g.subTree)&&$r(c,u,!0)):B(c,u,h,P,g,m,w,y,b)},jt=(c,u,h,v,g,m,w,y,b)=>{u.slotScopeIds=y,c==null?u.shapeFlag&512?g.ctx.activate(u,h,v,w,b):as(u,h,v,g,m,w,b):rn(c,u,b)},as=(c,u,h,v,g,m,w)=>{const y=c.component=Ko(c,v,g);if(wr(c)&&(y.ctx.renderer=nt),Bo(y,!1,w),y.asyncDep){if(g&&g.registerDep(y,ne,w),!c.el){const b=y.subTree=we(qe);N(null,b,u,h),c.placeholder=b.el}}else ne(y,c,u,h,g,m,w)},rn=(c,u,h)=>{const v=u.component=c.component;if(xo(c,u,h))if(v.asyncDep&&!v.asyncResolved){G(v,u,h);return}else v.next=u,v.update();else u.el=c.el,v.vnode=u},ne=(c,u,h,v,g,m,w)=>{const y=()=>{if(c.isMounted){let{next:S,bu:A,u:I,parent:L,vnode:W}=c;{const ue=jr(c);if(ue){S&&(S.el=W.el,G(c,S,w)),ue.asyncDep.then(()=>{c.isUnmounted||y()});return}}let H=S,ce;Xe(c,!1),S?(S.el=W.el,G(c,S,w)):S=W,A&&Wt(A),(ce=S.props&&S.props.onVnodeBeforeUpdate)&&Ee(ce,L,S,W),Xe(c,!0);const ee=ws(c),ve=c.subTree;c.subTree=ee,D(ve,ee,p(ve.el),Ut(ve),c,g,m),S.el=ee.el,H===null&&wo(c,ee.el),I&&de(I,g),(ce=S.props&&S.props.onVnodeUpdated)&&de(()=>Ee(ce,L,S,W),g)}else{let S;const{el:A,props:I}=u,{bm:L,m:W,parent:H,root:ce,type:ee}=c,ve=Et(u);if(Xe(c,!1),L&&Wt(L),!ve&&(S=I&&I.onVnodeBeforeMount)&&Ee(S,H,u),Xe(c,!0),A&&ps){const ue=()=>{c.subTree=ws(c),ps(A,c.subTree,c,g,null)};ve&&ee.__asyncHydrate?ee.__asyncHydrate(A,c,ue):ue()}else{ce.ce&&ce.ce._def.shadowRoot!==!1&&ce.ce._injectChildStyle(ee);const ue=c.subTree=ws(c);D(null,ue,h,v,c,g,m),u.el=ue.el}if(W&&de(W,g),!ve&&(S=I&&I.onVnodeMounted)){const ue=u;de(()=>Ee(S,H,ue),g)}(u.shapeFlag&256||H&&Et(H.vnode)&&H.vnode.shapeFlag&256)&&c.a&&de(c.a,g),c.isMounted=!0,u=h=v=null}};c.scope.on();const b=c.effect=new Xn(y);c.scope.off();const _=c.update=b.run.bind(b),P=c.job=b.runIfDirty.bind(b);P.i=c,P.id=c.uid,b.scheduler=()=>Zs(P),Xe(c,!0),_()},G=(c,u,h)=>{u.component=c;const v=c.vnode.props;c.vnode=u,c.next=null,So(c,u.props,v,h),Ao(c,u.children,h),$e(),pn(c),je()},B=(c,u,h,v,g,m,w,y,b=!1)=>{const _=c&&c.children,P=c?c.shapeFlag:0,S=u.children,{patchFlag:A,shapeFlag:I}=u;if(A>0){if(A&128){Ht(_,S,h,v,g,m,w,y,b);return}else if(A&256){Ye(_,S,h,v,g,m,w,y,b);return}}I&8?(P&16&&_t(_,g,m),S!==_&&a(h,S)):P&16?I&16?Ht(_,S,h,v,g,m,w,y,b):_t(_,g,m,!0):(P&8&&a(h,""),I&16&&Me(S,h,v,g,m,w,y,b))},Ye=(c,u,h,v,g,m,w,y,b)=>{c=c||ft,u=u||ft;const _=c.length,P=u.length,S=Math.min(_,P);let A;for(A=0;AP?_t(c,g,m,!0,!1,S):Me(u,h,v,g,m,w,y,b,S)},Ht=(c,u,h,v,g,m,w,y,b)=>{let _=0;const P=u.length;let S=c.length-1,A=P-1;for(;_<=S&&_<=A;){const I=c[_],L=u[_]=b?Be(u[_]):Ae(u[_]);if(yt(I,L))D(I,L,h,null,g,m,w,y,b);else break;_++}for(;_<=S&&_<=A;){const I=c[S],L=u[A]=b?Be(u[A]):Ae(u[A]);if(yt(I,L))D(I,L,h,null,g,m,w,y,b);else break;S--,A--}if(_>S){if(_<=A){const I=A+1,L=IA)for(;_<=S;)Se(c[_],g,m,!0),_++;else{const I=_,L=_,W=new Map;for(_=L;_<=A;_++){const ae=u[_]=b?Be(u[_]):Ae(u[_]);ae.key!=null&&W.set(ae.key,_)}let H,ce=0;const ee=A-L+1;let ve=!1,ue=0;const vt=new Array(ee);for(_=0;_=ee){Se(ae,g,m,!0);continue}let Te;if(ae.key!=null)Te=W.get(ae.key);else for(H=L;H<=A;H++)if(vt[H-L]===0&&yt(ae,u[H])){Te=H;break}Te===void 0?Se(ae,g,m,!0):(vt[Te-L]=_+1,Te>=ue?ue=Te:ve=!0,D(ae,u[Te],h,null,g,m,w,y,b),ce++)}const cn=ve?Fo(vt):ft;for(H=cn.length-1,_=ee-1;_>=0;_--){const ae=L+_,Te=u[ae],fn=u[ae+1],un=ae+1{const{el:m,type:w,transition:y,children:b,shapeFlag:_}=c;if(_&6){Ze(c.component.subTree,u,h,v);return}if(_&128){c.suspense.move(u,h,v);return}if(_&64){w.move(c,u,h,nt);return}if(w===ge){n(m,u,h);for(let S=0;Sy.enter(m),g);else{const{leave:S,delayLeave:A,afterLeave:I}=y,L=()=>{c.ctx.isUnmounted?r(m):n(m,u,h)},W=()=>{m._isLeaving&&m[Gi](!0),S(m,()=>{L(),I&&I()})};A?A(m,L,W):W()}else n(m,u,h)},Se=(c,u,h,v=!1,g=!1)=>{const{type:m,props:w,ref:y,children:b,dynamicChildren:_,shapeFlag:P,patchFlag:S,dirs:A,cacheIndex:I}=c;if(S===-2&&(g=!1),y!=null&&($e(),Tt(y,null,h,c,!0),je()),I!=null&&(u.renderCache[I]=void 0),P&256){u.ctx.deactivate(c);return}const L=P&1&&A,W=!Et(c);let H;if(W&&(H=w&&w.onVnodeBeforeUnmount)&&Ee(H,u,c),P&6)zr(c.component,h,v);else{if(P&128){c.suspense.unmount(h,v);return}L&&Qe(c,null,u,"beforeUnmount"),P&64?c.type.remove(c,u,h,nt,v):_&&!_.hasOnce&&(m!==ge||S>0&&S&64)?_t(_,u,h,!1,!0):(m===ge&&S&384||!g&&P&16)&&_t(b,u,h),v&&on(c)}(W&&(H=w&&w.onVnodeUnmounted)||L)&&de(()=>{H&&Ee(H,u,c),L&&Qe(c,null,u,"unmounted")},h)},on=c=>{const{type:u,el:h,anchor:v,transition:g}=c;if(u===ge){Gr(h,v);return}if(u===qt){x(c);return}const m=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:w,delayLeave:y}=g,b=()=>w(h,m);y?y(c.el,m,b):b()}else m()},Gr=(c,u)=>{let h;for(;c!==u;)h=T(c),r(c),c=h;r(u)},zr=(c,u,h)=>{const{bum:v,scope:g,job:m,subTree:w,um:y,m:b,a:_}=c;Cn(b),Cn(_),v&&Wt(v),g.stop(),m&&(m.flags|=8,Se(w,c,u,h)),y&&de(y,u),de(()=>{c.isUnmounted=!0},u)},_t=(c,u,h,v=!1,g=!1,m=0)=>{for(let w=m;w{if(c.shapeFlag&6)return Ut(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=T(c.anchor||c.el),h=u&&u[qi];return h?T(h):u};let ds=!1;const ln=(c,u,h)=>{let v;c==null?u._vnode&&(Se(u._vnode,null,null,!0),v=u._vnode.component):D(u._vnode||null,c,u,null,null,null,h),u._vnode=c,ds||(ds=!0,pn(v),mr(),ds=!1)},nt={p:D,um:Se,m:Ze,r:on,mt:as,mc:Me,pc:B,pbc:ze,n:Ut,o:e};let hs,ps;return t&&([hs,ps]=t(nt)),{render:ln,hydrate:hs,createApp:go(ln,hs)}}function Cs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Xe({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Io(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $r(e,t,s=!1){const n=e.children,r=t.children;if(F(n)&&F(r))for(let i=0;i>1,e[s[l]]0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function jr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:jr(t)}function Cn(e){if(e)for(let t=0;te.__isSuspense;function Ro(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):Hi(e)}const ge=Symbol.for("v-fgt"),fs=Symbol.for("v-txt"),qe=Symbol.for("v-cmt"),qt=Symbol.for("v-stc"),At=[];let pe=null;function z(e=!1){At.push(pe=e?null:[])}function Do(){At.pop(),pe=At[At.length-1]||null}let Ft=1;function Sn(e,t=!1){Ft+=e,e<0&&pe&&t&&(pe.hasOnce=!0)}function Kr(e){return e.dynamicChildren=Ft>0?pe||ft:null,Do(),Ft>0&&pe&&pe.push(e),e}function Y(e,t,s,n,r,i){return Kr(O(e,t,s,n,r,i,!0))}function Vr(e,t,s,n,r){return Kr(we(e,t,s,n,r,!0))}function Br(e){return e?e.__v_isVNode===!0:!1}function yt(e,t){return e.type===t.type&&e.key===t.key}const Wr=({key:e})=>e??null,Jt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Z(e)||se(e)||R(e)?{i:me,r:e,k:t,f:!!s}:e:null);function O(e,t=null,s=null,n=0,r=null,i=e===ge?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wr(t),ref:t&&Jt(t),scopeId:vr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:me};return l?(sn(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Z(s)?8:16),Ft>0&&!o&&pe&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&pe.push(f),f}const we=Lo;function Lo(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===oo)&&(e=qe),Br(e)){const l=pt(e,t,!0);return s&&sn(l,s),Ft>0&&!i&&pe&&(l.shapeFlag&6?pe[pe.indexOf(e)]=l:pe.push(l)),l.patchFlag=-2,l}if(Jo(e)&&(e=e.__vccOpts),t){t=No(t);let{class:l,style:f}=t;l&&!Z(l)&&(t.class=gt(l)),J(f)&&(Ys(f)&&!F(f)&&(f=X({},f)),t.style=Re(f))}const o=Z(e)?1:Ur(e)?128:Ji(e)?64:J(e)?4:R(e)?2:0;return O(e,t,s,n,r,o,i,!0)}function No(e){return e?Ys(e)||Ir(e)?X({},e):e:null}function pt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:f}=e,d=t?jo(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Wr(d),ref:t&&t.ref?s&&i?F(i)?i.concat(Jt(t)):[i,Jt(t)]:Jt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&Qs(a,f.clone(a)),a}function ot(e=" ",t=0){return we(fs,null,e,t)}function $o(e,t){const s=we(qt,null,e);return s.staticCount=t,s}function be(e="",t=!1){return t?(z(),Vr(qe,null,e)):we(qe,null,e)}function Ae(e){return e==null||typeof e=="boolean"?we(qe):F(e)?we(ge,null,e.slice()):Br(e)?Be(e):we(fs,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:pt(e)}function sn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(F(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),sn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Ir(t)?t._ctx=me:r===3&&me&&(me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else R(t)?(t={default:t,_ctx:me},s=32):(t=String(t),n&64?(s=16,t=[ot(t)]):s=8);e.children=t,e.shapeFlag|=s}function jo(...e){const t={};for(let s=0;soe||me;let es,Ns;{const e=rs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};es=t("__VUE_INSTANCE_SETTERS__",s=>oe=s),Ns=t("__VUE_SSR_SETTERS__",s=>Rt=s)}const Lt=e=>{const t=oe;return es(e),e.scope.on(),()=>{e.scope.off(),es(t)}},Tn=()=>{oe&&oe.scope.off(),es(null)};function kr(e){return e.vnode.shapeFlag&4}let Rt=!1;function Bo(e,t=!1,s=!1){t&&Ns(t);const{props:n,children:r}=e.vnode,i=kr(e);Co(e,n,i,t),Oo(e,r,s||t);const o=i?Wo(e,t):void 0;return t&&Ns(!1),o}function Wo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,lo);const{setup:n}=s;if(n){$e();const r=e.setupContext=n.length>1?qo(e):null,i=Lt(e),o=Dt(n,e,0,[e.props,r]),l=kn(o);if(je(),i(),(l||e.sp)&&!Et(e)&&xr(e),l){if(o.then(Tn,Tn),t)return o.then(f=>{En(e,f,t)}).catch(f=>{os(f,e,0)});e.asyncDep=o}else En(e,o,t)}else qr(e,t)}function En(e,t,s){R(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(e.setupState=hr(t)),qr(e,s)}let On;function qr(e,t,s){const n=e.type;if(!e.render){if(!t&&On&&!n.render){const r=n.template||Xs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=n,d=X(X({isCustomElement:i,delimiters:l},o),f);n.render=On(r,d)}}e.render=n.render||ye}{const r=Lt(e);$e();try{co(e)}finally{je(),r()}}}const ko={get(e,t){return te(e,"get",""),e[t]}};function qo(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,ko),slots:e.slots,emit:e.emit,expose:t}}function us(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hr(Oi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ot)return Ot[s](e)},has(t,s){return s in t||s in Ot}})):e.proxy}function Jo(e){return R(e)&&"__vccOpts"in e}const ct=(e,t)=>Ri(e,t,Rt),Go="3.5.26";/** +* @vue/runtime-dom v3.5.26 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let $s;const An=typeof window<"u"&&window.trustedTypes;if(An)try{$s=An.createPolicy("vue",{createHTML:e=>e})}catch{}const Jr=$s?e=>$s.createHTML(e):e=>e,zo="http://www.w3.org/2000/svg",Yo="http://www.w3.org/1998/Math/MathML",Fe=typeof document<"u"?document:null,Pn=Fe&&Fe.createElement("template"),Zo={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Fe.createElementNS(zo,e):t==="mathml"?Fe.createElementNS(Yo,e):s?Fe.createElement(e,{is:s}):Fe.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Fe.createTextNode(e),createComment:e=>Fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{Pn.innerHTML=Jr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Pn.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Qo=Symbol("_vtc");function Xo(e,t,s){const n=e[Qo];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Mn=Symbol("_vod"),el=Symbol("_vsh"),tl=Symbol(""),sl=/(?:^|;)\s*display\s*:/;function nl(e,t,s){const n=e.style,r=Z(s);let i=!1;if(s&&!r){if(t)if(Z(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Gt(n,l,"")}else for(const o in t)s[o]==null&&Gt(n,o,"");for(const o in s)o==="display"&&(i=!0),Gt(n,o,s[o])}else if(r){if(t!==s){const o=n[tl];o&&(s+=";"+o),n.cssText=s,i=sl.test(s)}}else t&&e.removeAttribute("style");Mn in e&&(e[Mn]=i?n.display:"",e[el]&&(n.display="none"))}const In=/\s*!important$/;function Gt(e,t,s){if(F(s))s.forEach(n=>Gt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=rl(e,t);In.test(s)?e.setProperty(Ge(n),s.replace(In,""),"important"):e[n]=s}}const Fn=["Webkit","Moz","ms"],Ss={};function rl(e,t){const s=Ss[t];if(s)return s;let n=ke(t);if(n!=="filter"&&n in e)return Ss[t]=n;n=Gn(n);for(let r=0;rTs||(cl.then(()=>Ts=0),Ts=Date.now());function ul(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Pe(al(n,s.value),t,5,[n])};return s.value=e,s.attached=fl(),s}function al(e,t){if(F(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,dl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?Xo(e,n,o):t==="style"?nl(e,s,n):ts(t)?Hs(t)||ol(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):hl(e,t,n,o))?(Ln(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Dn(e,t,n,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Z(n))?Ln(e,ke(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Dn(e,t,n,o))};function hl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&jn(t)&&R(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return jn(t)&&Z(s)?!1:t in e}const Hn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return F(t)?s=>Wt(t,s):t};function pl(e){e.target.composing=!0}function Un(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Es=Symbol("_assign");function Kn(e,t,s){return t&&(e=e.trim()),s&&(e=Vs(e)),e}const gl={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[Es]=Hn(r);const i=n||r.props&&r.props.type==="number";lt(e,t?"change":"input",o=>{o.target.composing||e[Es](Kn(e.value,s,i))}),(s||i)&<(e,"change",()=>{e.value=Kn(e.value,s,i)}),t||(lt(e,"compositionstart",pl),lt(e,"compositionend",Un),lt(e,"change",Un))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},o){if(e[Es]=Hn(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Vs(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===f)||(e.value=f))}},ml={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},_l=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=r=>{if(!("key"in r))return;const i=Ge(r.key);if(t.some(o=>o===i||ml[o]===i))return e(r)})},vl=X({patchProp:dl},Zo);let Vn;function bl(){return Vn||(Vn=Po(vl))}const yl=(...e)=>{const t=bl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=wl(n);if(!r)return;const i=t._component;!R(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,xl(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function xl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function wl(e){return Z(e)?document.querySelector(e):e}const nn=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},Cl={class:"card-content"},Sl={class:"card-header"},Tl={class:"card-title"},El={class:"card-body"},Ol={class:"card-description"},Al={class:"card-url"},Pl={class:"card-footer"},Ml={key:0,class:"hover-actions"},Il={__name:"SmartCard",props:{card:{type:Object,required:!0},index:{type:Number,required:!0},categoryColor:{type:String,default:"#667eea"}},emits:["click"],setup(e,{emit:t}){const s=e,n=t,r=Ne(!1),i=Ne(!1);Ne(0);const o=ct(()=>{const C=r.value?100+s.index:10+s.index;let M="translateZ(0)";return r.value&&(M+=" scale(1.03) translateY(-4px)"),i.value&&(M+=" scale(0.98)"),{transform:M,zIndex:C,"--category-color":s.categoryColor}}),l=C=>{try{return new URL(C).hostname.replace("www.","")}catch{return C}},f=C=>{r.value=!0,C.stopPropagation()},d=C=>{r.value=!1,i.value=!1,C.stopPropagation()},a=C=>{i.value=!0,C.stopPropagation()},p=C=>{i.value=!1,C.stopPropagation()},T=C=>{i.value||(i.value=!0,setTimeout(()=>{i.value=!1,n("click")},100))};return(C,M)=>(z(),Y("div",{class:gt(["smart-card",{"is-hovered":r.value,"is-pressed":i.value}]),style:Re(o.value),onClick:T,onMouseenter:f,onMouseleave:d,onMousedown:a,onMouseup:p},[O("div",{class:"card-decoration",style:Re({background:e.categoryColor})},null,4),O("div",Cl,[O("div",Sl,[O("div",{class:"category-badge",style:Re({background:e.categoryColor})},he(e.card.catelog),5),O("h3",Tl,he(e.card.name),1)]),O("div",El,[O("p",Ol,he(e.card.desc),1),O("div",Al,he(l(e.card.url)),1)]),O("div",Pl,[M[1]||(M[1]=O("div",{class:"interaction-hint"},[O("span",{class:"hint-icon"},"🔗"),O("span",{class:"hint-text"},"点击访问")],-1)),r.value?(z(),Y("div",Ml,[...M[0]||(M[0]=[O("button",{class:"action-icon",title:"新标签打开"},[O("span",null,"↗")],-1)])])):be("",!0)])]),r.value?(z(),Y("div",{key:0,class:"hover-glow",style:Re({background:e.categoryColor})},null,4)):be("",!0),i.value?(z(),Y("div",{key:1,class:"ripple-effect",style:Re({background:e.categoryColor})},null,4)):be("",!0)],38))}},Fl=nn(Il,[["__scopeId","data-v-50cc595c"]]);const Rl={class:"search-container"},Dl={key:0,class:"search-hint"},Ll={__name:"SearchBox",props:{filteredCount:{type:Number,default:0}},emits:["search","clear"],setup(e,{expose:t,emit:s}){const n=Ne(""),r=Ne(!1),i=s,o=()=>{i("search",n.value)},l=()=>{n.value="",i("clear")};return t({clearSearch:l}),(f,d)=>(z(),Y("div",Rl,[O("div",{class:gt(["search-box",{"is-focused":r.value}])},[d[4]||(d[4]=O("div",{class:"search-icon"},[O("span",null,"🔍")],-1)),Ki(O("input",{"onUpdate:modelValue":d[0]||(d[0]=a=>n.value=a),type:"text",placeholder:"搜索网站名称、描述、分类或URL...",onInput:o,onKeydown:_l(l,["esc"]),onFocus:d[1]||(d[1]=a=>r.value=!0),onBlur:d[2]||(d[2]=a=>r.value=!1)},null,544),[[gl,n.value]]),n.value?(z(),Y("button",{key:0,class:"clear-btn",onClick:l,title:"清空搜索"},[...d[3]||(d[3]=[O("span",null,"✕",-1)])])):be("",!0),d[5]||(d[5]=O("div",{class:"search-decoration"},null,-1))],2),n.value?be("",!0):(z(),Y("div",Dl,[...d[6]||(d[6]=[O("span",{class:"hint-icon"},"💡",-1),O("span",{class:"hint-text"},'试试搜索 "前端开发" 或 "工具"',-1)])]))]))}},Nl=nn(Ll,[["__scopeId","data-v-c0a570bf"]]);const $l={class:"app-container"},jl={class:"main-content"},Hl={class:"controls-section"},Ul={key:1,class:"tags-cloud"},Kl={class:"tags-wrapper"},Vl=["onClick"],Bl={class:"tag-icon"},Wl={class:"tag-count"},kl={key:2,class:"result-stats"},ql={class:"stats-badge"},Jl={class:"content-section"},Gl={key:0,class:"loading-state"},zl={key:1,class:"cards-grid"},Yl={key:2,class:"empty-state"},Zl={class:"app-footer"},Ql={class:"footer-content"},Xl={class:"stats-overview"},ec={class:"stat-item"},tc={class:"stat-value"},sc={class:"stat-item"},nc={class:"stat-value"},rc={key:0,class:"stat-item"},ic={class:"stat-value"},oc={key:1,class:"stat-item"},lc={class:"stat-value"},cc={class:"quick-actions"},fc={__name:"App",setup(e){const t=Ne([]),s=Ne(!0),n=Ne(""),r=Ne(""),i=ct(()=>{if(!n.value.trim())return[];const x=n.value.toLowerCase();return t.value.filter(E=>E.name.toLowerCase().includes(x)||E.desc.toLowerCase().includes(x)||E.catelog.toLowerCase().includes(x)||E.url.toLowerCase().includes(x))}),o=ct(()=>r.value?t.value.filter(x=>x.catelog===r.value):[]),l=ct(()=>t.value.length===0?[]:[...new Set(t.value.map(E=>E.catelog))].sort((E,V)=>d(V)-d(E))),f=ct(()=>{if(t.value.length===0)return[];let x=[];return n.value.trim()&&i.value.length>0?x=i.value:r.value&&o.value.length>0?x=o.value:x=[...t.value].sort(()=>Math.random()-.5).slice(0,12),x.map((E,V)=>({...E,index:V}))}),d=x=>t.value.filter(E=>E.catelog===x).length,a=x=>({影视娱乐:"🎬",个人工具站:"🛠️",编程学习:"📚",前端开发:"💻",开发平台:"🌐",开发工具:"🔧",实用工具:"⚙️",设计资源:"🎨"})[x]||"📦",p=x=>({影视娱乐:"#FF6B6B",个人工具站:"#4ECDC4",编程学习:"#45B7D1",前端开发:"#96CEB4",开发平台:"#FFEAA7",开发工具:"#DDA0DD",实用工具:"#98D8C8",设计资源:"#F7DC6F"})[x]||"#95A5A6",T=x=>{n.value=x,r.value=""},C=()=>{n.value=""},M=x=>{r.value=r.value===x?"":x,n.value=""},D=()=>{n.value="",r.value=""},Q=()=>{t.value.length>0&&(t.value=[...t.value].sort(()=>Math.random()-.5))},N=x=>{window.open(x,"_blank")},U=async()=>{try{const x=await fetch("/link.json");if(x.ok){const E=await x.json();t.value=E}else q()}catch{q()}finally{s.value=!1}},q=()=>{t.value=[{name:"爱壹帆影视网",url:"https://www.iyf.lv",catelog:"影视娱乐",desc:"提供影视资源在线观看与下载的影视平台"},{name:"Kimivod影视资源站",url:"https://kimivod.com/",catelog:"影视娱乐",desc:"聚合各类影视内容的在线播放网站"},{name:"Umami个人数据统计平台",url:"https://umami.lideshan.top/",catelog:"个人工具站",desc:"基于Umami搭建的轻量级网站访问数据统计分析工具"},{name:"Docker自建加速站",url:"https://docker.020417.xyz",catelog:"个人工具站",desc:"个人搭建的Docker镜像加速服务平台"},{name:"在线图片格式转换工具",url:"https://pic.020417.xyz/",catelog:"个人工具站",desc:"支持多种图片格式在线转换的便捷工具"},{name:"开发者备忘录工具",url:"https://dev.020417.xyz/",catelog:"个人工具站",desc:"面向开发者的在线备忘录与知识整理工具"},{name:"菜鸟教程网",url:"https://www.runoob.com/",catelog:"编程学习",desc:"提供多编程语言基础教程的入门学习平台"},{name:"Vue官方文档",url:"https://cn.vuejs.org/",catelog:"前端开发",desc:"渐进式JavaScript框架,适用于构建高效Web应用"},{name:"MDN Web开发文档",url:"https://developer.mozilla.org/zh-CN/docs/Learn",catelog:"前端开发",desc:"提供Web技术学习资源的权威开发者文档平台"},{name:"GitHub代码托管平台",url:"https://github.com/",catelog:"开发平台",desc:"全球最大的开源代码托管与协作开发平台"},{name:"Vercel部署平台",url:"https://vercel.com/",catelog:"前端开发",desc:"专注于Web应用快速构建与部署的平台"},{name:"Element Plus组件库",url:"https://element-plus.org/zh-CN/",catelog:"前端开发",desc:"基于Vue3的企业级UI组件库"},{name:"JSON.cn解析工具",url:"https://www.json.cn/",catelog:"开发工具",desc:"轻量级JSON数据解析、格式化与验证工具"},{name:"ProcessOn在线协作工具",url:"https://www.processon.com/diagrams",catelog:"实用工具",desc:"支持流程图、思维导图的在线协作绘图工具"},{name:"iLovePDF PDF处理工具",url:"https://www.ilovepdf.com/zh-cn/word_to_pdf",catelog:"实用工具",desc:"支持PDF合并、拆分、转换的在线工具"},{name:"Carbon代码转图片工具",url:"https://carbon.now.sh/",catelog:"开发工具",desc:"将代码片段转换为精美图片的在线工具"},{name:"程序员盒子工具平台",url:"https://www.coderutil.com/",catelog:"开发工具",desc:"聚合多种程序员常用工具与技术博文的资源平台"},{name:"优设设计导航网",url:"https://hao.uisdc.com/",catelog:"设计资源",desc:"为设计师精选优质设计网站与资源的导航平台"}]};return Sr(()=>{U()}),(x,E)=>(z(),Y("div",$l,[E[14]||(E[14]=O("div",{class:"glass-bg"},null,-1)),O("div",jl,[E[13]||(E[13]=$o('
🧭

智能导航中心

探索、发现、连接 - 您的个性化导航助手

',1)),O("div",Hl,[s.value?be("",!0):(z(),Vr(Nl,{key:0,onSearch:T,onClear:C,filteredCount:i.value.length},null,8,["filteredCount"])),!s.value&&!n.value?(z(),Y("div",Ul,[O("div",Kl,[(z(!0),Y(ge,null,mn(l.value,V=>(z(),Y("button",{key:V,class:gt(["tag-item",{active:r.value===V,popular:d(V)>5,trending:Math.random()>.7}]),onClick:le=>M(V)},[O("span",Bl,he(a(V)),1),ot(" "+he(V)+" ",1),O("span",Wl,he(d(V)),1)],10,Vl))),128))])])):be("",!0),n.value&&i.value.length>0?(z(),Y("div",kl,[O("div",ql,[E[0]||(E[0]=O("span",{class:"stats-icon"},"🎯",-1)),E[1]||(E[1]=ot(" 找到 ",-1)),O("strong",null,he(i.value.length),1),E[2]||(E[2]=ot(" 个精准结果 ",-1))])])):be("",!0)]),O("div",Jl,[s.value?(z(),Y("div",Gl,[...E[3]||(E[3]=[O("div",{class:"spinner"},null,-1),O("p",null,"正在加载导航数据...",-1)])])):(z(),Y("div",zl,[(z(!0),Y(ge,null,mn(f.value,(V,le)=>(z(),Y("div",{key:V.url+V.index,class:"card-wrapper",style:Re({animationDelay:`${le*.05}s`})},[we(Fl,{card:V,index:le,"category-color":p(V.catelog),onClick:Me=>N(V.url)},null,8,["card","index","category-color","onClick"])],4))),128))])),!s.value&&f.value.length===0?(z(),Y("div",Yl,[E[4]||(E[4]=O("div",{class:"empty-icon"},"🔍",-1)),E[5]||(E[5]=O("h3",null,"未找到匹配的内容",-1)),E[6]||(E[6]=O("p",null,"尝试其他关键词或浏览全部分类",-1)),O("button",{class:"reset-btn",onClick:D},"重置筛选")])):be("",!0)]),O("footer",Zl,[O("div",Ql,[O("div",Xl,[O("div",ec,[E[7]||(E[7]=O("span",{class:"stat-label"},"总链接",-1)),O("span",tc,he(t.value.length),1)]),O("div",sc,[E[8]||(E[8]=O("span",{class:"stat-label"},"当前显示",-1)),O("span",nc,he(f.value.length),1)]),n.value?(z(),Y("div",rc,[E[9]||(E[9]=O("span",{class:"stat-label"},"搜索结果",-1)),O("span",ic,he(i.value.length),1)])):r.value?(z(),Y("div",oc,[E[10]||(E[10]=O("span",{class:"stat-label"},"分类",-1)),O("span",lc,he(o.value.length),1)])):be("",!0)]),O("div",cc,[n.value||r.value?(z(),Y("button",{key:0,class:"action-btn secondary",onClick:D},[...E[11]||(E[11]=[O("span",null,"✨",-1),ot(" 重置 ",-1)])])):be("",!0),O("button",{class:"action-btn primary",onClick:Q},[...E[12]||(E[12]=[O("span",null,"🎲",-1),ot(" 随机 ",-1)])])])])])])]))}},uc=nn(fc,[["__scopeId","data-v-af3d73a9"]]);yl(uc).mount("#app"); diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..e95a20e --- /dev/null +++ b/dist/index.html @@ -0,0 +1,14 @@ + + + + + + 导航卡片 - 随机移动网站导航 + + + + +
+ + + diff --git a/dist/link.json b/dist/link.json new file mode 100644 index 0000000..c0c1495 --- /dev/null +++ b/dist/link.json @@ -0,0 +1,2936 @@ +[ + { + "name": "爱壹帆影视网", + "url": "https://www.iyf.lv", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看与下载的影视平台" + }, + { + "name": "Kimivod影视资源站", + "url": "https://kimivod.com/", + "catelog": "影视娱乐", + "desc": "聚合各类影视内容的在线播放网站" + }, + { + "name": "BT影视资源网", + "url": "https://www.bttwo.me", + "catelog": "影视娱乐", + "desc": "以BT种子资源为主的影视下载与分享平台" + }, + { + "name": "胖虎影视网", + "url": "https://panghuys.com/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源在线观看的影视平台" + }, + { + "name": "华为吧影视网", + "url": "https://huaweiba.live", + "catelog": "影视娱乐", + "desc": "专注于影视资源聚合与播放的免费影视网站" + }, + { + "name": "七味道影视网", + "url": "https://www.qwavi.com/", + "catelog": "影视娱乐", + "desc": "提供多元化影视内容的在线观看平台" + }, + { + "name": "CMS暴风影视", + "url": "https://publish.bfzy.tv/", + "catelog": "影视娱乐", + "desc": "基于CMS系统搭建的影视资源分享平台" + }, + { + "name": "CMS非凡影视", + "url": "http://ffzy5.tv/", + "catelog": "影视娱乐", + "desc": "通过CMS系统提供影视资源在线播放的平台" + }, + { + "name": "CMS量子影视", + "url": "http://lzizy.net", + "catelog": "影视娱乐", + "desc": "依托CMS框架构建的影视资源聚合网站" + }, + { + "name": "CMS Good影视", + "url": "https://1080zyk6.com", + "catelog": "影视娱乐", + "desc": "专注于1080P高清影视资源的CMS影视平台" + }, + { + "name": "CMS牛牛影视", + "url": "https://niuniuzy.cc", + "catelog": "影视娱乐", + "desc": "以CMS为基础的影视资源在线播放网站" + }, + { + "name": "CMS OK影视", + "url": "https://okzyw.vip", + "catelog": "影视娱乐", + "desc": "基于CMS系统的影视资源分享与观看平台" + }, + { + "name": "CMS Zy5影视", + "url": "https://360zy5.com", + "catelog": "影视娱乐", + "desc": "通过CMS框架提供影视资源的在线平台" + }, + { + "name": "4KHDR超高清影视网", + "url": "https://www.4khdr.cn/", + "catelog": "影视娱乐", + "desc": "专注于4K HDR超高清画质的影视资源平台" + }, + { + "name": "Umami个人数据统计平台", + "url": "https://umami.lideshan.top/", + "catelog": "个人工具站", + "desc": "基于Umami搭建的轻量级网站访问数据统计分析工具" + }, + { + "name": "Docker自建加速站", + "url": "https://docker.020417.xyz", + "catelog": "个人工具站", + "desc": "个人搭建的Docker镜像加速服务平台" + }, + { + "name": "DockerHub加速工具", + "url": "https://github.com/dongyubin/DockerHub", + "catelog": "开发工具", + "desc": "用于加速DockerHub镜像拉取的开源工具项目" + }, + { + "name": "在线图片格式转换工具", + "url": "https://pic.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持多种图片格式在线转换的便捷工具" + }, + { + "name": "CTF在线工具平台", + "url": "https://ctf.020417.xyz/", + "catelog": "个人工具站", + "desc": "为CTF竞赛提供辅助工具的在线平台" + }, + { + "name": "多引擎搜索工具站", + "url": "https://search.020417.xyz/", + "catelog": "个人工具站", + "desc": "整合多平台搜索资源的一站式搜索工具" + }, + { + "name": "开发者备忘录工具", + "url": "https://dev.020417.xyz/", + "catelog": "个人工具站", + "desc": "面向开发者的在线备忘录与知识整理工具" + }, + { + "name": "Linux命令查询工具", + "url": "https://linux.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供Linux命令速查、用法解析的在线工具" + }, + { + "name": "Proxy代理外网访问工具", + "url": "https://proxy.020417.xyz/", + "catelog": "个人工具站", + "desc": "用于代理访问外网资源的个人工具平台" + }, + { + "name": "Hot热门榜单聚合站", + "url": "https://hot.020417.xyz/", + "catelog": "个人工具站", + "desc": "聚合各类热门资讯、榜单的信息展示平台" + }, + { + "name": "微信聊天记录生成器", + "url": "https://wx.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持模拟生成微信聊天记录的趣味工具" + }, + { + "name": "爱锭网爬虫练习平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "爬虫学习", + "desc": "猿人学旗下的爬虫技术实战练习平台" + }, + { + "name": "猿人学刷题平台", + "url": "https://match.yuanrenxue.cn/", + "catelog": "爬虫学习", + "desc": "专注于爬虫与逆向技术的在线刷题竞赛平台" + }, + { + "name": "AST代码解析工具", + "url": "https://astexplorer.net/", + "catelog": "开发工具", + "desc": "支持将JavaScript代码转换为AST抽象语法树的在线工具" + }, + { + "name": "程序员盒子工具平台", + "url": "https://www.coderutil.com/", + "catelog": "开发工具", + "desc": "聚合多种程序员常用工具与技术博文的资源平台" + }, + { + "name": "优设设计导航网", + "url": "https://hao.uisdc.com/", + "catelog": "设计资源", + "desc": "为设计师精选优质设计网站与资源的导航平台" + }, + { + "name": "奇迹秀设计资源网", + "url": "https://www.qijishow.com/", + "catelog": "设计资源", + "desc": "提供设计干货、灵感素材与工具的设计师资源平台" + }, + { + "name": "HiPPTer PPT设计平台", + "url": "https://www.hippter.com/", + "catelog": "设计资源", + "desc": "专注于PPT设计灵感、模板与技巧分享的平台" + }, + { + "name": "Seeseed设计灵感网", + "url": "https://www.seeseed.com/", + "catelog": "设计资源", + "desc": "为设计师提供创意灵感与设计资源的平台" + }, + { + "name": "菜鸟教程网", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供多编程语言基础教程的入门学习平台" + }, + { + "name": "CSDN技术社区", + "url": "https://www.csdn.net/", + "catelog": "编程学习", + "desc": "全球知名的中文IT技术交流与学习社区" + }, + { + "name": "掘金技术社区", + "url": "https://juejin.cn/", + "catelog": "编程学习", + "desc": "面向开发者的技术内容分享与成长社区" + }, + { + "name": "博客园开发者社区", + "url": "https://www.cnblogs.com/", + "catelog": "编程学习", + "desc": "专注于开发者知识分享的博客平台" + }, + { + "name": "React官方文档", + "url": "https://react.dev/", + "catelog": "前端开发", + "desc": "用于构建Web和原生用户界面的JavaScript库官方文档" + }, + { + "name": "Vue官方文档", + "url": "https://cn.vuejs.org/", + "catelog": "前端开发", + "desc": "渐进式JavaScript框架,适用于构建高效Web应用" + }, + { + "name": "MDN Web开发文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn", + "catelog": "前端开发", + "desc": "提供Web技术学习资源的权威开发者文档平台" + }, + { + "name": "吾爱破解论坛", + "url": "https://www.52pojie.cn/", + "catelog": "逆向工程", + "desc": "专注于软件安全与逆向工程技术的交流论坛" + }, + { + "name": "大眼仔旭资源站", + "url": "https://www.dayanzai.me/", + "catelog": "资源分享", + "desc": "分享软件、教程与办公资源的个人非盈利平台" + }, + { + "name": "爬虫工具箱平台", + "url": "https://spidertools.cn/#/", + "catelog": "爬虫工具", + "desc": "Feapder作者出品的一站式爬虫辅助工具集" + }, + { + "name": "K哥爬虫工具库", + "url": "https://www.kgtools.cn/", + "catelog": "爬虫工具", + "desc": "提供爬虫开发常用工具与资源的平台" + }, + { + "name": "Curl命令转换工具", + "url": "https://curlconverter.com/", + "catelog": "爬虫工具", + "desc": "将Curl命令转换为多语言代码的在线工具" + }, + { + "name": "在线加解密工具", + "url": "http://tool.chacuo.net/cryptdes", + "catelog": "爬虫工具", + "desc": "支持DES、AES、RSA等多种加密算法的在线工具" + }, + { + "name": "Carbon代码转图片工具", + "url": "https://carbon.now.sh/", + "catelog": "爬虫工具", + "desc": "将代码片段转换为精美图片的在线工具" + }, + { + "name": "Cookie搜索工具", + "url": "https://tools.digitalpoint.com/cookie-search", + "catelog": "爬虫工具", + "desc": "查询Cookie在各网站使用情况的在线工具" + }, + { + "name": "Charles抓包工具官网", + "url": "https://www.charlesproxy.com/", + "catelog": "爬虫工具", + "desc": "常用的HTTP/HTTPS网络抓包与调试工具" + }, + { + "name": "编程导航网", + "url": "https://www.code-nav.cn/", + "catelog": "网站导航", + "desc": "一站式编程资源搜索与开发者主页定制平台" + }, + { + "name": "维格表协作平台", + "url": "https://spcqwserdvymm.com.vika.cn/share/shryNwH3HRgvzMTaZVAGx/fodkuzz5eaw0w", + "catelog": "网站导航", + "desc": "团队数据协作与项目管理的在线工具" + }, + { + "name": "LKs推荐网站导航", + "url": "https://xiangjianan.gitee.io/lks/", + "catelog": "网站导航", + "desc": "B站博主LKs推荐的优质网站导航平台" + }, + { + "name": "iTab个性化新标签页", + "url": "https://www.itab.link/", + "catelog": "网站导航", + "desc": "支持个性化定制的卡片式浏览器新标签页工具" + }, + { + "name": "GitHub代码托管平台", + "url": "https://github.com/", + "catelog": "开发平台", + "desc": "全球最大的开源代码托管与协作开发平台" + }, + { + "name": "Gitee码云平台", + "url": "https://gitee.com/", + "catelog": "开发平台", + "desc": "基于Git的国产代码托管与协作开发平台" + }, + { + "name": "黑马程序员学习平台", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供IT技术培训课程与学习资源的平台" + }, + { + "name": "KuangStudy学习平台", + "url": "https://www.kuangstudy.com/", + "catelog": "编程学习", + "desc": "提供体系课程、博客专栏与技术论坛的学习平台" + }, + { + "name": "微信公众号平台", + "url": "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=2025719581", + "catelog": "开发平台", + "desc": "微信公众号的内容创作与管理后台" + }, + { + "name": "腾讯云平台", + "url": "https://cloud.tencent.com/", + "catelog": "云计算", + "desc": "提供云计算、云服务器等服务的科技平台" + }, + { + "name": "阿里云盘", + "url": "https://www.aliyundrive.com/drive/", + "catelog": "云计算", + "desc": "速度快、安全稳定的在线云存储服务" + }, + { + "name": "阿里云平台", + "url": "https://www.aliyun.com/", + "catelog": "云计算", + "desc": "提供全方位云计算服务与解决方案的平台" + }, + { + "name": "MyBatis官方文档", + "url": "https://mybatis.net.cn/getting-started.html", + "catelog": "开发文档", + "desc": "优秀的Java持久层框架官方学习文档" + }, + { + "name": "Maven仓库官网", + "url": "https://mvnrepository.com/", + "catelog": "开发工具", + "desc": "Java平台的项目构建与依赖管理仓库" + }, + { + "name": "互联网+大赛官网", + "url": "https://cy.ncss.cn/", + "catelog": "竞赛平台", + "desc": "推动互联网创新发展的全国性赛事平台" + }, + { + "name": "蓝桥杯大赛官网", + "url": "http://lx.lanqiao.cn/", + "catelog": "竞赛平台", + "desc": "全国软件和信息技术专业人才大赛官方平台" + }, + { + "name": "泰迪杯竞赛平台", + "url": "https://www.tipdm.org/", + "catelog": "竞赛平台", + "desc": "专注于数据挖掘的群众性科技竞赛平台" + }, + { + "name": "LeetCode刷题平台", + "url": "https://leetcode-cn.com/", + "catelog": "刷题平台", + "desc": "提升编程技能的算法刷题与面试准备平台" + }, + { + "name": "牛客网", + "url": "https://www.nowcoder.com/", + "catelog": "刷题平台", + "desc": "集笔面试、题库、招聘于一体的求职学习平台" + }, + { + "name": "PTA程序设计平台", + "url": "https://pintia.cn/home", + "catelog": "刷题平台", + "desc": "程序设计类实验辅助教学与刷题平台" + }, + { + "name": "AcWing刷题平台", + "url": "https://www.acwing.com/", + "catelog": "刷题平台", + "desc": "提供优质题解的程序员刷题与学习平台" + }, + { + "name": "Vercel部署平台", + "url": "https://vercel.com/", + "catelog": "前端开发", + "desc": "专注于Web应用快速构建与部署的平台" + }, + { + "name": "Netlify部署平台", + "url": "https://www.netlify.com/", + "catelog": "前端开发", + "desc": "提供Web应用托管与自动化部署的平台" + }, + { + "name": "Vue Router官方文档", + "url": "https://router.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "Vue.js官方路由管理工具文档" + }, + { + "name": "Pinia状态管理库", + "url": "https://pinia.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "适用于Vue.js的轻量级状态管理库" + }, + { + "name": "Element Plus组件库", + "url": "https://element-plus.org/zh-CN/", + "catelog": "前端开发", + "desc": "基于Vue3的企业级UI组件库" + }, + { + "name": "Node.js官方网站", + "url": "https://nodejs.cn/", + "catelog": "前端开发", + "desc": "跨平台的JavaScript运行时环境" + }, + { + "name": "Bun运行时工具", + "url": "https://bun.sh/", + "catelog": "前端开发", + "desc": "高性能的一体化JavaScript运行时与工具包" + }, + { + "name": "Nuxt框架官网", + "url": "https://nuxt.com/", + "catelog": "前端开发", + "desc": "基于Vue的高性能全栈Web应用框架" + }, + { + "name": "Supabase开源平台", + "url": "https://supabase.com/", + "catelog": "前端开发", + "desc": "开源的Firebase替代品,提供数据库与认证服务" + }, + { + "name": "Electron框架官网", + "url": "https://www.electronjs.org/zh/", + "catelog": "前端开发", + "desc": "使用JS、HTML、CSS构建跨平台桌面应用的框架" + }, + { + "name": "Webpack打包工具", + "url": "https://www.webpackjs.com/", + "catelog": "前端开发", + "desc": "现代JavaScript应用的静态模块打包工具" + }, + { + "name": "Chart.js图表库", + "url": "https://www.chartjs.org/", + "catelog": "前端开发", + "desc": "简单灵活的JavaScript数据可视化图表库" + }, + { + "name": "ECharts可视化库", + "url": "https://echarts.apache.org/zh/index.html", + "catelog": "前端开发", + "desc": "基于JavaScript的开源可视化图表库" + }, + { + "name": "Ant Design组件库", + "url": "https://ant.design/index-cn", + "catelog": "前端开发", + "desc": "基于React的企业级UI设计组件库" + }, + { + "name": "Boxy SVG编辑器", + "url": "https://boxy-svg.com", + "catelog": "设计工具", + "desc": "专业的SVG矢量图形在线编辑器" + }, + { + "name": "SVGRepo图标库", + "url": "https://www.svgrepo.com/", + "catelog": "设计资源", + "desc": "提供免费SVG矢量图标下载的资源平台" + }, + { + "name": "Anime.js动画库", + "url": "https://github.com/juliangarnier/anime/", + "catelog": "前端开发", + "desc": "轻量级的JavaScript动画库,支持CSS与SVG动画" + }, + { + "name": "AnimXYZ动画工具包", + "url": "https://github.com/ingram-projects/animxyz", + "catelog": "前端开发", + "desc": "可组合的CSS动画工具包" + }, + { + "name": "HelloGitHub开源平台", + "url": "https://hellogithub.com/", + "catelog": "开源项目", + "desc": "分享优质开源项目的社区平台" + }, + { + "name": "Awesome Spider爬虫项目", + "url": "https://github.com/facert/awesome-spider", + "catelog": "开源项目", + "desc": "GitHub上最全的爬虫案例汇总项目" + }, + { + "name": "MediaCMS媒体管理系统", + "url": "https://mediacms.io/", + "catelog": "开源项目", + "desc": "基于Python和React的开源视频媒体管理系统" + }, + { + "name": "Alnitak弹幕视频网站", + "url": "https://alnitak.interastral-peace.com/", + "catelog": "开源项目", + "desc": "前后端分离的开源弹幕视频网站项目" + }, + { + "name": "仿B站视频网站项目", + "url": "https://github.com/xunlu129/teriteri-client", + "catelog": "开源项目", + "desc": "基于SpringBoot和Vue开发的仿B站客户端项目" + }, + { + "name": "TensorFlow机器学习框架", + "url": "https://tensorflow.google.cn/tutorials/images/cnn?hl=zh_cn", + "catelog": "Python库", + "desc": "端到端开源机器学习平台与框架" + }, + { + "name": "Matplotlib绘图库", + "url": "https://matplotlib.org/stable/tutorials/index.html", + "catelog": "Python库", + "desc": "Python数据可视化绘图库官方文档" + }, + { + "name": "Matplotlib中文文档", + "url": "https://www.matplotlib.org.cn/tutorials/", + "catelog": "Python库", + "desc": "Matplotlib绘图库的中文学习文档" + }, + { + "name": "PySimpleGUI图形界面库", + "url": "https://github.com/PySimpleGUI/PySimpleGUI", + "catelog": "Python库", + "desc": "简单易用的Python图形用户界面开发库" + }, + { + "name": "Docker官方平台", + "url": "https://hub.docker.com/", + "catelog": "后端开发", + "desc": "应用容器化平台,简化应用构建与部署流程" + }, + { + "name": "SQLPub数据库测试平台", + "url": "https://www.sqlpub.com/", + "catelog": "后端开发", + "desc": "提供MySQL服务器测试服务的在线平台" + }, + { + "name": "百度翻译在线工具", + "url": "https://fanyi.baidu.com/", + "catelog": "实用工具", + "desc": "支持多语种的即时在线翻译工具" + }, + { + "name": "Fomepay虚拟卡平台", + "url": "https://gpt.fomepay.com/", + "catelog": "实用工具", + "desc": "提供虚拟卡服务的在线平台" + }, + { + "name": "ProcessOn在线协作工具", + "url": "https://www.processon.com/diagrams", + "catelog": "实用工具", + "desc": "支持流程图、思维导图的在线协作绘图工具" + }, + { + "name": "PearOCR文字识别工具", + "url": "https://pearocr.com/#/", + "catelog": "实用工具", + "desc": "免费的图片文字识别与校对工具" + }, + { + "name": "识文精灵OCR工具", + "url": "http://ocrwiz.com/", + "catelog": "实用工具", + "desc": "提供在线文字识别服务的云平台" + }, + { + "name": "iLovePDF PDF处理工具", + "url": "https://www.ilovepdf.com/zh-cn/word_to_pdf", + "catelog": "实用工具", + "desc": "支持PDF合并、拆分、转换的在线工具" + }, + { + "name": "UIGradients渐变色工具", + "url": "https://uigradients.com/#BackToEarth", + "catelog": "设计工具", + "desc": "提供精美渐变色方案的在线设计工具" + }, + { + "name": "JSON.cn解析工具", + "url": "https://www.json.cn/", + "catelog": "开发工具", + "desc": "轻量级JSON数据解析、格式化与验证工具" + }, + { + "name": "Gmail邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "Google提供的免费电子邮件服务" + }, + { + "name": "QQ邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "腾讯提供的免费电子邮件服务" + }, + { + "name": "网易163邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "网易提供的免费电子邮件服务" + }, + { + "name": "CODELF变量命名工具", + "url": "https://unbug.github.io/codelf/", + "catelog": "开发工具", + "desc": "帮助程序员生成规范变量名的在线工具" + }, + { + "name": "Remove.bg抠图工具", + "url": "https://www.remove.bg/zh/upload", + "catelog": "设计工具", + "desc": "AI智能一键去除图片背景的在线工具" + }, + { + "name": "QRBTF参数化二维码生成器", + "url": "https://qrbtf.com/", + "catelog": "实用工具", + "desc": "支持自定义参数的创意二维码生成工具" + }, + { + "name": "Pdai Java学习平台", + "url": "https://pdai.tech/", + "catelog": "学习文档", + "desc": "提供Java全栈知识体系的学习平台" + }, + { + "name": "W3school教程网", + "url": "https://www.w3school.com.cn/", + "catelog": "学习文档", + "desc": "全球最大的中文Web技术学习教程平台" + }, + { + "name": "良许Linux教程网", + "url": "https://www.lxlinux.net/", + "catelog": "学习文档", + "desc": "专注于Linux命令与Shell脚本的学习平台" + }, + { + "name": "MDN HTML学习文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn/HTML", + "catelog": "学习文档", + "desc": "HTML基础学习的权威开发者文档" + }, + { + "name": "Django Web框架", + "url": "https://www.djangoproject.com/", + "catelog": "Python库", + "desc": "高效的Python Web应用开发框架" + }, + { + "name": "Flask轻量级框架", + "url": "https://flask.palletsprojects.com/en/3.0.x/", + "catelog": "Python库", + "desc": "轻量级Python Web应用开发框架" + }, + { + "name": "FastAPI框架", + "url": "https://fastapi.tiangolo.com/", + "catelog": "Python库", + "desc": "高性能、易学习的Python API开发框架" + }, + { + "name": "Wallhaven壁纸网站", + "url": "https://wallhaven.cc/", + "catelog": "资源分享", + "desc": "提供高清无水印壁纸资源的分享平台" + }, + { + "name": "阿里矢量图标库", + "url": "https://www.iconfont.cn/", + "catelog": "设计资源", + "desc": "提供矢量图标下载与在线存储的平台" + }, + { + "name": "Python官方文档", + "url": "https://docs.python.org/", + "catelog": "开发文档", + "desc": "Python编程语言的官方权威文档" + }, + { + "name": "Golang官方文档", + "url": "https://go.dev/doc/", + "catelog": "开发文档", + "desc": "Go编程语言的官方学习文档" + }, + { + "name": "Java官方文档", + "url": "https://docs.oracle.com/en/java/", + "catelog": "开发文档", + "desc": "Java编程语言的官方权威文档" + }, + { + "name": "Python黑魔法手册", + "url": "https://magic.iswbm.com/", + "catelog": "开发文档", + "desc": "Python进阶技巧与黑科技学习手册" + }, + { + "name": "FastAPI官方文档", + "url": "https://fastapi.tiangolo.com/", + "catelog": "开发文档", + "desc": "FastAPI框架的官方学习文档" + }, + { + "name": "PM2守护进程管理器文档", + "url": "https://pm2.keymetrics.io/docs/usage/quick-start/", + "catelog": "开发文档", + "desc": "Node.js应用进程管理工具官方文档" + }, + { + "name": "MDN Web API文档", + "url": "https://developer.mozilla.org/docs/Web/API", + "catelog": "开发文档", + "desc": "Web API接口的权威参考文档" + }, + { + "name": "Android API参考文档", + "url": "https://developer.android.com/reference", + "catelog": "开发文档", + "desc": "Android开发API的官方参考文档" + }, + { + "name": "NodeJS官方文档", + "url": "https://nodejs.org/api/", + "catelog": "开发文档", + "desc": "Node.js运行时的官方API参考文档" + }, + { + "name": "Frida官方文档", + "url": "https://frida.re/docs/", + "catelog": "开发文档", + "desc": "动态插桩工具Frida的官方学习文档" + }, + { + "name": "ADB Shell命令手册", + "url": "https://adbshell.com/", + "catelog": "开发文档", + "desc": "Android ADB命令的速查手册" + }, + { + "name": "Linux Cool命令手册", + "url": "https://www.linuxcool.com/", + "catelog": "开发文档", + "desc": "Linux命令速查与用法解析平台" + }, + { + "name": "Babel官方文档", + "url": "https://babel.dev/docs/", + "catelog": "开发文档", + "desc": "JavaScript代码转译工具Babel的官方文档" + }, + { + "name": "Easing Functions缓动函数表", + "url": "https://easings.net/", + "catelog": "开发文档", + "desc": "提供动画缓动函数参考的在线平台" + }, + { + "name": "Pandas官方文档", + "url": "https://pandas.pydata.org/docs/", + "catelog": "开发文档", + "desc": "Python数据分析库Pandas的官方文档" + }, + { + "name": "NumPy官方文档", + "url": "https://numpy.org/", + "catelog": "开发文档", + "desc": "Python科学计算库NumPy的官方文档" + }, + { + "name": "Matplotlib官方文档", + "url": "https://matplotlib.org/", + "catelog": "开发文档", + "desc": "Python绘图库Matplotlib的官方文档" + }, + { + "name": "QuickRef速查手册", + "url": "https://quickref.me/", + "catelog": "开发文档", + "desc": "编程语言与工具的快速参考手册平台" + }, + { + "name": "Prometheus官方文档", + "url": "https://prometheus.io/docs/", + "catelog": "开发文档", + "desc": "开源监控系统Prometheus的官方文档" + }, + { + "name": "Docker官方文档", + "url": "https://docs.docker.com/", + "catelog": "开发文档", + "desc": "Docker容器化平台的官方学习文档" + }, + { + "name": "PyCharm中文指南", + "url": "https://pycharm.iswbm.com/", + "catelog": "开发文档", + "desc": "PyCharm编辑器的中文使用指南" + }, + { + "name": "Common Regex正则库", + "url": "https://github.com/cdoco/common-regex", + "catelog": "开发工具", + "desc": "常用正则表达式汇总的开源项目" + }, + { + "name": "哔哩哔哩", + "url": "https://www.bilibili.com/", + "catelog": "影视娱乐", + "desc": "中国年轻世代高度聚集的文化社区和视频平台" + }, + { + "name": "腾讯视频", + "url": "https://v.qq.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视、综艺、动漫资源的在线视频平台" + }, + { + "name": "爱奇艺", + "url": "https://www.iqiyi.com/", + "catelog": "影视娱乐", + "desc": "综合型在线视频媒体平台" + }, + { + "name": "QQ音乐", + "url": "https://y.qq.com/", + "catelog": "影视娱乐", + "desc": "腾讯推出的在线音乐服务平台" + }, + { + "name": "网易云音乐", + "url": "https://music.163.com/", + "catelog": "影视娱乐", + "desc": "专注于音乐发现与分享的社区平台" + }, + { + "name": "IP定位查询工具", + "url": "https://ip.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供IP地址查询服务的API工具" + }, + { + "name": "httpbin请求测试工具", + "url": "https://www.httpbin.org/", + "catelog": "开发工具", + "desc": "HTTP请求与响应测试的在线服务" + }, + { + "name": "icanhazip IP查询工具", + "url": "https://icanhazip.com/", + "catelog": "开发工具", + "desc": "快速查询当前公网IP地址的在线工具" + }, + { + "name": "cip.cc IP查询工具", + "url": "https://www.cip.cc/", + "catelog": "开发工具", + "desc": "支持多平台的IP地址查询服务" + }, + { + "name": "乱码在线恢复工具", + "url": "http://www.mytju.com/classcode/tools/messyCodeRecover.asp", + "catelog": "开发工具", + "desc": "在线恢复乱码文本的实用工具" + }, + { + "name": "在线图片坐标拾取工具", + "url": "https://uutool.cn/img-coord/", + "catelog": "开发工具", + "desc": "用于拾取图片坐标的工具,适用于验证码逆向" + }, + { + "name": "Fiddler抓包工具官网", + "url": "https://www.telerik.com/fiddler", + "catelog": "抓包工具", + "desc": "Windows平台常用的HTTP抓包与调试工具" + }, + { + "name": "Wireshark抓包工具官网", + "url": "https://www.wireshark.org/", + "catelog": "抓包工具", + "desc": "开源的网络协议分析与抓包工具" + }, + { + "name": "Reqable抓包工具官网", + "url": "https://reqable.com/", + "catelog": "抓包工具", + "desc": "支持HTTP1/2/3的全平台API调试与抓包工具" + }, + { + "name": "Burp Suite渗透测试工具", + "url": "https://portswigger.net/burp", + "catelog": "抓包工具", + "desc": "用于Web应用安全测试的集成平台" + }, + { + "name": "mitmproxy抓包工具", + "url": "https://mitmproxy.org/", + "catelog": "抓包工具", + "desc": "支持SSL/TLS的交互式拦截代理工具" + }, + { + "name": "Http Debugger抓包工具", + "url": "https://www.httpdebugger.com/", + "catelog": "抓包工具", + "desc": "简洁易用的HTTP抓包与调试工具" + }, + { + "name": "Proxyman抓包工具", + "url": "https://proxyman.io/", + "catelog": "抓包工具", + "desc": "MacOS平台优秀的抓包与调试工具" + }, + { + "name": "Stream iOS抓包工具", + "url": "https://apps.apple.com/cn/app/stream/id1312141691", + "catelog": "抓包工具", + "desc": "iOS设备端独立运行的网络抓包工具" + }, + { + "name": "Drony代理管理工具", + "url": "https://play.google.com/store/apps/details?id=org.sandrob.drony", + "catelog": "抓包工具", + "desc": "移动设备代理管理工具" + }, + { + "name": "Tcpdump抓包工具", + "url": "https://www.tcpdump.org/", + "catelog": "抓包工具", + "desc": "命令行式的网络数据包捕获工具" + }, + { + "name": "r0capture安卓抓包脚本", + "url": "https://github.com/r0ysue/r0capture", + "catelog": "抓包工具", + "desc": "安卓应用层抓包通杀脚本" + }, + { + "name": "eCapture明文捕获工具", + "url": "https://ecapture.cc/", + "catelog": "抓包工具", + "desc": "基于eBPF技术的TLS加密明文捕获工具" + }, + { + "name": "Postman API调试工具", + "url": "https://www.postman.com/", + "catelog": "接口调试", + "desc": "用于API开发、测试与文档管理的平台" + }, + { + "name": "Hoppscotch API工具", + "url": "https://hoppscotch.io/", + "catelog": "接口调试", + "desc": "开源轻量级的Web API管理工具" + }, + { + "name": "Apipost接口调试平台", + "url": "https://www.apipost.cn/", + "catelog": "接口调试", + "desc": "集API设计、调试、文档于一体的协同平台" + }, + { + "name": "Apifox接口管理平台", + "url": "https://apifox.com/", + "catelog": "接口调试", + "desc": "提升API开发效率的全流程管理平台" + }, + { + "name": "Eolink API管理平台", + "url": "https://www.eolink.com/", + "catelog": "接口调试", + "desc": "一站式API全生命周期管理解决方案平台" + }, + { + "name": "Crawlab爬虫管理平台", + "url": "https://www.crawlab.cn/", + "catelog": "监控管理", + "desc": "支持多语言的分布式爬虫管理平台" + }, + { + "name": "Feapder爬虫框架", + "url": "https://feapder.com/", + "catelog": "监控管理", + "desc": "轻量级Python爬虫框架,支持分布式与监控" + }, + { + "name": "Gerapy爬虫管理框架", + "url": "https://github.com/Gerapy/Gerapy", + "catelog": "监控管理", + "desc": "基于Scrapy的分布式爬虫管理框架" + }, + { + "name": "Scrapyd爬虫服务", + "url": "https://github.com/scrapy/scrapyd", + "catelog": "监控管理", + "desc": "运行Scrapy爬虫的服务端工具" + }, + { + "name": "ScrapydWeb管理工具", + "url": "https://github.com/my8100/scrapydweb", + "catelog": "监控管理", + "desc": "Scrapyd集群的Web管理工具" + }, + { + "name": "Kubernetes容器编排平台", + "url": "https://kubernetes.io/", + "catelog": "监控管理", + "desc": "自动化部署、扩展和管理容器化应用的系统" + }, + { + "name": "Prometheus监控系统", + "url": "https://prometheus.io/", + "catelog": "监控管理", + "desc": "开源的系统监控与告警工具包" + }, + { + "name": "Grafana可视化平台", + "url": "https://grafana.com/", + "catelog": "监控管理", + "desc": "开源的数据可视化与监控分析平台" + }, + { + "name": "SmsForwarder短信转发器", + "url": "https://github.com/pppscn/SmsForwarder", + "catelog": "其他工具", + "desc": "安卓短信、来电通知转发工具" + }, + { + "name": "Notepad--文本编辑器", + "url": "https://github.com/cxasm/notepad--", + "catelog": "其他工具", + "desc": "支持多平台的开源文本编辑器" + }, + { + "name": "Snipaste截图工具", + "url": "https://www.snipaste.com/", + "catelog": "其他工具", + "desc": "简单强大的截图与贴图工具" + }, + { + "name": "FastStone Capture截图工具", + "url": "https://www.faststone.org/FSCaptureDetail.htm", + "catelog": "其他工具", + "desc": "功能齐全的屏幕捕获与录像工具" + }, + { + "name": "FontCreator字体编辑软件", + "url": "https://www.high-logic.com/font-editor/fontcreator", + "catelog": "其他工具", + "desc": "专业的字体编辑软件,适用于逆向分析" + }, + { + "name": "简悦 SimpRead阅读工具", + "url": "https://simpread.pro/", + "catelog": "其他工具", + "desc": "沉浸式网页阅读的Chrome扩展工具" + }, + { + "name": "Save as PDF网页转PDF工具", + "url": "https://pdfcrowd.com/save-as-pdf-addon/", + "catelog": "其他工具", + "desc": "将网页转换为PDF文件的工具" + }, + { + "name": "Tampermonkey油猴插件", + "url": "https://www.tampermonkey.net/", + "catelog": "效率工具", + "desc": "自定义网页功能的浏览器用户脚本管理器" + }, + { + "name": "v_jstools JS调试插件", + "url": "https://github.com/cilame/v_jstools", + "catelog": "效率工具", + "desc": "用于JS代码调试与逆向的浏览器插件" + }, + { + "name": "ReRes资源映射工具", + "url": "https://github.com/annnhan/ReRes", + "catelog": "效率工具", + "desc": "将远程资源映射到本地的浏览器插件" + }, + { + "name": "chrome-wasm-debugger调试工具", + "url": "https://github.com/itszn/chrome-wasm-debugger", + "catelog": "效率工具", + "desc": "调试WASM模块的Chrome扩展工具" + }, + { + "name": "FeHelper开发者助手", + "url": "https://www.baidufe.com/fehelper/", + "catelog": "效率工具", + "desc": "集成JSON格式化、编解码等功能的开发者工具" + }, + { + "name": "Header自定义工具", + "url": "https://chrome.google.com/webstore/detail/header%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7/maaccnhcoaehdeehahenkmchinbdjjmi", + "catelog": "效率工具", + "desc": "自定义HTTP请求头的Chrome插件" + }, + { + "name": "ModHeader请求头修改工具", + "url": "https://modheader.com/", + "catelog": "效率工具", + "desc": "修改HTTP请求头与响应头的工具" + }, + { + "name": "Proxy SwitchyOmega代理工具", + "url": "https://github.com/FelisCatus/SwitchyOmega", + "catelog": "效率工具", + "desc": "浏览器代理设置管理工具" + }, + { + "name": "SelectorGadget选择器工具", + "url": "https://selectorgadget.com/", + "catelog": "效率工具", + "desc": "生成CSS选择器的在线工具" + }, + { + "name": "Trace网站分析工具", + "url": "https://github.com/L018/Trace", + "catelog": "效率工具", + "desc": "用于网站分析与JS逆向的Chrome扩展" + }, + { + "name": "webHook JS反调试工具", + "url": "https://github.com/valuespider/webHookTools", + "catelog": "效率工具", + "desc": "JS反调试与逆向辅助工具" + }, + { + "name": "XPath Helper XPath工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl", + "catelog": "效率工具", + "desc": "提取与评估XPath查询的Chrome插件" + }, + { + "name": "XPath Helper Plus工具", + "url": "https://github.com/mic1on/xpath-helper-plus", + "catelog": "效率工具", + "desc": "增强版XPath开发者工具" + }, + { + "name": "XPath Helper Wizard工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper-wizard/jadhpggafkbmpdpmpgigopmodldgfcki", + "catelog": "效率工具", + "desc": "快速生成稳定XPath的工具" + }, + { + "name": "Scraping Helper爬虫工具", + "url": "https://github.com/huangwc94/scraping-helper-chrome-extension", + "catelog": "效率工具", + "desc": "生成HTML选择命令的爬虫辅助工具" + }, + { + "name": "Fiddler编程猫插件", + "url": "https://pan.baidu.com/s/1GFJhq-AqFxty4DOrkjSuLA?pwd=sbox", + "catelog": "效率工具", + "desc": "Fiddler抓包工具的编程猫专用插件" + }, + { + "name": "prophet JS AST工具", + "url": "https://github.com/456vv/prophet", + "catelog": "效率工具", + "desc": "JS AST分析与逆向快速定位工具" + }, + { + "name": "GeneralNewsExtractor新闻抽取器", + "url": "https://github.com/GeneralNewsExtractor/GeneralNewsExtractor", + "catelog": "效率工具", + "desc": "新闻网页正文通用抽取工具" + }, + { + "name": "Newspaper文章提取库", + "url": "https://github.com/codelucas/newspaper", + "catelog": "效率工具", + "desc": "Python新闻文章与元数据提取库" + }, + { + "name": "Diffbot智能解析工具", + "url": "https://www.diffbot.com/", + "catelog": "效率工具", + "desc": "AI驱动的网页内容智能解析平台" + }, + { + "name": "fake-useragent用户代理库", + "url": "https://github.com/fake-useragent/fake-useragent", + "catelog": "效率工具", + "desc": "生成伪造User-Agent的Python库" + }, + { + "name": "JSREI逆向工具集", + "url": "https://github.com/JSREI", + "catelog": "效率工具", + "desc": "JavaScript逆向工程工具集合" + }, + { + "name": "js-hook-framework Hook工具", + "url": "https://github.com/JSREI/crawler-js-hook-framework-public", + "catelog": "效率工具", + "desc": "JS逆向Hook工具集,封装为油猴脚本" + }, + { + "name": "PyExecJS JS运行库", + "url": "https://github.com/doloopwhile/PyExecJS", + "catelog": "调试运行", + "desc": "在Python中运行JavaScript代码的库" + }, + { + "name": "PythonMonkey JS引擎", + "url": "https://github.com/Distributive-Network/PythonMonkey", + "catelog": "调试运行", + "desc": "嵌入Python的Mozilla SpiderMonkey JS引擎" + }, + { + "name": "PyMiniRacer V8桥接器", + "url": "https://github.com/sqreen/PyMiniRacer", + "catelog": "调试运行", + "desc": "Python与V8引擎的桥接库" + }, + { + "name": "bestV8 JS逆向工具", + "url": "https://github.com/BestToYou/bestV8_release", + "catelog": "调试运行", + "desc": "用于运行JS代码的逆向工具" + }, + { + "name": "pybestV8 Python版本工具", + "url": "https://github.com/wangluozhe/pybestV8", + "catelog": "调试运行", + "desc": "bestV8工具的Python版本" + }, + { + "name": "Js2Py JS转Python库", + "url": "https://github.com/PiotrDabkowski/Js2Py", + "catelog": "调试运行", + "desc": "将JavaScript代码转换为Python代码的库" + }, + { + "name": "vm2 Node.js虚拟机", + "url": "https://github.com/patriksimek/vm2", + "catelog": "调试运行", + "desc": "Node.js的高级虚拟机与沙箱工具" + }, + { + "name": "vthread Python多线程库", + "url": "https://github.com/cilame/vthread", + "catelog": "调试运行", + "desc": "简化Python多线程编程的库" + }, + { + "name": "精易编程助手", + "url": "http://soft.125.la/plugin.php?id=jingyi_soft:soft&cid=3", + "catelog": "调试运行", + "desc": "易语言编程辅助工具" + }, + { + "name": "乐易编程助手", + "url": "https://www.leybc.com/thread-7123-1-1.html", + "catelog": "调试运行", + "desc": "易语言与火山PC编程辅助工具" + }, + { + "name": "WT-JS调试工具", + "url": "https://bbs.125.la/thread-14734668-1-1.html", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "JSDebugger调试工具", + "url": "https://pan.baidu.com/s/1dDgCV61DTyFKvO01qvtgqA?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "鬼鬼JS调试工具", + "url": "https://pan.baidu.com/s/1i5O-RrsHCgBmQCSXplR5sg?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "发条JS调试工具", + "url": "https://pan.baidu.com/s/1RSGT3lneb_pmFhvyuofT2w?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "随缘JS调试工具", + "url": "https://pan.baidu.com/s/18XmJwP2MZI9jZibS8tqw-Q?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "小七编程助手", + "url": "https://pan.baidu.com/s/1S_u2Jr5eMGoW88sCR5coUw?pwd=sbox", + "catelog": "调试运行", + "desc": "编程辅助与调试工具" + }, + { + "name": "OB在线代码混淆工具", + "url": "https://www.obfuscator.io/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线混淆工具" + }, + { + "name": "JSVMP在线混淆工具", + "url": "https://jsvmp.com/", + "catelog": "代码混淆", + "desc": "JavaScript代码虚拟化混淆工具" + }, + { + "name": "JS盾代码加固工具", + "url": "https://jsvmp.net/", + "catelog": "代码混淆", + "desc": "JavaScript代码动态混淆加壳工具" + }, + { + "name": "facelessJsvmp虚拟化工具", + "url": "https://github.com/Alanhays/facelessJsvmp", + "catelog": "代码混淆", + "desc": "JS代码虚拟化保护开源项目" + }, + { + "name": "cy_jsvmp混淆工具", + "url": "https://github.com/2833844911/cy_jsvmp", + "catelog": "代码混淆", + "desc": "JSVMP代码混淆工具实现项目" + }, + { + "name": "Deobfuscate在线反混淆工具", + "url": "https://deobfuscate.io/", + "catelog": "代码混淆", + "desc": "支持OB混淆的JavaScript反混淆工具" + }, + { + "name": "李玺JS在线解混淆工具", + "url": "http://www.cnlans.com:8887/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线解混淆工具" + }, + { + "name": "de4js在线解混淆工具", + "url": "https://lelinhtinh.github.io/de4js/", + "catelog": "代码混淆", + "desc": "支持多种混淆方式的JS解混淆工具" + }, + { + "name": "decode-js代码净化工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于AST的JavaScript代码净化工具" + }, + { + "name": "jsjiemi代码解密工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于正则的JavaScript代码解密工具" + }, + { + "name": "ast_tools AST工具库", + "url": "https://github.com/sml2h3/ast_tools", + "catelog": "代码混淆", + "desc": "基于Babel的AST混淆还原工具" + }, + { + "name": "ob-decrypt混淆还原工具", + "url": "https://github.com/DingZaiHub/ob-decrypt", + "catelog": "代码混淆", + "desc": "OB混淆代码还原工具" + }, + { + "name": "r0chrome定制浏览器", + "url": "https://github.com/daisixuan/r0chrome", + "catelog": "指纹相关", + "desc": "支持随机指纹的定制Chromium浏览器" + }, + { + "name": "requests-go请求库", + "url": "https://github.com/wangluozhe/requests-go", + "catelog": "指纹相关", + "desc": "支持TLS指纹修改的Go语言HTTP请求库" + }, + { + "name": "curl_cffi请求库", + "url": "https://github.com/yifeikong/curl_cffi", + "catelog": "指纹相关", + "desc": "支持JA3指纹模拟的Python请求库" + }, + { + "name": "tls-client请求库", + "url": "https://github.com/FlorianREGAZ/Python-Tls-Client", + "catelog": "指纹相关", + "desc": "支持TLS指纹的Python HTTP库" + }, + { + "name": "pyhttpx网络库", + "url": "https://github.com/zero3301/pyhttpx", + "catelog": "指纹相关", + "desc": "支持TLS1.2/1.3的Python网络库" + }, + { + "name": "gospider爬虫库", + "url": "https://github.com/baixudong007/gospider", + "catelog": "指纹相关", + "desc": "支持JA3指纹的Go语言爬虫库" + }, + { + "name": "CycleTLS指纹库", + "url": "https://github.com/Danny-Dasilva/CycleTLS", + "catelog": "指纹相关", + "desc": "模拟TLS/JA3指纹的库" + }, + { + "name": "CreepJS浏览器指纹检测", + "url": "https://abrahamjuliot.github.io/creepjs/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测工具" + }, + { + "name": "Fp-Collect指纹检测", + "url": "https://arh.antoinevastel.com/bots/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测平台" + }, + { + "name": "AntiBot无头检测工具", + "url": "https://bot.sannysoft.com/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Detect Headless检测工具", + "url": "https://infosimples.github.io/detect-headless/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Bot/Headless检测工具", + "url": "https://bot.incolumitas.com/", + "catelog": "指纹相关", + "desc": "机器人与无头浏览器检测平台" + }, + { + "name": "TCP/IP Fingerprint API", + "url": "https://tcpip.incolumitas.com/classify?detail=1", + "catelog": "指纹相关", + "desc": "TCP/IP指纹查询API" + }, + { + "name": "IP Address API", + "url": "https://api.incolumitas.com/", + "catelog": "指纹相关", + "desc": "IP地址信息查询API" + }, + { + "name": "Proxy/VPN Detection检测工具", + "url": "https://bot.incolumitas.com/proxy_detect.html", + "catelog": "指纹相关", + "desc": "代理与VPN实时代理检测工具" + }, + { + "name": "Browser Leaks隐私检测工具", + "url": "https://browserleaks.com/", + "catelog": "指纹相关", + "desc": "浏览器隐私与安全检测平台" + }, + { + "name": "Pixelscan机器人检测工具", + "url": "https://pixelscan.net/", + "catelog": "指纹相关", + "desc": "互联网机器人检测工具" + }, + { + "name": "Fake Vision浏览器检测器", + "url": "http://f.vision/", + "catelog": "指纹相关", + "desc": "新一代浏览器指纹检测工具" + }, + { + "name": "TLSJA3指纹API", + "url": "https://tlsja3.cn/tls", + "catelog": "指纹相关", + "desc": "TLS指纹查询API平台" + }, + { + "name": "TrackMe - fp API 指纹工具", + "url": "https://tls.peet.ws/", + "catelog": "指纹相关", + "desc": "提供TLS指纹查询服务的API平台" + }, + { + "name": "qxVm JS补环境框架", + "url": "https://github.com/ylw00/qxVm", + "catelog": "环境框架", + "desc": "纯JavaScript实现的JS逆向补环境框架" + }, + { + "name": "catvm JS逆向环境框架", + "url": "https://github.com/fanchangrui/catvm", + "catelog": "环境框架", + "desc": "基于志远思路实现的JS逆向补环境框架" + }, + { + "name": "node-sandbox 魔改Node环境", + "url": "https://github.com/bnmgh1/node-sandbox", + "catelog": "环境框架", + "desc": "魔改Node.js搭建的JS逆向补环境框架" + }, + { + "name": "boda_jsEnv JS补环境框架", + "url": "https://github.com/xuxiaobo-bobo/boda_jsEnv", + "catelog": "环境框架", + "desc": "轻量级JavaScript逆向补环境解决方案" + }, + { + "name": "catvm 志远配套版环境框架", + "url": "https://github.com/Big1moster/catvm", + "catelog": "环境框架", + "desc": "志远JS逆向补环境框架视频配套完结版本" + }, + { + "name": "Sekiro RPC远程调用框架", + "url": "https://github.com/yint-tech/sekiro-open", + "catelog": "自动化RPC", + "desc": "用于实现跨语言远程调用的RPC框架" + }, + { + "name": "JsRpc 逆向远程调用工具", + "url": "https://github.com/jxhczhl/JsRpc", + "catelog": "自动化RPC", + "desc": "JS逆向免抠代码的远程调用解决方案" + }, + { + "name": "Selenium 浏览器自动化框架", + "url": "https://www.selenium.dev/", + "catelog": "自动化RPC", + "desc": "支持多浏览器的Web自动化测试与爬虫框架" + }, + { + "name": "PhantomJS 无头浏览器", + "url": "https://phantomjs.org/", + "catelog": "自动化RPC", + "desc": "可脚本控制的无头Web浏览器,已停止维护" + }, + { + "name": "Pyppeteer Python无头浏览器库", + "url": "https://github.com/pyppeteer/pyppeteer", + "catelog": "自动化RPC", + "desc": "Puppeteer的Python版本,用于无头浏览器自动化" + }, + { + "name": "Puppeteer Node.js自动化库", + "url": "https://github.com/puppeteer/puppeteer", + "catelog": "自动化RPC", + "desc": "Node.js控制Chrome/Chromium的高级API库" + }, + { + "name": "Playwright 跨浏览器自动化框架", + "url": "https://playwright.dev/", + "catelog": "自动化RPC", + "desc": "微软开源的跨浏览器Web自动化测试工具" + }, + { + "name": "Splash JavaScript渲染服务", + "url": "https://github.com/scrapinghub/splash", + "catelog": "自动化RPC", + "desc": "带有HTTP API的轻量级JavaScript渲染服务" + }, + { + "name": "Appium 移动端自动化框架", + "url": "https://appium.io/", + "catelog": "自动化RPC", + "desc": "开源的移动端APP自动化测试框架" + }, + { + "name": "Airtest 跨平台UI自动化框架", + "url": "https://airtest.netease.com/", + "catelog": "自动化RPC", + "desc": "适用于游戏和APP的跨平台UI自动化测试框架" + }, + { + "name": "DrissionPage Python网页自动化工具", + "url": "https://github.com/g1879/DrissionPage", + "catelog": "自动化RPC", + "desc": "兼顾浏览器自动化与数据包收发的Python爬虫工具" + }, + { + "name": "Undetected Chromedriver 防检测驱动", + "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver", + "catelog": "自动化RPC", + "desc": "规避反爬检测的优化版Selenium Chromedriver" + }, + { + "name": "stealth.min.js 自动化特征隐藏脚本", + "url": "https://github.com/berstend/puppeteer-extra/tree/master/packages/extract-stealth-evasions", + "catelog": "自动化RPC", + "desc": "注入JavaScript隐藏自动化框架特征的脚本" + }, + { + "name": "magical_spider 通用爬虫方案", + "url": "https://github.com/lixi5338619/magical_spider", + "catelog": "自动化RPC", + "desc": "适用于多数Web站点的通用爬虫采集方案" + }, + { + "name": "Chrome for Testing 驱动下载站", + "url": "https://googlechromelabs.github.io/chrome-for-testing/", + "catelog": "自动化RPC", + "desc": "获取各版本ChromeDriver的官方下载平台" + }, + { + "name": "ChromeDriver 官方下载页面", + "url": "https://chromedriver.storage.googleapis.com/index.html", + "catelog": "自动化RPC", + "desc": "全版本ChromeDriver驱动程序下载站点" + }, + { + "name": "GeckoDriver 火狐浏览器驱动", + "url": "https://github.com/mozilla/geckodriver", + "catelog": "自动化RPC", + "desc": "控制Firefox浏览器的WebDriver驱动程序" + }, + { + "name": "fakebrowser 指纹伪造工具", + "url": "https://github.com/kkoooqq/fakebrowser", + "catelog": "自动化RPC", + "desc": "伪造浏览器指纹并模拟真人操作的爬虫工具" + }, + { + "name": "UI Automator 2 Python库", + "url": "https://github.com/openatx/uiautomator2", + "catelog": "自动化RPC", + "desc": "Python版本的Android自动化测试框架" + }, + { + "name": "AutoJS6 Android自动化工具", + "url": "https://github.com/SuperMonster003/AutoJs6", + "catelog": "自动化RPC", + "desc": "基于无障碍服务的Android JavaScript自动化工具" + }, + { + "name": "FRIDA-DEXDump 一键脱壳工具", + "url": "https://github.com/hluwa/frida-dexdump", + "catelog": "脱壳工具", + "desc": "基于Frida的Android应用一键脱壳工具" + }, + { + "name": "dumpDex Xposed脱壳工具", + "url": "https://github.com/WrBug/dumpDex", + "catelog": "脱壳工具", + "desc": "需要Xposed支持的Android应用脱壳工具" + }, + { + "name": "FART ART环境脱壳方案", + "url": "https://github.com/hanbinglengyue/FART", + "catelog": "脱壳工具", + "desc": "ART运行环境下的Android应用自动化脱壳方案" + }, + { + "name": "DeveloperHelper 安卓开发助手", + "url": "https://github.com/WrBug/DeveloperHelper", + "catelog": "脱壳工具", + "desc": "集成界面分析、加固脱壳的Android开发辅助工具" + }, + { + "name": "BlackDex 免ROOT脱壳工具", + "url": "https://github.com/CodingGay/BlackDex", + "catelog": "脱壳工具", + "desc": "支持Android 5.0-12免ROOT的APK脱壳工具" + }, + { + "name": "Xposed 安卓Hook框架", + "url": "https://github.com/rovo89/Xposed", + "catelog": "Hook工具", + "desc": "无需修改APK即可注入代码的Android Hook框架" + }, + { + "name": "JustTrustMe SSL绕过工具", + "url": "https://github.com/Fuzion24/JustTrustMe", + "catelog": "Hook工具", + "desc": "基于Xposed绕过SSL Pinning检测的工具" + }, + { + "name": "Frida 动态插桩工具", + "url": "https://github.com/frida/frida", + "catelog": "Hook工具", + "desc": "动态插桩并修改应用行为的跨平台逆向工具" + }, + { + "name": "Inspeckage Xposed动态分析工具", + "url": "https://github.com/ac-pm/Inspeckage", + "catelog": "Hook工具", + "desc": "Hook常见加密方法的Android动态分析工具" + }, + { + "name": "lamda 安卓抓包神器", + "url": "https://github.com/rev1si0n/lamda", + "catelog": "Hook工具", + "desc": "集成多种功能的Android抓包与逆向工具" + }, + { + "name": "fridaUiTools 脚本管理工具", + "url": "https://github.com/dqzg12300/fridaUiTools", + "catelog": "Hook工具", + "desc": "可视化管理Frida脚本的辅助工具" + }, + { + "name": "Android Crack Tool 逆向工具集", + "url": "https://github.com/Jermic/Android-Crack-Tool", + "catelog": "APP反编译", + "desc": "Mac平台下的Android应用逆向工具集合" + }, + { + "name": "Apktool APK反编译工具", + "url": "https://apktool.org/", + "catelog": "APP反编译", + "desc": "功能强大的APK文件反编译与重打包工具" + }, + { + "name": "PKiD 加固检测工具", + "url": "https://pan.baidu.com/s/1Ho0gVCH_sS-75nhO2TcXXw?pwd=sbox", + "catelog": "APP反编译", + "desc": "检测APK加固厂商的逆向辅助工具" + }, + { + "name": "PKiD Java 跨平台加固检测工具", + "url": "https://bbs.kanxue.com/thread-225120.htm", + "catelog": "APP反编译", + "desc": "支持更多加固厂商的跨平台APK检测工具" + }, + { + "name": "XAPKDetector 保护检测工具", + "url": "https://github.com/horsicq/XAPKDetector", + "catelog": "APP反编译", + "desc": "检测APK/DEX文件构建工具与保护信息的工具" + }, + { + "name": "JEB 专业逆向工程平台", + "url": "https://www.pnfsoftware.com/", + "catelog": "APP反编译", + "desc": "用于代码反汇编、反编译与调试的逆向工程平台" + }, + { + "name": "dex2jar DEX转JAR工具", + "url": "https://github.com/pxb1988/dex2jar", + "catelog": "APP反编译", + "desc": "将Android DEX文件转换为JAR包的工具" + }, + { + "name": "JD-GUI JAR反编译工具", + "url": "https://github.com/java-decompiler/jd-gui", + "catelog": "APP反编译", + "desc": "可视化查看JAR包反编译代码的工具" + }, + { + "name": "JADX Dex反编译工具", + "url": "https://github.com/skylot/jadx", + "catelog": "APP反编译", + "desc": "将Dex/Apk文件转换为Java代码的工具" + }, + { + "name": "Bytecode Viewer 多格式反编译工具", + "url": "https://github.com/Konloch/bytecode-viewer", + "catelog": "APP反编译", + "desc": "支持APK、DEX等多种格式的反编译工具" + }, + { + "name": "AndroidKiller APK逆向工具", + "url": "https://github.com/liaojack8/AndroidKiller", + "catelog": "APP反编译", + "desc": "专注于Android应用的逆向分析与修改工具" + }, + { + "name": "GDA Dalvik字节码反编译器", + "url": "https://github.com/charles2gan/GDA-android-reversing-Tool", + "catelog": "APP反编译", + "desc": "高效分析APK/DEX文件的Dalvik字节码反编译器" + }, + { + "name": "Ghidra 开源逆向工程框架", + "url": "https://github.com/NationalSecurityAgency/ghidra", + "catelog": "APP反编译", + "desc": "NSA开源的软件逆向工程分析框架" + }, + { + "name": "Magisk Android定制工具", + "url": "https://github.com/topjohnwu/Magisk", + "catelog": "APP其他", + "desc": "用于Android系统定制的开源Root工具" + }, + { + "name": "APK Downloader 应用下载工具", + "url": "https://apps.evozi.com/apk-downloader/", + "catelog": "APP其他", + "desc": "输入Google Play链接下载APK文件的工具" + }, + { + "name": "MT管理器 文件管理工具", + "url": "https://mt2.cn/", + "catelog": "APP其他", + "desc": "Android平台文件管理与逆向修改工具" + }, + { + "name": "NP管理器 逆向修改工具", + "url": "https://github.com/githubXiaowangzi/NP-Manager", + "catelog": "APP其他", + "desc": "Android平台的文件管理与APK逆向修改工具" + }, + { + "name": "ADBGUI 可视化ADB工具", + "url": "https://github.com/bigsinger/adbgui", + "catelog": "APP其他", + "desc": "C#编写的可视化ADB命令操作工具" + }, + { + "name": "wxappUnpacker 小程序解包工具", + "url": "https://github.com/geilige/wxappUnpacker", + "catelog": "小程序反编译", + "desc": "微信小程序.wxapkg文件解包与还原工具" + }, + { + "name": "CrackMinApp 小程序反编译工具", + "url": "https://github.com/Cherrison/CrackMinApp", + "catelog": "小程序反编译", + "desc": "一键获取微信小程序源码的反编译工具" + }, + { + "name": "UnpackMiniApp 小程序解密工具", + "url": "https://pan.baidu.com/s/19mKFLGqUAve-FG4Fp6J76g?pwd=sbox", + "catelog": "小程序反编译", + "desc": "针对微信小程序的解密与反编译工具" + }, + { + "name": "wxapkg-unpacker 自动化反编译工具", + "url": "https://github.com/zgqwork/wxapkg-unpacker", + "catelog": "小程序反编译", + "desc": "基于wxappUnpacker的自动化小程序反编译工具" + }, + { + "name": "云码 验证码识别平台", + "url": "https://console.jfbym.com/register/TG17764", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端打码服务平台" + }, + { + "name": "知数云 验证码识别平台", + "url": "https://data.zhishuyun.com/", + "catelog": "打码平台", + "desc": "提供验证码识别与AI图像接口的服务平台" + }, + { + "name": "图腾视觉 图像识别平台", + "url": "https://www.tutengocr.com/", + "catelog": "打码平台", + "desc": "专注于文字识别与目标识别的打码服务平台" + }, + { + "name": "图鉴 验证码识别平台", + "url": "http://www.ttshitu.com/", + "catelog": "打码平台", + "desc": "基于深度学习的全天候验证码识别服务平台" + }, + { + "name": "人人图像打码 验证码识别平台", + "url": "https://www.rrocr.com/", + "catelog": "打码平台", + "desc": "提供极验等多种验证码识别的云端服务平台" + }, + { + "name": "超级鹰 老牌打码平台", + "url": "http://www.chaojiying.com/", + "catelog": "打码平台", + "desc": "提供专业验证码云端识别服务的老牌平台" + }, + { + "name": "得塔云 图像识别平台", + "url": "https://www.detayun.cn/tool/verifyCodeHomePage/", + "catelog": "打码平台", + "desc": "提供图像文字识别与语义分析的服务平台" + }, + { + "name": "验证码识别测试页面", + "url": "http://146.56.204.113:19199/", + "catelog": "打码平台", + "desc": "用于测试各类验证码识别效果的在线平台" + }, + { + "name": "丹里科技 反人类验证码解决方案", + "url": "https://www.zjdanli.com/", + "catelog": "打码平台", + "desc": "专注解决复杂验证码识别的技术服务平台" + }, + { + "name": "CapSolver 验证码识别平台", + "url": "https://www.capsolver.com/", + "catelog": "打码平台", + "desc": "支持多种验证码识别并返回Token的服务平台" + }, + { + "name": "2Captcha 国际验证码识别平台", + "url": "https://2captcha.com/?from=17553728", + "catelog": "打码平台", + "desc": "国际知名的验证码识别服务平台" + }, + { + "name": "YesCaptcha 验证码识别平台", + "url": "https://yescaptcha.com/i/oPZU3g", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "CaptchaAI 验证码识别平台", + "url": "https://captchaai.com/", + "catelog": "打码平台", + "desc": "主打reCAPTCHA与hCaptcha识别的服务平台" + }, + { + "name": "noCaptcha 验证码识别平台", + "url": "https://www.nocaptcha.io/", + "catelog": "打码平台", + "desc": "支持多种防护验证码识别的服务平台" + }, + { + "name": "NopeCHA 验证码识别平台", + "url": "https://nopecha.com/", + "catelog": "打码平台", + "desc": "价格亲民的验证码识别服务平台" + }, + { + "name": "Anti Captcha 验证码识别平台", + "url": "https://anti-captcha.com/", + "catelog": "打码平台", + "desc": "国际知名的验证码识别与Token返回平台" + }, + { + "name": "Solve Captcha 验证码识别平台", + "url": "https://solvecaptcha.net/", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "ddddocr 开源验证码识别库", + "url": "https://github.com/sml2h3/ddddocr", + "catelog": "开源识别", + "desc": "支持自定义训练的通用验证码识别开源库" + }, + { + "name": "SlideCrack 滑块缺口识别工具", + "url": "https://github.com/crazyxw/SlideCrack", + "catelog": "开源识别", + "desc": "支持网易、极验滑块验证码缺口识别的工具" + }, + { + "name": "dianxuan 点选验证码识别工具", + "url": "https://github.com/wlkjyh/dianxuan", + "catelog": "开源识别", + "desc": "基于孪生神经网络的点选验证码识别工具" + }, + { + "name": "rotate-captcha-crack 旋转验证码识别工具", + "url": "https://github.com/Starry-OvO/rotate-captcha-crack", + "catelog": "开源识别", + "desc": "基于CNN的图片旋转验证码角度预测工具" + }, + { + "name": "RotateCaptchaBreak 旋转验证码识别工具", + "url": "https://github.com/chencchen/RotateCaptchaBreak", + "catelog": "开源识别", + "desc": "专注于旋转验证码识别的开源工具" + }, + { + "name": "RotNet 图像旋转角度预测工具", + "url": "https://github.com/d4nst/RotNet", + "catelog": "开源识别", + "desc": "预测图像旋转角度以纠正方向的开源工具" + }, + { + "name": "rotate_captcha 双旋转验证码解决方案", + "url": "https://github.com/ycq0125/rotate_captcha", + "catelog": "开源识别", + "desc": "针对双旋转验证码的识别解决方案" + }, + { + "name": "PassCaptcha 验证码识别工具", + "url": "https://github.com/rrrrat/PassCaptcha", + "catelog": "开源识别", + "desc": "支持点选与滑动验证码识别的爬虫辅助工具" + }, + { + "name": "hCaptcha Challenger 验证码识别工具", + "url": "https://github.com/QIN2DIM/hcaptcha-challenger", + "catelog": "开源识别", + "desc": "基于ONNX的hCaptcha验证码识别工具" + }, + { + "name": "Text Select Captcha 文字点选识别工具", + "url": "https://github.com/MgArcher/Text_select_captcha", + "catelog": "开源识别", + "desc": "基于PyTorch的文字点选验证码识别工具" + }, + { + "name": "captcha_crack 选字验证码破解工具", + "url": "https://github.com/cos120/captcha_crack", + "catelog": "开源识别", + "desc": "高破解率的网易、极验选字验证码工具" + }, + { + "name": "Awesome Captcha 验证码工具汇总", + "url": "https://github.com/ZYSzys/awesome-captcha", + "catelog": "开源识别", + "desc": "精选验证码相关库与破解工具的汇总项目" + }, + { + "name": "Ghost Cursor 模拟人类鼠标轨迹工具", + "url": "https://github.com/Xetera/ghost-cursor", + "catelog": "轨迹相关", + "desc": "在Puppeteer中生成类人鼠标运动轨迹的工具" + }, + { + "name": "Python Ghost Cursor 轨迹生成库", + "url": "https://github.com/mcolella14/python_ghost_cursor", + "catelog": "轨迹相关", + "desc": "Python版本的类人鼠标移动轨迹生成库" + }, + { + "name": "Track Point Gen AI轨迹生成工具", + "url": "https://github.com/2833844911/Track_point_gen", + "catelog": "轨迹相关", + "desc": "基于AI模拟人手操作轨迹的生成工具" + }, + { + "name": "gurs 贝塞尔曲线轨迹生成工具", + "url": "https://github.com/2833844911/gurs", + "catelog": "轨迹相关", + "desc": "基于贝塞尔曲线生成滑块滑动轨迹的工具" + }, + { + "name": "A Primer on Bézier Curves 贝塞尔曲线教程", + "url": "https://pomax.github.io/bezierinfo/", + "catelog": "轨迹相关", + "desc": "详细讲解贝塞尔曲线原理的在线教程" + }, + { + "name": "极验 GEETEST 人机验证平台", + "url": "https://www.geetest.com/", + "catelog": "国内防护", + "desc": "提供多维验证方式的互联网交互安全平台" + }, + { + "name": "数美科技 业务风控平台", + "url": "https://www.ishumei.com/", + "catelog": "国内防护", + "desc": "基于AI技术的全场景业务风控服务平台" + }, + { + "name": "顶象 业务安全平台", + "url": "https://www.dingxiang-inc.com/", + "catelog": "国内防护", + "desc": "提供智能验证码与业务安全防护的平台" + }, + { + "name": "网易易盾 数字内容风控平台", + "url": "https://dun.163.com/", + "catelog": "国内防护", + "desc": "网易旗下一站式数字内容风控服务平台" + }, + { + "name": "阿里云云盾 验证码平台", + "url": "https://www.aliyun.com/product/afs", + "catelog": "国内防护", + "desc": "阿里云提供的人机验证与业务安全防护平台" + }, + { + "name": "腾讯防水墙 业务安全平台", + "url": "https://007.qq.com/", + "catelog": "国内防护", + "desc": "腾讯旗下专注于业务安全的防护平台" + }, + { + "name": "小盾安全 业务安全平台", + "url": "https://sec.xiaodun.com/", + "catelog": "国内防护", + "desc": "同盾科技旗下全栈式业务安全解决方案平台" + }, + { + "name": "云片 行为验证平台", + "url": "https://www.yunpian.com/product/captcha", + "catelog": "国内防护", + "desc": "提供安全加密传输的行为验证服务平台" + }, + { + "name": "vaptcha 手势验证码平台", + "url": "https://www.vaptcha.com/", + "catelog": "国内防护", + "desc": "基于AI和大数据的手势人机验证平台" + }, + { + "name": "AISecurius 顶象国际版验证平台", + "url": "https://www.aisecurius.com/", + "catelog": "国内防护", + "desc": "顶象国际版的atbCAPTCHA验证服务平台" + }, + { + "name": "Luosimao 人机验证平台", + "url": "https://luosimao.com/service/captcha", + "catelog": "国内防护", + "desc": "提供创新型人机验证服务的平台" + }, + { + "name": "友验 验证防护平台", + "url": "https://www.fastyotest.com/", + "catelog": "国内防护", + "desc": "基于虚拟机保护的全方位验证防护平台" + }, + { + "name": "瑞数信息 动态安全防护平台", + "url": "https://www.riversecurity.com/", + "catelog": "国内防护", + "desc": "专注于Bots自动化攻击防护的安全平台" + }, + { + "name": "Kasada 国际反爬防护平台", + "url": "https://www.kasada.io/", + "catelog": "国际防护", + "desc": "提供Web与API反自动化攻击防护的平台" + }, + { + "name": "F5 & Shape Security 应用安全平台", + "url": "https://www.f5.com/", + "catelog": "国际防护", + "desc": "提供应用安全与性能优化的解决方案平台" + }, + { + "name": "DataDome 反爬防护平台", + "url": "https://datadome.co/", + "catelog": "国际防护", + "desc": "检测并缓解Bot攻击与在线欺诈的防护平台" + }, + { + "name": "Imperva 应用安全平台", + "url": "https://www.imperva.com/", + "catelog": "国际防护", + "desc": "提供数据与应用安全防护的解决方案平台" + }, + { + "name": "PerimeterX 反爬防护平台", + "url": "https://www.perimeterx.com/", + "catelog": "国际防护", + "desc": "专注于防护Bot攻击与账户滥用的安全平台" + }, + { + "name": "Akamai 边缘云平台", + "url": "https://www.akamai.com/", + "catelog": "国际防护", + "desc": "提供边缘云与网络安全防护的解决方案平台" + }, + { + "name": "Cloudflare 网络安全平台", + "url": "https://www.cloudflare.com/", + "catelog": "国际防护", + "desc": "提供CDN、DDoS防护与网络安全的平台" + }, + { + "name": "Arkose Labs 反欺诈平台", + "url": "https://www.arkoselabs.com/", + "catelog": "国际防护", + "desc": "防护恶意Bot与在线欺诈的安全服务平台" + }, + { + "name": "reCAPTCHA Google验证平台", + "url": "https://www.google.com/recaptcha/", + "catelog": "国际防护", + "desc": "Google提供的人机验证与反Bot防护平台" + }, + { + "name": "hCaptcha 反Bot验证平台", + "url": "https://www.hcaptcha.com/", + "catelog": "国际防护", + "desc": "reCAPTCHA替代方案的反Bot验证平台" + }, + { + "name": "CyberSiara 人机验证平台", + "url": "https://www.cybersiara.com/", + "catelog": "国际防护", + "desc": "提供高级人机验证的网站安全防护平台" + }, + { + "name": "AWS Captcha 亚马逊验证平台", + "url": "https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html", + "catelog": "国际防护", + "desc": "AWS WAF提供的人机验证服务" + }, + { + "name": "mCaptcha 隐私友好验证平台", + "url": "https://mcaptcha.org/", + "catelog": "国际防护", + "desc": "基于工作量证明的隐私友好型验证码平台" + }, + { + "name": "Fingerprint 设备指纹平台", + "url": "https://fingerprint.com/", + "catelog": "国际防护", + "desc": "高精度识别设备指纹的反欺诈平台" + }, + { + "name": "青果网络 代理IP服务商", + "url": "https://www.qg.net/product/proxyip.html?source=star", + "catelog": "国内代理", + "desc": "提供国内动态代理IP与云主机服务的平台" + }, + { + "name": "协采云 代理IP服务商", + "url": "http://clue.xiecaiyun.com/reg/?channel=Y-wt-bob", + "catelog": "国内代理", + "desc": "提供百万级节点的国内动态代理IP服务平台" + }, + { + "name": "快代理 国内代理IP服务商", + "url": "https://www.kuaidaili.com/", + "catelog": "国内代理", + "desc": "专注于高品质HTTP代理IP服务的平台" + }, + { + "name": "芝麻HTTP 国内代理IP服务商", + "url": "http://www.zmhttp.com/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "提供高匿HTTP代理IP的企业级服务平台" + }, + { + "name": "品易HTTP 国内代理IP服务商", + "url": "http://http.py.cn/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "拥有海量IP池的国内动态代理IP服务平台" + }, + { + "name": "品赞HTTP 国内代理IP服务商", + "url": "https://www.ipzan.com/", + "catelog": "国内代理", + "desc": "提供高匿代理IP的多平台支持服务平台" + }, + { + "name": "小象代理 国内代理IP服务商", + "url": "https://www.xiaoxiangdaili.com/", + "catelog": "国内代理", + "desc": "低延迟高可用的国内动态代理IP服务平台" + }, + { + "name": "阿布云 大数据服务平台", + "url": "https://www.abuyun.com/", + "catelog": "国内代理", + "desc": "提供代理IP与大数据采集服务的平台" + }, + { + "name": "云立方 代理IP服务商", + "url": "https://www.yunlifang.cn/", + "catelog": "国内代理", + "desc": "提供动态VPS与代理IP服务的平台" + }, + { + "name": "因体技术 代理IP中台系统", + "url": "https://iinti.cn/", + "catelog": "国内代理", + "desc": "提供MITM脚本与代理IP资源的爬虫解决方案平台" + }, + { + "name": "看雪安全社区 逆向论坛", + "url": "https://bbs.kanxue.com/", + "catelog": "交流论坛", + "desc": "专注于PC与移动设备安全研究的逆向社区" + }, + { + "name": "先知社区 安全技术论坛", + "url": "https://xz.aliyun.com/", + "catelog": "交流论坛", + "desc": "阿里云旗下的安全技术交流社区" + }, + { + "name": "吾爱汇编 软件安全论坛", + "url": "https://www.52hb.com/", + "catelog": "交流论坛", + "desc": "专注于软件加密解密与逆向分析的论坛" + }, + { + "name": "ChatGPT 对话式AI平台", + "url": "https://chat.openai.com/", + "catelog": "AI聊天对话", + "desc": "OpenAI研发的智能对话与内容生成AI平台" + }, + { + "name": "NewBing 人工智能搜索引擎", + "url": "https://www.bing.com/new", + "catelog": "AI聊天对话", + "desc": "微软推出的集成AI聊天功能的搜索引擎" + }, + { + "name": "Google Bard 对话式AI平台", + "url": "https://bard.google.com/", + "catelog": "AI聊天对话", + "desc": "Google基于LaMDA模型开发的对话式AI" + }, + { + "name": "Claude 对话式AI平台", + "url": "https://claude.ai/", + "catelog": "AI聊天对话", + "desc": "Anthropic公司开发的智能对话AI平台" + }, + { + "name": "YOU AI搜索引擎", + "url": "https://you.com/", + "catelog": "AI聊天对话", + "desc": "集成AI对话功能的新一代搜索引擎" + }, + { + "name": "通义千问 阿里云对话式AI", + "url": "https://qianwen.aliyun.com/", + "catelog": "AI聊天对话", + "desc": "阿里云推出的超大规模语言模型对话平台" + }, + { + "name": "文心一言 百度对话式AI", + "url": "https://yiyan.baidu.com/", + "catelog": "AI聊天对话", + "desc": "百度推出的知识增强大语言模型对话平台" + }, + { + "name": "MOSS 复旦对话式AI", + "url": "https://moss.fastnlp.top/", + "catelog": "AI聊天对话", + "desc": "复旦大学开发的国内首款对话式大型语言模型" + }, + { + "name": "360智脑 对话式AI平台", + "url": "https://chat.360.cn/", + "catelog": "AI聊天对话", + "desc": "360自研的千亿参数大语言模型对话平台" + }, + { + "name": "Free ChatGPT Site List 镜像站点汇总", + "url": "https://d0424.ai55.cc/", + "catelog": "AI聊天对话", + "desc": "汇总免费ChatGPT国内镜像站点的平台" + }, + { + "name": "Copilot AI代码助手", + "url": "https://copilot.github.com/", + "catelog": "AI代码编程", + "desc": "GitHub与OpenAI联合推出的AI代码生成工具" + }, + { + "name": "Cursor AI代码编辑器", + "url": "https://www.cursor.so/", + "catelog": "AI代码编程", + "desc": "集成AI聊天功能的智能代码编辑器" + }, + { + "name": "CodeGeeX 代码生成模型", + "url": "https://codegeex.cn/", + "catelog": "AI代码编程", + "desc": "清华与智谱AI联合打造的多语言代码生成模型" + }, + { + "name": "CodeWhisperer 亚马逊AI代码助手", + "url": "https://aws.amazon.com/cn/codewhisperer/", + "catelog": "AI代码编程", + "desc": "亚马逊推出的实时AI代码生成助手" + }, + { + "name": "Codeium AI代码补全工具", + "url": "https://codeium.com/", + "catelog": "AI代码编程", + "desc": "人工智能驱动的代码自动补全工具" + }, + { + "name": "Browse AI 无代码爬虫工具", + "url": "https://www.browse.ai/", + "catelog": "AI代码编程", + "desc": "无需编写代码的网页数据抓取与监控AI工具" + }, + { + "name": "Midjourney AI图像生成工具", + "url": "https://www.midjourney.com/", + "catelog": "AI图像绘画", + "desc": "通过文字描述生成创意图像的AI制图工具" + }, + { + "name": "DALL·E OpenAI图像生成模型", + "url": "https://labs.openai.com/", + "catelog": "AI图像绘画", + "desc": "OpenAI开发的文本生成图像的AI模型平台" + }, + { + "name": "Civitai AI艺术模型平台", + "url": "https://civitai.com/", + "catelog": "AI图像绘画", + "desc": "分享SD开源模型的AI艺术创作平台" + }, + { + "name": "Adobe Firefly Adobe创意生成AI", + "url": "https://firefly.adobe.com/", + "catelog": "AI图像绘画", + "desc": "Adobe推出的创意内容生成AI工具" + }, + { + "name": "Toonme 卡通头像生成工具", + "url": "https://toonme.com/", + "catelog": "AI图像绘画", + "desc": "将真人照片转换为卡通动漫头像的AI工具" + }, + { + "name": "Faceswap 人脸交换工具", + "url": "https://faceswap.dev/", + "catelog": "AI图像绘画", + "desc": "利用深度学习实现图片与视频人脸交换的工具" + }, + { + "name": "MakeLogoAI AI Logo生成工具", + "url": "https://makelogo.ai/", + "catelog": "AI图像绘画", + "desc": "通过AI生成独特创意Logo的在线工具" + }, + { + "name": "通义万相 阿里云AI绘画工具", + "url": "https://wanxiang.aliyun.com/", + "catelog": "AI图像绘画", + "desc": "阿里云推出的AI图像生成与创作平台" + }, + { + "name": "文心一格 百度AI绘画工具", + "url": "https://yige.baidu.com/", + "catelog": "AI图像绘画", + "desc": "百度推出的AI艺术与创意辅助绘画平台" + }, + { + "name": "jpgHD 老照片修复工具", + "url": "https://jpghd.com/", + "catelog": "AI图像绘画", + "desc": "基于AI的老照片无损修复与上色工具" + }, + { + "name": "AI艺术二维码 创意生成工具", + "url": "https://qr.mewx.art/?invite_code=RVP98wzb", + "catelog": "AI图像绘画", + "desc": "生成创意艺术风格二维码的AI工具" + }, + { + "name": "ChatDOC AI文档阅读助手", + "url": "https://chatdoc.com/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的文档内容提取与问答工具" + }, + { + "name": "ChatPDF AI PDF问答工具", + "url": "https://www.chatpdf.com/", + "catelog": "AI文档办公", + "desc": "识别PDF内容并进行智能问答的AI工具" + }, + { + "name": "PandaGPT AI文档分析工具", + "url": "https://www.pandagpt.io/", + "catelog": "AI文档办公", + "desc": "生成知识图谱并回答文档问题的AI工具" + }, + { + "name": "WPS AI 办公助手", + "url": "https://ai.wps.cn/", + "catelog": "AI文档办公", + "desc": "WPS推出的文档处理与内容生成AI助手" + }, + { + "name": "Notion AI 写作助手", + "url": "https://www.notion.so/product/ai", + "catelog": "AI文档办公", + "desc": "Notion集成的AI内容生成与写作辅助工具" + }, + { + "name": "SciSpace 论文阅读助手", + "url": "https://typeset.io/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的科研论文阅读理解平台" + }, + { + "name": "ExplainPaper 论文解读工具", + "url": "https://www.explainpaper.com/", + "catelog": "AI文档办公", + "desc": "辅助阅读学术论文的AI问答工具" + }, + { + "name": "Effidit 腾讯写作助手", + "url": "https://effidit.qq.com/", + "catelog": "AI文档办公", + "desc": "腾讯推出的AI写作与创作辅助工具" + }, + { + "name": "爱改写 文本处理工具", + "url": "https://www.aigaixie.com/", + "catelog": "AI文档办公", + "desc": "提供文本改写与原创度查询的工具" + }, + { + "name": "火山写作 字节跳动AI写作工具", + "url": "https://www.writingo.net/", + "catelog": "AI文档办公", + "desc": "字节跳动推出的中英文AI写作助手" + }, + { + "name": "腾讯云7.5折扣入口", + "url": "https://curl.qcloud.com/JgTpb4jm", + "catelog": "推广", + "desc": "腾讯云大使专属7.5折优惠购买入口" + }, + { + "name": "阿里云折扣入口", + "url": "https://www.aliyun.com/minisite/goods?userCode=qn2j4wxt", + "catelog": "推广", + "desc": "阿里云产品折扣购买入口" + }, + { + "name": "超大流量卡 办理入口", + "url": "https://www.hemorn.cn/index?k=bzBzYWFuSDkvYXM9", + "catelog": "推广", + "desc": "可打电话与注册账号的大流量手机卡办理入口" + }, + { + "name": "赔钱机场 代理服务", + "url": "https://pqjc.site/#/register?code=VX5cofnG", + "catelog": "推广", + "desc": "价格低廉的代理节点服务平台" + }, + { + "name": "节点 代理服务", + "url": "https://1s.bigmeok.me/user#/register?code=ZTrIUOBr", + "catelog": "推广", + "desc": "提供网络代理节点的服务平台" + }, + { + "name": "吃什么 美食推荐工具", + "url": "https://eat.020417.xyz/", + "catelog": "个人站", + "desc": "提供美食推荐的娱乐性个人工具站" + }, + { + "name": "实时新闻 资讯聚合站", + "url": "https://new.020417.xyz/", + "catelog": "个人站", + "desc": "聚合实时新闻资讯的个人站点" + }, + { + "name": "微信公众号文章排版工具", + "url": "https://md.020417.xyz/", + "catelog": "个人站", + "desc": "辅助微信公众号文章排版的个人工具站" + }, + { + "name": "Alist网盘 个人网盘", + "url": "http://pan.lideshan.top/", + "catelog": "个人站", + "desc": "基于Alist搭建的个人网盘服务站" + }, + { + "name": "BrightData 国际代理服务商", + "url": "https://get.brightdata.com/17arn8", + "catelog": "国际代理", + "desc": "提供获奖代理网络与网页爬虫服务的平台" + }, + { + "name": "Smartproxy 国际代理服务商", + "url": "https://smartproxy.com/", + "catelog": "国际代理", + "desc": "提供海量高质量IP的国际代理服务平台" + }, + { + "name": "Oxylabs 国际代理服务商", + "url": "https://oxylabs.io/", + "catelog": "国际代理", + "desc": "提供住宅与数据中心代理IP的服务平台" + }, + { + "name": "Stormproxies 国际代理服务商", + "url": "https://stormproxies.com/", + "catelog": "国际代理", + "desc": "提供住宅旋转代理与专用代理的服务平台" + }, + { + "name": "Asocks 国际代理服务商", + "url": "https://asocks.com/", + "catelog": "国际代理", + "desc": "提供稳定住宅代理网络的服务平台" + }, + { + "name": "IPRoyal 国际代理服务商", + "url": "https://iproyal.com/", + "catelog": "国际代理", + "desc": "高性价比的国际代理IP服务平台" + }, + { + "name": "Ake 国际代理服务商", + "url": "https://ake.net/", + "catelog": "国际代理", + "desc": "提供移动、住宅与服务器代理IP的平台" + }, + { + "name": "WTFproxy 国际代理服务商", + "url": "https://www.wtfproxy.com/", + "catelog": "国际代理", + "desc": "低价旋转住宅代理服务平台,支持加密货币支付" + }, + { + "name": "ScrapingBee 网页爬虫服务平台", + "url": "https://scrapingbee.com/", + "catelog": "国际代理", + "desc": "提供网页爬虫服务的平台,支持免费试用" + }, + { + "name": "Rayobyte 国际代理服务商", + "url": "https://rayobyte.com/", + "catelog": "国际代理", + "desc": "提供海量数据采集所需代理IP的服务平台" + }, + { + "name": "Shifter 数据采集工具平台", + "url": "https://shifter.io/", + "catelog": "国际代理", + "desc": "提供住宅代理网络与数据爬虫API的平台" + }, + { + "name": "ScraperAPI 网页爬虫API平台", + "url": "https://www.scraperapi.com/", + "catelog": "国际代理", + "desc": "提供代理旋转与爬虫API的服务平台" + }, + { + "name": "sperm 逆向文章汇总项目", + "url": "https://github.com/darbra/sperm", + "catelog": "优质项目", + "desc": "汇总精彩JS逆向技术文章的开源项目" + }, + { + "name": "js_reverse JS逆向案例项目", + "url": "https://github.com/luzhisheng/js_reverse", + "catelog": "优质项目", + "desc": "包含多种JS逆向实战案例的开源项目" + }, + { + "name": "gospider Go语言爬虫框架", + "url": "https://github.com/baixudong007/gospider", + "catelog": "优质项目", + "desc": "助力Python爬虫开发者过渡到Go语言的框架" + }, + { + "name": "jsvmp-repository JSVMP算法汇总", + "url": "https://github.com/xiaoweigege/jsvmp-repository", + "catelog": "优质项目", + "desc": "汇总国内部分网站JSVMP算法的开源项目" + }, + { + "name": "NewsCrawl 企业级舆情爬虫项目", + "url": "https://github.com/casual-silva/NewsCrawl", + "catelog": "优质项目", + "desc": "支持定时任务与集群部署的开源舆情爬虫项目" + }, + { + "name": "Hydra Python爬虫实战项目", + "url": "https://github.com/HelloGitHub-Team/Hydra", + "catelog": "优质项目", + "desc": "包含实战案例的Python爬虫入门项目" + }, + { + "name": "JSpider JS逆向案例更新项目", + "url": "https://github.com/bytebuff/JSpider", + "catelog": "优质项目", + "desc": "每周更新网站JS解密案例的开源项目" + }, + { + "name": "PythonSpider JS逆向教程项目", + "url": "https://github.com/DingZaiHub/PythonSpider", + "catelog": "优质项目", + "desc": "包含JS逆向与加密算法教程的Python项目" + }, + { + "name": "webcrawler 硬核JS逆向项目", + "url": "https://github.com/chencchen/webcrawler", + "catelog": "优质项目", + "desc": "专注于硬核JS逆向技术的爬虫项目" + }, + { + "name": "awesome-reverse 逆向入门汇总项目", + "url": "https://github.com/AlienwareHe/awesome-reverse", + "catelog": "优质项目", + "desc": "包含JS与安卓逆向基础入门教程的汇总项目" + }, + { + "name": "Crack-JS-Spider JS反爬破解项目", + "url": "https://github.com/LoseNine/Crack-JS-Spider", + "catelog": "优质项目", + "desc": "专注于JS反爬加密参数破解的爬虫项目" + }, + { + "name": "InfoSpider 个人数据爬虫工具箱", + "url": "https://github.com/kangvcar/InfoSpider", + "catelog": "优质项目", + "desc": "帮助用户抓取个人数据的开源爬虫工具箱" + }, + { + "name": "learn_python3_spider Python爬虫教程项目", + "url": "https://github.com/wistbean/learn_python3_spider", + "catelog": "优质项目", + "desc": "从入门到进阶的Python爬虫学习教程项目" + }, + { + "name": "吾爱破解论坛 软件安全社区", + "url": "https://www.52pojie.cn/", + "catelog": "交流论坛", + "desc": "专注于软件安全与病毒分析的技术交流论坛" + }, + { + "name": "奇安信攻防社区 安全论坛", + "url": "https://forum.butian.net/", + "catelog": "交流论坛", + "desc": "奇安信旗下的网络安全攻防技术交流社区" + }, + { + "name": "飘云阁 软件安全论坛", + "url": "https://www.chinapyg.com/", + "catelog": "交流论坛", + "desc": "专注于软件安全与游戏外挂分析的技术论坛" + }, + { + "name": "精易论坛 易语言交流社区", + "url": "https://bbs.125.la/", + "catelog": "交流论坛", + "desc": "专注于易语言编程的技术交流论坛" + }, + { + "name": "乐易论坛 编程交流社区", + "url": "https://www.leybc.com/", + "catelog": "交流论坛", + "desc": "专注于易语言与APP逆向的技术交流论坛" + }, + { + "name": "CSDN爬虫逆向社区 技术论坛", + "url": "https://bbs.csdn.net/forums/lx", + "catelog": "交流论坛", + "desc": "CSDN旗下的爬虫与逆向技术交流社区" + }, + { + "name": "CSDN逆向安全社区 技术论坛", + "url": "https://bbs.csdn.net/forums/ReverseSecurity", + "catelog": "交流论坛", + "desc": "CSDN旗下的逆向与网络安全交流社区" + }, + { + "name": "The Web Scraping Club 国外爬虫社区", + "url": "https://substack.thewebscraping.club/", + "catelog": "国外论坛", + "desc": "国外专注于网页爬虫技术的交流社区" + }, + { + "name": "网洛者反反爬虫练习平台", + "url": "https://wangluozhe.com/", + "catelog": "练习平台", + "desc": "免费公开的反反爬虫技术实战练习平台" + }, + { + "name": "TLS指纹对抗练习平台", + "url": "https://tlsja3.cn/", + "catelog": "练习平台", + "desc": "专注于TLS指纹对抗技术的实战练习平台" + }, + { + "name": "Scrape Center 爬虫练习平台", + "url": "https://scrape.center/", + "catelog": "练习平台", + "desc": "《Python3网络爬虫开发实战》配套案例练习平台" + }, + { + "name": "镀金的天空 GlidedSky 爬虫闯关平台", + "url": "http://www.glidedsky.com/", + "catelog": "练习平台", + "desc": "提供爬虫在线闯关练习的技术平台" + }, + { + "name": "Web安全学习笔记 开源项目", + "url": "https://github.com/LyleMi/Learn-Web-Hacking", + "catelog": "网络安全", + "desc": "汇总Web安全学习笔记的开源项目" + }, + { + "name": "地址生成器 虚拟地址工具", + "url": "https://ad.020417.xyz/", + "catelog": "个人站", + "desc": "生成虚拟地址信息的个人工具站" + }, + { + "name": "短链接生成工具 个人站", + "url": "https://l.020417.xyz/", + "catelog": "个人站", + "desc": "将长链接转换为短链接的个人工具站" + }, + { + "name": "人生模拟器 娱乐工具站", + "url": "https://life.020417.xyz/", + "catelog": "个人站", + "desc": "模拟人生经历的娱乐性个人工具站" + }, + { + "name": "猿人学练习平台 爬虫实战平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "练习平台", + "desc": "专注于爬虫技术实战的练习平台" + }, + { + "name": "布谷TV 影视资源站", + "url": "https://www.bugutv.org/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "NT动漫 动漫资源站", + "url": "https://www.ntdm9.com/", + "catelog": "影视娱乐", + "desc": "专注于动漫资源的在线观看平台" + }, + { + "name": "音范丝 影视资源站", + "url": "https://www.yinfans.me/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源的在线播放平台" + }, + { + "name": "小纸条 资源分享站", + "url": "https://ali.gitcafe.ink/", + "catelog": "资源分享", + "desc": "分享各类资源的个人站点" + }, + { + "name": "阿里云盘资源站 资源分享平台", + "url": "https://myxiaozhan.net/", + "catelog": "资源分享", + "desc": "分享阿里云盘资源的平台" + }, + { + "name": "搜片 影视搜索平台", + "url": "https://soupian.one/", + "catelog": "影视娱乐", + "desc": "聚合影视资源的搜索平台" + }, + { + "name": "片库网 影视资源站", + "url": "https://www.zzldxny.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视资源的在线观看平台" + }, + { + "name": "耐看点播 影视资源站", + "url": "https://www.nkvod.com/", + "catelog": "影视娱乐", + "desc": "提供影视点播服务的在线平台" + }, + { + "name": "狸猫盘搜 网盘搜索平台", + "url": "https://www.alipansou.com/", + "catelog": "资源分享", + "desc": "搜索阿里云盘资源的平台" + }, + { + "name": "可可影视 影视资源站", + "url": "https://www.keke1.app/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "macOS-ISOs Mac系统镜像项目", + "url": "https://github.com/Pyenb/macOS-ISOs", + "catelog": "资源分享", + "desc": "汇总Mac OS系统镜像的开源项目" + } +] diff --git a/index.html b/index.html new file mode 100644 index 0000000..d429d78 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + + 导航卡片 + + +
+ + + diff --git a/link.json b/link.json new file mode 100644 index 0000000..c0c1495 --- /dev/null +++ b/link.json @@ -0,0 +1,2936 @@ +[ + { + "name": "爱壹帆影视网", + "url": "https://www.iyf.lv", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看与下载的影视平台" + }, + { + "name": "Kimivod影视资源站", + "url": "https://kimivod.com/", + "catelog": "影视娱乐", + "desc": "聚合各类影视内容的在线播放网站" + }, + { + "name": "BT影视资源网", + "url": "https://www.bttwo.me", + "catelog": "影视娱乐", + "desc": "以BT种子资源为主的影视下载与分享平台" + }, + { + "name": "胖虎影视网", + "url": "https://panghuys.com/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源在线观看的影视平台" + }, + { + "name": "华为吧影视网", + "url": "https://huaweiba.live", + "catelog": "影视娱乐", + "desc": "专注于影视资源聚合与播放的免费影视网站" + }, + { + "name": "七味道影视网", + "url": "https://www.qwavi.com/", + "catelog": "影视娱乐", + "desc": "提供多元化影视内容的在线观看平台" + }, + { + "name": "CMS暴风影视", + "url": "https://publish.bfzy.tv/", + "catelog": "影视娱乐", + "desc": "基于CMS系统搭建的影视资源分享平台" + }, + { + "name": "CMS非凡影视", + "url": "http://ffzy5.tv/", + "catelog": "影视娱乐", + "desc": "通过CMS系统提供影视资源在线播放的平台" + }, + { + "name": "CMS量子影视", + "url": "http://lzizy.net", + "catelog": "影视娱乐", + "desc": "依托CMS框架构建的影视资源聚合网站" + }, + { + "name": "CMS Good影视", + "url": "https://1080zyk6.com", + "catelog": "影视娱乐", + "desc": "专注于1080P高清影视资源的CMS影视平台" + }, + { + "name": "CMS牛牛影视", + "url": "https://niuniuzy.cc", + "catelog": "影视娱乐", + "desc": "以CMS为基础的影视资源在线播放网站" + }, + { + "name": "CMS OK影视", + "url": "https://okzyw.vip", + "catelog": "影视娱乐", + "desc": "基于CMS系统的影视资源分享与观看平台" + }, + { + "name": "CMS Zy5影视", + "url": "https://360zy5.com", + "catelog": "影视娱乐", + "desc": "通过CMS框架提供影视资源的在线平台" + }, + { + "name": "4KHDR超高清影视网", + "url": "https://www.4khdr.cn/", + "catelog": "影视娱乐", + "desc": "专注于4K HDR超高清画质的影视资源平台" + }, + { + "name": "Umami个人数据统计平台", + "url": "https://umami.lideshan.top/", + "catelog": "个人工具站", + "desc": "基于Umami搭建的轻量级网站访问数据统计分析工具" + }, + { + "name": "Docker自建加速站", + "url": "https://docker.020417.xyz", + "catelog": "个人工具站", + "desc": "个人搭建的Docker镜像加速服务平台" + }, + { + "name": "DockerHub加速工具", + "url": "https://github.com/dongyubin/DockerHub", + "catelog": "开发工具", + "desc": "用于加速DockerHub镜像拉取的开源工具项目" + }, + { + "name": "在线图片格式转换工具", + "url": "https://pic.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持多种图片格式在线转换的便捷工具" + }, + { + "name": "CTF在线工具平台", + "url": "https://ctf.020417.xyz/", + "catelog": "个人工具站", + "desc": "为CTF竞赛提供辅助工具的在线平台" + }, + { + "name": "多引擎搜索工具站", + "url": "https://search.020417.xyz/", + "catelog": "个人工具站", + "desc": "整合多平台搜索资源的一站式搜索工具" + }, + { + "name": "开发者备忘录工具", + "url": "https://dev.020417.xyz/", + "catelog": "个人工具站", + "desc": "面向开发者的在线备忘录与知识整理工具" + }, + { + "name": "Linux命令查询工具", + "url": "https://linux.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供Linux命令速查、用法解析的在线工具" + }, + { + "name": "Proxy代理外网访问工具", + "url": "https://proxy.020417.xyz/", + "catelog": "个人工具站", + "desc": "用于代理访问外网资源的个人工具平台" + }, + { + "name": "Hot热门榜单聚合站", + "url": "https://hot.020417.xyz/", + "catelog": "个人工具站", + "desc": "聚合各类热门资讯、榜单的信息展示平台" + }, + { + "name": "微信聊天记录生成器", + "url": "https://wx.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持模拟生成微信聊天记录的趣味工具" + }, + { + "name": "爱锭网爬虫练习平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "爬虫学习", + "desc": "猿人学旗下的爬虫技术实战练习平台" + }, + { + "name": "猿人学刷题平台", + "url": "https://match.yuanrenxue.cn/", + "catelog": "爬虫学习", + "desc": "专注于爬虫与逆向技术的在线刷题竞赛平台" + }, + { + "name": "AST代码解析工具", + "url": "https://astexplorer.net/", + "catelog": "开发工具", + "desc": "支持将JavaScript代码转换为AST抽象语法树的在线工具" + }, + { + "name": "程序员盒子工具平台", + "url": "https://www.coderutil.com/", + "catelog": "开发工具", + "desc": "聚合多种程序员常用工具与技术博文的资源平台" + }, + { + "name": "优设设计导航网", + "url": "https://hao.uisdc.com/", + "catelog": "设计资源", + "desc": "为设计师精选优质设计网站与资源的导航平台" + }, + { + "name": "奇迹秀设计资源网", + "url": "https://www.qijishow.com/", + "catelog": "设计资源", + "desc": "提供设计干货、灵感素材与工具的设计师资源平台" + }, + { + "name": "HiPPTer PPT设计平台", + "url": "https://www.hippter.com/", + "catelog": "设计资源", + "desc": "专注于PPT设计灵感、模板与技巧分享的平台" + }, + { + "name": "Seeseed设计灵感网", + "url": "https://www.seeseed.com/", + "catelog": "设计资源", + "desc": "为设计师提供创意灵感与设计资源的平台" + }, + { + "name": "菜鸟教程网", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供多编程语言基础教程的入门学习平台" + }, + { + "name": "CSDN技术社区", + "url": "https://www.csdn.net/", + "catelog": "编程学习", + "desc": "全球知名的中文IT技术交流与学习社区" + }, + { + "name": "掘金技术社区", + "url": "https://juejin.cn/", + "catelog": "编程学习", + "desc": "面向开发者的技术内容分享与成长社区" + }, + { + "name": "博客园开发者社区", + "url": "https://www.cnblogs.com/", + "catelog": "编程学习", + "desc": "专注于开发者知识分享的博客平台" + }, + { + "name": "React官方文档", + "url": "https://react.dev/", + "catelog": "前端开发", + "desc": "用于构建Web和原生用户界面的JavaScript库官方文档" + }, + { + "name": "Vue官方文档", + "url": "https://cn.vuejs.org/", + "catelog": "前端开发", + "desc": "渐进式JavaScript框架,适用于构建高效Web应用" + }, + { + "name": "MDN Web开发文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn", + "catelog": "前端开发", + "desc": "提供Web技术学习资源的权威开发者文档平台" + }, + { + "name": "吾爱破解论坛", + "url": "https://www.52pojie.cn/", + "catelog": "逆向工程", + "desc": "专注于软件安全与逆向工程技术的交流论坛" + }, + { + "name": "大眼仔旭资源站", + "url": "https://www.dayanzai.me/", + "catelog": "资源分享", + "desc": "分享软件、教程与办公资源的个人非盈利平台" + }, + { + "name": "爬虫工具箱平台", + "url": "https://spidertools.cn/#/", + "catelog": "爬虫工具", + "desc": "Feapder作者出品的一站式爬虫辅助工具集" + }, + { + "name": "K哥爬虫工具库", + "url": "https://www.kgtools.cn/", + "catelog": "爬虫工具", + "desc": "提供爬虫开发常用工具与资源的平台" + }, + { + "name": "Curl命令转换工具", + "url": "https://curlconverter.com/", + "catelog": "爬虫工具", + "desc": "将Curl命令转换为多语言代码的在线工具" + }, + { + "name": "在线加解密工具", + "url": "http://tool.chacuo.net/cryptdes", + "catelog": "爬虫工具", + "desc": "支持DES、AES、RSA等多种加密算法的在线工具" + }, + { + "name": "Carbon代码转图片工具", + "url": "https://carbon.now.sh/", + "catelog": "爬虫工具", + "desc": "将代码片段转换为精美图片的在线工具" + }, + { + "name": "Cookie搜索工具", + "url": "https://tools.digitalpoint.com/cookie-search", + "catelog": "爬虫工具", + "desc": "查询Cookie在各网站使用情况的在线工具" + }, + { + "name": "Charles抓包工具官网", + "url": "https://www.charlesproxy.com/", + "catelog": "爬虫工具", + "desc": "常用的HTTP/HTTPS网络抓包与调试工具" + }, + { + "name": "编程导航网", + "url": "https://www.code-nav.cn/", + "catelog": "网站导航", + "desc": "一站式编程资源搜索与开发者主页定制平台" + }, + { + "name": "维格表协作平台", + "url": "https://spcqwserdvymm.com.vika.cn/share/shryNwH3HRgvzMTaZVAGx/fodkuzz5eaw0w", + "catelog": "网站导航", + "desc": "团队数据协作与项目管理的在线工具" + }, + { + "name": "LKs推荐网站导航", + "url": "https://xiangjianan.gitee.io/lks/", + "catelog": "网站导航", + "desc": "B站博主LKs推荐的优质网站导航平台" + }, + { + "name": "iTab个性化新标签页", + "url": "https://www.itab.link/", + "catelog": "网站导航", + "desc": "支持个性化定制的卡片式浏览器新标签页工具" + }, + { + "name": "GitHub代码托管平台", + "url": "https://github.com/", + "catelog": "开发平台", + "desc": "全球最大的开源代码托管与协作开发平台" + }, + { + "name": "Gitee码云平台", + "url": "https://gitee.com/", + "catelog": "开发平台", + "desc": "基于Git的国产代码托管与协作开发平台" + }, + { + "name": "黑马程序员学习平台", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供IT技术培训课程与学习资源的平台" + }, + { + "name": "KuangStudy学习平台", + "url": "https://www.kuangstudy.com/", + "catelog": "编程学习", + "desc": "提供体系课程、博客专栏与技术论坛的学习平台" + }, + { + "name": "微信公众号平台", + "url": "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=2025719581", + "catelog": "开发平台", + "desc": "微信公众号的内容创作与管理后台" + }, + { + "name": "腾讯云平台", + "url": "https://cloud.tencent.com/", + "catelog": "云计算", + "desc": "提供云计算、云服务器等服务的科技平台" + }, + { + "name": "阿里云盘", + "url": "https://www.aliyundrive.com/drive/", + "catelog": "云计算", + "desc": "速度快、安全稳定的在线云存储服务" + }, + { + "name": "阿里云平台", + "url": "https://www.aliyun.com/", + "catelog": "云计算", + "desc": "提供全方位云计算服务与解决方案的平台" + }, + { + "name": "MyBatis官方文档", + "url": "https://mybatis.net.cn/getting-started.html", + "catelog": "开发文档", + "desc": "优秀的Java持久层框架官方学习文档" + }, + { + "name": "Maven仓库官网", + "url": "https://mvnrepository.com/", + "catelog": "开发工具", + "desc": "Java平台的项目构建与依赖管理仓库" + }, + { + "name": "互联网+大赛官网", + "url": "https://cy.ncss.cn/", + "catelog": "竞赛平台", + "desc": "推动互联网创新发展的全国性赛事平台" + }, + { + "name": "蓝桥杯大赛官网", + "url": "http://lx.lanqiao.cn/", + "catelog": "竞赛平台", + "desc": "全国软件和信息技术专业人才大赛官方平台" + }, + { + "name": "泰迪杯竞赛平台", + "url": "https://www.tipdm.org/", + "catelog": "竞赛平台", + "desc": "专注于数据挖掘的群众性科技竞赛平台" + }, + { + "name": "LeetCode刷题平台", + "url": "https://leetcode-cn.com/", + "catelog": "刷题平台", + "desc": "提升编程技能的算法刷题与面试准备平台" + }, + { + "name": "牛客网", + "url": "https://www.nowcoder.com/", + "catelog": "刷题平台", + "desc": "集笔面试、题库、招聘于一体的求职学习平台" + }, + { + "name": "PTA程序设计平台", + "url": "https://pintia.cn/home", + "catelog": "刷题平台", + "desc": "程序设计类实验辅助教学与刷题平台" + }, + { + "name": "AcWing刷题平台", + "url": "https://www.acwing.com/", + "catelog": "刷题平台", + "desc": "提供优质题解的程序员刷题与学习平台" + }, + { + "name": "Vercel部署平台", + "url": "https://vercel.com/", + "catelog": "前端开发", + "desc": "专注于Web应用快速构建与部署的平台" + }, + { + "name": "Netlify部署平台", + "url": "https://www.netlify.com/", + "catelog": "前端开发", + "desc": "提供Web应用托管与自动化部署的平台" + }, + { + "name": "Vue Router官方文档", + "url": "https://router.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "Vue.js官方路由管理工具文档" + }, + { + "name": "Pinia状态管理库", + "url": "https://pinia.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "适用于Vue.js的轻量级状态管理库" + }, + { + "name": "Element Plus组件库", + "url": "https://element-plus.org/zh-CN/", + "catelog": "前端开发", + "desc": "基于Vue3的企业级UI组件库" + }, + { + "name": "Node.js官方网站", + "url": "https://nodejs.cn/", + "catelog": "前端开发", + "desc": "跨平台的JavaScript运行时环境" + }, + { + "name": "Bun运行时工具", + "url": "https://bun.sh/", + "catelog": "前端开发", + "desc": "高性能的一体化JavaScript运行时与工具包" + }, + { + "name": "Nuxt框架官网", + "url": "https://nuxt.com/", + "catelog": "前端开发", + "desc": "基于Vue的高性能全栈Web应用框架" + }, + { + "name": "Supabase开源平台", + "url": "https://supabase.com/", + "catelog": "前端开发", + "desc": "开源的Firebase替代品,提供数据库与认证服务" + }, + { + "name": "Electron框架官网", + "url": "https://www.electronjs.org/zh/", + "catelog": "前端开发", + "desc": "使用JS、HTML、CSS构建跨平台桌面应用的框架" + }, + { + "name": "Webpack打包工具", + "url": "https://www.webpackjs.com/", + "catelog": "前端开发", + "desc": "现代JavaScript应用的静态模块打包工具" + }, + { + "name": "Chart.js图表库", + "url": "https://www.chartjs.org/", + "catelog": "前端开发", + "desc": "简单灵活的JavaScript数据可视化图表库" + }, + { + "name": "ECharts可视化库", + "url": "https://echarts.apache.org/zh/index.html", + "catelog": "前端开发", + "desc": "基于JavaScript的开源可视化图表库" + }, + { + "name": "Ant Design组件库", + "url": "https://ant.design/index-cn", + "catelog": "前端开发", + "desc": "基于React的企业级UI设计组件库" + }, + { + "name": "Boxy SVG编辑器", + "url": "https://boxy-svg.com", + "catelog": "设计工具", + "desc": "专业的SVG矢量图形在线编辑器" + }, + { + "name": "SVGRepo图标库", + "url": "https://www.svgrepo.com/", + "catelog": "设计资源", + "desc": "提供免费SVG矢量图标下载的资源平台" + }, + { + "name": "Anime.js动画库", + "url": "https://github.com/juliangarnier/anime/", + "catelog": "前端开发", + "desc": "轻量级的JavaScript动画库,支持CSS与SVG动画" + }, + { + "name": "AnimXYZ动画工具包", + "url": "https://github.com/ingram-projects/animxyz", + "catelog": "前端开发", + "desc": "可组合的CSS动画工具包" + }, + { + "name": "HelloGitHub开源平台", + "url": "https://hellogithub.com/", + "catelog": "开源项目", + "desc": "分享优质开源项目的社区平台" + }, + { + "name": "Awesome Spider爬虫项目", + "url": "https://github.com/facert/awesome-spider", + "catelog": "开源项目", + "desc": "GitHub上最全的爬虫案例汇总项目" + }, + { + "name": "MediaCMS媒体管理系统", + "url": "https://mediacms.io/", + "catelog": "开源项目", + "desc": "基于Python和React的开源视频媒体管理系统" + }, + { + "name": "Alnitak弹幕视频网站", + "url": "https://alnitak.interastral-peace.com/", + "catelog": "开源项目", + "desc": "前后端分离的开源弹幕视频网站项目" + }, + { + "name": "仿B站视频网站项目", + "url": "https://github.com/xunlu129/teriteri-client", + "catelog": "开源项目", + "desc": "基于SpringBoot和Vue开发的仿B站客户端项目" + }, + { + "name": "TensorFlow机器学习框架", + "url": "https://tensorflow.google.cn/tutorials/images/cnn?hl=zh_cn", + "catelog": "Python库", + "desc": "端到端开源机器学习平台与框架" + }, + { + "name": "Matplotlib绘图库", + "url": "https://matplotlib.org/stable/tutorials/index.html", + "catelog": "Python库", + "desc": "Python数据可视化绘图库官方文档" + }, + { + "name": "Matplotlib中文文档", + "url": "https://www.matplotlib.org.cn/tutorials/", + "catelog": "Python库", + "desc": "Matplotlib绘图库的中文学习文档" + }, + { + "name": "PySimpleGUI图形界面库", + "url": "https://github.com/PySimpleGUI/PySimpleGUI", + "catelog": "Python库", + "desc": "简单易用的Python图形用户界面开发库" + }, + { + "name": "Docker官方平台", + "url": "https://hub.docker.com/", + "catelog": "后端开发", + "desc": "应用容器化平台,简化应用构建与部署流程" + }, + { + "name": "SQLPub数据库测试平台", + "url": "https://www.sqlpub.com/", + "catelog": "后端开发", + "desc": "提供MySQL服务器测试服务的在线平台" + }, + { + "name": "百度翻译在线工具", + "url": "https://fanyi.baidu.com/", + "catelog": "实用工具", + "desc": "支持多语种的即时在线翻译工具" + }, + { + "name": "Fomepay虚拟卡平台", + "url": "https://gpt.fomepay.com/", + "catelog": "实用工具", + "desc": "提供虚拟卡服务的在线平台" + }, + { + "name": "ProcessOn在线协作工具", + "url": "https://www.processon.com/diagrams", + "catelog": "实用工具", + "desc": "支持流程图、思维导图的在线协作绘图工具" + }, + { + "name": "PearOCR文字识别工具", + "url": "https://pearocr.com/#/", + "catelog": "实用工具", + "desc": "免费的图片文字识别与校对工具" + }, + { + "name": "识文精灵OCR工具", + "url": "http://ocrwiz.com/", + "catelog": "实用工具", + "desc": "提供在线文字识别服务的云平台" + }, + { + "name": "iLovePDF PDF处理工具", + "url": "https://www.ilovepdf.com/zh-cn/word_to_pdf", + "catelog": "实用工具", + "desc": "支持PDF合并、拆分、转换的在线工具" + }, + { + "name": "UIGradients渐变色工具", + "url": "https://uigradients.com/#BackToEarth", + "catelog": "设计工具", + "desc": "提供精美渐变色方案的在线设计工具" + }, + { + "name": "JSON.cn解析工具", + "url": "https://www.json.cn/", + "catelog": "开发工具", + "desc": "轻量级JSON数据解析、格式化与验证工具" + }, + { + "name": "Gmail邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "Google提供的免费电子邮件服务" + }, + { + "name": "QQ邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "腾讯提供的免费电子邮件服务" + }, + { + "name": "网易163邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "网易提供的免费电子邮件服务" + }, + { + "name": "CODELF变量命名工具", + "url": "https://unbug.github.io/codelf/", + "catelog": "开发工具", + "desc": "帮助程序员生成规范变量名的在线工具" + }, + { + "name": "Remove.bg抠图工具", + "url": "https://www.remove.bg/zh/upload", + "catelog": "设计工具", + "desc": "AI智能一键去除图片背景的在线工具" + }, + { + "name": "QRBTF参数化二维码生成器", + "url": "https://qrbtf.com/", + "catelog": "实用工具", + "desc": "支持自定义参数的创意二维码生成工具" + }, + { + "name": "Pdai Java学习平台", + "url": "https://pdai.tech/", + "catelog": "学习文档", + "desc": "提供Java全栈知识体系的学习平台" + }, + { + "name": "W3school教程网", + "url": "https://www.w3school.com.cn/", + "catelog": "学习文档", + "desc": "全球最大的中文Web技术学习教程平台" + }, + { + "name": "良许Linux教程网", + "url": "https://www.lxlinux.net/", + "catelog": "学习文档", + "desc": "专注于Linux命令与Shell脚本的学习平台" + }, + { + "name": "MDN HTML学习文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn/HTML", + "catelog": "学习文档", + "desc": "HTML基础学习的权威开发者文档" + }, + { + "name": "Django Web框架", + "url": "https://www.djangoproject.com/", + "catelog": "Python库", + "desc": "高效的Python Web应用开发框架" + }, + { + "name": "Flask轻量级框架", + "url": "https://flask.palletsprojects.com/en/3.0.x/", + "catelog": "Python库", + "desc": "轻量级Python Web应用开发框架" + }, + { + "name": "FastAPI框架", + "url": "https://fastapi.tiangolo.com/", + "catelog": "Python库", + "desc": "高性能、易学习的Python API开发框架" + }, + { + "name": "Wallhaven壁纸网站", + "url": "https://wallhaven.cc/", + "catelog": "资源分享", + "desc": "提供高清无水印壁纸资源的分享平台" + }, + { + "name": "阿里矢量图标库", + "url": "https://www.iconfont.cn/", + "catelog": "设计资源", + "desc": "提供矢量图标下载与在线存储的平台" + }, + { + "name": "Python官方文档", + "url": "https://docs.python.org/", + "catelog": "开发文档", + "desc": "Python编程语言的官方权威文档" + }, + { + "name": "Golang官方文档", + "url": "https://go.dev/doc/", + "catelog": "开发文档", + "desc": "Go编程语言的官方学习文档" + }, + { + "name": "Java官方文档", + "url": "https://docs.oracle.com/en/java/", + "catelog": "开发文档", + "desc": "Java编程语言的官方权威文档" + }, + { + "name": "Python黑魔法手册", + "url": "https://magic.iswbm.com/", + "catelog": "开发文档", + "desc": "Python进阶技巧与黑科技学习手册" + }, + { + "name": "FastAPI官方文档", + "url": "https://fastapi.tiangolo.com/", + "catelog": "开发文档", + "desc": "FastAPI框架的官方学习文档" + }, + { + "name": "PM2守护进程管理器文档", + "url": "https://pm2.keymetrics.io/docs/usage/quick-start/", + "catelog": "开发文档", + "desc": "Node.js应用进程管理工具官方文档" + }, + { + "name": "MDN Web API文档", + "url": "https://developer.mozilla.org/docs/Web/API", + "catelog": "开发文档", + "desc": "Web API接口的权威参考文档" + }, + { + "name": "Android API参考文档", + "url": "https://developer.android.com/reference", + "catelog": "开发文档", + "desc": "Android开发API的官方参考文档" + }, + { + "name": "NodeJS官方文档", + "url": "https://nodejs.org/api/", + "catelog": "开发文档", + "desc": "Node.js运行时的官方API参考文档" + }, + { + "name": "Frida官方文档", + "url": "https://frida.re/docs/", + "catelog": "开发文档", + "desc": "动态插桩工具Frida的官方学习文档" + }, + { + "name": "ADB Shell命令手册", + "url": "https://adbshell.com/", + "catelog": "开发文档", + "desc": "Android ADB命令的速查手册" + }, + { + "name": "Linux Cool命令手册", + "url": "https://www.linuxcool.com/", + "catelog": "开发文档", + "desc": "Linux命令速查与用法解析平台" + }, + { + "name": "Babel官方文档", + "url": "https://babel.dev/docs/", + "catelog": "开发文档", + "desc": "JavaScript代码转译工具Babel的官方文档" + }, + { + "name": "Easing Functions缓动函数表", + "url": "https://easings.net/", + "catelog": "开发文档", + "desc": "提供动画缓动函数参考的在线平台" + }, + { + "name": "Pandas官方文档", + "url": "https://pandas.pydata.org/docs/", + "catelog": "开发文档", + "desc": "Python数据分析库Pandas的官方文档" + }, + { + "name": "NumPy官方文档", + "url": "https://numpy.org/", + "catelog": "开发文档", + "desc": "Python科学计算库NumPy的官方文档" + }, + { + "name": "Matplotlib官方文档", + "url": "https://matplotlib.org/", + "catelog": "开发文档", + "desc": "Python绘图库Matplotlib的官方文档" + }, + { + "name": "QuickRef速查手册", + "url": "https://quickref.me/", + "catelog": "开发文档", + "desc": "编程语言与工具的快速参考手册平台" + }, + { + "name": "Prometheus官方文档", + "url": "https://prometheus.io/docs/", + "catelog": "开发文档", + "desc": "开源监控系统Prometheus的官方文档" + }, + { + "name": "Docker官方文档", + "url": "https://docs.docker.com/", + "catelog": "开发文档", + "desc": "Docker容器化平台的官方学习文档" + }, + { + "name": "PyCharm中文指南", + "url": "https://pycharm.iswbm.com/", + "catelog": "开发文档", + "desc": "PyCharm编辑器的中文使用指南" + }, + { + "name": "Common Regex正则库", + "url": "https://github.com/cdoco/common-regex", + "catelog": "开发工具", + "desc": "常用正则表达式汇总的开源项目" + }, + { + "name": "哔哩哔哩", + "url": "https://www.bilibili.com/", + "catelog": "影视娱乐", + "desc": "中国年轻世代高度聚集的文化社区和视频平台" + }, + { + "name": "腾讯视频", + "url": "https://v.qq.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视、综艺、动漫资源的在线视频平台" + }, + { + "name": "爱奇艺", + "url": "https://www.iqiyi.com/", + "catelog": "影视娱乐", + "desc": "综合型在线视频媒体平台" + }, + { + "name": "QQ音乐", + "url": "https://y.qq.com/", + "catelog": "影视娱乐", + "desc": "腾讯推出的在线音乐服务平台" + }, + { + "name": "网易云音乐", + "url": "https://music.163.com/", + "catelog": "影视娱乐", + "desc": "专注于音乐发现与分享的社区平台" + }, + { + "name": "IP定位查询工具", + "url": "https://ip.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供IP地址查询服务的API工具" + }, + { + "name": "httpbin请求测试工具", + "url": "https://www.httpbin.org/", + "catelog": "开发工具", + "desc": "HTTP请求与响应测试的在线服务" + }, + { + "name": "icanhazip IP查询工具", + "url": "https://icanhazip.com/", + "catelog": "开发工具", + "desc": "快速查询当前公网IP地址的在线工具" + }, + { + "name": "cip.cc IP查询工具", + "url": "https://www.cip.cc/", + "catelog": "开发工具", + "desc": "支持多平台的IP地址查询服务" + }, + { + "name": "乱码在线恢复工具", + "url": "http://www.mytju.com/classcode/tools/messyCodeRecover.asp", + "catelog": "开发工具", + "desc": "在线恢复乱码文本的实用工具" + }, + { + "name": "在线图片坐标拾取工具", + "url": "https://uutool.cn/img-coord/", + "catelog": "开发工具", + "desc": "用于拾取图片坐标的工具,适用于验证码逆向" + }, + { + "name": "Fiddler抓包工具官网", + "url": "https://www.telerik.com/fiddler", + "catelog": "抓包工具", + "desc": "Windows平台常用的HTTP抓包与调试工具" + }, + { + "name": "Wireshark抓包工具官网", + "url": "https://www.wireshark.org/", + "catelog": "抓包工具", + "desc": "开源的网络协议分析与抓包工具" + }, + { + "name": "Reqable抓包工具官网", + "url": "https://reqable.com/", + "catelog": "抓包工具", + "desc": "支持HTTP1/2/3的全平台API调试与抓包工具" + }, + { + "name": "Burp Suite渗透测试工具", + "url": "https://portswigger.net/burp", + "catelog": "抓包工具", + "desc": "用于Web应用安全测试的集成平台" + }, + { + "name": "mitmproxy抓包工具", + "url": "https://mitmproxy.org/", + "catelog": "抓包工具", + "desc": "支持SSL/TLS的交互式拦截代理工具" + }, + { + "name": "Http Debugger抓包工具", + "url": "https://www.httpdebugger.com/", + "catelog": "抓包工具", + "desc": "简洁易用的HTTP抓包与调试工具" + }, + { + "name": "Proxyman抓包工具", + "url": "https://proxyman.io/", + "catelog": "抓包工具", + "desc": "MacOS平台优秀的抓包与调试工具" + }, + { + "name": "Stream iOS抓包工具", + "url": "https://apps.apple.com/cn/app/stream/id1312141691", + "catelog": "抓包工具", + "desc": "iOS设备端独立运行的网络抓包工具" + }, + { + "name": "Drony代理管理工具", + "url": "https://play.google.com/store/apps/details?id=org.sandrob.drony", + "catelog": "抓包工具", + "desc": "移动设备代理管理工具" + }, + { + "name": "Tcpdump抓包工具", + "url": "https://www.tcpdump.org/", + "catelog": "抓包工具", + "desc": "命令行式的网络数据包捕获工具" + }, + { + "name": "r0capture安卓抓包脚本", + "url": "https://github.com/r0ysue/r0capture", + "catelog": "抓包工具", + "desc": "安卓应用层抓包通杀脚本" + }, + { + "name": "eCapture明文捕获工具", + "url": "https://ecapture.cc/", + "catelog": "抓包工具", + "desc": "基于eBPF技术的TLS加密明文捕获工具" + }, + { + "name": "Postman API调试工具", + "url": "https://www.postman.com/", + "catelog": "接口调试", + "desc": "用于API开发、测试与文档管理的平台" + }, + { + "name": "Hoppscotch API工具", + "url": "https://hoppscotch.io/", + "catelog": "接口调试", + "desc": "开源轻量级的Web API管理工具" + }, + { + "name": "Apipost接口调试平台", + "url": "https://www.apipost.cn/", + "catelog": "接口调试", + "desc": "集API设计、调试、文档于一体的协同平台" + }, + { + "name": "Apifox接口管理平台", + "url": "https://apifox.com/", + "catelog": "接口调试", + "desc": "提升API开发效率的全流程管理平台" + }, + { + "name": "Eolink API管理平台", + "url": "https://www.eolink.com/", + "catelog": "接口调试", + "desc": "一站式API全生命周期管理解决方案平台" + }, + { + "name": "Crawlab爬虫管理平台", + "url": "https://www.crawlab.cn/", + "catelog": "监控管理", + "desc": "支持多语言的分布式爬虫管理平台" + }, + { + "name": "Feapder爬虫框架", + "url": "https://feapder.com/", + "catelog": "监控管理", + "desc": "轻量级Python爬虫框架,支持分布式与监控" + }, + { + "name": "Gerapy爬虫管理框架", + "url": "https://github.com/Gerapy/Gerapy", + "catelog": "监控管理", + "desc": "基于Scrapy的分布式爬虫管理框架" + }, + { + "name": "Scrapyd爬虫服务", + "url": "https://github.com/scrapy/scrapyd", + "catelog": "监控管理", + "desc": "运行Scrapy爬虫的服务端工具" + }, + { + "name": "ScrapydWeb管理工具", + "url": "https://github.com/my8100/scrapydweb", + "catelog": "监控管理", + "desc": "Scrapyd集群的Web管理工具" + }, + { + "name": "Kubernetes容器编排平台", + "url": "https://kubernetes.io/", + "catelog": "监控管理", + "desc": "自动化部署、扩展和管理容器化应用的系统" + }, + { + "name": "Prometheus监控系统", + "url": "https://prometheus.io/", + "catelog": "监控管理", + "desc": "开源的系统监控与告警工具包" + }, + { + "name": "Grafana可视化平台", + "url": "https://grafana.com/", + "catelog": "监控管理", + "desc": "开源的数据可视化与监控分析平台" + }, + { + "name": "SmsForwarder短信转发器", + "url": "https://github.com/pppscn/SmsForwarder", + "catelog": "其他工具", + "desc": "安卓短信、来电通知转发工具" + }, + { + "name": "Notepad--文本编辑器", + "url": "https://github.com/cxasm/notepad--", + "catelog": "其他工具", + "desc": "支持多平台的开源文本编辑器" + }, + { + "name": "Snipaste截图工具", + "url": "https://www.snipaste.com/", + "catelog": "其他工具", + "desc": "简单强大的截图与贴图工具" + }, + { + "name": "FastStone Capture截图工具", + "url": "https://www.faststone.org/FSCaptureDetail.htm", + "catelog": "其他工具", + "desc": "功能齐全的屏幕捕获与录像工具" + }, + { + "name": "FontCreator字体编辑软件", + "url": "https://www.high-logic.com/font-editor/fontcreator", + "catelog": "其他工具", + "desc": "专业的字体编辑软件,适用于逆向分析" + }, + { + "name": "简悦 SimpRead阅读工具", + "url": "https://simpread.pro/", + "catelog": "其他工具", + "desc": "沉浸式网页阅读的Chrome扩展工具" + }, + { + "name": "Save as PDF网页转PDF工具", + "url": "https://pdfcrowd.com/save-as-pdf-addon/", + "catelog": "其他工具", + "desc": "将网页转换为PDF文件的工具" + }, + { + "name": "Tampermonkey油猴插件", + "url": "https://www.tampermonkey.net/", + "catelog": "效率工具", + "desc": "自定义网页功能的浏览器用户脚本管理器" + }, + { + "name": "v_jstools JS调试插件", + "url": "https://github.com/cilame/v_jstools", + "catelog": "效率工具", + "desc": "用于JS代码调试与逆向的浏览器插件" + }, + { + "name": "ReRes资源映射工具", + "url": "https://github.com/annnhan/ReRes", + "catelog": "效率工具", + "desc": "将远程资源映射到本地的浏览器插件" + }, + { + "name": "chrome-wasm-debugger调试工具", + "url": "https://github.com/itszn/chrome-wasm-debugger", + "catelog": "效率工具", + "desc": "调试WASM模块的Chrome扩展工具" + }, + { + "name": "FeHelper开发者助手", + "url": "https://www.baidufe.com/fehelper/", + "catelog": "效率工具", + "desc": "集成JSON格式化、编解码等功能的开发者工具" + }, + { + "name": "Header自定义工具", + "url": "https://chrome.google.com/webstore/detail/header%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7/maaccnhcoaehdeehahenkmchinbdjjmi", + "catelog": "效率工具", + "desc": "自定义HTTP请求头的Chrome插件" + }, + { + "name": "ModHeader请求头修改工具", + "url": "https://modheader.com/", + "catelog": "效率工具", + "desc": "修改HTTP请求头与响应头的工具" + }, + { + "name": "Proxy SwitchyOmega代理工具", + "url": "https://github.com/FelisCatus/SwitchyOmega", + "catelog": "效率工具", + "desc": "浏览器代理设置管理工具" + }, + { + "name": "SelectorGadget选择器工具", + "url": "https://selectorgadget.com/", + "catelog": "效率工具", + "desc": "生成CSS选择器的在线工具" + }, + { + "name": "Trace网站分析工具", + "url": "https://github.com/L018/Trace", + "catelog": "效率工具", + "desc": "用于网站分析与JS逆向的Chrome扩展" + }, + { + "name": "webHook JS反调试工具", + "url": "https://github.com/valuespider/webHookTools", + "catelog": "效率工具", + "desc": "JS反调试与逆向辅助工具" + }, + { + "name": "XPath Helper XPath工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl", + "catelog": "效率工具", + "desc": "提取与评估XPath查询的Chrome插件" + }, + { + "name": "XPath Helper Plus工具", + "url": "https://github.com/mic1on/xpath-helper-plus", + "catelog": "效率工具", + "desc": "增强版XPath开发者工具" + }, + { + "name": "XPath Helper Wizard工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper-wizard/jadhpggafkbmpdpmpgigopmodldgfcki", + "catelog": "效率工具", + "desc": "快速生成稳定XPath的工具" + }, + { + "name": "Scraping Helper爬虫工具", + "url": "https://github.com/huangwc94/scraping-helper-chrome-extension", + "catelog": "效率工具", + "desc": "生成HTML选择命令的爬虫辅助工具" + }, + { + "name": "Fiddler编程猫插件", + "url": "https://pan.baidu.com/s/1GFJhq-AqFxty4DOrkjSuLA?pwd=sbox", + "catelog": "效率工具", + "desc": "Fiddler抓包工具的编程猫专用插件" + }, + { + "name": "prophet JS AST工具", + "url": "https://github.com/456vv/prophet", + "catelog": "效率工具", + "desc": "JS AST分析与逆向快速定位工具" + }, + { + "name": "GeneralNewsExtractor新闻抽取器", + "url": "https://github.com/GeneralNewsExtractor/GeneralNewsExtractor", + "catelog": "效率工具", + "desc": "新闻网页正文通用抽取工具" + }, + { + "name": "Newspaper文章提取库", + "url": "https://github.com/codelucas/newspaper", + "catelog": "效率工具", + "desc": "Python新闻文章与元数据提取库" + }, + { + "name": "Diffbot智能解析工具", + "url": "https://www.diffbot.com/", + "catelog": "效率工具", + "desc": "AI驱动的网页内容智能解析平台" + }, + { + "name": "fake-useragent用户代理库", + "url": "https://github.com/fake-useragent/fake-useragent", + "catelog": "效率工具", + "desc": "生成伪造User-Agent的Python库" + }, + { + "name": "JSREI逆向工具集", + "url": "https://github.com/JSREI", + "catelog": "效率工具", + "desc": "JavaScript逆向工程工具集合" + }, + { + "name": "js-hook-framework Hook工具", + "url": "https://github.com/JSREI/crawler-js-hook-framework-public", + "catelog": "效率工具", + "desc": "JS逆向Hook工具集,封装为油猴脚本" + }, + { + "name": "PyExecJS JS运行库", + "url": "https://github.com/doloopwhile/PyExecJS", + "catelog": "调试运行", + "desc": "在Python中运行JavaScript代码的库" + }, + { + "name": "PythonMonkey JS引擎", + "url": "https://github.com/Distributive-Network/PythonMonkey", + "catelog": "调试运行", + "desc": "嵌入Python的Mozilla SpiderMonkey JS引擎" + }, + { + "name": "PyMiniRacer V8桥接器", + "url": "https://github.com/sqreen/PyMiniRacer", + "catelog": "调试运行", + "desc": "Python与V8引擎的桥接库" + }, + { + "name": "bestV8 JS逆向工具", + "url": "https://github.com/BestToYou/bestV8_release", + "catelog": "调试运行", + "desc": "用于运行JS代码的逆向工具" + }, + { + "name": "pybestV8 Python版本工具", + "url": "https://github.com/wangluozhe/pybestV8", + "catelog": "调试运行", + "desc": "bestV8工具的Python版本" + }, + { + "name": "Js2Py JS转Python库", + "url": "https://github.com/PiotrDabkowski/Js2Py", + "catelog": "调试运行", + "desc": "将JavaScript代码转换为Python代码的库" + }, + { + "name": "vm2 Node.js虚拟机", + "url": "https://github.com/patriksimek/vm2", + "catelog": "调试运行", + "desc": "Node.js的高级虚拟机与沙箱工具" + }, + { + "name": "vthread Python多线程库", + "url": "https://github.com/cilame/vthread", + "catelog": "调试运行", + "desc": "简化Python多线程编程的库" + }, + { + "name": "精易编程助手", + "url": "http://soft.125.la/plugin.php?id=jingyi_soft:soft&cid=3", + "catelog": "调试运行", + "desc": "易语言编程辅助工具" + }, + { + "name": "乐易编程助手", + "url": "https://www.leybc.com/thread-7123-1-1.html", + "catelog": "调试运行", + "desc": "易语言与火山PC编程辅助工具" + }, + { + "name": "WT-JS调试工具", + "url": "https://bbs.125.la/thread-14734668-1-1.html", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "JSDebugger调试工具", + "url": "https://pan.baidu.com/s/1dDgCV61DTyFKvO01qvtgqA?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "鬼鬼JS调试工具", + "url": "https://pan.baidu.com/s/1i5O-RrsHCgBmQCSXplR5sg?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "发条JS调试工具", + "url": "https://pan.baidu.com/s/1RSGT3lneb_pmFhvyuofT2w?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "随缘JS调试工具", + "url": "https://pan.baidu.com/s/18XmJwP2MZI9jZibS8tqw-Q?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "小七编程助手", + "url": "https://pan.baidu.com/s/1S_u2Jr5eMGoW88sCR5coUw?pwd=sbox", + "catelog": "调试运行", + "desc": "编程辅助与调试工具" + }, + { + "name": "OB在线代码混淆工具", + "url": "https://www.obfuscator.io/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线混淆工具" + }, + { + "name": "JSVMP在线混淆工具", + "url": "https://jsvmp.com/", + "catelog": "代码混淆", + "desc": "JavaScript代码虚拟化混淆工具" + }, + { + "name": "JS盾代码加固工具", + "url": "https://jsvmp.net/", + "catelog": "代码混淆", + "desc": "JavaScript代码动态混淆加壳工具" + }, + { + "name": "facelessJsvmp虚拟化工具", + "url": "https://github.com/Alanhays/facelessJsvmp", + "catelog": "代码混淆", + "desc": "JS代码虚拟化保护开源项目" + }, + { + "name": "cy_jsvmp混淆工具", + "url": "https://github.com/2833844911/cy_jsvmp", + "catelog": "代码混淆", + "desc": "JSVMP代码混淆工具实现项目" + }, + { + "name": "Deobfuscate在线反混淆工具", + "url": "https://deobfuscate.io/", + "catelog": "代码混淆", + "desc": "支持OB混淆的JavaScript反混淆工具" + }, + { + "name": "李玺JS在线解混淆工具", + "url": "http://www.cnlans.com:8887/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线解混淆工具" + }, + { + "name": "de4js在线解混淆工具", + "url": "https://lelinhtinh.github.io/de4js/", + "catelog": "代码混淆", + "desc": "支持多种混淆方式的JS解混淆工具" + }, + { + "name": "decode-js代码净化工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于AST的JavaScript代码净化工具" + }, + { + "name": "jsjiemi代码解密工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于正则的JavaScript代码解密工具" + }, + { + "name": "ast_tools AST工具库", + "url": "https://github.com/sml2h3/ast_tools", + "catelog": "代码混淆", + "desc": "基于Babel的AST混淆还原工具" + }, + { + "name": "ob-decrypt混淆还原工具", + "url": "https://github.com/DingZaiHub/ob-decrypt", + "catelog": "代码混淆", + "desc": "OB混淆代码还原工具" + }, + { + "name": "r0chrome定制浏览器", + "url": "https://github.com/daisixuan/r0chrome", + "catelog": "指纹相关", + "desc": "支持随机指纹的定制Chromium浏览器" + }, + { + "name": "requests-go请求库", + "url": "https://github.com/wangluozhe/requests-go", + "catelog": "指纹相关", + "desc": "支持TLS指纹修改的Go语言HTTP请求库" + }, + { + "name": "curl_cffi请求库", + "url": "https://github.com/yifeikong/curl_cffi", + "catelog": "指纹相关", + "desc": "支持JA3指纹模拟的Python请求库" + }, + { + "name": "tls-client请求库", + "url": "https://github.com/FlorianREGAZ/Python-Tls-Client", + "catelog": "指纹相关", + "desc": "支持TLS指纹的Python HTTP库" + }, + { + "name": "pyhttpx网络库", + "url": "https://github.com/zero3301/pyhttpx", + "catelog": "指纹相关", + "desc": "支持TLS1.2/1.3的Python网络库" + }, + { + "name": "gospider爬虫库", + "url": "https://github.com/baixudong007/gospider", + "catelog": "指纹相关", + "desc": "支持JA3指纹的Go语言爬虫库" + }, + { + "name": "CycleTLS指纹库", + "url": "https://github.com/Danny-Dasilva/CycleTLS", + "catelog": "指纹相关", + "desc": "模拟TLS/JA3指纹的库" + }, + { + "name": "CreepJS浏览器指纹检测", + "url": "https://abrahamjuliot.github.io/creepjs/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测工具" + }, + { + "name": "Fp-Collect指纹检测", + "url": "https://arh.antoinevastel.com/bots/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测平台" + }, + { + "name": "AntiBot无头检测工具", + "url": "https://bot.sannysoft.com/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Detect Headless检测工具", + "url": "https://infosimples.github.io/detect-headless/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Bot/Headless检测工具", + "url": "https://bot.incolumitas.com/", + "catelog": "指纹相关", + "desc": "机器人与无头浏览器检测平台" + }, + { + "name": "TCP/IP Fingerprint API", + "url": "https://tcpip.incolumitas.com/classify?detail=1", + "catelog": "指纹相关", + "desc": "TCP/IP指纹查询API" + }, + { + "name": "IP Address API", + "url": "https://api.incolumitas.com/", + "catelog": "指纹相关", + "desc": "IP地址信息查询API" + }, + { + "name": "Proxy/VPN Detection检测工具", + "url": "https://bot.incolumitas.com/proxy_detect.html", + "catelog": "指纹相关", + "desc": "代理与VPN实时代理检测工具" + }, + { + "name": "Browser Leaks隐私检测工具", + "url": "https://browserleaks.com/", + "catelog": "指纹相关", + "desc": "浏览器隐私与安全检测平台" + }, + { + "name": "Pixelscan机器人检测工具", + "url": "https://pixelscan.net/", + "catelog": "指纹相关", + "desc": "互联网机器人检测工具" + }, + { + "name": "Fake Vision浏览器检测器", + "url": "http://f.vision/", + "catelog": "指纹相关", + "desc": "新一代浏览器指纹检测工具" + }, + { + "name": "TLSJA3指纹API", + "url": "https://tlsja3.cn/tls", + "catelog": "指纹相关", + "desc": "TLS指纹查询API平台" + }, + { + "name": "TrackMe - fp API 指纹工具", + "url": "https://tls.peet.ws/", + "catelog": "指纹相关", + "desc": "提供TLS指纹查询服务的API平台" + }, + { + "name": "qxVm JS补环境框架", + "url": "https://github.com/ylw00/qxVm", + "catelog": "环境框架", + "desc": "纯JavaScript实现的JS逆向补环境框架" + }, + { + "name": "catvm JS逆向环境框架", + "url": "https://github.com/fanchangrui/catvm", + "catelog": "环境框架", + "desc": "基于志远思路实现的JS逆向补环境框架" + }, + { + "name": "node-sandbox 魔改Node环境", + "url": "https://github.com/bnmgh1/node-sandbox", + "catelog": "环境框架", + "desc": "魔改Node.js搭建的JS逆向补环境框架" + }, + { + "name": "boda_jsEnv JS补环境框架", + "url": "https://github.com/xuxiaobo-bobo/boda_jsEnv", + "catelog": "环境框架", + "desc": "轻量级JavaScript逆向补环境解决方案" + }, + { + "name": "catvm 志远配套版环境框架", + "url": "https://github.com/Big1moster/catvm", + "catelog": "环境框架", + "desc": "志远JS逆向补环境框架视频配套完结版本" + }, + { + "name": "Sekiro RPC远程调用框架", + "url": "https://github.com/yint-tech/sekiro-open", + "catelog": "自动化RPC", + "desc": "用于实现跨语言远程调用的RPC框架" + }, + { + "name": "JsRpc 逆向远程调用工具", + "url": "https://github.com/jxhczhl/JsRpc", + "catelog": "自动化RPC", + "desc": "JS逆向免抠代码的远程调用解决方案" + }, + { + "name": "Selenium 浏览器自动化框架", + "url": "https://www.selenium.dev/", + "catelog": "自动化RPC", + "desc": "支持多浏览器的Web自动化测试与爬虫框架" + }, + { + "name": "PhantomJS 无头浏览器", + "url": "https://phantomjs.org/", + "catelog": "自动化RPC", + "desc": "可脚本控制的无头Web浏览器,已停止维护" + }, + { + "name": "Pyppeteer Python无头浏览器库", + "url": "https://github.com/pyppeteer/pyppeteer", + "catelog": "自动化RPC", + "desc": "Puppeteer的Python版本,用于无头浏览器自动化" + }, + { + "name": "Puppeteer Node.js自动化库", + "url": "https://github.com/puppeteer/puppeteer", + "catelog": "自动化RPC", + "desc": "Node.js控制Chrome/Chromium的高级API库" + }, + { + "name": "Playwright 跨浏览器自动化框架", + "url": "https://playwright.dev/", + "catelog": "自动化RPC", + "desc": "微软开源的跨浏览器Web自动化测试工具" + }, + { + "name": "Splash JavaScript渲染服务", + "url": "https://github.com/scrapinghub/splash", + "catelog": "自动化RPC", + "desc": "带有HTTP API的轻量级JavaScript渲染服务" + }, + { + "name": "Appium 移动端自动化框架", + "url": "https://appium.io/", + "catelog": "自动化RPC", + "desc": "开源的移动端APP自动化测试框架" + }, + { + "name": "Airtest 跨平台UI自动化框架", + "url": "https://airtest.netease.com/", + "catelog": "自动化RPC", + "desc": "适用于游戏和APP的跨平台UI自动化测试框架" + }, + { + "name": "DrissionPage Python网页自动化工具", + "url": "https://github.com/g1879/DrissionPage", + "catelog": "自动化RPC", + "desc": "兼顾浏览器自动化与数据包收发的Python爬虫工具" + }, + { + "name": "Undetected Chromedriver 防检测驱动", + "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver", + "catelog": "自动化RPC", + "desc": "规避反爬检测的优化版Selenium Chromedriver" + }, + { + "name": "stealth.min.js 自动化特征隐藏脚本", + "url": "https://github.com/berstend/puppeteer-extra/tree/master/packages/extract-stealth-evasions", + "catelog": "自动化RPC", + "desc": "注入JavaScript隐藏自动化框架特征的脚本" + }, + { + "name": "magical_spider 通用爬虫方案", + "url": "https://github.com/lixi5338619/magical_spider", + "catelog": "自动化RPC", + "desc": "适用于多数Web站点的通用爬虫采集方案" + }, + { + "name": "Chrome for Testing 驱动下载站", + "url": "https://googlechromelabs.github.io/chrome-for-testing/", + "catelog": "自动化RPC", + "desc": "获取各版本ChromeDriver的官方下载平台" + }, + { + "name": "ChromeDriver 官方下载页面", + "url": "https://chromedriver.storage.googleapis.com/index.html", + "catelog": "自动化RPC", + "desc": "全版本ChromeDriver驱动程序下载站点" + }, + { + "name": "GeckoDriver 火狐浏览器驱动", + "url": "https://github.com/mozilla/geckodriver", + "catelog": "自动化RPC", + "desc": "控制Firefox浏览器的WebDriver驱动程序" + }, + { + "name": "fakebrowser 指纹伪造工具", + "url": "https://github.com/kkoooqq/fakebrowser", + "catelog": "自动化RPC", + "desc": "伪造浏览器指纹并模拟真人操作的爬虫工具" + }, + { + "name": "UI Automator 2 Python库", + "url": "https://github.com/openatx/uiautomator2", + "catelog": "自动化RPC", + "desc": "Python版本的Android自动化测试框架" + }, + { + "name": "AutoJS6 Android自动化工具", + "url": "https://github.com/SuperMonster003/AutoJs6", + "catelog": "自动化RPC", + "desc": "基于无障碍服务的Android JavaScript自动化工具" + }, + { + "name": "FRIDA-DEXDump 一键脱壳工具", + "url": "https://github.com/hluwa/frida-dexdump", + "catelog": "脱壳工具", + "desc": "基于Frida的Android应用一键脱壳工具" + }, + { + "name": "dumpDex Xposed脱壳工具", + "url": "https://github.com/WrBug/dumpDex", + "catelog": "脱壳工具", + "desc": "需要Xposed支持的Android应用脱壳工具" + }, + { + "name": "FART ART环境脱壳方案", + "url": "https://github.com/hanbinglengyue/FART", + "catelog": "脱壳工具", + "desc": "ART运行环境下的Android应用自动化脱壳方案" + }, + { + "name": "DeveloperHelper 安卓开发助手", + "url": "https://github.com/WrBug/DeveloperHelper", + "catelog": "脱壳工具", + "desc": "集成界面分析、加固脱壳的Android开发辅助工具" + }, + { + "name": "BlackDex 免ROOT脱壳工具", + "url": "https://github.com/CodingGay/BlackDex", + "catelog": "脱壳工具", + "desc": "支持Android 5.0-12免ROOT的APK脱壳工具" + }, + { + "name": "Xposed 安卓Hook框架", + "url": "https://github.com/rovo89/Xposed", + "catelog": "Hook工具", + "desc": "无需修改APK即可注入代码的Android Hook框架" + }, + { + "name": "JustTrustMe SSL绕过工具", + "url": "https://github.com/Fuzion24/JustTrustMe", + "catelog": "Hook工具", + "desc": "基于Xposed绕过SSL Pinning检测的工具" + }, + { + "name": "Frida 动态插桩工具", + "url": "https://github.com/frida/frida", + "catelog": "Hook工具", + "desc": "动态插桩并修改应用行为的跨平台逆向工具" + }, + { + "name": "Inspeckage Xposed动态分析工具", + "url": "https://github.com/ac-pm/Inspeckage", + "catelog": "Hook工具", + "desc": "Hook常见加密方法的Android动态分析工具" + }, + { + "name": "lamda 安卓抓包神器", + "url": "https://github.com/rev1si0n/lamda", + "catelog": "Hook工具", + "desc": "集成多种功能的Android抓包与逆向工具" + }, + { + "name": "fridaUiTools 脚本管理工具", + "url": "https://github.com/dqzg12300/fridaUiTools", + "catelog": "Hook工具", + "desc": "可视化管理Frida脚本的辅助工具" + }, + { + "name": "Android Crack Tool 逆向工具集", + "url": "https://github.com/Jermic/Android-Crack-Tool", + "catelog": "APP反编译", + "desc": "Mac平台下的Android应用逆向工具集合" + }, + { + "name": "Apktool APK反编译工具", + "url": "https://apktool.org/", + "catelog": "APP反编译", + "desc": "功能强大的APK文件反编译与重打包工具" + }, + { + "name": "PKiD 加固检测工具", + "url": "https://pan.baidu.com/s/1Ho0gVCH_sS-75nhO2TcXXw?pwd=sbox", + "catelog": "APP反编译", + "desc": "检测APK加固厂商的逆向辅助工具" + }, + { + "name": "PKiD Java 跨平台加固检测工具", + "url": "https://bbs.kanxue.com/thread-225120.htm", + "catelog": "APP反编译", + "desc": "支持更多加固厂商的跨平台APK检测工具" + }, + { + "name": "XAPKDetector 保护检测工具", + "url": "https://github.com/horsicq/XAPKDetector", + "catelog": "APP反编译", + "desc": "检测APK/DEX文件构建工具与保护信息的工具" + }, + { + "name": "JEB 专业逆向工程平台", + "url": "https://www.pnfsoftware.com/", + "catelog": "APP反编译", + "desc": "用于代码反汇编、反编译与调试的逆向工程平台" + }, + { + "name": "dex2jar DEX转JAR工具", + "url": "https://github.com/pxb1988/dex2jar", + "catelog": "APP反编译", + "desc": "将Android DEX文件转换为JAR包的工具" + }, + { + "name": "JD-GUI JAR反编译工具", + "url": "https://github.com/java-decompiler/jd-gui", + "catelog": "APP反编译", + "desc": "可视化查看JAR包反编译代码的工具" + }, + { + "name": "JADX Dex反编译工具", + "url": "https://github.com/skylot/jadx", + "catelog": "APP反编译", + "desc": "将Dex/Apk文件转换为Java代码的工具" + }, + { + "name": "Bytecode Viewer 多格式反编译工具", + "url": "https://github.com/Konloch/bytecode-viewer", + "catelog": "APP反编译", + "desc": "支持APK、DEX等多种格式的反编译工具" + }, + { + "name": "AndroidKiller APK逆向工具", + "url": "https://github.com/liaojack8/AndroidKiller", + "catelog": "APP反编译", + "desc": "专注于Android应用的逆向分析与修改工具" + }, + { + "name": "GDA Dalvik字节码反编译器", + "url": "https://github.com/charles2gan/GDA-android-reversing-Tool", + "catelog": "APP反编译", + "desc": "高效分析APK/DEX文件的Dalvik字节码反编译器" + }, + { + "name": "Ghidra 开源逆向工程框架", + "url": "https://github.com/NationalSecurityAgency/ghidra", + "catelog": "APP反编译", + "desc": "NSA开源的软件逆向工程分析框架" + }, + { + "name": "Magisk Android定制工具", + "url": "https://github.com/topjohnwu/Magisk", + "catelog": "APP其他", + "desc": "用于Android系统定制的开源Root工具" + }, + { + "name": "APK Downloader 应用下载工具", + "url": "https://apps.evozi.com/apk-downloader/", + "catelog": "APP其他", + "desc": "输入Google Play链接下载APK文件的工具" + }, + { + "name": "MT管理器 文件管理工具", + "url": "https://mt2.cn/", + "catelog": "APP其他", + "desc": "Android平台文件管理与逆向修改工具" + }, + { + "name": "NP管理器 逆向修改工具", + "url": "https://github.com/githubXiaowangzi/NP-Manager", + "catelog": "APP其他", + "desc": "Android平台的文件管理与APK逆向修改工具" + }, + { + "name": "ADBGUI 可视化ADB工具", + "url": "https://github.com/bigsinger/adbgui", + "catelog": "APP其他", + "desc": "C#编写的可视化ADB命令操作工具" + }, + { + "name": "wxappUnpacker 小程序解包工具", + "url": "https://github.com/geilige/wxappUnpacker", + "catelog": "小程序反编译", + "desc": "微信小程序.wxapkg文件解包与还原工具" + }, + { + "name": "CrackMinApp 小程序反编译工具", + "url": "https://github.com/Cherrison/CrackMinApp", + "catelog": "小程序反编译", + "desc": "一键获取微信小程序源码的反编译工具" + }, + { + "name": "UnpackMiniApp 小程序解密工具", + "url": "https://pan.baidu.com/s/19mKFLGqUAve-FG4Fp6J76g?pwd=sbox", + "catelog": "小程序反编译", + "desc": "针对微信小程序的解密与反编译工具" + }, + { + "name": "wxapkg-unpacker 自动化反编译工具", + "url": "https://github.com/zgqwork/wxapkg-unpacker", + "catelog": "小程序反编译", + "desc": "基于wxappUnpacker的自动化小程序反编译工具" + }, + { + "name": "云码 验证码识别平台", + "url": "https://console.jfbym.com/register/TG17764", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端打码服务平台" + }, + { + "name": "知数云 验证码识别平台", + "url": "https://data.zhishuyun.com/", + "catelog": "打码平台", + "desc": "提供验证码识别与AI图像接口的服务平台" + }, + { + "name": "图腾视觉 图像识别平台", + "url": "https://www.tutengocr.com/", + "catelog": "打码平台", + "desc": "专注于文字识别与目标识别的打码服务平台" + }, + { + "name": "图鉴 验证码识别平台", + "url": "http://www.ttshitu.com/", + "catelog": "打码平台", + "desc": "基于深度学习的全天候验证码识别服务平台" + }, + { + "name": "人人图像打码 验证码识别平台", + "url": "https://www.rrocr.com/", + "catelog": "打码平台", + "desc": "提供极验等多种验证码识别的云端服务平台" + }, + { + "name": "超级鹰 老牌打码平台", + "url": "http://www.chaojiying.com/", + "catelog": "打码平台", + "desc": "提供专业验证码云端识别服务的老牌平台" + }, + { + "name": "得塔云 图像识别平台", + "url": "https://www.detayun.cn/tool/verifyCodeHomePage/", + "catelog": "打码平台", + "desc": "提供图像文字识别与语义分析的服务平台" + }, + { + "name": "验证码识别测试页面", + "url": "http://146.56.204.113:19199/", + "catelog": "打码平台", + "desc": "用于测试各类验证码识别效果的在线平台" + }, + { + "name": "丹里科技 反人类验证码解决方案", + "url": "https://www.zjdanli.com/", + "catelog": "打码平台", + "desc": "专注解决复杂验证码识别的技术服务平台" + }, + { + "name": "CapSolver 验证码识别平台", + "url": "https://www.capsolver.com/", + "catelog": "打码平台", + "desc": "支持多种验证码识别并返回Token的服务平台" + }, + { + "name": "2Captcha 国际验证码识别平台", + "url": "https://2captcha.com/?from=17553728", + "catelog": "打码平台", + "desc": "国际知名的验证码识别服务平台" + }, + { + "name": "YesCaptcha 验证码识别平台", + "url": "https://yescaptcha.com/i/oPZU3g", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "CaptchaAI 验证码识别平台", + "url": "https://captchaai.com/", + "catelog": "打码平台", + "desc": "主打reCAPTCHA与hCaptcha识别的服务平台" + }, + { + "name": "noCaptcha 验证码识别平台", + "url": "https://www.nocaptcha.io/", + "catelog": "打码平台", + "desc": "支持多种防护验证码识别的服务平台" + }, + { + "name": "NopeCHA 验证码识别平台", + "url": "https://nopecha.com/", + "catelog": "打码平台", + "desc": "价格亲民的验证码识别服务平台" + }, + { + "name": "Anti Captcha 验证码识别平台", + "url": "https://anti-captcha.com/", + "catelog": "打码平台", + "desc": "国际知名的验证码识别与Token返回平台" + }, + { + "name": "Solve Captcha 验证码识别平台", + "url": "https://solvecaptcha.net/", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "ddddocr 开源验证码识别库", + "url": "https://github.com/sml2h3/ddddocr", + "catelog": "开源识别", + "desc": "支持自定义训练的通用验证码识别开源库" + }, + { + "name": "SlideCrack 滑块缺口识别工具", + "url": "https://github.com/crazyxw/SlideCrack", + "catelog": "开源识别", + "desc": "支持网易、极验滑块验证码缺口识别的工具" + }, + { + "name": "dianxuan 点选验证码识别工具", + "url": "https://github.com/wlkjyh/dianxuan", + "catelog": "开源识别", + "desc": "基于孪生神经网络的点选验证码识别工具" + }, + { + "name": "rotate-captcha-crack 旋转验证码识别工具", + "url": "https://github.com/Starry-OvO/rotate-captcha-crack", + "catelog": "开源识别", + "desc": "基于CNN的图片旋转验证码角度预测工具" + }, + { + "name": "RotateCaptchaBreak 旋转验证码识别工具", + "url": "https://github.com/chencchen/RotateCaptchaBreak", + "catelog": "开源识别", + "desc": "专注于旋转验证码识别的开源工具" + }, + { + "name": "RotNet 图像旋转角度预测工具", + "url": "https://github.com/d4nst/RotNet", + "catelog": "开源识别", + "desc": "预测图像旋转角度以纠正方向的开源工具" + }, + { + "name": "rotate_captcha 双旋转验证码解决方案", + "url": "https://github.com/ycq0125/rotate_captcha", + "catelog": "开源识别", + "desc": "针对双旋转验证码的识别解决方案" + }, + { + "name": "PassCaptcha 验证码识别工具", + "url": "https://github.com/rrrrat/PassCaptcha", + "catelog": "开源识别", + "desc": "支持点选与滑动验证码识别的爬虫辅助工具" + }, + { + "name": "hCaptcha Challenger 验证码识别工具", + "url": "https://github.com/QIN2DIM/hcaptcha-challenger", + "catelog": "开源识别", + "desc": "基于ONNX的hCaptcha验证码识别工具" + }, + { + "name": "Text Select Captcha 文字点选识别工具", + "url": "https://github.com/MgArcher/Text_select_captcha", + "catelog": "开源识别", + "desc": "基于PyTorch的文字点选验证码识别工具" + }, + { + "name": "captcha_crack 选字验证码破解工具", + "url": "https://github.com/cos120/captcha_crack", + "catelog": "开源识别", + "desc": "高破解率的网易、极验选字验证码工具" + }, + { + "name": "Awesome Captcha 验证码工具汇总", + "url": "https://github.com/ZYSzys/awesome-captcha", + "catelog": "开源识别", + "desc": "精选验证码相关库与破解工具的汇总项目" + }, + { + "name": "Ghost Cursor 模拟人类鼠标轨迹工具", + "url": "https://github.com/Xetera/ghost-cursor", + "catelog": "轨迹相关", + "desc": "在Puppeteer中生成类人鼠标运动轨迹的工具" + }, + { + "name": "Python Ghost Cursor 轨迹生成库", + "url": "https://github.com/mcolella14/python_ghost_cursor", + "catelog": "轨迹相关", + "desc": "Python版本的类人鼠标移动轨迹生成库" + }, + { + "name": "Track Point Gen AI轨迹生成工具", + "url": "https://github.com/2833844911/Track_point_gen", + "catelog": "轨迹相关", + "desc": "基于AI模拟人手操作轨迹的生成工具" + }, + { + "name": "gurs 贝塞尔曲线轨迹生成工具", + "url": "https://github.com/2833844911/gurs", + "catelog": "轨迹相关", + "desc": "基于贝塞尔曲线生成滑块滑动轨迹的工具" + }, + { + "name": "A Primer on Bézier Curves 贝塞尔曲线教程", + "url": "https://pomax.github.io/bezierinfo/", + "catelog": "轨迹相关", + "desc": "详细讲解贝塞尔曲线原理的在线教程" + }, + { + "name": "极验 GEETEST 人机验证平台", + "url": "https://www.geetest.com/", + "catelog": "国内防护", + "desc": "提供多维验证方式的互联网交互安全平台" + }, + { + "name": "数美科技 业务风控平台", + "url": "https://www.ishumei.com/", + "catelog": "国内防护", + "desc": "基于AI技术的全场景业务风控服务平台" + }, + { + "name": "顶象 业务安全平台", + "url": "https://www.dingxiang-inc.com/", + "catelog": "国内防护", + "desc": "提供智能验证码与业务安全防护的平台" + }, + { + "name": "网易易盾 数字内容风控平台", + "url": "https://dun.163.com/", + "catelog": "国内防护", + "desc": "网易旗下一站式数字内容风控服务平台" + }, + { + "name": "阿里云云盾 验证码平台", + "url": "https://www.aliyun.com/product/afs", + "catelog": "国内防护", + "desc": "阿里云提供的人机验证与业务安全防护平台" + }, + { + "name": "腾讯防水墙 业务安全平台", + "url": "https://007.qq.com/", + "catelog": "国内防护", + "desc": "腾讯旗下专注于业务安全的防护平台" + }, + { + "name": "小盾安全 业务安全平台", + "url": "https://sec.xiaodun.com/", + "catelog": "国内防护", + "desc": "同盾科技旗下全栈式业务安全解决方案平台" + }, + { + "name": "云片 行为验证平台", + "url": "https://www.yunpian.com/product/captcha", + "catelog": "国内防护", + "desc": "提供安全加密传输的行为验证服务平台" + }, + { + "name": "vaptcha 手势验证码平台", + "url": "https://www.vaptcha.com/", + "catelog": "国内防护", + "desc": "基于AI和大数据的手势人机验证平台" + }, + { + "name": "AISecurius 顶象国际版验证平台", + "url": "https://www.aisecurius.com/", + "catelog": "国内防护", + "desc": "顶象国际版的atbCAPTCHA验证服务平台" + }, + { + "name": "Luosimao 人机验证平台", + "url": "https://luosimao.com/service/captcha", + "catelog": "国内防护", + "desc": "提供创新型人机验证服务的平台" + }, + { + "name": "友验 验证防护平台", + "url": "https://www.fastyotest.com/", + "catelog": "国内防护", + "desc": "基于虚拟机保护的全方位验证防护平台" + }, + { + "name": "瑞数信息 动态安全防护平台", + "url": "https://www.riversecurity.com/", + "catelog": "国内防护", + "desc": "专注于Bots自动化攻击防护的安全平台" + }, + { + "name": "Kasada 国际反爬防护平台", + "url": "https://www.kasada.io/", + "catelog": "国际防护", + "desc": "提供Web与API反自动化攻击防护的平台" + }, + { + "name": "F5 & Shape Security 应用安全平台", + "url": "https://www.f5.com/", + "catelog": "国际防护", + "desc": "提供应用安全与性能优化的解决方案平台" + }, + { + "name": "DataDome 反爬防护平台", + "url": "https://datadome.co/", + "catelog": "国际防护", + "desc": "检测并缓解Bot攻击与在线欺诈的防护平台" + }, + { + "name": "Imperva 应用安全平台", + "url": "https://www.imperva.com/", + "catelog": "国际防护", + "desc": "提供数据与应用安全防护的解决方案平台" + }, + { + "name": "PerimeterX 反爬防护平台", + "url": "https://www.perimeterx.com/", + "catelog": "国际防护", + "desc": "专注于防护Bot攻击与账户滥用的安全平台" + }, + { + "name": "Akamai 边缘云平台", + "url": "https://www.akamai.com/", + "catelog": "国际防护", + "desc": "提供边缘云与网络安全防护的解决方案平台" + }, + { + "name": "Cloudflare 网络安全平台", + "url": "https://www.cloudflare.com/", + "catelog": "国际防护", + "desc": "提供CDN、DDoS防护与网络安全的平台" + }, + { + "name": "Arkose Labs 反欺诈平台", + "url": "https://www.arkoselabs.com/", + "catelog": "国际防护", + "desc": "防护恶意Bot与在线欺诈的安全服务平台" + }, + { + "name": "reCAPTCHA Google验证平台", + "url": "https://www.google.com/recaptcha/", + "catelog": "国际防护", + "desc": "Google提供的人机验证与反Bot防护平台" + }, + { + "name": "hCaptcha 反Bot验证平台", + "url": "https://www.hcaptcha.com/", + "catelog": "国际防护", + "desc": "reCAPTCHA替代方案的反Bot验证平台" + }, + { + "name": "CyberSiara 人机验证平台", + "url": "https://www.cybersiara.com/", + "catelog": "国际防护", + "desc": "提供高级人机验证的网站安全防护平台" + }, + { + "name": "AWS Captcha 亚马逊验证平台", + "url": "https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html", + "catelog": "国际防护", + "desc": "AWS WAF提供的人机验证服务" + }, + { + "name": "mCaptcha 隐私友好验证平台", + "url": "https://mcaptcha.org/", + "catelog": "国际防护", + "desc": "基于工作量证明的隐私友好型验证码平台" + }, + { + "name": "Fingerprint 设备指纹平台", + "url": "https://fingerprint.com/", + "catelog": "国际防护", + "desc": "高精度识别设备指纹的反欺诈平台" + }, + { + "name": "青果网络 代理IP服务商", + "url": "https://www.qg.net/product/proxyip.html?source=star", + "catelog": "国内代理", + "desc": "提供国内动态代理IP与云主机服务的平台" + }, + { + "name": "协采云 代理IP服务商", + "url": "http://clue.xiecaiyun.com/reg/?channel=Y-wt-bob", + "catelog": "国内代理", + "desc": "提供百万级节点的国内动态代理IP服务平台" + }, + { + "name": "快代理 国内代理IP服务商", + "url": "https://www.kuaidaili.com/", + "catelog": "国内代理", + "desc": "专注于高品质HTTP代理IP服务的平台" + }, + { + "name": "芝麻HTTP 国内代理IP服务商", + "url": "http://www.zmhttp.com/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "提供高匿HTTP代理IP的企业级服务平台" + }, + { + "name": "品易HTTP 国内代理IP服务商", + "url": "http://http.py.cn/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "拥有海量IP池的国内动态代理IP服务平台" + }, + { + "name": "品赞HTTP 国内代理IP服务商", + "url": "https://www.ipzan.com/", + "catelog": "国内代理", + "desc": "提供高匿代理IP的多平台支持服务平台" + }, + { + "name": "小象代理 国内代理IP服务商", + "url": "https://www.xiaoxiangdaili.com/", + "catelog": "国内代理", + "desc": "低延迟高可用的国内动态代理IP服务平台" + }, + { + "name": "阿布云 大数据服务平台", + "url": "https://www.abuyun.com/", + "catelog": "国内代理", + "desc": "提供代理IP与大数据采集服务的平台" + }, + { + "name": "云立方 代理IP服务商", + "url": "https://www.yunlifang.cn/", + "catelog": "国内代理", + "desc": "提供动态VPS与代理IP服务的平台" + }, + { + "name": "因体技术 代理IP中台系统", + "url": "https://iinti.cn/", + "catelog": "国内代理", + "desc": "提供MITM脚本与代理IP资源的爬虫解决方案平台" + }, + { + "name": "看雪安全社区 逆向论坛", + "url": "https://bbs.kanxue.com/", + "catelog": "交流论坛", + "desc": "专注于PC与移动设备安全研究的逆向社区" + }, + { + "name": "先知社区 安全技术论坛", + "url": "https://xz.aliyun.com/", + "catelog": "交流论坛", + "desc": "阿里云旗下的安全技术交流社区" + }, + { + "name": "吾爱汇编 软件安全论坛", + "url": "https://www.52hb.com/", + "catelog": "交流论坛", + "desc": "专注于软件加密解密与逆向分析的论坛" + }, + { + "name": "ChatGPT 对话式AI平台", + "url": "https://chat.openai.com/", + "catelog": "AI聊天对话", + "desc": "OpenAI研发的智能对话与内容生成AI平台" + }, + { + "name": "NewBing 人工智能搜索引擎", + "url": "https://www.bing.com/new", + "catelog": "AI聊天对话", + "desc": "微软推出的集成AI聊天功能的搜索引擎" + }, + { + "name": "Google Bard 对话式AI平台", + "url": "https://bard.google.com/", + "catelog": "AI聊天对话", + "desc": "Google基于LaMDA模型开发的对话式AI" + }, + { + "name": "Claude 对话式AI平台", + "url": "https://claude.ai/", + "catelog": "AI聊天对话", + "desc": "Anthropic公司开发的智能对话AI平台" + }, + { + "name": "YOU AI搜索引擎", + "url": "https://you.com/", + "catelog": "AI聊天对话", + "desc": "集成AI对话功能的新一代搜索引擎" + }, + { + "name": "通义千问 阿里云对话式AI", + "url": "https://qianwen.aliyun.com/", + "catelog": "AI聊天对话", + "desc": "阿里云推出的超大规模语言模型对话平台" + }, + { + "name": "文心一言 百度对话式AI", + "url": "https://yiyan.baidu.com/", + "catelog": "AI聊天对话", + "desc": "百度推出的知识增强大语言模型对话平台" + }, + { + "name": "MOSS 复旦对话式AI", + "url": "https://moss.fastnlp.top/", + "catelog": "AI聊天对话", + "desc": "复旦大学开发的国内首款对话式大型语言模型" + }, + { + "name": "360智脑 对话式AI平台", + "url": "https://chat.360.cn/", + "catelog": "AI聊天对话", + "desc": "360自研的千亿参数大语言模型对话平台" + }, + { + "name": "Free ChatGPT Site List 镜像站点汇总", + "url": "https://d0424.ai55.cc/", + "catelog": "AI聊天对话", + "desc": "汇总免费ChatGPT国内镜像站点的平台" + }, + { + "name": "Copilot AI代码助手", + "url": "https://copilot.github.com/", + "catelog": "AI代码编程", + "desc": "GitHub与OpenAI联合推出的AI代码生成工具" + }, + { + "name": "Cursor AI代码编辑器", + "url": "https://www.cursor.so/", + "catelog": "AI代码编程", + "desc": "集成AI聊天功能的智能代码编辑器" + }, + { + "name": "CodeGeeX 代码生成模型", + "url": "https://codegeex.cn/", + "catelog": "AI代码编程", + "desc": "清华与智谱AI联合打造的多语言代码生成模型" + }, + { + "name": "CodeWhisperer 亚马逊AI代码助手", + "url": "https://aws.amazon.com/cn/codewhisperer/", + "catelog": "AI代码编程", + "desc": "亚马逊推出的实时AI代码生成助手" + }, + { + "name": "Codeium AI代码补全工具", + "url": "https://codeium.com/", + "catelog": "AI代码编程", + "desc": "人工智能驱动的代码自动补全工具" + }, + { + "name": "Browse AI 无代码爬虫工具", + "url": "https://www.browse.ai/", + "catelog": "AI代码编程", + "desc": "无需编写代码的网页数据抓取与监控AI工具" + }, + { + "name": "Midjourney AI图像生成工具", + "url": "https://www.midjourney.com/", + "catelog": "AI图像绘画", + "desc": "通过文字描述生成创意图像的AI制图工具" + }, + { + "name": "DALL·E OpenAI图像生成模型", + "url": "https://labs.openai.com/", + "catelog": "AI图像绘画", + "desc": "OpenAI开发的文本生成图像的AI模型平台" + }, + { + "name": "Civitai AI艺术模型平台", + "url": "https://civitai.com/", + "catelog": "AI图像绘画", + "desc": "分享SD开源模型的AI艺术创作平台" + }, + { + "name": "Adobe Firefly Adobe创意生成AI", + "url": "https://firefly.adobe.com/", + "catelog": "AI图像绘画", + "desc": "Adobe推出的创意内容生成AI工具" + }, + { + "name": "Toonme 卡通头像生成工具", + "url": "https://toonme.com/", + "catelog": "AI图像绘画", + "desc": "将真人照片转换为卡通动漫头像的AI工具" + }, + { + "name": "Faceswap 人脸交换工具", + "url": "https://faceswap.dev/", + "catelog": "AI图像绘画", + "desc": "利用深度学习实现图片与视频人脸交换的工具" + }, + { + "name": "MakeLogoAI AI Logo生成工具", + "url": "https://makelogo.ai/", + "catelog": "AI图像绘画", + "desc": "通过AI生成独特创意Logo的在线工具" + }, + { + "name": "通义万相 阿里云AI绘画工具", + "url": "https://wanxiang.aliyun.com/", + "catelog": "AI图像绘画", + "desc": "阿里云推出的AI图像生成与创作平台" + }, + { + "name": "文心一格 百度AI绘画工具", + "url": "https://yige.baidu.com/", + "catelog": "AI图像绘画", + "desc": "百度推出的AI艺术与创意辅助绘画平台" + }, + { + "name": "jpgHD 老照片修复工具", + "url": "https://jpghd.com/", + "catelog": "AI图像绘画", + "desc": "基于AI的老照片无损修复与上色工具" + }, + { + "name": "AI艺术二维码 创意生成工具", + "url": "https://qr.mewx.art/?invite_code=RVP98wzb", + "catelog": "AI图像绘画", + "desc": "生成创意艺术风格二维码的AI工具" + }, + { + "name": "ChatDOC AI文档阅读助手", + "url": "https://chatdoc.com/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的文档内容提取与问答工具" + }, + { + "name": "ChatPDF AI PDF问答工具", + "url": "https://www.chatpdf.com/", + "catelog": "AI文档办公", + "desc": "识别PDF内容并进行智能问答的AI工具" + }, + { + "name": "PandaGPT AI文档分析工具", + "url": "https://www.pandagpt.io/", + "catelog": "AI文档办公", + "desc": "生成知识图谱并回答文档问题的AI工具" + }, + { + "name": "WPS AI 办公助手", + "url": "https://ai.wps.cn/", + "catelog": "AI文档办公", + "desc": "WPS推出的文档处理与内容生成AI助手" + }, + { + "name": "Notion AI 写作助手", + "url": "https://www.notion.so/product/ai", + "catelog": "AI文档办公", + "desc": "Notion集成的AI内容生成与写作辅助工具" + }, + { + "name": "SciSpace 论文阅读助手", + "url": "https://typeset.io/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的科研论文阅读理解平台" + }, + { + "name": "ExplainPaper 论文解读工具", + "url": "https://www.explainpaper.com/", + "catelog": "AI文档办公", + "desc": "辅助阅读学术论文的AI问答工具" + }, + { + "name": "Effidit 腾讯写作助手", + "url": "https://effidit.qq.com/", + "catelog": "AI文档办公", + "desc": "腾讯推出的AI写作与创作辅助工具" + }, + { + "name": "爱改写 文本处理工具", + "url": "https://www.aigaixie.com/", + "catelog": "AI文档办公", + "desc": "提供文本改写与原创度查询的工具" + }, + { + "name": "火山写作 字节跳动AI写作工具", + "url": "https://www.writingo.net/", + "catelog": "AI文档办公", + "desc": "字节跳动推出的中英文AI写作助手" + }, + { + "name": "腾讯云7.5折扣入口", + "url": "https://curl.qcloud.com/JgTpb4jm", + "catelog": "推广", + "desc": "腾讯云大使专属7.5折优惠购买入口" + }, + { + "name": "阿里云折扣入口", + "url": "https://www.aliyun.com/minisite/goods?userCode=qn2j4wxt", + "catelog": "推广", + "desc": "阿里云产品折扣购买入口" + }, + { + "name": "超大流量卡 办理入口", + "url": "https://www.hemorn.cn/index?k=bzBzYWFuSDkvYXM9", + "catelog": "推广", + "desc": "可打电话与注册账号的大流量手机卡办理入口" + }, + { + "name": "赔钱机场 代理服务", + "url": "https://pqjc.site/#/register?code=VX5cofnG", + "catelog": "推广", + "desc": "价格低廉的代理节点服务平台" + }, + { + "name": "节点 代理服务", + "url": "https://1s.bigmeok.me/user#/register?code=ZTrIUOBr", + "catelog": "推广", + "desc": "提供网络代理节点的服务平台" + }, + { + "name": "吃什么 美食推荐工具", + "url": "https://eat.020417.xyz/", + "catelog": "个人站", + "desc": "提供美食推荐的娱乐性个人工具站" + }, + { + "name": "实时新闻 资讯聚合站", + "url": "https://new.020417.xyz/", + "catelog": "个人站", + "desc": "聚合实时新闻资讯的个人站点" + }, + { + "name": "微信公众号文章排版工具", + "url": "https://md.020417.xyz/", + "catelog": "个人站", + "desc": "辅助微信公众号文章排版的个人工具站" + }, + { + "name": "Alist网盘 个人网盘", + "url": "http://pan.lideshan.top/", + "catelog": "个人站", + "desc": "基于Alist搭建的个人网盘服务站" + }, + { + "name": "BrightData 国际代理服务商", + "url": "https://get.brightdata.com/17arn8", + "catelog": "国际代理", + "desc": "提供获奖代理网络与网页爬虫服务的平台" + }, + { + "name": "Smartproxy 国际代理服务商", + "url": "https://smartproxy.com/", + "catelog": "国际代理", + "desc": "提供海量高质量IP的国际代理服务平台" + }, + { + "name": "Oxylabs 国际代理服务商", + "url": "https://oxylabs.io/", + "catelog": "国际代理", + "desc": "提供住宅与数据中心代理IP的服务平台" + }, + { + "name": "Stormproxies 国际代理服务商", + "url": "https://stormproxies.com/", + "catelog": "国际代理", + "desc": "提供住宅旋转代理与专用代理的服务平台" + }, + { + "name": "Asocks 国际代理服务商", + "url": "https://asocks.com/", + "catelog": "国际代理", + "desc": "提供稳定住宅代理网络的服务平台" + }, + { + "name": "IPRoyal 国际代理服务商", + "url": "https://iproyal.com/", + "catelog": "国际代理", + "desc": "高性价比的国际代理IP服务平台" + }, + { + "name": "Ake 国际代理服务商", + "url": "https://ake.net/", + "catelog": "国际代理", + "desc": "提供移动、住宅与服务器代理IP的平台" + }, + { + "name": "WTFproxy 国际代理服务商", + "url": "https://www.wtfproxy.com/", + "catelog": "国际代理", + "desc": "低价旋转住宅代理服务平台,支持加密货币支付" + }, + { + "name": "ScrapingBee 网页爬虫服务平台", + "url": "https://scrapingbee.com/", + "catelog": "国际代理", + "desc": "提供网页爬虫服务的平台,支持免费试用" + }, + { + "name": "Rayobyte 国际代理服务商", + "url": "https://rayobyte.com/", + "catelog": "国际代理", + "desc": "提供海量数据采集所需代理IP的服务平台" + }, + { + "name": "Shifter 数据采集工具平台", + "url": "https://shifter.io/", + "catelog": "国际代理", + "desc": "提供住宅代理网络与数据爬虫API的平台" + }, + { + "name": "ScraperAPI 网页爬虫API平台", + "url": "https://www.scraperapi.com/", + "catelog": "国际代理", + "desc": "提供代理旋转与爬虫API的服务平台" + }, + { + "name": "sperm 逆向文章汇总项目", + "url": "https://github.com/darbra/sperm", + "catelog": "优质项目", + "desc": "汇总精彩JS逆向技术文章的开源项目" + }, + { + "name": "js_reverse JS逆向案例项目", + "url": "https://github.com/luzhisheng/js_reverse", + "catelog": "优质项目", + "desc": "包含多种JS逆向实战案例的开源项目" + }, + { + "name": "gospider Go语言爬虫框架", + "url": "https://github.com/baixudong007/gospider", + "catelog": "优质项目", + "desc": "助力Python爬虫开发者过渡到Go语言的框架" + }, + { + "name": "jsvmp-repository JSVMP算法汇总", + "url": "https://github.com/xiaoweigege/jsvmp-repository", + "catelog": "优质项目", + "desc": "汇总国内部分网站JSVMP算法的开源项目" + }, + { + "name": "NewsCrawl 企业级舆情爬虫项目", + "url": "https://github.com/casual-silva/NewsCrawl", + "catelog": "优质项目", + "desc": "支持定时任务与集群部署的开源舆情爬虫项目" + }, + { + "name": "Hydra Python爬虫实战项目", + "url": "https://github.com/HelloGitHub-Team/Hydra", + "catelog": "优质项目", + "desc": "包含实战案例的Python爬虫入门项目" + }, + { + "name": "JSpider JS逆向案例更新项目", + "url": "https://github.com/bytebuff/JSpider", + "catelog": "优质项目", + "desc": "每周更新网站JS解密案例的开源项目" + }, + { + "name": "PythonSpider JS逆向教程项目", + "url": "https://github.com/DingZaiHub/PythonSpider", + "catelog": "优质项目", + "desc": "包含JS逆向与加密算法教程的Python项目" + }, + { + "name": "webcrawler 硬核JS逆向项目", + "url": "https://github.com/chencchen/webcrawler", + "catelog": "优质项目", + "desc": "专注于硬核JS逆向技术的爬虫项目" + }, + { + "name": "awesome-reverse 逆向入门汇总项目", + "url": "https://github.com/AlienwareHe/awesome-reverse", + "catelog": "优质项目", + "desc": "包含JS与安卓逆向基础入门教程的汇总项目" + }, + { + "name": "Crack-JS-Spider JS反爬破解项目", + "url": "https://github.com/LoseNine/Crack-JS-Spider", + "catelog": "优质项目", + "desc": "专注于JS反爬加密参数破解的爬虫项目" + }, + { + "name": "InfoSpider 个人数据爬虫工具箱", + "url": "https://github.com/kangvcar/InfoSpider", + "catelog": "优质项目", + "desc": "帮助用户抓取个人数据的开源爬虫工具箱" + }, + { + "name": "learn_python3_spider Python爬虫教程项目", + "url": "https://github.com/wistbean/learn_python3_spider", + "catelog": "优质项目", + "desc": "从入门到进阶的Python爬虫学习教程项目" + }, + { + "name": "吾爱破解论坛 软件安全社区", + "url": "https://www.52pojie.cn/", + "catelog": "交流论坛", + "desc": "专注于软件安全与病毒分析的技术交流论坛" + }, + { + "name": "奇安信攻防社区 安全论坛", + "url": "https://forum.butian.net/", + "catelog": "交流论坛", + "desc": "奇安信旗下的网络安全攻防技术交流社区" + }, + { + "name": "飘云阁 软件安全论坛", + "url": "https://www.chinapyg.com/", + "catelog": "交流论坛", + "desc": "专注于软件安全与游戏外挂分析的技术论坛" + }, + { + "name": "精易论坛 易语言交流社区", + "url": "https://bbs.125.la/", + "catelog": "交流论坛", + "desc": "专注于易语言编程的技术交流论坛" + }, + { + "name": "乐易论坛 编程交流社区", + "url": "https://www.leybc.com/", + "catelog": "交流论坛", + "desc": "专注于易语言与APP逆向的技术交流论坛" + }, + { + "name": "CSDN爬虫逆向社区 技术论坛", + "url": "https://bbs.csdn.net/forums/lx", + "catelog": "交流论坛", + "desc": "CSDN旗下的爬虫与逆向技术交流社区" + }, + { + "name": "CSDN逆向安全社区 技术论坛", + "url": "https://bbs.csdn.net/forums/ReverseSecurity", + "catelog": "交流论坛", + "desc": "CSDN旗下的逆向与网络安全交流社区" + }, + { + "name": "The Web Scraping Club 国外爬虫社区", + "url": "https://substack.thewebscraping.club/", + "catelog": "国外论坛", + "desc": "国外专注于网页爬虫技术的交流社区" + }, + { + "name": "网洛者反反爬虫练习平台", + "url": "https://wangluozhe.com/", + "catelog": "练习平台", + "desc": "免费公开的反反爬虫技术实战练习平台" + }, + { + "name": "TLS指纹对抗练习平台", + "url": "https://tlsja3.cn/", + "catelog": "练习平台", + "desc": "专注于TLS指纹对抗技术的实战练习平台" + }, + { + "name": "Scrape Center 爬虫练习平台", + "url": "https://scrape.center/", + "catelog": "练习平台", + "desc": "《Python3网络爬虫开发实战》配套案例练习平台" + }, + { + "name": "镀金的天空 GlidedSky 爬虫闯关平台", + "url": "http://www.glidedsky.com/", + "catelog": "练习平台", + "desc": "提供爬虫在线闯关练习的技术平台" + }, + { + "name": "Web安全学习笔记 开源项目", + "url": "https://github.com/LyleMi/Learn-Web-Hacking", + "catelog": "网络安全", + "desc": "汇总Web安全学习笔记的开源项目" + }, + { + "name": "地址生成器 虚拟地址工具", + "url": "https://ad.020417.xyz/", + "catelog": "个人站", + "desc": "生成虚拟地址信息的个人工具站" + }, + { + "name": "短链接生成工具 个人站", + "url": "https://l.020417.xyz/", + "catelog": "个人站", + "desc": "将长链接转换为短链接的个人工具站" + }, + { + "name": "人生模拟器 娱乐工具站", + "url": "https://life.020417.xyz/", + "catelog": "个人站", + "desc": "模拟人生经历的娱乐性个人工具站" + }, + { + "name": "猿人学练习平台 爬虫实战平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "练习平台", + "desc": "专注于爬虫技术实战的练习平台" + }, + { + "name": "布谷TV 影视资源站", + "url": "https://www.bugutv.org/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "NT动漫 动漫资源站", + "url": "https://www.ntdm9.com/", + "catelog": "影视娱乐", + "desc": "专注于动漫资源的在线观看平台" + }, + { + "name": "音范丝 影视资源站", + "url": "https://www.yinfans.me/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源的在线播放平台" + }, + { + "name": "小纸条 资源分享站", + "url": "https://ali.gitcafe.ink/", + "catelog": "资源分享", + "desc": "分享各类资源的个人站点" + }, + { + "name": "阿里云盘资源站 资源分享平台", + "url": "https://myxiaozhan.net/", + "catelog": "资源分享", + "desc": "分享阿里云盘资源的平台" + }, + { + "name": "搜片 影视搜索平台", + "url": "https://soupian.one/", + "catelog": "影视娱乐", + "desc": "聚合影视资源的搜索平台" + }, + { + "name": "片库网 影视资源站", + "url": "https://www.zzldxny.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视资源的在线观看平台" + }, + { + "name": "耐看点播 影视资源站", + "url": "https://www.nkvod.com/", + "catelog": "影视娱乐", + "desc": "提供影视点播服务的在线平台" + }, + { + "name": "狸猫盘搜 网盘搜索平台", + "url": "https://www.alipansou.com/", + "catelog": "资源分享", + "desc": "搜索阿里云盘资源的平台" + }, + { + "name": "可可影视 影视资源站", + "url": "https://www.keke1.app/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "macOS-ISOs Mac系统镜像项目", + "url": "https://github.com/Pyenb/macOS-ISOs", + "catelog": "资源分享", + "desc": "汇总Mac OS系统镜像的开源项目" + } +] diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ad895bb --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1115 @@ +{ + "name": "vue3-navigation-dashboard", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vue3-navigation-dashboard", + "version": "1.0.0", + "dependencies": { + "@vercel/analytics": "^1.6.1", + "@vercel/speed-insights": "^1.3.1", + "element-plus": "^2.4.0", + "vue": "^3.3.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.2.0", + "vite": "^4.4.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@types/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@vercel/analytics": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.6.1.tgz", + "integrity": "sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==", + "license": "MPL-2.0", + "peerDependencies": { + "@remix-run/react": "^2", + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@remix-run/react": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, + "node_modules/@vercel/speed-insights": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.3.1.tgz", + "integrity": "sha512-PbEr7FrMkUrGYvlcLHGkXdCkxnylCWePx7lPxxq36DNdfo9mcUjLOmqOyPDHAOgnfqgGGdmE3XI9L/4+5fr+vQ==", + "license": "Apache-2.0", + "peerDependencies": { + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz", + "integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.26", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz", + "integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz", + "integrity": "sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.26", + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz", + "integrity": "sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.26.tgz", + "integrity": "sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.26.tgz", + "integrity": "sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.26", + "@vue/shared": "3.5.26" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz", + "integrity": "sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.26", + "@vue/runtime-core": "3.5.26", + "@vue/shared": "3.5.26", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.26.tgz", + "integrity": "sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26" + }, + "peerDependencies": { + "vue": "3.5.26" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz", + "integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", + "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "license": "MIT" + }, + "node_modules/element-plus": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.13.0.tgz", + "integrity": "sha512-qjxS+SBChvqCl6lU6ShiliLMN6WqFHiXQENYbAY3GKNflG+FS3jqn8JmQq0CBZq4koFqsi95NT1M6SL4whZfrA==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "^10.11.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.3.0" + } + }, + "node_modules/entities": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz", + "integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash-es": { + "version": "4.17.22", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.22.tgz", + "integrity": "sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==", + "license": "MIT", + "peer": true + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vite": { + "version": "4.5.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.14.tgz", + "integrity": "sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", + "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-sfc": "3.5.26", + "@vue/runtime-dom": "3.5.26", + "@vue/server-renderer": "3.5.26", + "@vue/shared": "3.5.26" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..525a84a --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "vue3-navigation-dashboard", + "version": "1.0.0", + "description": "纯前端Vue3导航项目,带随机移动卡片", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@vercel/analytics": "^1.6.1", + "@vercel/speed-insights": "^1.3.1", + "element-plus": "^2.4.0", + "vue": "^3.3.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.2.0", + "vite": "^4.4.0" + } +} diff --git a/public/link.json b/public/link.json new file mode 100644 index 0000000..c0c1495 --- /dev/null +++ b/public/link.json @@ -0,0 +1,2936 @@ +[ + { + "name": "爱壹帆影视网", + "url": "https://www.iyf.lv", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看与下载的影视平台" + }, + { + "name": "Kimivod影视资源站", + "url": "https://kimivod.com/", + "catelog": "影视娱乐", + "desc": "聚合各类影视内容的在线播放网站" + }, + { + "name": "BT影视资源网", + "url": "https://www.bttwo.me", + "catelog": "影视娱乐", + "desc": "以BT种子资源为主的影视下载与分享平台" + }, + { + "name": "胖虎影视网", + "url": "https://panghuys.com/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源在线观看的影视平台" + }, + { + "name": "华为吧影视网", + "url": "https://huaweiba.live", + "catelog": "影视娱乐", + "desc": "专注于影视资源聚合与播放的免费影视网站" + }, + { + "name": "七味道影视网", + "url": "https://www.qwavi.com/", + "catelog": "影视娱乐", + "desc": "提供多元化影视内容的在线观看平台" + }, + { + "name": "CMS暴风影视", + "url": "https://publish.bfzy.tv/", + "catelog": "影视娱乐", + "desc": "基于CMS系统搭建的影视资源分享平台" + }, + { + "name": "CMS非凡影视", + "url": "http://ffzy5.tv/", + "catelog": "影视娱乐", + "desc": "通过CMS系统提供影视资源在线播放的平台" + }, + { + "name": "CMS量子影视", + "url": "http://lzizy.net", + "catelog": "影视娱乐", + "desc": "依托CMS框架构建的影视资源聚合网站" + }, + { + "name": "CMS Good影视", + "url": "https://1080zyk6.com", + "catelog": "影视娱乐", + "desc": "专注于1080P高清影视资源的CMS影视平台" + }, + { + "name": "CMS牛牛影视", + "url": "https://niuniuzy.cc", + "catelog": "影视娱乐", + "desc": "以CMS为基础的影视资源在线播放网站" + }, + { + "name": "CMS OK影视", + "url": "https://okzyw.vip", + "catelog": "影视娱乐", + "desc": "基于CMS系统的影视资源分享与观看平台" + }, + { + "name": "CMS Zy5影视", + "url": "https://360zy5.com", + "catelog": "影视娱乐", + "desc": "通过CMS框架提供影视资源的在线平台" + }, + { + "name": "4KHDR超高清影视网", + "url": "https://www.4khdr.cn/", + "catelog": "影视娱乐", + "desc": "专注于4K HDR超高清画质的影视资源平台" + }, + { + "name": "Umami个人数据统计平台", + "url": "https://umami.lideshan.top/", + "catelog": "个人工具站", + "desc": "基于Umami搭建的轻量级网站访问数据统计分析工具" + }, + { + "name": "Docker自建加速站", + "url": "https://docker.020417.xyz", + "catelog": "个人工具站", + "desc": "个人搭建的Docker镜像加速服务平台" + }, + { + "name": "DockerHub加速工具", + "url": "https://github.com/dongyubin/DockerHub", + "catelog": "开发工具", + "desc": "用于加速DockerHub镜像拉取的开源工具项目" + }, + { + "name": "在线图片格式转换工具", + "url": "https://pic.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持多种图片格式在线转换的便捷工具" + }, + { + "name": "CTF在线工具平台", + "url": "https://ctf.020417.xyz/", + "catelog": "个人工具站", + "desc": "为CTF竞赛提供辅助工具的在线平台" + }, + { + "name": "多引擎搜索工具站", + "url": "https://search.020417.xyz/", + "catelog": "个人工具站", + "desc": "整合多平台搜索资源的一站式搜索工具" + }, + { + "name": "开发者备忘录工具", + "url": "https://dev.020417.xyz/", + "catelog": "个人工具站", + "desc": "面向开发者的在线备忘录与知识整理工具" + }, + { + "name": "Linux命令查询工具", + "url": "https://linux.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供Linux命令速查、用法解析的在线工具" + }, + { + "name": "Proxy代理外网访问工具", + "url": "https://proxy.020417.xyz/", + "catelog": "个人工具站", + "desc": "用于代理访问外网资源的个人工具平台" + }, + { + "name": "Hot热门榜单聚合站", + "url": "https://hot.020417.xyz/", + "catelog": "个人工具站", + "desc": "聚合各类热门资讯、榜单的信息展示平台" + }, + { + "name": "微信聊天记录生成器", + "url": "https://wx.020417.xyz/", + "catelog": "个人工具站", + "desc": "支持模拟生成微信聊天记录的趣味工具" + }, + { + "name": "爱锭网爬虫练习平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "爬虫学习", + "desc": "猿人学旗下的爬虫技术实战练习平台" + }, + { + "name": "猿人学刷题平台", + "url": "https://match.yuanrenxue.cn/", + "catelog": "爬虫学习", + "desc": "专注于爬虫与逆向技术的在线刷题竞赛平台" + }, + { + "name": "AST代码解析工具", + "url": "https://astexplorer.net/", + "catelog": "开发工具", + "desc": "支持将JavaScript代码转换为AST抽象语法树的在线工具" + }, + { + "name": "程序员盒子工具平台", + "url": "https://www.coderutil.com/", + "catelog": "开发工具", + "desc": "聚合多种程序员常用工具与技术博文的资源平台" + }, + { + "name": "优设设计导航网", + "url": "https://hao.uisdc.com/", + "catelog": "设计资源", + "desc": "为设计师精选优质设计网站与资源的导航平台" + }, + { + "name": "奇迹秀设计资源网", + "url": "https://www.qijishow.com/", + "catelog": "设计资源", + "desc": "提供设计干货、灵感素材与工具的设计师资源平台" + }, + { + "name": "HiPPTer PPT设计平台", + "url": "https://www.hippter.com/", + "catelog": "设计资源", + "desc": "专注于PPT设计灵感、模板与技巧分享的平台" + }, + { + "name": "Seeseed设计灵感网", + "url": "https://www.seeseed.com/", + "catelog": "设计资源", + "desc": "为设计师提供创意灵感与设计资源的平台" + }, + { + "name": "菜鸟教程网", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供多编程语言基础教程的入门学习平台" + }, + { + "name": "CSDN技术社区", + "url": "https://www.csdn.net/", + "catelog": "编程学习", + "desc": "全球知名的中文IT技术交流与学习社区" + }, + { + "name": "掘金技术社区", + "url": "https://juejin.cn/", + "catelog": "编程学习", + "desc": "面向开发者的技术内容分享与成长社区" + }, + { + "name": "博客园开发者社区", + "url": "https://www.cnblogs.com/", + "catelog": "编程学习", + "desc": "专注于开发者知识分享的博客平台" + }, + { + "name": "React官方文档", + "url": "https://react.dev/", + "catelog": "前端开发", + "desc": "用于构建Web和原生用户界面的JavaScript库官方文档" + }, + { + "name": "Vue官方文档", + "url": "https://cn.vuejs.org/", + "catelog": "前端开发", + "desc": "渐进式JavaScript框架,适用于构建高效Web应用" + }, + { + "name": "MDN Web开发文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn", + "catelog": "前端开发", + "desc": "提供Web技术学习资源的权威开发者文档平台" + }, + { + "name": "吾爱破解论坛", + "url": "https://www.52pojie.cn/", + "catelog": "逆向工程", + "desc": "专注于软件安全与逆向工程技术的交流论坛" + }, + { + "name": "大眼仔旭资源站", + "url": "https://www.dayanzai.me/", + "catelog": "资源分享", + "desc": "分享软件、教程与办公资源的个人非盈利平台" + }, + { + "name": "爬虫工具箱平台", + "url": "https://spidertools.cn/#/", + "catelog": "爬虫工具", + "desc": "Feapder作者出品的一站式爬虫辅助工具集" + }, + { + "name": "K哥爬虫工具库", + "url": "https://www.kgtools.cn/", + "catelog": "爬虫工具", + "desc": "提供爬虫开发常用工具与资源的平台" + }, + { + "name": "Curl命令转换工具", + "url": "https://curlconverter.com/", + "catelog": "爬虫工具", + "desc": "将Curl命令转换为多语言代码的在线工具" + }, + { + "name": "在线加解密工具", + "url": "http://tool.chacuo.net/cryptdes", + "catelog": "爬虫工具", + "desc": "支持DES、AES、RSA等多种加密算法的在线工具" + }, + { + "name": "Carbon代码转图片工具", + "url": "https://carbon.now.sh/", + "catelog": "爬虫工具", + "desc": "将代码片段转换为精美图片的在线工具" + }, + { + "name": "Cookie搜索工具", + "url": "https://tools.digitalpoint.com/cookie-search", + "catelog": "爬虫工具", + "desc": "查询Cookie在各网站使用情况的在线工具" + }, + { + "name": "Charles抓包工具官网", + "url": "https://www.charlesproxy.com/", + "catelog": "爬虫工具", + "desc": "常用的HTTP/HTTPS网络抓包与调试工具" + }, + { + "name": "编程导航网", + "url": "https://www.code-nav.cn/", + "catelog": "网站导航", + "desc": "一站式编程资源搜索与开发者主页定制平台" + }, + { + "name": "维格表协作平台", + "url": "https://spcqwserdvymm.com.vika.cn/share/shryNwH3HRgvzMTaZVAGx/fodkuzz5eaw0w", + "catelog": "网站导航", + "desc": "团队数据协作与项目管理的在线工具" + }, + { + "name": "LKs推荐网站导航", + "url": "https://xiangjianan.gitee.io/lks/", + "catelog": "网站导航", + "desc": "B站博主LKs推荐的优质网站导航平台" + }, + { + "name": "iTab个性化新标签页", + "url": "https://www.itab.link/", + "catelog": "网站导航", + "desc": "支持个性化定制的卡片式浏览器新标签页工具" + }, + { + "name": "GitHub代码托管平台", + "url": "https://github.com/", + "catelog": "开发平台", + "desc": "全球最大的开源代码托管与协作开发平台" + }, + { + "name": "Gitee码云平台", + "url": "https://gitee.com/", + "catelog": "开发平台", + "desc": "基于Git的国产代码托管与协作开发平台" + }, + { + "name": "黑马程序员学习平台", + "url": "https://www.runoob.com/", + "catelog": "编程学习", + "desc": "提供IT技术培训课程与学习资源的平台" + }, + { + "name": "KuangStudy学习平台", + "url": "https://www.kuangstudy.com/", + "catelog": "编程学习", + "desc": "提供体系课程、博客专栏与技术论坛的学习平台" + }, + { + "name": "微信公众号平台", + "url": "https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=2025719581", + "catelog": "开发平台", + "desc": "微信公众号的内容创作与管理后台" + }, + { + "name": "腾讯云平台", + "url": "https://cloud.tencent.com/", + "catelog": "云计算", + "desc": "提供云计算、云服务器等服务的科技平台" + }, + { + "name": "阿里云盘", + "url": "https://www.aliyundrive.com/drive/", + "catelog": "云计算", + "desc": "速度快、安全稳定的在线云存储服务" + }, + { + "name": "阿里云平台", + "url": "https://www.aliyun.com/", + "catelog": "云计算", + "desc": "提供全方位云计算服务与解决方案的平台" + }, + { + "name": "MyBatis官方文档", + "url": "https://mybatis.net.cn/getting-started.html", + "catelog": "开发文档", + "desc": "优秀的Java持久层框架官方学习文档" + }, + { + "name": "Maven仓库官网", + "url": "https://mvnrepository.com/", + "catelog": "开发工具", + "desc": "Java平台的项目构建与依赖管理仓库" + }, + { + "name": "互联网+大赛官网", + "url": "https://cy.ncss.cn/", + "catelog": "竞赛平台", + "desc": "推动互联网创新发展的全国性赛事平台" + }, + { + "name": "蓝桥杯大赛官网", + "url": "http://lx.lanqiao.cn/", + "catelog": "竞赛平台", + "desc": "全国软件和信息技术专业人才大赛官方平台" + }, + { + "name": "泰迪杯竞赛平台", + "url": "https://www.tipdm.org/", + "catelog": "竞赛平台", + "desc": "专注于数据挖掘的群众性科技竞赛平台" + }, + { + "name": "LeetCode刷题平台", + "url": "https://leetcode-cn.com/", + "catelog": "刷题平台", + "desc": "提升编程技能的算法刷题与面试准备平台" + }, + { + "name": "牛客网", + "url": "https://www.nowcoder.com/", + "catelog": "刷题平台", + "desc": "集笔面试、题库、招聘于一体的求职学习平台" + }, + { + "name": "PTA程序设计平台", + "url": "https://pintia.cn/home", + "catelog": "刷题平台", + "desc": "程序设计类实验辅助教学与刷题平台" + }, + { + "name": "AcWing刷题平台", + "url": "https://www.acwing.com/", + "catelog": "刷题平台", + "desc": "提供优质题解的程序员刷题与学习平台" + }, + { + "name": "Vercel部署平台", + "url": "https://vercel.com/", + "catelog": "前端开发", + "desc": "专注于Web应用快速构建与部署的平台" + }, + { + "name": "Netlify部署平台", + "url": "https://www.netlify.com/", + "catelog": "前端开发", + "desc": "提供Web应用托管与自动化部署的平台" + }, + { + "name": "Vue Router官方文档", + "url": "https://router.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "Vue.js官方路由管理工具文档" + }, + { + "name": "Pinia状态管理库", + "url": "https://pinia.vuejs.org/zh/", + "catelog": "前端开发", + "desc": "适用于Vue.js的轻量级状态管理库" + }, + { + "name": "Element Plus组件库", + "url": "https://element-plus.org/zh-CN/", + "catelog": "前端开发", + "desc": "基于Vue3的企业级UI组件库" + }, + { + "name": "Node.js官方网站", + "url": "https://nodejs.cn/", + "catelog": "前端开发", + "desc": "跨平台的JavaScript运行时环境" + }, + { + "name": "Bun运行时工具", + "url": "https://bun.sh/", + "catelog": "前端开发", + "desc": "高性能的一体化JavaScript运行时与工具包" + }, + { + "name": "Nuxt框架官网", + "url": "https://nuxt.com/", + "catelog": "前端开发", + "desc": "基于Vue的高性能全栈Web应用框架" + }, + { + "name": "Supabase开源平台", + "url": "https://supabase.com/", + "catelog": "前端开发", + "desc": "开源的Firebase替代品,提供数据库与认证服务" + }, + { + "name": "Electron框架官网", + "url": "https://www.electronjs.org/zh/", + "catelog": "前端开发", + "desc": "使用JS、HTML、CSS构建跨平台桌面应用的框架" + }, + { + "name": "Webpack打包工具", + "url": "https://www.webpackjs.com/", + "catelog": "前端开发", + "desc": "现代JavaScript应用的静态模块打包工具" + }, + { + "name": "Chart.js图表库", + "url": "https://www.chartjs.org/", + "catelog": "前端开发", + "desc": "简单灵活的JavaScript数据可视化图表库" + }, + { + "name": "ECharts可视化库", + "url": "https://echarts.apache.org/zh/index.html", + "catelog": "前端开发", + "desc": "基于JavaScript的开源可视化图表库" + }, + { + "name": "Ant Design组件库", + "url": "https://ant.design/index-cn", + "catelog": "前端开发", + "desc": "基于React的企业级UI设计组件库" + }, + { + "name": "Boxy SVG编辑器", + "url": "https://boxy-svg.com", + "catelog": "设计工具", + "desc": "专业的SVG矢量图形在线编辑器" + }, + { + "name": "SVGRepo图标库", + "url": "https://www.svgrepo.com/", + "catelog": "设计资源", + "desc": "提供免费SVG矢量图标下载的资源平台" + }, + { + "name": "Anime.js动画库", + "url": "https://github.com/juliangarnier/anime/", + "catelog": "前端开发", + "desc": "轻量级的JavaScript动画库,支持CSS与SVG动画" + }, + { + "name": "AnimXYZ动画工具包", + "url": "https://github.com/ingram-projects/animxyz", + "catelog": "前端开发", + "desc": "可组合的CSS动画工具包" + }, + { + "name": "HelloGitHub开源平台", + "url": "https://hellogithub.com/", + "catelog": "开源项目", + "desc": "分享优质开源项目的社区平台" + }, + { + "name": "Awesome Spider爬虫项目", + "url": "https://github.com/facert/awesome-spider", + "catelog": "开源项目", + "desc": "GitHub上最全的爬虫案例汇总项目" + }, + { + "name": "MediaCMS媒体管理系统", + "url": "https://mediacms.io/", + "catelog": "开源项目", + "desc": "基于Python和React的开源视频媒体管理系统" + }, + { + "name": "Alnitak弹幕视频网站", + "url": "https://alnitak.interastral-peace.com/", + "catelog": "开源项目", + "desc": "前后端分离的开源弹幕视频网站项目" + }, + { + "name": "仿B站视频网站项目", + "url": "https://github.com/xunlu129/teriteri-client", + "catelog": "开源项目", + "desc": "基于SpringBoot和Vue开发的仿B站客户端项目" + }, + { + "name": "TensorFlow机器学习框架", + "url": "https://tensorflow.google.cn/tutorials/images/cnn?hl=zh_cn", + "catelog": "Python库", + "desc": "端到端开源机器学习平台与框架" + }, + { + "name": "Matplotlib绘图库", + "url": "https://matplotlib.org/stable/tutorials/index.html", + "catelog": "Python库", + "desc": "Python数据可视化绘图库官方文档" + }, + { + "name": "Matplotlib中文文档", + "url": "https://www.matplotlib.org.cn/tutorials/", + "catelog": "Python库", + "desc": "Matplotlib绘图库的中文学习文档" + }, + { + "name": "PySimpleGUI图形界面库", + "url": "https://github.com/PySimpleGUI/PySimpleGUI", + "catelog": "Python库", + "desc": "简单易用的Python图形用户界面开发库" + }, + { + "name": "Docker官方平台", + "url": "https://hub.docker.com/", + "catelog": "后端开发", + "desc": "应用容器化平台,简化应用构建与部署流程" + }, + { + "name": "SQLPub数据库测试平台", + "url": "https://www.sqlpub.com/", + "catelog": "后端开发", + "desc": "提供MySQL服务器测试服务的在线平台" + }, + { + "name": "百度翻译在线工具", + "url": "https://fanyi.baidu.com/", + "catelog": "实用工具", + "desc": "支持多语种的即时在线翻译工具" + }, + { + "name": "Fomepay虚拟卡平台", + "url": "https://gpt.fomepay.com/", + "catelog": "实用工具", + "desc": "提供虚拟卡服务的在线平台" + }, + { + "name": "ProcessOn在线协作工具", + "url": "https://www.processon.com/diagrams", + "catelog": "实用工具", + "desc": "支持流程图、思维导图的在线协作绘图工具" + }, + { + "name": "PearOCR文字识别工具", + "url": "https://pearocr.com/#/", + "catelog": "实用工具", + "desc": "免费的图片文字识别与校对工具" + }, + { + "name": "识文精灵OCR工具", + "url": "http://ocrwiz.com/", + "catelog": "实用工具", + "desc": "提供在线文字识别服务的云平台" + }, + { + "name": "iLovePDF PDF处理工具", + "url": "https://www.ilovepdf.com/zh-cn/word_to_pdf", + "catelog": "实用工具", + "desc": "支持PDF合并、拆分、转换的在线工具" + }, + { + "name": "UIGradients渐变色工具", + "url": "https://uigradients.com/#BackToEarth", + "catelog": "设计工具", + "desc": "提供精美渐变色方案的在线设计工具" + }, + { + "name": "JSON.cn解析工具", + "url": "https://www.json.cn/", + "catelog": "开发工具", + "desc": "轻量级JSON数据解析、格式化与验证工具" + }, + { + "name": "Gmail邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "Google提供的免费电子邮件服务" + }, + { + "name": "QQ邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "腾讯提供的免费电子邮件服务" + }, + { + "name": "网易163邮箱", + "url": "https://mail.qq.com/cgi-bin/frame_html?sid=up6KZlz3BGBz40wu&r=ebc72a3dc579725eb92a51a5a7d86b2f", + "catelog": "实用工具", + "desc": "网易提供的免费电子邮件服务" + }, + { + "name": "CODELF变量命名工具", + "url": "https://unbug.github.io/codelf/", + "catelog": "开发工具", + "desc": "帮助程序员生成规范变量名的在线工具" + }, + { + "name": "Remove.bg抠图工具", + "url": "https://www.remove.bg/zh/upload", + "catelog": "设计工具", + "desc": "AI智能一键去除图片背景的在线工具" + }, + { + "name": "QRBTF参数化二维码生成器", + "url": "https://qrbtf.com/", + "catelog": "实用工具", + "desc": "支持自定义参数的创意二维码生成工具" + }, + { + "name": "Pdai Java学习平台", + "url": "https://pdai.tech/", + "catelog": "学习文档", + "desc": "提供Java全栈知识体系的学习平台" + }, + { + "name": "W3school教程网", + "url": "https://www.w3school.com.cn/", + "catelog": "学习文档", + "desc": "全球最大的中文Web技术学习教程平台" + }, + { + "name": "良许Linux教程网", + "url": "https://www.lxlinux.net/", + "catelog": "学习文档", + "desc": "专注于Linux命令与Shell脚本的学习平台" + }, + { + "name": "MDN HTML学习文档", + "url": "https://developer.mozilla.org/zh-CN/docs/Learn/HTML", + "catelog": "学习文档", + "desc": "HTML基础学习的权威开发者文档" + }, + { + "name": "Django Web框架", + "url": "https://www.djangoproject.com/", + "catelog": "Python库", + "desc": "高效的Python Web应用开发框架" + }, + { + "name": "Flask轻量级框架", + "url": "https://flask.palletsprojects.com/en/3.0.x/", + "catelog": "Python库", + "desc": "轻量级Python Web应用开发框架" + }, + { + "name": "FastAPI框架", + "url": "https://fastapi.tiangolo.com/", + "catelog": "Python库", + "desc": "高性能、易学习的Python API开发框架" + }, + { + "name": "Wallhaven壁纸网站", + "url": "https://wallhaven.cc/", + "catelog": "资源分享", + "desc": "提供高清无水印壁纸资源的分享平台" + }, + { + "name": "阿里矢量图标库", + "url": "https://www.iconfont.cn/", + "catelog": "设计资源", + "desc": "提供矢量图标下载与在线存储的平台" + }, + { + "name": "Python官方文档", + "url": "https://docs.python.org/", + "catelog": "开发文档", + "desc": "Python编程语言的官方权威文档" + }, + { + "name": "Golang官方文档", + "url": "https://go.dev/doc/", + "catelog": "开发文档", + "desc": "Go编程语言的官方学习文档" + }, + { + "name": "Java官方文档", + "url": "https://docs.oracle.com/en/java/", + "catelog": "开发文档", + "desc": "Java编程语言的官方权威文档" + }, + { + "name": "Python黑魔法手册", + "url": "https://magic.iswbm.com/", + "catelog": "开发文档", + "desc": "Python进阶技巧与黑科技学习手册" + }, + { + "name": "FastAPI官方文档", + "url": "https://fastapi.tiangolo.com/", + "catelog": "开发文档", + "desc": "FastAPI框架的官方学习文档" + }, + { + "name": "PM2守护进程管理器文档", + "url": "https://pm2.keymetrics.io/docs/usage/quick-start/", + "catelog": "开发文档", + "desc": "Node.js应用进程管理工具官方文档" + }, + { + "name": "MDN Web API文档", + "url": "https://developer.mozilla.org/docs/Web/API", + "catelog": "开发文档", + "desc": "Web API接口的权威参考文档" + }, + { + "name": "Android API参考文档", + "url": "https://developer.android.com/reference", + "catelog": "开发文档", + "desc": "Android开发API的官方参考文档" + }, + { + "name": "NodeJS官方文档", + "url": "https://nodejs.org/api/", + "catelog": "开发文档", + "desc": "Node.js运行时的官方API参考文档" + }, + { + "name": "Frida官方文档", + "url": "https://frida.re/docs/", + "catelog": "开发文档", + "desc": "动态插桩工具Frida的官方学习文档" + }, + { + "name": "ADB Shell命令手册", + "url": "https://adbshell.com/", + "catelog": "开发文档", + "desc": "Android ADB命令的速查手册" + }, + { + "name": "Linux Cool命令手册", + "url": "https://www.linuxcool.com/", + "catelog": "开发文档", + "desc": "Linux命令速查与用法解析平台" + }, + { + "name": "Babel官方文档", + "url": "https://babel.dev/docs/", + "catelog": "开发文档", + "desc": "JavaScript代码转译工具Babel的官方文档" + }, + { + "name": "Easing Functions缓动函数表", + "url": "https://easings.net/", + "catelog": "开发文档", + "desc": "提供动画缓动函数参考的在线平台" + }, + { + "name": "Pandas官方文档", + "url": "https://pandas.pydata.org/docs/", + "catelog": "开发文档", + "desc": "Python数据分析库Pandas的官方文档" + }, + { + "name": "NumPy官方文档", + "url": "https://numpy.org/", + "catelog": "开发文档", + "desc": "Python科学计算库NumPy的官方文档" + }, + { + "name": "Matplotlib官方文档", + "url": "https://matplotlib.org/", + "catelog": "开发文档", + "desc": "Python绘图库Matplotlib的官方文档" + }, + { + "name": "QuickRef速查手册", + "url": "https://quickref.me/", + "catelog": "开发文档", + "desc": "编程语言与工具的快速参考手册平台" + }, + { + "name": "Prometheus官方文档", + "url": "https://prometheus.io/docs/", + "catelog": "开发文档", + "desc": "开源监控系统Prometheus的官方文档" + }, + { + "name": "Docker官方文档", + "url": "https://docs.docker.com/", + "catelog": "开发文档", + "desc": "Docker容器化平台的官方学习文档" + }, + { + "name": "PyCharm中文指南", + "url": "https://pycharm.iswbm.com/", + "catelog": "开发文档", + "desc": "PyCharm编辑器的中文使用指南" + }, + { + "name": "Common Regex正则库", + "url": "https://github.com/cdoco/common-regex", + "catelog": "开发工具", + "desc": "常用正则表达式汇总的开源项目" + }, + { + "name": "哔哩哔哩", + "url": "https://www.bilibili.com/", + "catelog": "影视娱乐", + "desc": "中国年轻世代高度聚集的文化社区和视频平台" + }, + { + "name": "腾讯视频", + "url": "https://v.qq.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视、综艺、动漫资源的在线视频平台" + }, + { + "name": "爱奇艺", + "url": "https://www.iqiyi.com/", + "catelog": "影视娱乐", + "desc": "综合型在线视频媒体平台" + }, + { + "name": "QQ音乐", + "url": "https://y.qq.com/", + "catelog": "影视娱乐", + "desc": "腾讯推出的在线音乐服务平台" + }, + { + "name": "网易云音乐", + "url": "https://music.163.com/", + "catelog": "影视娱乐", + "desc": "专注于音乐发现与分享的社区平台" + }, + { + "name": "IP定位查询工具", + "url": "https://ip.020417.xyz/", + "catelog": "个人工具站", + "desc": "提供IP地址查询服务的API工具" + }, + { + "name": "httpbin请求测试工具", + "url": "https://www.httpbin.org/", + "catelog": "开发工具", + "desc": "HTTP请求与响应测试的在线服务" + }, + { + "name": "icanhazip IP查询工具", + "url": "https://icanhazip.com/", + "catelog": "开发工具", + "desc": "快速查询当前公网IP地址的在线工具" + }, + { + "name": "cip.cc IP查询工具", + "url": "https://www.cip.cc/", + "catelog": "开发工具", + "desc": "支持多平台的IP地址查询服务" + }, + { + "name": "乱码在线恢复工具", + "url": "http://www.mytju.com/classcode/tools/messyCodeRecover.asp", + "catelog": "开发工具", + "desc": "在线恢复乱码文本的实用工具" + }, + { + "name": "在线图片坐标拾取工具", + "url": "https://uutool.cn/img-coord/", + "catelog": "开发工具", + "desc": "用于拾取图片坐标的工具,适用于验证码逆向" + }, + { + "name": "Fiddler抓包工具官网", + "url": "https://www.telerik.com/fiddler", + "catelog": "抓包工具", + "desc": "Windows平台常用的HTTP抓包与调试工具" + }, + { + "name": "Wireshark抓包工具官网", + "url": "https://www.wireshark.org/", + "catelog": "抓包工具", + "desc": "开源的网络协议分析与抓包工具" + }, + { + "name": "Reqable抓包工具官网", + "url": "https://reqable.com/", + "catelog": "抓包工具", + "desc": "支持HTTP1/2/3的全平台API调试与抓包工具" + }, + { + "name": "Burp Suite渗透测试工具", + "url": "https://portswigger.net/burp", + "catelog": "抓包工具", + "desc": "用于Web应用安全测试的集成平台" + }, + { + "name": "mitmproxy抓包工具", + "url": "https://mitmproxy.org/", + "catelog": "抓包工具", + "desc": "支持SSL/TLS的交互式拦截代理工具" + }, + { + "name": "Http Debugger抓包工具", + "url": "https://www.httpdebugger.com/", + "catelog": "抓包工具", + "desc": "简洁易用的HTTP抓包与调试工具" + }, + { + "name": "Proxyman抓包工具", + "url": "https://proxyman.io/", + "catelog": "抓包工具", + "desc": "MacOS平台优秀的抓包与调试工具" + }, + { + "name": "Stream iOS抓包工具", + "url": "https://apps.apple.com/cn/app/stream/id1312141691", + "catelog": "抓包工具", + "desc": "iOS设备端独立运行的网络抓包工具" + }, + { + "name": "Drony代理管理工具", + "url": "https://play.google.com/store/apps/details?id=org.sandrob.drony", + "catelog": "抓包工具", + "desc": "移动设备代理管理工具" + }, + { + "name": "Tcpdump抓包工具", + "url": "https://www.tcpdump.org/", + "catelog": "抓包工具", + "desc": "命令行式的网络数据包捕获工具" + }, + { + "name": "r0capture安卓抓包脚本", + "url": "https://github.com/r0ysue/r0capture", + "catelog": "抓包工具", + "desc": "安卓应用层抓包通杀脚本" + }, + { + "name": "eCapture明文捕获工具", + "url": "https://ecapture.cc/", + "catelog": "抓包工具", + "desc": "基于eBPF技术的TLS加密明文捕获工具" + }, + { + "name": "Postman API调试工具", + "url": "https://www.postman.com/", + "catelog": "接口调试", + "desc": "用于API开发、测试与文档管理的平台" + }, + { + "name": "Hoppscotch API工具", + "url": "https://hoppscotch.io/", + "catelog": "接口调试", + "desc": "开源轻量级的Web API管理工具" + }, + { + "name": "Apipost接口调试平台", + "url": "https://www.apipost.cn/", + "catelog": "接口调试", + "desc": "集API设计、调试、文档于一体的协同平台" + }, + { + "name": "Apifox接口管理平台", + "url": "https://apifox.com/", + "catelog": "接口调试", + "desc": "提升API开发效率的全流程管理平台" + }, + { + "name": "Eolink API管理平台", + "url": "https://www.eolink.com/", + "catelog": "接口调试", + "desc": "一站式API全生命周期管理解决方案平台" + }, + { + "name": "Crawlab爬虫管理平台", + "url": "https://www.crawlab.cn/", + "catelog": "监控管理", + "desc": "支持多语言的分布式爬虫管理平台" + }, + { + "name": "Feapder爬虫框架", + "url": "https://feapder.com/", + "catelog": "监控管理", + "desc": "轻量级Python爬虫框架,支持分布式与监控" + }, + { + "name": "Gerapy爬虫管理框架", + "url": "https://github.com/Gerapy/Gerapy", + "catelog": "监控管理", + "desc": "基于Scrapy的分布式爬虫管理框架" + }, + { + "name": "Scrapyd爬虫服务", + "url": "https://github.com/scrapy/scrapyd", + "catelog": "监控管理", + "desc": "运行Scrapy爬虫的服务端工具" + }, + { + "name": "ScrapydWeb管理工具", + "url": "https://github.com/my8100/scrapydweb", + "catelog": "监控管理", + "desc": "Scrapyd集群的Web管理工具" + }, + { + "name": "Kubernetes容器编排平台", + "url": "https://kubernetes.io/", + "catelog": "监控管理", + "desc": "自动化部署、扩展和管理容器化应用的系统" + }, + { + "name": "Prometheus监控系统", + "url": "https://prometheus.io/", + "catelog": "监控管理", + "desc": "开源的系统监控与告警工具包" + }, + { + "name": "Grafana可视化平台", + "url": "https://grafana.com/", + "catelog": "监控管理", + "desc": "开源的数据可视化与监控分析平台" + }, + { + "name": "SmsForwarder短信转发器", + "url": "https://github.com/pppscn/SmsForwarder", + "catelog": "其他工具", + "desc": "安卓短信、来电通知转发工具" + }, + { + "name": "Notepad--文本编辑器", + "url": "https://github.com/cxasm/notepad--", + "catelog": "其他工具", + "desc": "支持多平台的开源文本编辑器" + }, + { + "name": "Snipaste截图工具", + "url": "https://www.snipaste.com/", + "catelog": "其他工具", + "desc": "简单强大的截图与贴图工具" + }, + { + "name": "FastStone Capture截图工具", + "url": "https://www.faststone.org/FSCaptureDetail.htm", + "catelog": "其他工具", + "desc": "功能齐全的屏幕捕获与录像工具" + }, + { + "name": "FontCreator字体编辑软件", + "url": "https://www.high-logic.com/font-editor/fontcreator", + "catelog": "其他工具", + "desc": "专业的字体编辑软件,适用于逆向分析" + }, + { + "name": "简悦 SimpRead阅读工具", + "url": "https://simpread.pro/", + "catelog": "其他工具", + "desc": "沉浸式网页阅读的Chrome扩展工具" + }, + { + "name": "Save as PDF网页转PDF工具", + "url": "https://pdfcrowd.com/save-as-pdf-addon/", + "catelog": "其他工具", + "desc": "将网页转换为PDF文件的工具" + }, + { + "name": "Tampermonkey油猴插件", + "url": "https://www.tampermonkey.net/", + "catelog": "效率工具", + "desc": "自定义网页功能的浏览器用户脚本管理器" + }, + { + "name": "v_jstools JS调试插件", + "url": "https://github.com/cilame/v_jstools", + "catelog": "效率工具", + "desc": "用于JS代码调试与逆向的浏览器插件" + }, + { + "name": "ReRes资源映射工具", + "url": "https://github.com/annnhan/ReRes", + "catelog": "效率工具", + "desc": "将远程资源映射到本地的浏览器插件" + }, + { + "name": "chrome-wasm-debugger调试工具", + "url": "https://github.com/itszn/chrome-wasm-debugger", + "catelog": "效率工具", + "desc": "调试WASM模块的Chrome扩展工具" + }, + { + "name": "FeHelper开发者助手", + "url": "https://www.baidufe.com/fehelper/", + "catelog": "效率工具", + "desc": "集成JSON格式化、编解码等功能的开发者工具" + }, + { + "name": "Header自定义工具", + "url": "https://chrome.google.com/webstore/detail/header%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B7%A5%E5%85%B7/maaccnhcoaehdeehahenkmchinbdjjmi", + "catelog": "效率工具", + "desc": "自定义HTTP请求头的Chrome插件" + }, + { + "name": "ModHeader请求头修改工具", + "url": "https://modheader.com/", + "catelog": "效率工具", + "desc": "修改HTTP请求头与响应头的工具" + }, + { + "name": "Proxy SwitchyOmega代理工具", + "url": "https://github.com/FelisCatus/SwitchyOmega", + "catelog": "效率工具", + "desc": "浏览器代理设置管理工具" + }, + { + "name": "SelectorGadget选择器工具", + "url": "https://selectorgadget.com/", + "catelog": "效率工具", + "desc": "生成CSS选择器的在线工具" + }, + { + "name": "Trace网站分析工具", + "url": "https://github.com/L018/Trace", + "catelog": "效率工具", + "desc": "用于网站分析与JS逆向的Chrome扩展" + }, + { + "name": "webHook JS反调试工具", + "url": "https://github.com/valuespider/webHookTools", + "catelog": "效率工具", + "desc": "JS反调试与逆向辅助工具" + }, + { + "name": "XPath Helper XPath工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl", + "catelog": "效率工具", + "desc": "提取与评估XPath查询的Chrome插件" + }, + { + "name": "XPath Helper Plus工具", + "url": "https://github.com/mic1on/xpath-helper-plus", + "catelog": "效率工具", + "desc": "增强版XPath开发者工具" + }, + { + "name": "XPath Helper Wizard工具", + "url": "https://chrome.google.com/webstore/detail/xpath-helper-wizard/jadhpggafkbmpdpmpgigopmodldgfcki", + "catelog": "效率工具", + "desc": "快速生成稳定XPath的工具" + }, + { + "name": "Scraping Helper爬虫工具", + "url": "https://github.com/huangwc94/scraping-helper-chrome-extension", + "catelog": "效率工具", + "desc": "生成HTML选择命令的爬虫辅助工具" + }, + { + "name": "Fiddler编程猫插件", + "url": "https://pan.baidu.com/s/1GFJhq-AqFxty4DOrkjSuLA?pwd=sbox", + "catelog": "效率工具", + "desc": "Fiddler抓包工具的编程猫专用插件" + }, + { + "name": "prophet JS AST工具", + "url": "https://github.com/456vv/prophet", + "catelog": "效率工具", + "desc": "JS AST分析与逆向快速定位工具" + }, + { + "name": "GeneralNewsExtractor新闻抽取器", + "url": "https://github.com/GeneralNewsExtractor/GeneralNewsExtractor", + "catelog": "效率工具", + "desc": "新闻网页正文通用抽取工具" + }, + { + "name": "Newspaper文章提取库", + "url": "https://github.com/codelucas/newspaper", + "catelog": "效率工具", + "desc": "Python新闻文章与元数据提取库" + }, + { + "name": "Diffbot智能解析工具", + "url": "https://www.diffbot.com/", + "catelog": "效率工具", + "desc": "AI驱动的网页内容智能解析平台" + }, + { + "name": "fake-useragent用户代理库", + "url": "https://github.com/fake-useragent/fake-useragent", + "catelog": "效率工具", + "desc": "生成伪造User-Agent的Python库" + }, + { + "name": "JSREI逆向工具集", + "url": "https://github.com/JSREI", + "catelog": "效率工具", + "desc": "JavaScript逆向工程工具集合" + }, + { + "name": "js-hook-framework Hook工具", + "url": "https://github.com/JSREI/crawler-js-hook-framework-public", + "catelog": "效率工具", + "desc": "JS逆向Hook工具集,封装为油猴脚本" + }, + { + "name": "PyExecJS JS运行库", + "url": "https://github.com/doloopwhile/PyExecJS", + "catelog": "调试运行", + "desc": "在Python中运行JavaScript代码的库" + }, + { + "name": "PythonMonkey JS引擎", + "url": "https://github.com/Distributive-Network/PythonMonkey", + "catelog": "调试运行", + "desc": "嵌入Python的Mozilla SpiderMonkey JS引擎" + }, + { + "name": "PyMiniRacer V8桥接器", + "url": "https://github.com/sqreen/PyMiniRacer", + "catelog": "调试运行", + "desc": "Python与V8引擎的桥接库" + }, + { + "name": "bestV8 JS逆向工具", + "url": "https://github.com/BestToYou/bestV8_release", + "catelog": "调试运行", + "desc": "用于运行JS代码的逆向工具" + }, + { + "name": "pybestV8 Python版本工具", + "url": "https://github.com/wangluozhe/pybestV8", + "catelog": "调试运行", + "desc": "bestV8工具的Python版本" + }, + { + "name": "Js2Py JS转Python库", + "url": "https://github.com/PiotrDabkowski/Js2Py", + "catelog": "调试运行", + "desc": "将JavaScript代码转换为Python代码的库" + }, + { + "name": "vm2 Node.js虚拟机", + "url": "https://github.com/patriksimek/vm2", + "catelog": "调试运行", + "desc": "Node.js的高级虚拟机与沙箱工具" + }, + { + "name": "vthread Python多线程库", + "url": "https://github.com/cilame/vthread", + "catelog": "调试运行", + "desc": "简化Python多线程编程的库" + }, + { + "name": "精易编程助手", + "url": "http://soft.125.la/plugin.php?id=jingyi_soft:soft&cid=3", + "catelog": "调试运行", + "desc": "易语言编程辅助工具" + }, + { + "name": "乐易编程助手", + "url": "https://www.leybc.com/thread-7123-1-1.html", + "catelog": "调试运行", + "desc": "易语言与火山PC编程辅助工具" + }, + { + "name": "WT-JS调试工具", + "url": "https://bbs.125.la/thread-14734668-1-1.html", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "JSDebugger调试工具", + "url": "https://pan.baidu.com/s/1dDgCV61DTyFKvO01qvtgqA?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "鬼鬼JS调试工具", + "url": "https://pan.baidu.com/s/1i5O-RrsHCgBmQCSXplR5sg?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "发条JS调试工具", + "url": "https://pan.baidu.com/s/1RSGT3lneb_pmFhvyuofT2w?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript代码调试工具" + }, + { + "name": "随缘JS调试工具", + "url": "https://pan.baidu.com/s/18XmJwP2MZI9jZibS8tqw-Q?pwd=sbox", + "catelog": "调试运行", + "desc": "JavaScript逆向调试工具" + }, + { + "name": "小七编程助手", + "url": "https://pan.baidu.com/s/1S_u2Jr5eMGoW88sCR5coUw?pwd=sbox", + "catelog": "调试运行", + "desc": "编程辅助与调试工具" + }, + { + "name": "OB在线代码混淆工具", + "url": "https://www.obfuscator.io/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线混淆工具" + }, + { + "name": "JSVMP在线混淆工具", + "url": "https://jsvmp.com/", + "catelog": "代码混淆", + "desc": "JavaScript代码虚拟化混淆工具" + }, + { + "name": "JS盾代码加固工具", + "url": "https://jsvmp.net/", + "catelog": "代码混淆", + "desc": "JavaScript代码动态混淆加壳工具" + }, + { + "name": "facelessJsvmp虚拟化工具", + "url": "https://github.com/Alanhays/facelessJsvmp", + "catelog": "代码混淆", + "desc": "JS代码虚拟化保护开源项目" + }, + { + "name": "cy_jsvmp混淆工具", + "url": "https://github.com/2833844911/cy_jsvmp", + "catelog": "代码混淆", + "desc": "JSVMP代码混淆工具实现项目" + }, + { + "name": "Deobfuscate在线反混淆工具", + "url": "https://deobfuscate.io/", + "catelog": "代码混淆", + "desc": "支持OB混淆的JavaScript反混淆工具" + }, + { + "name": "李玺JS在线解混淆工具", + "url": "http://www.cnlans.com:8887/", + "catelog": "代码混淆", + "desc": "JavaScript代码在线解混淆工具" + }, + { + "name": "de4js在线解混淆工具", + "url": "https://lelinhtinh.github.io/de4js/", + "catelog": "代码混淆", + "desc": "支持多种混淆方式的JS解混淆工具" + }, + { + "name": "decode-js代码净化工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于AST的JavaScript代码净化工具" + }, + { + "name": "jsjiemi代码解密工具", + "url": "https://github.com/echo094/decode-js", + "catelog": "代码混淆", + "desc": "基于正则的JavaScript代码解密工具" + }, + { + "name": "ast_tools AST工具库", + "url": "https://github.com/sml2h3/ast_tools", + "catelog": "代码混淆", + "desc": "基于Babel的AST混淆还原工具" + }, + { + "name": "ob-decrypt混淆还原工具", + "url": "https://github.com/DingZaiHub/ob-decrypt", + "catelog": "代码混淆", + "desc": "OB混淆代码还原工具" + }, + { + "name": "r0chrome定制浏览器", + "url": "https://github.com/daisixuan/r0chrome", + "catelog": "指纹相关", + "desc": "支持随机指纹的定制Chromium浏览器" + }, + { + "name": "requests-go请求库", + "url": "https://github.com/wangluozhe/requests-go", + "catelog": "指纹相关", + "desc": "支持TLS指纹修改的Go语言HTTP请求库" + }, + { + "name": "curl_cffi请求库", + "url": "https://github.com/yifeikong/curl_cffi", + "catelog": "指纹相关", + "desc": "支持JA3指纹模拟的Python请求库" + }, + { + "name": "tls-client请求库", + "url": "https://github.com/FlorianREGAZ/Python-Tls-Client", + "catelog": "指纹相关", + "desc": "支持TLS指纹的Python HTTP库" + }, + { + "name": "pyhttpx网络库", + "url": "https://github.com/zero3301/pyhttpx", + "catelog": "指纹相关", + "desc": "支持TLS1.2/1.3的Python网络库" + }, + { + "name": "gospider爬虫库", + "url": "https://github.com/baixudong007/gospider", + "catelog": "指纹相关", + "desc": "支持JA3指纹的Go语言爬虫库" + }, + { + "name": "CycleTLS指纹库", + "url": "https://github.com/Danny-Dasilva/CycleTLS", + "catelog": "指纹相关", + "desc": "模拟TLS/JA3指纹的库" + }, + { + "name": "CreepJS浏览器指纹检测", + "url": "https://abrahamjuliot.github.io/creepjs/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测工具" + }, + { + "name": "Fp-Collect指纹检测", + "url": "https://arh.antoinevastel.com/bots/", + "catelog": "指纹相关", + "desc": "浏览器指纹检测平台" + }, + { + "name": "AntiBot无头检测工具", + "url": "https://bot.sannysoft.com/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Detect Headless检测工具", + "url": "https://infosimples.github.io/detect-headless/", + "catelog": "指纹相关", + "desc": "无头浏览器检测工具" + }, + { + "name": "Bot/Headless检测工具", + "url": "https://bot.incolumitas.com/", + "catelog": "指纹相关", + "desc": "机器人与无头浏览器检测平台" + }, + { + "name": "TCP/IP Fingerprint API", + "url": "https://tcpip.incolumitas.com/classify?detail=1", + "catelog": "指纹相关", + "desc": "TCP/IP指纹查询API" + }, + { + "name": "IP Address API", + "url": "https://api.incolumitas.com/", + "catelog": "指纹相关", + "desc": "IP地址信息查询API" + }, + { + "name": "Proxy/VPN Detection检测工具", + "url": "https://bot.incolumitas.com/proxy_detect.html", + "catelog": "指纹相关", + "desc": "代理与VPN实时代理检测工具" + }, + { + "name": "Browser Leaks隐私检测工具", + "url": "https://browserleaks.com/", + "catelog": "指纹相关", + "desc": "浏览器隐私与安全检测平台" + }, + { + "name": "Pixelscan机器人检测工具", + "url": "https://pixelscan.net/", + "catelog": "指纹相关", + "desc": "互联网机器人检测工具" + }, + { + "name": "Fake Vision浏览器检测器", + "url": "http://f.vision/", + "catelog": "指纹相关", + "desc": "新一代浏览器指纹检测工具" + }, + { + "name": "TLSJA3指纹API", + "url": "https://tlsja3.cn/tls", + "catelog": "指纹相关", + "desc": "TLS指纹查询API平台" + }, + { + "name": "TrackMe - fp API 指纹工具", + "url": "https://tls.peet.ws/", + "catelog": "指纹相关", + "desc": "提供TLS指纹查询服务的API平台" + }, + { + "name": "qxVm JS补环境框架", + "url": "https://github.com/ylw00/qxVm", + "catelog": "环境框架", + "desc": "纯JavaScript实现的JS逆向补环境框架" + }, + { + "name": "catvm JS逆向环境框架", + "url": "https://github.com/fanchangrui/catvm", + "catelog": "环境框架", + "desc": "基于志远思路实现的JS逆向补环境框架" + }, + { + "name": "node-sandbox 魔改Node环境", + "url": "https://github.com/bnmgh1/node-sandbox", + "catelog": "环境框架", + "desc": "魔改Node.js搭建的JS逆向补环境框架" + }, + { + "name": "boda_jsEnv JS补环境框架", + "url": "https://github.com/xuxiaobo-bobo/boda_jsEnv", + "catelog": "环境框架", + "desc": "轻量级JavaScript逆向补环境解决方案" + }, + { + "name": "catvm 志远配套版环境框架", + "url": "https://github.com/Big1moster/catvm", + "catelog": "环境框架", + "desc": "志远JS逆向补环境框架视频配套完结版本" + }, + { + "name": "Sekiro RPC远程调用框架", + "url": "https://github.com/yint-tech/sekiro-open", + "catelog": "自动化RPC", + "desc": "用于实现跨语言远程调用的RPC框架" + }, + { + "name": "JsRpc 逆向远程调用工具", + "url": "https://github.com/jxhczhl/JsRpc", + "catelog": "自动化RPC", + "desc": "JS逆向免抠代码的远程调用解决方案" + }, + { + "name": "Selenium 浏览器自动化框架", + "url": "https://www.selenium.dev/", + "catelog": "自动化RPC", + "desc": "支持多浏览器的Web自动化测试与爬虫框架" + }, + { + "name": "PhantomJS 无头浏览器", + "url": "https://phantomjs.org/", + "catelog": "自动化RPC", + "desc": "可脚本控制的无头Web浏览器,已停止维护" + }, + { + "name": "Pyppeteer Python无头浏览器库", + "url": "https://github.com/pyppeteer/pyppeteer", + "catelog": "自动化RPC", + "desc": "Puppeteer的Python版本,用于无头浏览器自动化" + }, + { + "name": "Puppeteer Node.js自动化库", + "url": "https://github.com/puppeteer/puppeteer", + "catelog": "自动化RPC", + "desc": "Node.js控制Chrome/Chromium的高级API库" + }, + { + "name": "Playwright 跨浏览器自动化框架", + "url": "https://playwright.dev/", + "catelog": "自动化RPC", + "desc": "微软开源的跨浏览器Web自动化测试工具" + }, + { + "name": "Splash JavaScript渲染服务", + "url": "https://github.com/scrapinghub/splash", + "catelog": "自动化RPC", + "desc": "带有HTTP API的轻量级JavaScript渲染服务" + }, + { + "name": "Appium 移动端自动化框架", + "url": "https://appium.io/", + "catelog": "自动化RPC", + "desc": "开源的移动端APP自动化测试框架" + }, + { + "name": "Airtest 跨平台UI自动化框架", + "url": "https://airtest.netease.com/", + "catelog": "自动化RPC", + "desc": "适用于游戏和APP的跨平台UI自动化测试框架" + }, + { + "name": "DrissionPage Python网页自动化工具", + "url": "https://github.com/g1879/DrissionPage", + "catelog": "自动化RPC", + "desc": "兼顾浏览器自动化与数据包收发的Python爬虫工具" + }, + { + "name": "Undetected Chromedriver 防检测驱动", + "url": "https://github.com/ultrafunkamsterdam/undetected-chromedriver", + "catelog": "自动化RPC", + "desc": "规避反爬检测的优化版Selenium Chromedriver" + }, + { + "name": "stealth.min.js 自动化特征隐藏脚本", + "url": "https://github.com/berstend/puppeteer-extra/tree/master/packages/extract-stealth-evasions", + "catelog": "自动化RPC", + "desc": "注入JavaScript隐藏自动化框架特征的脚本" + }, + { + "name": "magical_spider 通用爬虫方案", + "url": "https://github.com/lixi5338619/magical_spider", + "catelog": "自动化RPC", + "desc": "适用于多数Web站点的通用爬虫采集方案" + }, + { + "name": "Chrome for Testing 驱动下载站", + "url": "https://googlechromelabs.github.io/chrome-for-testing/", + "catelog": "自动化RPC", + "desc": "获取各版本ChromeDriver的官方下载平台" + }, + { + "name": "ChromeDriver 官方下载页面", + "url": "https://chromedriver.storage.googleapis.com/index.html", + "catelog": "自动化RPC", + "desc": "全版本ChromeDriver驱动程序下载站点" + }, + { + "name": "GeckoDriver 火狐浏览器驱动", + "url": "https://github.com/mozilla/geckodriver", + "catelog": "自动化RPC", + "desc": "控制Firefox浏览器的WebDriver驱动程序" + }, + { + "name": "fakebrowser 指纹伪造工具", + "url": "https://github.com/kkoooqq/fakebrowser", + "catelog": "自动化RPC", + "desc": "伪造浏览器指纹并模拟真人操作的爬虫工具" + }, + { + "name": "UI Automator 2 Python库", + "url": "https://github.com/openatx/uiautomator2", + "catelog": "自动化RPC", + "desc": "Python版本的Android自动化测试框架" + }, + { + "name": "AutoJS6 Android自动化工具", + "url": "https://github.com/SuperMonster003/AutoJs6", + "catelog": "自动化RPC", + "desc": "基于无障碍服务的Android JavaScript自动化工具" + }, + { + "name": "FRIDA-DEXDump 一键脱壳工具", + "url": "https://github.com/hluwa/frida-dexdump", + "catelog": "脱壳工具", + "desc": "基于Frida的Android应用一键脱壳工具" + }, + { + "name": "dumpDex Xposed脱壳工具", + "url": "https://github.com/WrBug/dumpDex", + "catelog": "脱壳工具", + "desc": "需要Xposed支持的Android应用脱壳工具" + }, + { + "name": "FART ART环境脱壳方案", + "url": "https://github.com/hanbinglengyue/FART", + "catelog": "脱壳工具", + "desc": "ART运行环境下的Android应用自动化脱壳方案" + }, + { + "name": "DeveloperHelper 安卓开发助手", + "url": "https://github.com/WrBug/DeveloperHelper", + "catelog": "脱壳工具", + "desc": "集成界面分析、加固脱壳的Android开发辅助工具" + }, + { + "name": "BlackDex 免ROOT脱壳工具", + "url": "https://github.com/CodingGay/BlackDex", + "catelog": "脱壳工具", + "desc": "支持Android 5.0-12免ROOT的APK脱壳工具" + }, + { + "name": "Xposed 安卓Hook框架", + "url": "https://github.com/rovo89/Xposed", + "catelog": "Hook工具", + "desc": "无需修改APK即可注入代码的Android Hook框架" + }, + { + "name": "JustTrustMe SSL绕过工具", + "url": "https://github.com/Fuzion24/JustTrustMe", + "catelog": "Hook工具", + "desc": "基于Xposed绕过SSL Pinning检测的工具" + }, + { + "name": "Frida 动态插桩工具", + "url": "https://github.com/frida/frida", + "catelog": "Hook工具", + "desc": "动态插桩并修改应用行为的跨平台逆向工具" + }, + { + "name": "Inspeckage Xposed动态分析工具", + "url": "https://github.com/ac-pm/Inspeckage", + "catelog": "Hook工具", + "desc": "Hook常见加密方法的Android动态分析工具" + }, + { + "name": "lamda 安卓抓包神器", + "url": "https://github.com/rev1si0n/lamda", + "catelog": "Hook工具", + "desc": "集成多种功能的Android抓包与逆向工具" + }, + { + "name": "fridaUiTools 脚本管理工具", + "url": "https://github.com/dqzg12300/fridaUiTools", + "catelog": "Hook工具", + "desc": "可视化管理Frida脚本的辅助工具" + }, + { + "name": "Android Crack Tool 逆向工具集", + "url": "https://github.com/Jermic/Android-Crack-Tool", + "catelog": "APP反编译", + "desc": "Mac平台下的Android应用逆向工具集合" + }, + { + "name": "Apktool APK反编译工具", + "url": "https://apktool.org/", + "catelog": "APP反编译", + "desc": "功能强大的APK文件反编译与重打包工具" + }, + { + "name": "PKiD 加固检测工具", + "url": "https://pan.baidu.com/s/1Ho0gVCH_sS-75nhO2TcXXw?pwd=sbox", + "catelog": "APP反编译", + "desc": "检测APK加固厂商的逆向辅助工具" + }, + { + "name": "PKiD Java 跨平台加固检测工具", + "url": "https://bbs.kanxue.com/thread-225120.htm", + "catelog": "APP反编译", + "desc": "支持更多加固厂商的跨平台APK检测工具" + }, + { + "name": "XAPKDetector 保护检测工具", + "url": "https://github.com/horsicq/XAPKDetector", + "catelog": "APP反编译", + "desc": "检测APK/DEX文件构建工具与保护信息的工具" + }, + { + "name": "JEB 专业逆向工程平台", + "url": "https://www.pnfsoftware.com/", + "catelog": "APP反编译", + "desc": "用于代码反汇编、反编译与调试的逆向工程平台" + }, + { + "name": "dex2jar DEX转JAR工具", + "url": "https://github.com/pxb1988/dex2jar", + "catelog": "APP反编译", + "desc": "将Android DEX文件转换为JAR包的工具" + }, + { + "name": "JD-GUI JAR反编译工具", + "url": "https://github.com/java-decompiler/jd-gui", + "catelog": "APP反编译", + "desc": "可视化查看JAR包反编译代码的工具" + }, + { + "name": "JADX Dex反编译工具", + "url": "https://github.com/skylot/jadx", + "catelog": "APP反编译", + "desc": "将Dex/Apk文件转换为Java代码的工具" + }, + { + "name": "Bytecode Viewer 多格式反编译工具", + "url": "https://github.com/Konloch/bytecode-viewer", + "catelog": "APP反编译", + "desc": "支持APK、DEX等多种格式的反编译工具" + }, + { + "name": "AndroidKiller APK逆向工具", + "url": "https://github.com/liaojack8/AndroidKiller", + "catelog": "APP反编译", + "desc": "专注于Android应用的逆向分析与修改工具" + }, + { + "name": "GDA Dalvik字节码反编译器", + "url": "https://github.com/charles2gan/GDA-android-reversing-Tool", + "catelog": "APP反编译", + "desc": "高效分析APK/DEX文件的Dalvik字节码反编译器" + }, + { + "name": "Ghidra 开源逆向工程框架", + "url": "https://github.com/NationalSecurityAgency/ghidra", + "catelog": "APP反编译", + "desc": "NSA开源的软件逆向工程分析框架" + }, + { + "name": "Magisk Android定制工具", + "url": "https://github.com/topjohnwu/Magisk", + "catelog": "APP其他", + "desc": "用于Android系统定制的开源Root工具" + }, + { + "name": "APK Downloader 应用下载工具", + "url": "https://apps.evozi.com/apk-downloader/", + "catelog": "APP其他", + "desc": "输入Google Play链接下载APK文件的工具" + }, + { + "name": "MT管理器 文件管理工具", + "url": "https://mt2.cn/", + "catelog": "APP其他", + "desc": "Android平台文件管理与逆向修改工具" + }, + { + "name": "NP管理器 逆向修改工具", + "url": "https://github.com/githubXiaowangzi/NP-Manager", + "catelog": "APP其他", + "desc": "Android平台的文件管理与APK逆向修改工具" + }, + { + "name": "ADBGUI 可视化ADB工具", + "url": "https://github.com/bigsinger/adbgui", + "catelog": "APP其他", + "desc": "C#编写的可视化ADB命令操作工具" + }, + { + "name": "wxappUnpacker 小程序解包工具", + "url": "https://github.com/geilige/wxappUnpacker", + "catelog": "小程序反编译", + "desc": "微信小程序.wxapkg文件解包与还原工具" + }, + { + "name": "CrackMinApp 小程序反编译工具", + "url": "https://github.com/Cherrison/CrackMinApp", + "catelog": "小程序反编译", + "desc": "一键获取微信小程序源码的反编译工具" + }, + { + "name": "UnpackMiniApp 小程序解密工具", + "url": "https://pan.baidu.com/s/19mKFLGqUAve-FG4Fp6J76g?pwd=sbox", + "catelog": "小程序反编译", + "desc": "针对微信小程序的解密与反编译工具" + }, + { + "name": "wxapkg-unpacker 自动化反编译工具", + "url": "https://github.com/zgqwork/wxapkg-unpacker", + "catelog": "小程序反编译", + "desc": "基于wxappUnpacker的自动化小程序反编译工具" + }, + { + "name": "云码 验证码识别平台", + "url": "https://console.jfbym.com/register/TG17764", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端打码服务平台" + }, + { + "name": "知数云 验证码识别平台", + "url": "https://data.zhishuyun.com/", + "catelog": "打码平台", + "desc": "提供验证码识别与AI图像接口的服务平台" + }, + { + "name": "图腾视觉 图像识别平台", + "url": "https://www.tutengocr.com/", + "catelog": "打码平台", + "desc": "专注于文字识别与目标识别的打码服务平台" + }, + { + "name": "图鉴 验证码识别平台", + "url": "http://www.ttshitu.com/", + "catelog": "打码平台", + "desc": "基于深度学习的全天候验证码识别服务平台" + }, + { + "name": "人人图像打码 验证码识别平台", + "url": "https://www.rrocr.com/", + "catelog": "打码平台", + "desc": "提供极验等多种验证码识别的云端服务平台" + }, + { + "name": "超级鹰 老牌打码平台", + "url": "http://www.chaojiying.com/", + "catelog": "打码平台", + "desc": "提供专业验证码云端识别服务的老牌平台" + }, + { + "name": "得塔云 图像识别平台", + "url": "https://www.detayun.cn/tool/verifyCodeHomePage/", + "catelog": "打码平台", + "desc": "提供图像文字识别与语义分析的服务平台" + }, + { + "name": "验证码识别测试页面", + "url": "http://146.56.204.113:19199/", + "catelog": "打码平台", + "desc": "用于测试各类验证码识别效果的在线平台" + }, + { + "name": "丹里科技 反人类验证码解决方案", + "url": "https://www.zjdanli.com/", + "catelog": "打码平台", + "desc": "专注解决复杂验证码识别的技术服务平台" + }, + { + "name": "CapSolver 验证码识别平台", + "url": "https://www.capsolver.com/", + "catelog": "打码平台", + "desc": "支持多种验证码识别并返回Token的服务平台" + }, + { + "name": "2Captcha 国际验证码识别平台", + "url": "https://2captcha.com/?from=17553728", + "catelog": "打码平台", + "desc": "国际知名的验证码识别服务平台" + }, + { + "name": "YesCaptcha 验证码识别平台", + "url": "https://yescaptcha.com/i/oPZU3g", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "CaptchaAI 验证码识别平台", + "url": "https://captchaai.com/", + "catelog": "打码平台", + "desc": "主打reCAPTCHA与hCaptcha识别的服务平台" + }, + { + "name": "noCaptcha 验证码识别平台", + "url": "https://www.nocaptcha.io/", + "catelog": "打码平台", + "desc": "支持多种防护验证码识别的服务平台" + }, + { + "name": "NopeCHA 验证码识别平台", + "url": "https://nopecha.com/", + "catelog": "打码平台", + "desc": "价格亲民的验证码识别服务平台" + }, + { + "name": "Anti Captcha 验证码识别平台", + "url": "https://anti-captcha.com/", + "catelog": "打码平台", + "desc": "国际知名的验证码识别与Token返回平台" + }, + { + "name": "Solve Captcha 验证码识别平台", + "url": "https://solvecaptcha.net/", + "catelog": "打码平台", + "desc": "支持多种验证码识别的云端服务平台" + }, + { + "name": "ddddocr 开源验证码识别库", + "url": "https://github.com/sml2h3/ddddocr", + "catelog": "开源识别", + "desc": "支持自定义训练的通用验证码识别开源库" + }, + { + "name": "SlideCrack 滑块缺口识别工具", + "url": "https://github.com/crazyxw/SlideCrack", + "catelog": "开源识别", + "desc": "支持网易、极验滑块验证码缺口识别的工具" + }, + { + "name": "dianxuan 点选验证码识别工具", + "url": "https://github.com/wlkjyh/dianxuan", + "catelog": "开源识别", + "desc": "基于孪生神经网络的点选验证码识别工具" + }, + { + "name": "rotate-captcha-crack 旋转验证码识别工具", + "url": "https://github.com/Starry-OvO/rotate-captcha-crack", + "catelog": "开源识别", + "desc": "基于CNN的图片旋转验证码角度预测工具" + }, + { + "name": "RotateCaptchaBreak 旋转验证码识别工具", + "url": "https://github.com/chencchen/RotateCaptchaBreak", + "catelog": "开源识别", + "desc": "专注于旋转验证码识别的开源工具" + }, + { + "name": "RotNet 图像旋转角度预测工具", + "url": "https://github.com/d4nst/RotNet", + "catelog": "开源识别", + "desc": "预测图像旋转角度以纠正方向的开源工具" + }, + { + "name": "rotate_captcha 双旋转验证码解决方案", + "url": "https://github.com/ycq0125/rotate_captcha", + "catelog": "开源识别", + "desc": "针对双旋转验证码的识别解决方案" + }, + { + "name": "PassCaptcha 验证码识别工具", + "url": "https://github.com/rrrrat/PassCaptcha", + "catelog": "开源识别", + "desc": "支持点选与滑动验证码识别的爬虫辅助工具" + }, + { + "name": "hCaptcha Challenger 验证码识别工具", + "url": "https://github.com/QIN2DIM/hcaptcha-challenger", + "catelog": "开源识别", + "desc": "基于ONNX的hCaptcha验证码识别工具" + }, + { + "name": "Text Select Captcha 文字点选识别工具", + "url": "https://github.com/MgArcher/Text_select_captcha", + "catelog": "开源识别", + "desc": "基于PyTorch的文字点选验证码识别工具" + }, + { + "name": "captcha_crack 选字验证码破解工具", + "url": "https://github.com/cos120/captcha_crack", + "catelog": "开源识别", + "desc": "高破解率的网易、极验选字验证码工具" + }, + { + "name": "Awesome Captcha 验证码工具汇总", + "url": "https://github.com/ZYSzys/awesome-captcha", + "catelog": "开源识别", + "desc": "精选验证码相关库与破解工具的汇总项目" + }, + { + "name": "Ghost Cursor 模拟人类鼠标轨迹工具", + "url": "https://github.com/Xetera/ghost-cursor", + "catelog": "轨迹相关", + "desc": "在Puppeteer中生成类人鼠标运动轨迹的工具" + }, + { + "name": "Python Ghost Cursor 轨迹生成库", + "url": "https://github.com/mcolella14/python_ghost_cursor", + "catelog": "轨迹相关", + "desc": "Python版本的类人鼠标移动轨迹生成库" + }, + { + "name": "Track Point Gen AI轨迹生成工具", + "url": "https://github.com/2833844911/Track_point_gen", + "catelog": "轨迹相关", + "desc": "基于AI模拟人手操作轨迹的生成工具" + }, + { + "name": "gurs 贝塞尔曲线轨迹生成工具", + "url": "https://github.com/2833844911/gurs", + "catelog": "轨迹相关", + "desc": "基于贝塞尔曲线生成滑块滑动轨迹的工具" + }, + { + "name": "A Primer on Bézier Curves 贝塞尔曲线教程", + "url": "https://pomax.github.io/bezierinfo/", + "catelog": "轨迹相关", + "desc": "详细讲解贝塞尔曲线原理的在线教程" + }, + { + "name": "极验 GEETEST 人机验证平台", + "url": "https://www.geetest.com/", + "catelog": "国内防护", + "desc": "提供多维验证方式的互联网交互安全平台" + }, + { + "name": "数美科技 业务风控平台", + "url": "https://www.ishumei.com/", + "catelog": "国内防护", + "desc": "基于AI技术的全场景业务风控服务平台" + }, + { + "name": "顶象 业务安全平台", + "url": "https://www.dingxiang-inc.com/", + "catelog": "国内防护", + "desc": "提供智能验证码与业务安全防护的平台" + }, + { + "name": "网易易盾 数字内容风控平台", + "url": "https://dun.163.com/", + "catelog": "国内防护", + "desc": "网易旗下一站式数字内容风控服务平台" + }, + { + "name": "阿里云云盾 验证码平台", + "url": "https://www.aliyun.com/product/afs", + "catelog": "国内防护", + "desc": "阿里云提供的人机验证与业务安全防护平台" + }, + { + "name": "腾讯防水墙 业务安全平台", + "url": "https://007.qq.com/", + "catelog": "国内防护", + "desc": "腾讯旗下专注于业务安全的防护平台" + }, + { + "name": "小盾安全 业务安全平台", + "url": "https://sec.xiaodun.com/", + "catelog": "国内防护", + "desc": "同盾科技旗下全栈式业务安全解决方案平台" + }, + { + "name": "云片 行为验证平台", + "url": "https://www.yunpian.com/product/captcha", + "catelog": "国内防护", + "desc": "提供安全加密传输的行为验证服务平台" + }, + { + "name": "vaptcha 手势验证码平台", + "url": "https://www.vaptcha.com/", + "catelog": "国内防护", + "desc": "基于AI和大数据的手势人机验证平台" + }, + { + "name": "AISecurius 顶象国际版验证平台", + "url": "https://www.aisecurius.com/", + "catelog": "国内防护", + "desc": "顶象国际版的atbCAPTCHA验证服务平台" + }, + { + "name": "Luosimao 人机验证平台", + "url": "https://luosimao.com/service/captcha", + "catelog": "国内防护", + "desc": "提供创新型人机验证服务的平台" + }, + { + "name": "友验 验证防护平台", + "url": "https://www.fastyotest.com/", + "catelog": "国内防护", + "desc": "基于虚拟机保护的全方位验证防护平台" + }, + { + "name": "瑞数信息 动态安全防护平台", + "url": "https://www.riversecurity.com/", + "catelog": "国内防护", + "desc": "专注于Bots自动化攻击防护的安全平台" + }, + { + "name": "Kasada 国际反爬防护平台", + "url": "https://www.kasada.io/", + "catelog": "国际防护", + "desc": "提供Web与API反自动化攻击防护的平台" + }, + { + "name": "F5 & Shape Security 应用安全平台", + "url": "https://www.f5.com/", + "catelog": "国际防护", + "desc": "提供应用安全与性能优化的解决方案平台" + }, + { + "name": "DataDome 反爬防护平台", + "url": "https://datadome.co/", + "catelog": "国际防护", + "desc": "检测并缓解Bot攻击与在线欺诈的防护平台" + }, + { + "name": "Imperva 应用安全平台", + "url": "https://www.imperva.com/", + "catelog": "国际防护", + "desc": "提供数据与应用安全防护的解决方案平台" + }, + { + "name": "PerimeterX 反爬防护平台", + "url": "https://www.perimeterx.com/", + "catelog": "国际防护", + "desc": "专注于防护Bot攻击与账户滥用的安全平台" + }, + { + "name": "Akamai 边缘云平台", + "url": "https://www.akamai.com/", + "catelog": "国际防护", + "desc": "提供边缘云与网络安全防护的解决方案平台" + }, + { + "name": "Cloudflare 网络安全平台", + "url": "https://www.cloudflare.com/", + "catelog": "国际防护", + "desc": "提供CDN、DDoS防护与网络安全的平台" + }, + { + "name": "Arkose Labs 反欺诈平台", + "url": "https://www.arkoselabs.com/", + "catelog": "国际防护", + "desc": "防护恶意Bot与在线欺诈的安全服务平台" + }, + { + "name": "reCAPTCHA Google验证平台", + "url": "https://www.google.com/recaptcha/", + "catelog": "国际防护", + "desc": "Google提供的人机验证与反Bot防护平台" + }, + { + "name": "hCaptcha 反Bot验证平台", + "url": "https://www.hcaptcha.com/", + "catelog": "国际防护", + "desc": "reCAPTCHA替代方案的反Bot验证平台" + }, + { + "name": "CyberSiara 人机验证平台", + "url": "https://www.cybersiara.com/", + "catelog": "国际防护", + "desc": "提供高级人机验证的网站安全防护平台" + }, + { + "name": "AWS Captcha 亚马逊验证平台", + "url": "https://docs.aws.amazon.com/waf/latest/developerguide/waf-captcha-puzzle.html", + "catelog": "国际防护", + "desc": "AWS WAF提供的人机验证服务" + }, + { + "name": "mCaptcha 隐私友好验证平台", + "url": "https://mcaptcha.org/", + "catelog": "国际防护", + "desc": "基于工作量证明的隐私友好型验证码平台" + }, + { + "name": "Fingerprint 设备指纹平台", + "url": "https://fingerprint.com/", + "catelog": "国际防护", + "desc": "高精度识别设备指纹的反欺诈平台" + }, + { + "name": "青果网络 代理IP服务商", + "url": "https://www.qg.net/product/proxyip.html?source=star", + "catelog": "国内代理", + "desc": "提供国内动态代理IP与云主机服务的平台" + }, + { + "name": "协采云 代理IP服务商", + "url": "http://clue.xiecaiyun.com/reg/?channel=Y-wt-bob", + "catelog": "国内代理", + "desc": "提供百万级节点的国内动态代理IP服务平台" + }, + { + "name": "快代理 国内代理IP服务商", + "url": "https://www.kuaidaili.com/", + "catelog": "国内代理", + "desc": "专注于高品质HTTP代理IP服务的平台" + }, + { + "name": "芝麻HTTP 国内代理IP服务商", + "url": "http://www.zmhttp.com/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "提供高匿HTTP代理IP的企业级服务平台" + }, + { + "name": "品易HTTP 国内代理IP服务商", + "url": "http://http.py.cn/?utm-source=yl&utm-keyword=?07", + "catelog": "国内代理", + "desc": "拥有海量IP池的国内动态代理IP服务平台" + }, + { + "name": "品赞HTTP 国内代理IP服务商", + "url": "https://www.ipzan.com/", + "catelog": "国内代理", + "desc": "提供高匿代理IP的多平台支持服务平台" + }, + { + "name": "小象代理 国内代理IP服务商", + "url": "https://www.xiaoxiangdaili.com/", + "catelog": "国内代理", + "desc": "低延迟高可用的国内动态代理IP服务平台" + }, + { + "name": "阿布云 大数据服务平台", + "url": "https://www.abuyun.com/", + "catelog": "国内代理", + "desc": "提供代理IP与大数据采集服务的平台" + }, + { + "name": "云立方 代理IP服务商", + "url": "https://www.yunlifang.cn/", + "catelog": "国内代理", + "desc": "提供动态VPS与代理IP服务的平台" + }, + { + "name": "因体技术 代理IP中台系统", + "url": "https://iinti.cn/", + "catelog": "国内代理", + "desc": "提供MITM脚本与代理IP资源的爬虫解决方案平台" + }, + { + "name": "看雪安全社区 逆向论坛", + "url": "https://bbs.kanxue.com/", + "catelog": "交流论坛", + "desc": "专注于PC与移动设备安全研究的逆向社区" + }, + { + "name": "先知社区 安全技术论坛", + "url": "https://xz.aliyun.com/", + "catelog": "交流论坛", + "desc": "阿里云旗下的安全技术交流社区" + }, + { + "name": "吾爱汇编 软件安全论坛", + "url": "https://www.52hb.com/", + "catelog": "交流论坛", + "desc": "专注于软件加密解密与逆向分析的论坛" + }, + { + "name": "ChatGPT 对话式AI平台", + "url": "https://chat.openai.com/", + "catelog": "AI聊天对话", + "desc": "OpenAI研发的智能对话与内容生成AI平台" + }, + { + "name": "NewBing 人工智能搜索引擎", + "url": "https://www.bing.com/new", + "catelog": "AI聊天对话", + "desc": "微软推出的集成AI聊天功能的搜索引擎" + }, + { + "name": "Google Bard 对话式AI平台", + "url": "https://bard.google.com/", + "catelog": "AI聊天对话", + "desc": "Google基于LaMDA模型开发的对话式AI" + }, + { + "name": "Claude 对话式AI平台", + "url": "https://claude.ai/", + "catelog": "AI聊天对话", + "desc": "Anthropic公司开发的智能对话AI平台" + }, + { + "name": "YOU AI搜索引擎", + "url": "https://you.com/", + "catelog": "AI聊天对话", + "desc": "集成AI对话功能的新一代搜索引擎" + }, + { + "name": "通义千问 阿里云对话式AI", + "url": "https://qianwen.aliyun.com/", + "catelog": "AI聊天对话", + "desc": "阿里云推出的超大规模语言模型对话平台" + }, + { + "name": "文心一言 百度对话式AI", + "url": "https://yiyan.baidu.com/", + "catelog": "AI聊天对话", + "desc": "百度推出的知识增强大语言模型对话平台" + }, + { + "name": "MOSS 复旦对话式AI", + "url": "https://moss.fastnlp.top/", + "catelog": "AI聊天对话", + "desc": "复旦大学开发的国内首款对话式大型语言模型" + }, + { + "name": "360智脑 对话式AI平台", + "url": "https://chat.360.cn/", + "catelog": "AI聊天对话", + "desc": "360自研的千亿参数大语言模型对话平台" + }, + { + "name": "Free ChatGPT Site List 镜像站点汇总", + "url": "https://d0424.ai55.cc/", + "catelog": "AI聊天对话", + "desc": "汇总免费ChatGPT国内镜像站点的平台" + }, + { + "name": "Copilot AI代码助手", + "url": "https://copilot.github.com/", + "catelog": "AI代码编程", + "desc": "GitHub与OpenAI联合推出的AI代码生成工具" + }, + { + "name": "Cursor AI代码编辑器", + "url": "https://www.cursor.so/", + "catelog": "AI代码编程", + "desc": "集成AI聊天功能的智能代码编辑器" + }, + { + "name": "CodeGeeX 代码生成模型", + "url": "https://codegeex.cn/", + "catelog": "AI代码编程", + "desc": "清华与智谱AI联合打造的多语言代码生成模型" + }, + { + "name": "CodeWhisperer 亚马逊AI代码助手", + "url": "https://aws.amazon.com/cn/codewhisperer/", + "catelog": "AI代码编程", + "desc": "亚马逊推出的实时AI代码生成助手" + }, + { + "name": "Codeium AI代码补全工具", + "url": "https://codeium.com/", + "catelog": "AI代码编程", + "desc": "人工智能驱动的代码自动补全工具" + }, + { + "name": "Browse AI 无代码爬虫工具", + "url": "https://www.browse.ai/", + "catelog": "AI代码编程", + "desc": "无需编写代码的网页数据抓取与监控AI工具" + }, + { + "name": "Midjourney AI图像生成工具", + "url": "https://www.midjourney.com/", + "catelog": "AI图像绘画", + "desc": "通过文字描述生成创意图像的AI制图工具" + }, + { + "name": "DALL·E OpenAI图像生成模型", + "url": "https://labs.openai.com/", + "catelog": "AI图像绘画", + "desc": "OpenAI开发的文本生成图像的AI模型平台" + }, + { + "name": "Civitai AI艺术模型平台", + "url": "https://civitai.com/", + "catelog": "AI图像绘画", + "desc": "分享SD开源模型的AI艺术创作平台" + }, + { + "name": "Adobe Firefly Adobe创意生成AI", + "url": "https://firefly.adobe.com/", + "catelog": "AI图像绘画", + "desc": "Adobe推出的创意内容生成AI工具" + }, + { + "name": "Toonme 卡通头像生成工具", + "url": "https://toonme.com/", + "catelog": "AI图像绘画", + "desc": "将真人照片转换为卡通动漫头像的AI工具" + }, + { + "name": "Faceswap 人脸交换工具", + "url": "https://faceswap.dev/", + "catelog": "AI图像绘画", + "desc": "利用深度学习实现图片与视频人脸交换的工具" + }, + { + "name": "MakeLogoAI AI Logo生成工具", + "url": "https://makelogo.ai/", + "catelog": "AI图像绘画", + "desc": "通过AI生成独特创意Logo的在线工具" + }, + { + "name": "通义万相 阿里云AI绘画工具", + "url": "https://wanxiang.aliyun.com/", + "catelog": "AI图像绘画", + "desc": "阿里云推出的AI图像生成与创作平台" + }, + { + "name": "文心一格 百度AI绘画工具", + "url": "https://yige.baidu.com/", + "catelog": "AI图像绘画", + "desc": "百度推出的AI艺术与创意辅助绘画平台" + }, + { + "name": "jpgHD 老照片修复工具", + "url": "https://jpghd.com/", + "catelog": "AI图像绘画", + "desc": "基于AI的老照片无损修复与上色工具" + }, + { + "name": "AI艺术二维码 创意生成工具", + "url": "https://qr.mewx.art/?invite_code=RVP98wzb", + "catelog": "AI图像绘画", + "desc": "生成创意艺术风格二维码的AI工具" + }, + { + "name": "ChatDOC AI文档阅读助手", + "url": "https://chatdoc.com/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的文档内容提取与问答工具" + }, + { + "name": "ChatPDF AI PDF问答工具", + "url": "https://www.chatpdf.com/", + "catelog": "AI文档办公", + "desc": "识别PDF内容并进行智能问答的AI工具" + }, + { + "name": "PandaGPT AI文档分析工具", + "url": "https://www.pandagpt.io/", + "catelog": "AI文档办公", + "desc": "生成知识图谱并回答文档问题的AI工具" + }, + { + "name": "WPS AI 办公助手", + "url": "https://ai.wps.cn/", + "catelog": "AI文档办公", + "desc": "WPS推出的文档处理与内容生成AI助手" + }, + { + "name": "Notion AI 写作助手", + "url": "https://www.notion.so/product/ai", + "catelog": "AI文档办公", + "desc": "Notion集成的AI内容生成与写作辅助工具" + }, + { + "name": "SciSpace 论文阅读助手", + "url": "https://typeset.io/", + "catelog": "AI文档办公", + "desc": "基于ChatGPT的科研论文阅读理解平台" + }, + { + "name": "ExplainPaper 论文解读工具", + "url": "https://www.explainpaper.com/", + "catelog": "AI文档办公", + "desc": "辅助阅读学术论文的AI问答工具" + }, + { + "name": "Effidit 腾讯写作助手", + "url": "https://effidit.qq.com/", + "catelog": "AI文档办公", + "desc": "腾讯推出的AI写作与创作辅助工具" + }, + { + "name": "爱改写 文本处理工具", + "url": "https://www.aigaixie.com/", + "catelog": "AI文档办公", + "desc": "提供文本改写与原创度查询的工具" + }, + { + "name": "火山写作 字节跳动AI写作工具", + "url": "https://www.writingo.net/", + "catelog": "AI文档办公", + "desc": "字节跳动推出的中英文AI写作助手" + }, + { + "name": "腾讯云7.5折扣入口", + "url": "https://curl.qcloud.com/JgTpb4jm", + "catelog": "推广", + "desc": "腾讯云大使专属7.5折优惠购买入口" + }, + { + "name": "阿里云折扣入口", + "url": "https://www.aliyun.com/minisite/goods?userCode=qn2j4wxt", + "catelog": "推广", + "desc": "阿里云产品折扣购买入口" + }, + { + "name": "超大流量卡 办理入口", + "url": "https://www.hemorn.cn/index?k=bzBzYWFuSDkvYXM9", + "catelog": "推广", + "desc": "可打电话与注册账号的大流量手机卡办理入口" + }, + { + "name": "赔钱机场 代理服务", + "url": "https://pqjc.site/#/register?code=VX5cofnG", + "catelog": "推广", + "desc": "价格低廉的代理节点服务平台" + }, + { + "name": "节点 代理服务", + "url": "https://1s.bigmeok.me/user#/register?code=ZTrIUOBr", + "catelog": "推广", + "desc": "提供网络代理节点的服务平台" + }, + { + "name": "吃什么 美食推荐工具", + "url": "https://eat.020417.xyz/", + "catelog": "个人站", + "desc": "提供美食推荐的娱乐性个人工具站" + }, + { + "name": "实时新闻 资讯聚合站", + "url": "https://new.020417.xyz/", + "catelog": "个人站", + "desc": "聚合实时新闻资讯的个人站点" + }, + { + "name": "微信公众号文章排版工具", + "url": "https://md.020417.xyz/", + "catelog": "个人站", + "desc": "辅助微信公众号文章排版的个人工具站" + }, + { + "name": "Alist网盘 个人网盘", + "url": "http://pan.lideshan.top/", + "catelog": "个人站", + "desc": "基于Alist搭建的个人网盘服务站" + }, + { + "name": "BrightData 国际代理服务商", + "url": "https://get.brightdata.com/17arn8", + "catelog": "国际代理", + "desc": "提供获奖代理网络与网页爬虫服务的平台" + }, + { + "name": "Smartproxy 国际代理服务商", + "url": "https://smartproxy.com/", + "catelog": "国际代理", + "desc": "提供海量高质量IP的国际代理服务平台" + }, + { + "name": "Oxylabs 国际代理服务商", + "url": "https://oxylabs.io/", + "catelog": "国际代理", + "desc": "提供住宅与数据中心代理IP的服务平台" + }, + { + "name": "Stormproxies 国际代理服务商", + "url": "https://stormproxies.com/", + "catelog": "国际代理", + "desc": "提供住宅旋转代理与专用代理的服务平台" + }, + { + "name": "Asocks 国际代理服务商", + "url": "https://asocks.com/", + "catelog": "国际代理", + "desc": "提供稳定住宅代理网络的服务平台" + }, + { + "name": "IPRoyal 国际代理服务商", + "url": "https://iproyal.com/", + "catelog": "国际代理", + "desc": "高性价比的国际代理IP服务平台" + }, + { + "name": "Ake 国际代理服务商", + "url": "https://ake.net/", + "catelog": "国际代理", + "desc": "提供移动、住宅与服务器代理IP的平台" + }, + { + "name": "WTFproxy 国际代理服务商", + "url": "https://www.wtfproxy.com/", + "catelog": "国际代理", + "desc": "低价旋转住宅代理服务平台,支持加密货币支付" + }, + { + "name": "ScrapingBee 网页爬虫服务平台", + "url": "https://scrapingbee.com/", + "catelog": "国际代理", + "desc": "提供网页爬虫服务的平台,支持免费试用" + }, + { + "name": "Rayobyte 国际代理服务商", + "url": "https://rayobyte.com/", + "catelog": "国际代理", + "desc": "提供海量数据采集所需代理IP的服务平台" + }, + { + "name": "Shifter 数据采集工具平台", + "url": "https://shifter.io/", + "catelog": "国际代理", + "desc": "提供住宅代理网络与数据爬虫API的平台" + }, + { + "name": "ScraperAPI 网页爬虫API平台", + "url": "https://www.scraperapi.com/", + "catelog": "国际代理", + "desc": "提供代理旋转与爬虫API的服务平台" + }, + { + "name": "sperm 逆向文章汇总项目", + "url": "https://github.com/darbra/sperm", + "catelog": "优质项目", + "desc": "汇总精彩JS逆向技术文章的开源项目" + }, + { + "name": "js_reverse JS逆向案例项目", + "url": "https://github.com/luzhisheng/js_reverse", + "catelog": "优质项目", + "desc": "包含多种JS逆向实战案例的开源项目" + }, + { + "name": "gospider Go语言爬虫框架", + "url": "https://github.com/baixudong007/gospider", + "catelog": "优质项目", + "desc": "助力Python爬虫开发者过渡到Go语言的框架" + }, + { + "name": "jsvmp-repository JSVMP算法汇总", + "url": "https://github.com/xiaoweigege/jsvmp-repository", + "catelog": "优质项目", + "desc": "汇总国内部分网站JSVMP算法的开源项目" + }, + { + "name": "NewsCrawl 企业级舆情爬虫项目", + "url": "https://github.com/casual-silva/NewsCrawl", + "catelog": "优质项目", + "desc": "支持定时任务与集群部署的开源舆情爬虫项目" + }, + { + "name": "Hydra Python爬虫实战项目", + "url": "https://github.com/HelloGitHub-Team/Hydra", + "catelog": "优质项目", + "desc": "包含实战案例的Python爬虫入门项目" + }, + { + "name": "JSpider JS逆向案例更新项目", + "url": "https://github.com/bytebuff/JSpider", + "catelog": "优质项目", + "desc": "每周更新网站JS解密案例的开源项目" + }, + { + "name": "PythonSpider JS逆向教程项目", + "url": "https://github.com/DingZaiHub/PythonSpider", + "catelog": "优质项目", + "desc": "包含JS逆向与加密算法教程的Python项目" + }, + { + "name": "webcrawler 硬核JS逆向项目", + "url": "https://github.com/chencchen/webcrawler", + "catelog": "优质项目", + "desc": "专注于硬核JS逆向技术的爬虫项目" + }, + { + "name": "awesome-reverse 逆向入门汇总项目", + "url": "https://github.com/AlienwareHe/awesome-reverse", + "catelog": "优质项目", + "desc": "包含JS与安卓逆向基础入门教程的汇总项目" + }, + { + "name": "Crack-JS-Spider JS反爬破解项目", + "url": "https://github.com/LoseNine/Crack-JS-Spider", + "catelog": "优质项目", + "desc": "专注于JS反爬加密参数破解的爬虫项目" + }, + { + "name": "InfoSpider 个人数据爬虫工具箱", + "url": "https://github.com/kangvcar/InfoSpider", + "catelog": "优质项目", + "desc": "帮助用户抓取个人数据的开源爬虫工具箱" + }, + { + "name": "learn_python3_spider Python爬虫教程项目", + "url": "https://github.com/wistbean/learn_python3_spider", + "catelog": "优质项目", + "desc": "从入门到进阶的Python爬虫学习教程项目" + }, + { + "name": "吾爱破解论坛 软件安全社区", + "url": "https://www.52pojie.cn/", + "catelog": "交流论坛", + "desc": "专注于软件安全与病毒分析的技术交流论坛" + }, + { + "name": "奇安信攻防社区 安全论坛", + "url": "https://forum.butian.net/", + "catelog": "交流论坛", + "desc": "奇安信旗下的网络安全攻防技术交流社区" + }, + { + "name": "飘云阁 软件安全论坛", + "url": "https://www.chinapyg.com/", + "catelog": "交流论坛", + "desc": "专注于软件安全与游戏外挂分析的技术论坛" + }, + { + "name": "精易论坛 易语言交流社区", + "url": "https://bbs.125.la/", + "catelog": "交流论坛", + "desc": "专注于易语言编程的技术交流论坛" + }, + { + "name": "乐易论坛 编程交流社区", + "url": "https://www.leybc.com/", + "catelog": "交流论坛", + "desc": "专注于易语言与APP逆向的技术交流论坛" + }, + { + "name": "CSDN爬虫逆向社区 技术论坛", + "url": "https://bbs.csdn.net/forums/lx", + "catelog": "交流论坛", + "desc": "CSDN旗下的爬虫与逆向技术交流社区" + }, + { + "name": "CSDN逆向安全社区 技术论坛", + "url": "https://bbs.csdn.net/forums/ReverseSecurity", + "catelog": "交流论坛", + "desc": "CSDN旗下的逆向与网络安全交流社区" + }, + { + "name": "The Web Scraping Club 国外爬虫社区", + "url": "https://substack.thewebscraping.club/", + "catelog": "国外论坛", + "desc": "国外专注于网页爬虫技术的交流社区" + }, + { + "name": "网洛者反反爬虫练习平台", + "url": "https://wangluozhe.com/", + "catelog": "练习平台", + "desc": "免费公开的反反爬虫技术实战练习平台" + }, + { + "name": "TLS指纹对抗练习平台", + "url": "https://tlsja3.cn/", + "catelog": "练习平台", + "desc": "专注于TLS指纹对抗技术的实战练习平台" + }, + { + "name": "Scrape Center 爬虫练习平台", + "url": "https://scrape.center/", + "catelog": "练习平台", + "desc": "《Python3网络爬虫开发实战》配套案例练习平台" + }, + { + "name": "镀金的天空 GlidedSky 爬虫闯关平台", + "url": "http://www.glidedsky.com/", + "catelog": "练习平台", + "desc": "提供爬虫在线闯关练习的技术平台" + }, + { + "name": "Web安全学习笔记 开源项目", + "url": "https://github.com/LyleMi/Learn-Web-Hacking", + "catelog": "网络安全", + "desc": "汇总Web安全学习笔记的开源项目" + }, + { + "name": "地址生成器 虚拟地址工具", + "url": "https://ad.020417.xyz/", + "catelog": "个人站", + "desc": "生成虚拟地址信息的个人工具站" + }, + { + "name": "短链接生成工具 个人站", + "url": "https://l.020417.xyz/", + "catelog": "个人站", + "desc": "将长链接转换为短链接的个人工具站" + }, + { + "name": "人生模拟器 娱乐工具站", + "url": "https://life.020417.xyz/", + "catelog": "个人站", + "desc": "模拟人生经历的娱乐性个人工具站" + }, + { + "name": "猿人学练习平台 爬虫实战平台", + "url": "https://www.python-spider.com/challenge/", + "catelog": "练习平台", + "desc": "专注于爬虫技术实战的练习平台" + }, + { + "name": "布谷TV 影视资源站", + "url": "https://www.bugutv.org/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "NT动漫 动漫资源站", + "url": "https://www.ntdm9.com/", + "catelog": "影视娱乐", + "desc": "专注于动漫资源的在线观看平台" + }, + { + "name": "音范丝 影视资源站", + "url": "https://www.yinfans.me/", + "catelog": "影视娱乐", + "desc": "提供高清影视资源的在线播放平台" + }, + { + "name": "小纸条 资源分享站", + "url": "https://ali.gitcafe.ink/", + "catelog": "资源分享", + "desc": "分享各类资源的个人站点" + }, + { + "name": "阿里云盘资源站 资源分享平台", + "url": "https://myxiaozhan.net/", + "catelog": "资源分享", + "desc": "分享阿里云盘资源的平台" + }, + { + "name": "搜片 影视搜索平台", + "url": "https://soupian.one/", + "catelog": "影视娱乐", + "desc": "聚合影视资源的搜索平台" + }, + { + "name": "片库网 影视资源站", + "url": "https://www.zzldxny.com/", + "catelog": "影视娱乐", + "desc": "提供海量影视资源的在线观看平台" + }, + { + "name": "耐看点播 影视资源站", + "url": "https://www.nkvod.com/", + "catelog": "影视娱乐", + "desc": "提供影视点播服务的在线平台" + }, + { + "name": "狸猫盘搜 网盘搜索平台", + "url": "https://www.alipansou.com/", + "catelog": "资源分享", + "desc": "搜索阿里云盘资源的平台" + }, + { + "name": "可可影视 影视资源站", + "url": "https://www.keke1.app/", + "catelog": "影视娱乐", + "desc": "提供影视资源在线观看的平台" + }, + { + "name": "macOS-ISOs Mac系统镜像项目", + "url": "https://github.com/Pyenb/macOS-ISOs", + "catelog": "资源分享", + "desc": "汇总Mac OS系统镜像的开源项目" + } +] diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..f41979a --- /dev/null +++ b/src/App.vue @@ -0,0 +1,895 @@ + + + + + \ No newline at end of file diff --git a/src/components/FloatingCard.vue b/src/components/FloatingCard.vue new file mode 100644 index 0000000..f441fcb --- /dev/null +++ b/src/components/FloatingCard.vue @@ -0,0 +1,392 @@ + + + + + diff --git a/src/components/SearchBox.vue b/src/components/SearchBox.vue new file mode 100644 index 0000000..d556e29 --- /dev/null +++ b/src/components/SearchBox.vue @@ -0,0 +1,364 @@ + + + + + \ No newline at end of file diff --git a/src/components/SmartCard.vue b/src/components/SmartCard.vue new file mode 100644 index 0000000..0fd7b83 --- /dev/null +++ b/src/components/SmartCard.vue @@ -0,0 +1,461 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..fe5bae3 --- /dev/null +++ b/src/main.js @@ -0,0 +1,5 @@ +import { createApp } from 'vue' +import App from './App.vue' +import './style.css' + +createApp(App).mount('#app') diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..324580c --- /dev/null +++ b/src/style.css @@ -0,0 +1,197 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif; + background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%); + min-height: 100vh; + overflow-x: hidden; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +#app { + width: 100%; + min-height: 100vh; + position: relative; +} + +/* 自定义滚动条 */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: rgba(255, 255, 255, 0.1); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); + border-radius: 4px; + transition: background 0.3s ease; +} + +::-webkit-scrollbar-thumb:hover { + background: rgba(255, 255, 255, 0.5); +} + +/* 链接样式 */ +a { + color: inherit; + text-decoration: none; +} + +/* 按钮基础样式重置 */ +button { + font-family: inherit; + border: none; + outline: none; + cursor: pointer; +} + +/* 输入框基础样式 */ +input { + font-family: inherit; +} + +/* 通用动画类 */ +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.3s ease; +} + +.fade-enter-from, +.fade-leave-to { + opacity: 0; +} + +.slide-up-enter-active, +.slide-up-leave-active { + transition: transform 0.3s ease, opacity 0.3s ease; +} + +.slide-up-enter-from, +.slide-up-leave-to { + transform: translateY(20px); + opacity: 0; +} + +/* 工具类 */ +.text-gradient { + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.backdrop-glass { + backdrop-filter: blur(20px); + background: rgba(255, 255, 255, 0.1); +} + +/* 响应式栅格 */ +.grid-responsive { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 16px; +} + +/* 移动端优化 */ +@media (max-width: 768px) { + body { + -webkit-text-size-adjust: 100%; + } + + /* 防止 iOS 缩放 */ + input, textarea, select { + font-size: 16px !important; + } +} + +/* 高对比度模式支持 */ +@media (prefers-contrast: high) { + .smart-card, + .search-box, + .tag-item { + border-width: 2px; + } +} + +/* 减少动画模式 */ +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.01ms !important; + } +} + +/* 打印样式优化 */ +@media print { + body { + background: white; + } + + .glass-bg, + .app-footer, + .controls-section, + .hero-header { + display: none; + } + + .cards-grid { + grid-template-columns: repeat(2, 1fr); + } + + .smart-card { + break-inside: avoid; + box-shadow: none; + border: 1px solid #ddd; + } +} + +/* 选中文本样式 */ +::selection { + background: rgba(102, 126, 234, 0.3); + color: white; +} + +/* 焦点可见性 */ +:focus-visible { + outline: 2px solid #667eea; + outline-offset: 2px; +} + +/* 隐藏类 */ +.hidden { + display: none !important; +} + +/* 文本截断 */ +.text-ellipsis { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* 多行文本截断 */ +.text-ellipsis-2 { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.text-ellipsis-3 { + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; +} \ No newline at end of file diff --git a/vercel b/vercel new file mode 100644 index 0000000..6317af7 --- /dev/null +++ b/vercel @@ -0,0 +1,16 @@ +{ + "version": 2, + "builds": [ + { + "src": "dist/**", + "use": "@vercel/static" + } + ], + "routes": [ + { + "src": "/(.*)", + "dest": "/$1" + } + ], + "outputDirectory": "dist" +} \ No newline at end of file diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..5a095e1 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,14 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +export default defineConfig({ + plugins: [vue()], + server: { + port: 3000, + open: true + }, + build: { + outDir: 'dist', + assetsDir: 'assets' + } +}) \ No newline at end of file