4.8 KiB
4.8 KiB
Linux 镜像源文件浏览器
一个使用 Next.js 构建的现代化 Linux 镜像源文件浏览网站,支持暗黑模式、镜像源自动配置等功能。
🚀 特性
- 现代化界面: 基于 Next.js 16 和 Tailwind CSS 4 构建的响应式界面
- 文件浏览: 支持列表和网格两种视图模式
- 暗黑模式: 自动检测系统主题,支持手动切换
- 镜像源配置: 一键生成常用 Linux 发行版的镜像源配置命令
- 搜索功能: 快速搜索文件和目录
- 实时统计: 显示目录数量、文件数量和总大小
- 配置文件: 通过 JSON 配置文件轻松自定义
📦 支持的 Linux 发行版
- Ubuntu (Debian 包管理器)
- CentOS/RHEL (YUM/DNF 包管理器)
- Debian (APT 包管理器)
- Arch Linux (Pacman 包管理器)
- Fedora (DNF 包管理器)
🛠️ 技术栈
- 前端: Next.js 16 (App Router), React 19, TypeScript
- 样式: Tailwind CSS 4, Font Awesome 6
- 构建工具: Turbopack, ESLint
- 部署: 支持 Vercel, Docker 等多种部署方式
🚀 快速开始
1. 安装依赖
npm install
# 或
yarn install
# 或
pnpm install
2. 启动开发服务器
npm run dev
# 或
yarn dev
3. 打开浏览器
访问 http://localhost:3000 查看应用。
⚙️ 配置
项目通过 config.json 文件进行配置:
{
"mirror": {
"name": "Linux 镜像源",
"description": "快速、稳定的 Linux 发行版镜像服务",
"baseUrl": "https://mirror.example.com"
},
"directories": [
{
"name": "ubuntu",
"path": "/var/mirror/ubuntu",
"description": "Ubuntu Linux 发行版",
"icon": "fab fa-ubuntu",
"color": "#E95420"
}
],
"features": {
"enableSearch": true,
"enableDarkMode": true,
"enableStats": true,
"enableDownload": true,
"enableCopyLink": true
},
"ui": {
"itemsPerPage": 50,
"defaultView": "list",
"showHiddenFiles": false
}
}
📁 项目结构
src/
├── app/ # Next.js App Router
│ ├── api/ # API 路由
│ │ ├── browse/ # 文件浏览 API
│ │ ├── command/ # 镜像源配置 API
│ │ └── config/ # 配置信息 API
│ ├── globals.css # 全局样式
│ ├── layout.tsx # 根布局
│ └── page.tsx # 主页面
├── components/ # React 组件
│ ├── FileBrowser.tsx # 文件浏览器组件
│ ├── Header.tsx # 头部组件
│ ├── Footer.tsx # 底部组件
│ └── CommandModal.tsx # 镜像源配置弹窗
├── lib/ # 工具库
│ ├── config.ts # 配置读取
│ ├── filesystem.ts # 文件系统操作
│ └── demo-data.ts # 演示数据
└── types/ # TypeScript 类型定义
└── index.ts
🏗️ 部署
传统部署
# 构建项目
npm run build
# 启动生产服务器
npm start
🔧 自定义
添加新的 Linux 发行版
- 在
config.json的directories中添加新目录 - 在
linuxCommands中添加对应的配置命令 - 在
src/lib/demo-data.ts中添加演示数据(可选)
修改样式
- 编辑
src/app/globals.css添加自定义样式 - 修改
tailwind.config.js配置 Tailwind CSS
扩展功能
- 在
src/app/api/下添加新的 API 路由 - 在
src/components/下添加新的组件
🔒 安全注意事项
- 路径安全: 项目包含路径验证,防止目录遍历攻击
- 文件权限: 确保运行用户有适当权限访问镜像目录
- 网络安全: 生产环境建议配置 HTTPS 和防火墙
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License
🙏 致谢
- Next.js - React 框架
- Tailwind CSS - CSS 框架
- Font Awesome - 图标库
- Context7 - 技术文档支持
📱 功能演示
主要功能
- 文件浏览: 以列表或网格形式浏览镜像文件
- 搜索: 实时搜索文件和目录
- 镜像源配置: 点击"添加镜像源"按钮生成配置命令
- 暗黑模式: 点击月亮/太阳图标切换主题
- 响应式设计: 支持手机、平板和桌面设备
使用镜像源配置
- 点击页面顶部的"添加镜像源"按钮
- 选择您的 Linux 发行版
- 复制生成的命令
- 在终端中执行命令
- 更新软件包列表
配置文件说明
config.json: 主配置文件,包含镜像源信息、目录配置和功能开关- 支持通过修改配置文件来自定义界面颜色、图标、功能等
- 配置更改后需要重启开发服务器