{"id":15033459,"url":"https://github.com/thirtydegreesray/openhub","last_synced_at":"2026-10-19T00:12:06.851Z","repository":{"id":41490383,"uuid":"96896313","full_name":"ThirtyDegreesRay/OpenHub","owner":"ThirtyDegreesRay","description":"An open source GitHub Android client app, faster and concise.","archived":false,"fork":false,"pushed_at":"2024-05-30T14:01:01.000Z","size":10128,"stargazers_count":4375,"open_issues_count":246,"forks_count":436,"subscribers_count":195,"default_branch":"master","last_synced_at":"2026-09-27T04:14:41.245Z","etag":null,"topics":["android-client","github","github-android","github-client","openhub"],"latest_commit_sha":null,"homepage":"https://thirtydegreesray.github.io/OpenHub/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThirtyDegreesRay.png","metadata":{"files":{"readme":"README-cn.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-11T13:29:51.000Z","updated_at":"2026-09-26T15:12:35.000Z","dependencies_parsed_at":"2022-08-28T19:19:32.217Z","dependency_job_id":"5fa5f9b1-1e0d-42f9-bd71-8f524b29ec2f","html_url":"https://github.com/ThirtyDegreesRay/OpenHub","commit_stats":{"total_commits":496,"total_committers":22,"mean_commits":"22.545454545454547","dds":0.5483870967741935,"last_synced_commit":"fcb9b422e8013169e2328a6e09c675ce11a27ad6"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/ThirtyDegreesRay/OpenHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThirtyDegreesRay%2FOpenHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThirtyDegreesRay%2FOpenHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThirtyDegreesRay%2FOpenHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThirtyDegreesRay%2FOpenHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThirtyDegreesRay","download_url":"https://codeload.github.com/ThirtyDegreesRay/OpenHub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThirtyDegreesRay%2FOpenHub/sbom","scorecard":{"id":140915,"data":{"date":"2025-08-11","repo":{"name":"github.com/ThirtyDegreesRay/OpenHub","commit":"fcb9b422e8013169e2328a6e09c675ce11a27ad6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Code-Review","score":4,"reason":"Found 6/15 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v3.2.1 not signed: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/40224895","Warn: release artifact v3.2.0 not signed: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/33962772","Warn: release artifact v3.1.0 not signed: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/24109445","Warn: release artifact v3.0.0 not signed: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/14340129","Warn: release artifact v2.8.0 not signed: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/10243060","Warn: release artifact v3.2.1 does not have provenance: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/40224895","Warn: release artifact v3.2.0 does not have provenance: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/33962772","Warn: release artifact v3.1.0 does not have provenance: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/24109445","Warn: release artifact v3.0.0 does not have provenance: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/14340129","Warn: release artifact v2.8.0 does not have provenance: https://api.github.com/repos/ThirtyDegreesRay/OpenHub/releases/10243060"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T08:06:53.522Z","repository_id":41490383,"created_at":"2025-08-16T08:06:53.522Z","updated_at":"2025-08-16T08:06:53.522Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38343428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-client","github","github-android","github-client","openhub"],"created_at":"2024-09-24T20:21:17.041Z","updated_at":"2026-10-19T00:12:06.016Z","avatar_url":"https://github.com/ThirtyDegreesRay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[English](/README.md) | 中文\n# OpenHub \n[![Releases](https://img.shields.io/badge/android-5.0%2B-brightgreen.svg)](https://play.google.com/store/apps/details?id=com.thirtydegreesray.openhub)\n[![Releases](https://img.shields.io/github/release/ThirtyDegreesRay/OpenHub.svg)](https://github.com/ThirtyDegreesRay/OpenHub/releases/latest)\n\n一个**开源**的GitHub Android客户端应用，快速简洁。\n\n[![Coolapk](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/coolapk.png?raw=true)](https://www.coolapk.com/apk/com.thirtydegreesray.openhub)\n[![Google Play](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/google_play.png?raw=true)](https://play.google.com/store/apps/details?id=com.thirtydegreesray.openhub)\n\n## 特点\n\n### App\n* 一种登录方式(OAuth)\n* 支持夜间模式和AMOLED Dark主题，多种主色调\n* 支持Markdown和代码高亮\n* 支持英文、简体中文、希伯来文、德文、印地文、葡萄牙文、韩文、西班牙文、繁体中文、俄罗斯文、波兰文, 格鲁吉亚文、意大利文、荷兰文、捷克文和葡萄牙文（巴西）\n* 支持离线模式\n* 支持所有语言的最热版本库查看\n* 支持多账户切换\n* 搜索版本库和用户\n* 支持7.1以上快捷方式创建\n* 支持消息通知\n* 支持添加用户、版本库书签\n* 自动记录浏览过的用户和版本库\n* 查看 github 集合(collections)\n* 查看 github 精选主题(featured topics)\n* 支持在移动网络下禁用图片加载\n\n### 版本库\n* 查看版本库信息和版本库分支\n* 星标、关注和fork版本库\n* 查看版本库文件、提交信息和活动\n* 下载源码、发布版本和文件\n* 查看你所有的版本库，包括公开、私有、fork的，以及星标的\n* 查看每日、每周和每月的最热版本库\n* 搜索版本库\n* 查看Wiki最近更新\n\n### 用户\n* 查看用户信息\n* 查看用户的跟随者、跟随的人和属于的组织\n* 查看用户公共的、星标的项目和活动\n* 查看你的私有项目\n* 跟随和取消跟随用户\n* 搜索用户\n\n### 组织\n* 查看组织信息\n* 查看组织的公开版本库和活动\n* 查看组织成员\n\n### 问题\n* 查看问题信息、评论和事件\n* 创建、开放和关闭问题\n* 创建、编辑和删除问题评论\n* 编辑、添加和删除你的标签\n* 编写评论时可以预览\n* 查看你创建的、分配给你的和提到你的问题\n.';ij,i.* 查看版本库问题\n\n### 提交\n* 查看提交信息和文件\n* 查看文件差异信息\n* 查看版本库提交信息\n\n### 更多\n* OpenHub正在成长，努力做更好的github客户端。\n\n## 截屏\n\n| 动态 | 侧滑页 | 个人主页 |\n|:-:|:-:|:-:|\n| ![news](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/news.png?raw=true) | ![drawer](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/drawer.png?raw=true) | ![profile](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/profile.png?raw=true) |\n\n| 版本库主页 | 提交 | 代码 |\n|:-:|:-:|:-:|\n| ![repo](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/repo.png?raw=true) | ![commit](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/commit.png?raw=true) | ![code](https://raw.githubusercontent.com/ThirtyDegreesRay/OpenHub/master/art/code.png?raw=true) |\n\n## 感谢开源\n\n* [ButterKnife](https://github.com/JakeWharton/butterknife) 视图绑定\n* [GreenDao](https://github.com/greenrobot/greenDAO) 一个轻量级而且更快的Android ORM解决方案\n* [EventBus](https://github.com/greenrobot/EventBus) 简化Android Activities, Fragments, Threads, Services,等组件之间的通信\n* [RxJava](https://github.com/ReactiveX/RxJava) 一个专注于异步编程与控制可观察数据（或者事件）流的API\n* [RxAndroid](https://github.com/ReactiveX/RxAndroid) 为了在Android中使用RxJava\n* [Retrofit](https://github.com/square/retrofit) 安全的HTTP请求工具库\n* [Dagger](https://github.com/google/dagger) 一个快速的依赖注入\n* [Glide](https://github.com/bumptech/glide) 一个图像加载和缓存库为了Android中更平滑的滚动\n* [code-prettify](https://github.com/google/code-prettify) 代码美化\n* [DataAutoAccess](https://github.com/ThirtyDegreesRay/DataAutoAccess) 一个简单的方法去自动存取Android bundle中的数据\n* [CircleImageView](https://github.com/vinc3m1/RoundedImageView) 圆形ImageView\n* [Toasty](https://github.com/GrenderG/Toasty) 美化的Toast\n* [material-about-library](https://github.com/daniel-stoneuk/material-about-library) 让你更容易的创建美丽的关于页面\n* [material-dialogs](https://github.com/afollestad/material-dialogs) 一个美丽、流畅的和可自定义的对话框的API\n* [GitHub-Trending](https://github.com/thedillonb/GitHub-Trending) 对GitHub趋势页面进行数据抓取\n* [RichText](https://github.com/zzhoujay/RichText) Android平台下的富文本解析器，支持Html和Markdown\n* [jsoup](https://github.com/jhy/jsoup) HTML解析器\n* [OctoDroid](https://github.com/slapperwan/gh4a) GitHub客户端。\n* [FastHub](https://github.com/k0shk0sh/FastHub) GitHub客户端。\n\n## 贡献（*按提交时间排序*）\n* [moriel5](https://github.com/moriel5) - 希伯来语翻译\n* [Henry2o1o](https://github.com/Henry2o1o), [squeezer11](https://github.com/squeezer11), [ropaha](https://github.com/ropaha) - 德语翻译\n* [Edfgdz](https://github.com/Edfgdz) - 测试与建议\n* [pzhlkj6612](https://github.com/pzhlkj6612) - 改进中文概述的翻译\n* [hiteshnayak305](https://github.com/hiteshnayak305) - 印地语翻译\n* [KcNirvana](https://github.com/KcNirvana) - 葡萄牙语翻译\n* [sclickk](https://github.com/sclickk) - 改进英语翻译\n* [Zazsona](https://github.com/Zazsona) - 添加AMOLED主题\n* [Aqueminivan](https://github.com/Aqueminivan) - 改进英文概述的翻译\n* [XF-zhjnc](https://github.com/XF-zhjnc) - 修复WIKI内部链接点击无效和版本库大小显示溢出等bug\n* [fergthh](https://github.com/fergthh) - 西班牙语翻译\n* [chiyi4488](https://github.com/chiyi4488) - 繁体中文翻译\n* [left4j](https://github.com/left4j) - 俄罗斯语翻译\n* [TheParanoik](https://github.com/TheParanoik) - 波兰语翻译\n* [X1nto](https://github.com/X1nto) - 格鲁吉亚语语翻译\n* [MerkeX](https://github.com/MerkeX) - 意大利语翻译\n* [Vistaus](https://github.com/Vistaus) - 荷兰语翻译\n* [pkubanek](https://github.com/pkubanek) - 捷克语翻译\n* [LouisUnnoficial](https://github.com/LouisUnnoficial) - 葡萄牙语(巴西)翻译\n\n## License\nThirtyDegreesRay:\n\u003e Copyright (C) 2017 ThirtyDegreesRay.\n\u003e Licensed under the [GPL-3.0](https://www.gnu.org/licenses/gpl.html).\n\u003e (See the [LICENSE](https://github.com/ThirtyDegreesRay/OpenHub/blob/master/LICENSE) file for the whole license text.)\n\nKosh(There are 13 files has some code copied from FastHub):\n\u003e Copyright (C) 2017 Kosh.\n\u003e Licensed under the [GPL-3.0](https://www.gnu.org/licenses/gpl.html) license.\n\u003e (See the [LICENSE](https://github.com/k0shk0sh/FastHub/blob/master/LICENSE) file for the whole license text.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthirtydegreesray%2Fopenhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthirtydegreesray%2Fopenhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthirtydegreesray%2Fopenhub/lists"}