[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8046":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},8046,"app-host","pluosi\u002Fapp-host","pluosi","应用内网发布 | iOS OTA (Over-the-Air) | APP publish website like fir.im  | 适用于企业 iOS & Android 内网发布测试使用，方便管理和分发 APP 包","",null,"Ruby",2095,419,33,32,0,1,29.87,"MIT License",false,"master",true,[],"2026-06-12 02:01:48","# AppHost\n![MacDown logo](public\u002Ffavicon.ico)\n\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fpluosi\u002Fapp-host.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002Fpluosi\u002Fapp-host)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmashape\u002Fapistatus.svg)](https:\u002F\u002Ftravis-ci.org\u002Fpluosi\u002Fapp-host)\n[![Gems](https:\u002F\u002Fimg.shields.io\u002Fgem\u002Fu\u002Fraphink.svg)]()\n\n## 介绍\n一个轻量级的包托管网站，app-host 主要用于 iOS 和 Android 的包管理，作用类似于fir.im，不同之处是可以自由部署在内网，方便了公司项目保密。并且代码开源也可以方便根据各自需求进行定制化开发。\n\n\n## 目前能实现\n1.新建包\u003Cbr>\n2.包底下新建渠道（ iOS，安卓，各种环境都归为渠道，例如 iOS 生产，iOS 沙盒，iOS 越狱版，Android 生产等）\u003Cbr>\n3.渠道下面上传包\u003Cbr>\n4.帐号和权限管理\u003Cbr>\n5.api 和页面表单上传包\u003Cbr>\n6.解析包信息，包括 iOS 的包类型 ADHOC 还是 release，udid，安卓的签名证书等\u003Cbr>\n7.我编不下去了···哈哈~~\u003Cbr>\n\n\n## 推荐用法 Docker 公有镜像\n```\n1. 把~\u002Fshared目录添加到Docker -> Preferences... -> Resources中（授权访问）\n2. docker run --name app_host -v ~\u002Fshared:\u002Fapp\u002Fshared -p 3000:8686 -d tinyc\u002Fapp-host:lastest\n```\n\n## 用法 2 Docker 自己编译\n```\n1. > git clone https:\u002F\u002Fgithub.com\u002Fpluosi\u002Fapp-host.git \u002Fopt\u002Fapp-host\n2. > cd \u002Fopt\u002Fapp-host\n5. > .\u002Fdocker\u002Flauncher bootstrap -v #该步骤依赖网络，所以如果网络不稳定报错了，可以重试几次\n6. > .\u002Fdocker\u002Flauncher start\n7. 尝试访问 http:\u002F\u002Flocalhost:3000 ,如果不希望用3000端口，可以手动修改 docker\u002Flauncher 里的`local_port`值\nps:数据库和上传的文件会保存在 .\u002Fshared 文件夹中\n```\n\n## 用法 3 源码运行\n```\n1. > git clone https:\u002F\u002Fgithub.com\u002Fpluosi\u002Fapp-host.git \u002Fopt\u002Fapp-host\n2. > cd \u002Fopt\u002Fapp-host\n4. 修改 config\u002Fsecrets.yml 中 `production下的secret_key_base` ,可以运行`rake secret`得到\n5. bundle install\n6. rails s 运行测试环境\n7. 关于部署到生成环境的话请参照一下 rails puma 部署等教程，需要修改一下 config\u002Fdeply.rb 的部署地址\n8. 尝试访问 http:\u002F\u002Flocalhost:3000\n```\n\n## 关于 https\n如果需要用到ipa下载，必须配置 https，举例 ng 的配置参考\n```\n\u002F\u002Fhttps_app.conf\nserver {\n    listen 443 ssl;\n    server_name  ota.xxx.com;\n    \n    # access_log \u002Fvar\u002Flog\u002Fnginx\u002Fota.xxx.com_access.log;\n\n    ssl_certificate      \u002Fhome\u002Fxxx.com\u002Fnginx\u002Fpublic.pem;\n    ssl_certificate_key  \u002Fhome\u002Fxxx.com\u002Fnginx\u002Fprivate.key;\n    ssl on;\n\n    location \u002F {\n        proxy_set_header  Host $http_host;\n        proxy_set_header  X-Real-IP $remote_addr;\n        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header  X-Forwarded-Proto https;\n        proxy_set_header  X-Forwarded-Port $server_port;\n        proxy_pass http:\u002F\u002F172.21.35.62:3000; #此处改为 docker 服务的地址\n    }\n}\n\nserver {\n    listen 80;\n    server_name ota.xxx.com;\n    rewrite ^(.*)$  https:\u002F\u002F$host$1 permanent;\n}\n```\n\n## 已知问题\n1. apk 包如果是非图片 logo，会无法显示 logo，因为目前还没实现 xml logo 的解析\n2. 如果不配置 https，ipa 将无法安装（苹果的限制）\n\n\n## License\nAppHost is released under the MIT license. See LICENSE for details.\n\n## 联系作者\n![MacDown logo](screenshots\u002Fauthor.png)\n\n\n## 预览\n![MacDown logo](screenshots\u002Fimage1.png)\n\n![MacDown logo](screenshots\u002Fimage2.png)\n\n![MacDown logo](screenshots\u002Fimage3.png)\n\n\n\n \n","AppHost 是一个轻量级的应用内网发布平台，支持iOS和Android应用的OTA（Over-the-Air）更新。其核心功能包括新建包、创建渠道、上传包、管理账号权限以及解析包信息等，适用于企业内部测试环境下的应用分发与管理。该项目采用Ruby语言开发，并且完全开源，允许用户根据自身需求进行定制化调整。推荐使用Docker镜像快速部署，同时也支持直接从源码运行。特别适合需要保持项目保密性同时又希望高效管理和分发移动应用的企业或团队使用。",2,"2026-06-11 03:15:47","top_language"]