DHT Search Web
基于 Bun Vue 3 TypeScript Vite Tailwind CSS 和 shadcn-vue 的本地搜索界面
开发
先在仓库根目录启动后端服务
$env:LIBCLANG_PATH = "D:\tools\dht\.tools\libclang\clang\native"
cargo run -p dht-search -- --config dht-search.example.toml
然后打开另一个终端启动前端开发服务
cd web
bun install
bun run dev
打开 http://127.0.0.1:5173
Vite 会将搜索详情状态等接口代理到 http://127.0.0.1:8080
检查和构建
bun run check
生产静态资源输出到 web/dist
生产运行
在启动 Rust 服务前构建一次 Web 资源
cd web
bun install --frozen-lockfile
bun run build
cd ..
cargo run --release -p dht-search -- --config dht-search.example.toml
打开 http://127.0.0.1:8080
Axum 根据配置中的 http.web_dir 提供静态资源和单页回退 不需要单独运行 Vite
已实现功能
- 关键词 文件名片段和精确 infohash 搜索
- 大小 文件数 扩展名 时间 热度和可用性筛选
- 相关度 时间 热度 大小和发现次数排序
- 有上限的结果分页和 URL 查询恢复
- 文件列表 热度 可用性和收录时间详情
- 相同内容的不同 infohash 变体展示
- 磁力链接打开和复制
- DHT 采集 索引 持久化和验证运行状态
- 加载 空结果 接口错误 重试和移动端适配
添加组件
当前 shadcn-vue registry 与最新版 CLI 的样式列表暂时不一致 项目使用已验证的 CLI 版本
bunx shadcn-vue@2.4.3 add button -y