HelloGitHub Vol.80
HelloGitHub shares interesting and beginner-friendly open source projects on GitHub, updated on the 28th of each month. Here you will find fun and beginner-level open source projects, open source books, practical projects, and enterprise-level projects, allowing you to quickly appreciate the charm of open source and develop an interest in it.
基于 Web 的服务器图形界面。这是一款开源的服务器管理工具,让你可以通过 Web 界面轻松管理 Linux 服务器,支持配置防火墙、Web 终端、容器管理、查看系统日志等功能。
Android 获取 Root 权限的工具。它可以快速、无痛地获得 Android 的超级用户权限,支持 Android 5.0 以上的设备。
像数据库一样查询设备的工具。它将操作系统抽象成一个数据库,让用户可以通过 SQL 查询操作系统的运行情况,比如运行中的进程、网络连接、文件和用户。攻击者一般会在运行恶意程序后删掉程序,通过 osquery 可以轻松找到没有源文件的进程。
osquery> SELECT name, path, pid FROM processes WHERE on_disk = 0; name = Drop_Agent path = /Users/jim/bin/dropage pid = 561
仅用 CSS 实现网络聊天。前端不用 JavaScript 只用 CSS 实现网络聊天的功能,秘诀是伪选择器加载的背景图像和永远加载的索引页。
.some-button:active { background-image: url('some_image.jpg') }
一款由 Google 开源的容器监控工具。它可以实时统计容器运行时占用的资源,包括 CPU 利用率、内存使用量、网络传输等信息。提供了 Web 可视化页面,能方便用户分析和监控容器运行状态,支持包括 Docker 在内的几乎所有类型的容器。
sudo docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ --privileged \ --device=/dev/kmsg \ gcr.io/cadvisor/cadvisor:$VERSION
可直接用 SQL 查询数据文件的命令行工具。通过该项目无需将数据导入数据库,就能用 SQL 查询文件内的数据,可执行模糊查询、计数、排序等命令,支持 JSON、CSV、Excel、Parquet、YAML 等类型的文件。还可以搭配其它命令行工具(jq),实现更丰富的功能。
$ dsq testdata/userdata.parquet 'select count(*) from {}' | jq [ { "count(*)": 1000 } ]
立刻将 JSON 转化为 Go 类型定义的工具。这是一个用 JavaScript 写的在线小工具,可以直接将输入的 JSON 转成对应的 Go 类型定义。
仅一个文件的开源后端。将 SQLite 数据库、接口服务、登录认证、管理后台等服务器端的功能,做成一个开箱即用的可执行文件。让原本不懂后端开发的用户,也可以通过用户界面快速构建起接口服务。
用 Go 重新实现的 supervisord 。开源项目 supervisord 作为 Python 项目中常用的进程管理工具,深受广大开发爱好者的喜欢。但如果在非 Python 环境的情况下,用起来就不是那么顺手啦,所以作者用 Go 重写了 supervisord,编译后可以方便地运行在任何环境下。
$ cat supervisor.conf [program:test] command = /your/program args $ supervisord -c supervisor.conf
一款免费、安全、开源的 2FA 安卓应用。双重认证(2FA) 就是使用两种不同的元素来确认用户身份,比如用户名和密码是一种元素,手机号和短信验证码也是一种元素,两种元素结合就是双重认证。除了短信之外还有一种 APP 可生成和验证码功能类似的一次性密码(TOTP),Aegis 就是一款支持 HOTP 和 TOTP 算法的开源 2FA 应用,使用时要先将手机和账号绑定,绑定后 APP 就会定时刷新一组随机数字,需要双重认证时输入这串数字即可。
一款由 Java 编写的开源持续集成工具。做为开源 CI/CD 软件的王者,它专注于自动化你的开发工作流程,具有安装简单、友好的操作页面、易于扩展、分布式的特点,常用来优化项目开发流程或自动化各种任务。
1. 下载 jar 包 2. 运行:java -jar jenkins.war --httpPort=8080 3. 打开浏览器访问:http://localhost:8080 4. 根据提示完成安装
开箱即用的网络视频平台。基于 GB28181 标准实现的网络视频平台,能够接入摄像机、平台、NVR 等设备、支持视频预览、云台控制、录像查询和回放、无人观看自动断流等功能。
基于 JavaScript 的下一代前端测试工具。主要用于浏览器端到端测试的自动化工具,端到端(E2E)测试就是站在用户的角度,模拟实际使用场景的测试方式。Cypress 目前已成主流浏览器端到端测试工具,它运行速度快、上手简单,支持图形化界面可实时观察执行情况,以及截屏和视频记录测试结果。
一款完全自定义配置的浏览器起始页。基于 Vite+Vue3+TypeScript 构建的浏览器起始页,预设了多款简洁清爽的主题开箱即用,能够随心所欲地添加组件,编辑模式下可拖拽组件更改大小和位置,支持浏览器插件和网页两种使用方式。
一款可自由定制的企业级开源通信平台。功能丰富的通信平台,可自托管做为 Slack 的开源替代品。支持创建频道、团队和讨论等多种不同功能的群聊,消息支持图片、文件、视频和语音,拥有包括 Windows、Linux、macOS、Android 和 iOS 在内的多种客户端。
专为程序员打造的演示文稿工具。该项目是基于 Web 的幻灯片制作和演示工具,让用户可以使用 纯文本+Markdown 语法制作幻灯片,支持导出为 PDF 或 PNG 格式的文件,或以单页面展示幻灯片。对于大多数不擅长做 PPT 的程序员,基于提供的现成主题也可以制作出看起来不错的演示文稿。
可能是最小的编译器。仅用 1000 行 JavaScript 代码实现的迷你编译器,其中注释还占了一大半,实际代码只有 200 行左右。它虽然代码量不多,但完整地实现了编译器基本功能,可以用来学习编译器原理。
一款功能强大的电子书管理工具。它是集下载、格式转化、制作、管理于一体的电子书工具,比如可以将 txt 文本,转化成包含作者信息和书籍封面的 mobi 文件,制作完成后还可以直接发送到 Kindle 设备上。
简单好用的网站变更检测、监控和通知服务。基于 Flask+Selenium 构建的 Web 服务,可以在目标网站发生变化时发出通知,可用于监控商品降价、工作机会、版本发布、最新内容等,支持 Docker 的安装方式。
一款轻巧的投屏接收器。该项目可以让电脑接收来自手机的视频、图片和音乐投屏,支持手机上的主流视频和音乐软件,以及其它符合 DLNA 协议的软件。无打扰地运行在状态栏和菜单栏,适用于 Windows、macOS、Linux 操作系统。
Python 热重载调试工具。在不重启程序的前提下,通过这个项目可以查看改动后、最新的 Python 代码运行效果,以及每行代码的耗时。有了它可以更高效地调试 Python 代码,强烈推荐在 PyCharm 和 VSCode 上使用。
更加人性化的 Python 调度库。可通过 Python 装饰器语法,进行任务调度的 Python 库。它简单、优雅、高效,支持定时、并发(异步、多线程、多进程)、条件触发等功能。
from rocketry import Rocketry from rocketry.conds import daily app = Rocketry() @app.task(daily) def do_daily(): ... @app.task(daily & file_exists("data.csv")) def do_things(): ... if __name__ == '__main__': app.run()
WebSockets 的命令行客户端。一条命令连接或建立 WebSockets 服务,适用于 Windows、macOS、Linux。
A$ websocat -s 1234 Listening on ws://127.0.0.1:1234/ ABC 123 B$ websocat ws://127.0.0.1:1234/ ABC 123
快速上手 AI 理论及应用实战。该教程包含学习 AI 必备的数学基础,机器学习实战小项目、深度学习入门、自然语言通用框架 BERT 实战,以及大量数据集。
专为程序员准备的免费服务清单。现在虽然有大量免费的服务,但大多数开发者很难找到它们,这是一份免费服务(SaaS、PaaS、IaaS 等)和产品的列表。
专业的嵌入式开发平台。做嵌入式开发时往往会遇到诸多不便,比如硬件厂商的 IDE 绑定和复杂的配置过程。这款 IDE 能让你轻松突破这些限制,PlatformIO IDE 兼容 Arduino、树莓派和 ESP32 在内的 40 多种平台,以及超过 20+ 的框架。它不仅支持 Debug、代码自动补全、单元测试、串口调试等实用的功能,还提供了 VSCode、Vim 等编辑器的插件,把开发工具的选择权彻底地还给开发者。
《数学要素》从加减乘除到机器学习。全彩多图的一本科普书,内容以图解+数学+编程为主。
《Parsing Techniques》解析技术。该书是编译器前端的经典书籍。
《Python for Everybody》适合所有人的 Python。不管你有没有编程基础,只要对编程感兴趣,都可以通过这本书学会 Python,进入有趣的编程世界。
- C
- C#
- C++
- CSS
- Go
- Java
- JavaScript
- PHP
- Python
- Rust
- Swift
- AI
- Other
- Book