一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店

引言

"No more hunting through GitHub releases."

这是"一天一个开源项目"系列的第35篇文章。今天带你了解的项目是 GitHub StoreGitHub),由 rainxchzed 开源。

你是否曾在 GitHub 上寻找某个开源应用的安装包,却要在 Releases 页面翻找 APK、EXE、DMG 等文件?GitHub Store 是一个跨平台的应用商店 ,专门用于发现和安装 GitHub Releases 中的开源软件。它自动检测可安装的二进制文件(Android: APK;Windows: EXE、MSI;macOS: DMG、PKG;Linux: DEB、RPM、AppImage),提供一键安装更新追踪 (Android 上追踪已安装应用并提示更新)与类应用商店界面 (Trending、Recently Updated、New 项目分类)。项目基于 Kotlin MultiplatformCompose Multiplatform ,支持 Android、Windows、macOS、Linux,已拥有 48,000+ 活跃用户7k+ GitHub Stars。开发者 rainxchzed 在高中期间独立开发并维护,100% 免费、无广告、无追踪、无付费功能。

你将学到什么

  • GitHub Store 的定位:GitHub Releases 的跨平台应用商店,简化开源软件发现与安装
  • 核心功能:智能发现、一键安装、更新追踪、详细信息展示
  • 技术架构:Kotlin Multiplatform + Compose Multiplatform,跨平台 UI 与逻辑共享
  • 项目出现条件:如何让应用自动出现在 GitHub Store 中
  • 与官方应用商店的对比与优势

前置知识

  • 了解 GitHub Releases 的基本概念(发布版本、Assets 文件)
  • 对 Android、Windows、macOS、Linux 的安装包格式有基本认知
  • 若想贡献,需了解 Kotlin Multiplatform 与 Compose Multiplatform

项目背景

项目简介

GitHub Store 是一个跨平台的应用商店 ,专门用于发现和安装 GitHub Releases 中的开源软件。它通过 GitHub Search API 自动发现包含可安装二进制文件的仓库,提供类应用商店的浏览体验(Trending、Recently Updated、New 分类),并支持一键安装与更新追踪。项目支持 Android(APK)、Windows(EXE、MSI)、macOS(DMG、PKG)、Linux(DEB、RPM、AppImage),使用 Kotlin Multiplatform 实现跨平台逻辑共享,Compose Multiplatform 实现统一 UI,同时保持各平台的原生安装行为(Android 调用包安装器,桌面端下载到 Downloads 文件夹并调用默认处理器)。

面向的用户群体

  • 开源软件用户:希望更方便地发现和安装 GitHub 上的应用
  • 开发者:希望自己的应用被更多人发现和使用
  • 跨平台用户:在多个平台上使用开源软件,需要统一的安装体验

作者/团队介绍

  • 作者rainxchzedGitHub
  • 背景:在高中期间独立开发并维护此项目
  • 项目状态:活跃维护中,已发布 v1.5.1(2026 年 1 月)
  • 支持方式:Buy Me a Coffee、GitHub Sponsors;也欢迎 Star、Issue、分享、加入 Discord

项目数据

  • GitHub Stars: 7k+
  • 🍴 Forks: 270+
  • 👥 活跃用户: 48,000+
  • 📦 版本: v1.5.1(最新)
  • 📄 License: Apache-2.0
  • 🌐 官网 : github-store.org
  • 💬 Discord : 社区链接
  • 🏆 媒体报道: HowToMen(Top 20 Best Android Apps 2026)、HelloGitHub(Featured Project)

主要功能

核心作用

GitHub Store 的核心作用是简化 GitHub Releases 的发现与安装流程

  1. 自动发现:通过 GitHub Search API 发现包含可安装二进制文件的仓库
  2. 智能筛选:只显示包含当前平台可安装文件的仓库(Android 用户看到 APK,桌面用户看到 EXE/DMG/DEB 等)
  3. 一键安装:点击「Install latest」自动下载并调用系统安装器
  4. 更新追踪:Android 上追踪已安装应用,当有新版本时提示更新
  5. 详细信息:展示 README、发布说明、安装包列表等

使用场景

  1. 发现新应用

    • 浏览 Trending、Recently Updated、New 分类,发现感兴趣的开源应用
  2. 快速安装

    • 找到应用后一键安装,无需手动下载 Releases 文件
  3. 管理已安装应用(Android)

    • 在「Apps」屏幕查看已安装应用,收到更新提示时一键更新
  4. 跨平台使用

    • 在 Android、Windows、macOS、Linux 上使用统一的界面与体验

快速开始

下载安装

  • Android : 从 Obtainium 或 GitHub Releases 下载 APK
  • Desktop : 从 官网 或 GitHub Releases 下载对应平台的安装包

使用流程

  1. 打开应用,浏览 Trending、Recently Updated、New 分类
  2. 点击应用查看详细信息(README、发布说明、安装包列表)
  3. 点击「Install latest」一键安装
  4. (Android)在「Apps」屏幕管理已安装应用并接收更新提示

开发者:让应用出现在 GitHub Store

应用会自动出现,需满足:

  1. 公开的 GitHub 仓库
  2. 至少一个已发布的 Release(非 draft、非 prerelease)
  3. 最新 Release 包含可安装文件(APK、EXE、DMG、DEB 等)
  4. 可通过 GitHub Search API 发现(有合适的 topics、语言、描述)

核心特性

  1. 智能发现

    • Home 页面包含「Trending」「Recently Updated」「New」分类,支持时间筛选
    • 只显示包含有效可安装文件的仓库
    • 平台感知的 topic 评分,Android/桌面用户优先看到相关应用
  2. 最新版本安装

    • 获取每个仓库的 /releases/latest
    • 只显示最新 Release 的 Assets
    • 单个「Install latest」按钮,可展开查看该 Release 的所有安装包
  3. 详细信息页面

    • 应用名称、版本、「Install latest」按钮
    • Stars、Forks、Open Issues
    • 渲染的 README 内容(「About this app」)
    • 最新 Release 说明(body),支持 Markdown
    • 安装包列表,含平台标签与文件大小
  4. 跨平台 UX

    • Android: 打开 APK 下载并调用包安装器,在本地数据库追踪安装,在「Apps」屏幕显示并带更新指示器
    • Desktop(Windows/macOS/Linux): 下载安装包到 Downloads 文件夹,调用默认处理器打开,无隐藏临时位置
  5. 更新追踪(Android)

    • 追踪通过 GitHub Store 安装的应用
    • 当有新 Release 时高亮显示,无需再次翻找 GitHub
  6. 开源可扩展

    • 基于 Kotlin Multiplatform,网络、领域逻辑、UI 清晰分离
    • 易于 fork、扩展或适配

项目优势

与手动下载 GitHub Releases 对比

维度 GitHub Store 手动下载 Releases
发现方式 自动发现,分类浏览 需知道仓库地址,手动查找
安装流程 一键安装 下载 → 找到文件 → 手动安装
更新追踪 Android 上自动追踪并提示 需手动检查 Releases
平台筛选 自动只显示当前平台可用文件 需手动识别平台对应文件
信息展示 统一界面展示 README、发布说明 需跳转到 GitHub 查看

与官方应用商店对比

维度 GitHub Store Google Play / App Store
应用来源 GitHub Releases(开源为主) 官方审核的应用
安装方式 直接安装 Releases 文件 通过官方商店安装
更新速度 跟随 GitHub Releases,即时 需通过审核流程
适用平台 Android + Desktop 仅移动端
费用 100% 免费,无广告 可能含广告或内购

为什么选择 GitHub Store?

  • 专注开源:专门为 GitHub Releases 设计,发现开源应用更方便
  • 跨平台统一:Android 与 Desktop 使用相同 UI 与逻辑,体验一致
  • 无广告无追踪:100% 免费,无广告、无追踪、无付费功能
  • 更新及时:直接对接 GitHub Releases,更新速度快
  • 开源可扩展:基于 KMP,易于 fork 与扩展

项目详细剖析

技术架构

技术栈

  • 语言: Kotlin
  • UI 框架: Compose Multiplatform(Android + Desktop)
  • 架构: Kotlin Multiplatform(KMP),网络、领域逻辑、UI 清晰分离
  • 构建工具: Gradle(Kotlin DSL)
  • API: GitHub REST API(Search、Releases、Repository 等)

项目结构

  • composeApp/: Compose Multiplatform 应用入口
  • core/: 核心业务逻辑(网络、数据模型、领域逻辑)
  • feature/: 功能模块(发现、详情、安装、更新追踪等)
  • build-logic/: Gradle 构建逻辑

工作流程

1. 搜索与发现

  • 使用 GitHub 的 /search/repositories 端点,带平台感知查询
  • 基于 topics、语言、描述应用简单评分
  • 过滤已归档仓库与信号过少的仓库

2. Release 与 Asset 检查

  • 对候选仓库调用 /repos/{owner}/{repo}/releases/latest
  • 检查 assets 数组中的平台特定文件扩展名
  • 若未找到合适 Asset,从结果中排除该仓库

3. 详情页面

  • 仓库信息:名称、所有者、描述、Stars、Forks、Issues
  • 最新 Release:tag、发布日期、body(更新日志)、Assets
  • README:从默认分支加载并渲染为「About this app」

4. 安装流程

  • 用户点击「Install latest」时:
    • 选择当前平台的最佳匹配 Asset
    • 流式下载
    • 委托给系统安装器(Android 包安装器,桌面默认处理器)
    • Android 上在本地数据库记录安装,使用包监控保持已安装列表同步

应用出现条件

应用会自动出现在 GitHub Store 中,需满足:

  1. 公开的 GitHub 仓库 :可见性为 public
  2. 至少一个已发布的 Release:通过 GitHub Releases 创建(不仅是 tags),最新 Release 不能是 draft 或 prerelease
  3. 最新 Release 包含可安装文件 :至少一个 Asset 文件,扩展名支持:
    • Android: .apk
    • Windows: .exe, .msi
    • macOS: .dmg, .pkg
    • Linux: .deb, .rpm, .AppImage
    • GitHub Store 忽略 GitHub 自动生成的源码 Artifacts(Source code (zip) / Source code (tar.gz)
  4. 可通过搜索发现 :通过 GitHub Search API 获取,topics、语言、描述有助于排名:
    • Android 应用:topics 如 android, mobile, apk
    • 桌面应用:topics 如 desktop, windows, linux, macos, compose-desktop, electron
    • 拥有一定 Stars 数更可能出现在 Popular/Updated/New 分类

安全与免责声明

APK 签名证书

所有官方 GitHub Store 发布均使用以下证书指纹签名:

SHA-256: B7:F2:8E:19:8E:48:C1:93:B0:38:C6:5D:92:DD:F7:BC:07:7B:0D:B5:9E:BC:9B:25:0A:6D:AC:48:C1:18:03:CA

免责声明

GitHub Store 仅帮助发现和下载第三方开发者在 GitHub 上已发布的 Release Assets。下载内容的安全性、行为完全由各自作者和分发者负责,非本项目责任。使用 GitHub Store 即表示理解并同意自行承担安装和运行任何下载软件的风险。本项目不审查、验证或保证任何安装器的安全性、无恶意软件或适合任何特定用途。


项目地址与资源

官方资源

相关资源

适用人群

  • 开源软件用户:希望更方便地发现和安装 GitHub 上的应用
  • 开发者:希望自己的应用被更多人发现,或学习 KMP + Compose Multiplatform 实践
  • 跨平台应用开发者:参考如何用 KMP 实现跨平台应用商店
  • 应用商店替代方案探索者:寻找开源、无广告的应用分发方式

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
Jahzo5 小时前
openclaw桌面端体验--ClawX
人工智能·github
逛逛GitHub7 小时前
6个粉丝推荐的 GitHub 项目,收藏一波。
github
MaoPou10 小时前
Hello Haxe篇
github
Bigger13 小时前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
慢慢开始吧1 天前
Redmi Note 7 Pro (Violet) 爆改满血 Linux 掌上服务器指南
github
chainStriker1 天前
从零到上线:Python开源项目的规范化开发与发布指南
python·开源
模型时代1 天前
GitHub Codespaces存在RoguePilot漏洞,可致GitHub令牌泄露
github
webkubor1 天前
AI 时代的 robots.txt:深度解析 llms.txt 规范与项目“AI 原生化”改造实战
github
IvorySQL1 天前
揭开 PostgreSQL 读取效率问题的真相
数据库·postgresql·开源