Skip to content

Linux 应用安装器是一个基于 Web 的应用安装工具,可以生成针对特定发行版的 Shell 脚本, 旨在成为在全新 Linux 系统上批量安装应用程序的最简单方式。

License

Notifications You must be signed in to change notification settings

AnYanYi/Linux-app-installer

Repository files navigation

📢 关于本项目
本项目基于 TuxMate 进行中文化和优化。
原项目作者:@abusoww | 许可证:GPL-3.0

Linux 应用安装器

基于 TuxMate 的完整中文版

Linux 应用安装器

Linux 中文版 Maintained GitHub license

🐧 你安装 Linux 唯一需要的伙伴

Linux 应用安装器 是一个基于 Web 的应用安装工具,可以生成针对特定发行版的 Shell 脚本, 旨在成为在全新 Linux 系统上批量安装应用程序的最简单方式。

也许你刚刚安装了一个全新的 Linux 发行版。也许你正在设置一台新机器,或者记不住你最喜欢的应用程序的所有软件包名称?

📦 支持的发行版

  • Ubuntu / Debian (apt)
  • Arch Linux (pacman + AUR)
  • Fedora (dnf)
  • openSUSE (zypper)
  • Nix (nix-env)
  • Flatpak
  • Snap

✨ 特性 🌟

应用目录

180+ 个应用,涵盖 15 个类别:浏览器、通讯软件、开发工具、终端、媒体、创意软件、游戏、办公、VPN/网络、安全等。

智能脚本生成

  • 检测已安装的软件包
  • 在 Arch 上自动处理 AUR 软件包
  • 在 Fedora 上按需启用 RPM Fusion
  • Flatpak 并行安装
  • 网络重试与指数退避
  • 带预估时间的进度条
  • 彩色输出和总结报告

可用性感知

显示哪些应用在您选择的发行版上可用,并提供不可用软件包的安装说明。

📸 截图

1 2 3

💻 开发

npm install
npm run dev

打开 http://localhost:3000

构建

npm run build
npm start

🗂️ 项目结构

src/
├── app/                    # Next.js app router
│   ├── page.tsx            # Main page component
│   ├── layout.tsx          # Root layout with meta tags
│   └── globals.css         # Tailwind styles
├── components/
│   ├── app/                # App cards & categories
│   ├── command/            # Command footer & AUR settings
│   ├── common/             # Tooltips, loading states
│   ├── distro/             # Distribution selector
│   ├── header/             # Header links & info
│   ├── search/             # Search overlay
│   └── ui/                 # Theme toggle
├── hooks/                  # React hooks
│   ├── useLinuxInit.ts     # Main app state management
│   ├── useKeyboardNavigation.ts
│   ├── useTheme.tsx
│   └── useDelayedTooltip.ts
├── lib/
│   ├── data.ts             # Apps, distros, icons
│   ├── aur.ts              # AUR package detection
│   ├── analytics.ts        # Umami tracking
│   ├── utils.ts            # Utility functions
│   ├── generateInstallScript.ts
│   └── scripts/            # Per-distro script generators
└── __tests__/              # Vitest unit tests

🐳 Docker 部署

Docker 快速开始

# 构建 Docker 镜像
docker build -t linux-app-installer:latest .

# 运行容器
docker run -p 3000:3000 linux-app-installer:latest

使用预构建镜像

注意:本项目暂未发布 Docker 镜像到容器注册表。
请使用上述构建命令在本地构建镜像,或等待后续发布。

如果你想发布自己的镜像到 GitHub Container Registry:

# 构建并推送(需要先登录 GitHub Container Registry)
docker build -t ghcr.io/你的用户名/linux-app-installer:latest .
docker push ghcr.io/你的用户名/linux-app-installer:latest

使用 Docker Compose(推荐)

# 启动应用
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止应用
docker-compose down

打开 http://localhost:3000

配置

Docker 容器默认暴露 3000 端口。你可以自定义端口映射:

docker run -p 8080:3000 linux-app-installer:latest

环境变量

默认配置了以下环境变量:

  • NODE_ENV=production - 在生产模式下运行
  • PORT=3000 - 应用端口
  • NEXT_TELEMETRY_DISABLED=1 - 禁用 Next.js 匿名遥测

运行容器时可以覆盖这些变量:

docker run -p 3000:3000 \
  -e PORT=3000 \
  -e NEXT_TELEMETRY_DISABLED=1 \
  linux-app-installer:latest

🛠️ 技术栈

🚀 使用方法

  1. 从下拉菜单中选择你的发行版
  2. 浏览分类并选择应用程序
  3. 复制生成的命令或下载完整的安装脚本
  4. 在你的 Linux 机器上运行脚本

⌨️ 键盘快捷键

按键 操作
/ h j k l 导航应用
空格 切换应用选择
Esc 清除焦点
/ 聚焦搜索
y 复制命令
d 下载脚本
t 切换主题
c 清除所有选择
Tab 切换预览抽屉

🤝 贡献

查看 CONTRIBUTING.md 了解贡献指南。

🎯 路线图

已完成

  • Multi-distro support (Ubuntu, Debian, Arch, Fedora, openSUSE)
  • Nix, Flatpak & Snap universal package support
  • 180+ applications across 15 categories
  • Smart script generation with error handling
  • Dark / Light theme toggle with smooth animations
  • Copy command & Download script
  • Custom domain
  • Docker support
  • CI/CD shortcuts & workflow
  • Search & filter applications (Real-time)
  • AUR Helper selection (yay/paru) + Auto-detection
  • Keyboard navigation (Vim keys, Arrows, Space, Esc, Enter)
  • Package availability indicators (including AUR badges)

计划中

  • Winget 支持(Windows)
  • Homebrew 支持(macOS)
  • 保存自定义预设/配置文件
  • 通过 URL 分享配置
  • 更多发行版(Gentoo、Void、Alpine)
  • PWA 支持离线使用
  • CLI 配套工具
  • 扩展应用目录(200+)
  • Dotfiles 集成

🔗 相关项目

  • LinuxToys – User-friendly collection of tools for Linux with an intuitive interface
  • Nixite – Generates bash scripts to install Linux software, inspired by Ninite
  • tuxmate-cli – CLI companion for tuxmate, uses tuxmate's package database

📜 许可证

采用 GPL-3.0 许可证
自由软件 — 你可以在 GNU 通用公共许可证的条款下重新分发和修改它。

About

Linux 应用安装器是一个基于 Web 的应用安装工具,可以生成针对特定发行版的 Shell 脚本, 旨在成为在全新 Linux 系统上批量安装应用程序的最简单方式。

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages