Files
dht/web

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