《HelloGitHub》第 80 期
興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
https://github.com/521xueweihan/HelloGitHub
這里有實戰(zhàn)項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產(chǎn)生興趣!
以下為本期內容|每個月 28 號更新
C 項目
1、cockpit:基于 Web 的服務器圖形界面。這是一款開源的服務器管理工具,讓你可以通過 Web 界面輕松管理 Linux 服務器,支持配置防火墻、Web 終端、容器管理、查看系統(tǒng)日志等功能。

地址:https://github.com/cockpit-project/cockpit
C# 項目
2、Malware-Patch:阻止 Windows 流氓軟件授權的工具。它輕巧、無需后臺運行,可用于阻止指定軟件的管理員授權。

地址:https://github.com/the1812/Malware-Patch
C++ 項目
3、Magisk:Android 獲取 Root 權限的工具。它可以快速、無痛地獲得 Android 的超級用戶權限,支持 Android 5.0 以上的設備。

地址:https://github.com/topjohnwu/Magisk
4、osquery:像數(shù)據(jù)庫一樣查詢設備的工具。它將操作系統(tǒng)抽象成一個數(shù)據(jù)庫,讓用戶可以通過 SQL 查詢操作系統(tǒng)的運行情況,比如運行中的進程、網(wǎng)絡連接、文件和用戶。攻擊者一般會在運行惡意程序后刪掉程序,通過 osquery 可以輕松找到?jīng)]有源文件的進程。
osquery> SELECT name, path, pid FROM processes WHERE on_disk = 0;
name = Drop_Agent
path = /Users/jim/bin/dropage
pid = 561
地址:https://github.com/osquery/osquery
CSS 項目
5、css-only-chat:僅用 CSS 實現(xiàn)網(wǎng)絡聊天。前端不用 JavaScript 只用 CSS 實現(xiàn)網(wǎng)絡聊天的功能,秘訣是偽選擇器加載的背景圖像和永遠加載的索引頁。
.some-button:active {
background-image: url('some_image.jpg')
}
地址:https://github.com/kkuchta/css-only-chat
Go 項目
6、cadvisor:一款由 Google 開源的容器監(jiān)控工具。它可以實時統(tǒng)計容器運行時占用的資源,包括 CPU 利用率、內存使用量、網(wǎng)絡傳輸?shù)刃畔ⅰL峁┝?Web 可視化頁面,能方便用戶分析和監(jiān)控容器運行狀態(tài),支持包括 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
地址:https://github.com/google/cadvisor
7、dsq:可直接用 SQL 查詢數(shù)據(jù)文件的命令行工具。通過該項目無需將數(shù)據(jù)導入數(shù)據(jù)庫,就能用 SQL 查詢文件內的數(shù)據(jù),可執(zhí)行模糊查詢、計數(shù)、排序等命令,支持 JSON、CSV、Excel、Parquet、YAML 等類型的文件。還可以搭配其它命令行工具(jq),實現(xiàn)更豐富的功能。
$ dsq testdata/userdata.parquet 'select count(*) from {}' | jq
[
{
"count(*)": 1000
}
]
地址:https://github.com/multiprocessio/dsq
8、json-to-go:立刻將 JSON 轉化為 Go 類型定義的工具。這是一個用 JavaScript 寫的在線小工具,可以直接將輸入的 JSON 轉成對應的 Go 類型定義。

地址:https://github.com/mholt/json-to-go
9、pocketbase:僅一個文件的開源后端。將 SQLite 數(shù)據(jù)庫、接口服務、登錄認證、管理后臺等服務器端的功能,做成一個開箱即用的可執(zhí)行文件。讓原本不懂后端開發(fā)的用戶,也可以通過用戶界面快速構建起接口服務。

地址:https://github.com/pocketbase/pocketbase
10、supervisord:用 Go 重新實現(xiàn)的 supervisord 。開源項目 supervisord 作為 Python 項目中常用的進程管理工具,深受廣大開發(fā)愛好者的喜歡。但如果在非 Python 環(huán)境的情況下,用起來就不是那么順手啦,所以作者用 Go 重寫了 supervisord,編譯后可以方便地運行在任何環(huán)境下。
$ cat supervisor.conf
[program:test]
command = /your/program args
$ supervisord -c supervisor.conf

地址:https://github.com/ochinchina/supervisord
Java 項目
11、Aegis:一款免費、安全、開源的 2FA 安卓應用。雙重認證(2FA) 就是使用兩種不同的元素來確認用戶身份,比如用戶名和密碼是一種元素,手機號和短信驗證碼也是一種元素,兩種元素結合就是雙重認證。除了短信之外還有一種 APP 可生成和驗證碼功能類似的一次性密碼(TOTP),Aegis 就是一款支持 HOTP 和 TOTP 算法的開源 2FA 應用,使用時要先將手機和賬號綁定,綁定后 APP 就會定時刷新一組隨機數(shù)字,需要雙重認證時輸入這串數(shù)字即可。

地址:https://github.com/beemdevelopment/Aegis
12、jenkins:一款由 Java 編寫的開源持續(xù)集成工具。做為開源 CI/CD 軟件的王者,它專注于自動化你的開發(fā)工作流程,具有安裝簡單、友好的操作頁面、易于擴展、分布式的特點,常用來優(yōu)化項目開發(fā)流程或自動化各種任務。
1. 下載 jar 包
2. 運行:java -jar jenkins.war --httpPort=8080
3. 打開瀏覽器訪問:http://localhost:8080
4. 根據(jù)提示完成安裝
地址:https://github.com/jenkinsci/jenkins
13、wvp-GB28181-pro:開箱即用的網(wǎng)絡視頻平臺。基于 GB28181 標準實現(xiàn)的網(wǎng)絡視頻平臺,能夠接入攝像機、平臺、NVR 等設備、支持視頻預覽、云臺控制、錄像查詢和回放、無人觀看自動斷流等功能。

地址:https://github.com/648540858/wvp-GB28181-pro
JavaScript 項目
14、cypress:基于 JavaScript 的下一代前端測試工具。主要用于瀏覽器端到端測試的自動化工具,端到端(E2E)測試就是站在用戶的角度,模擬實際使用場景的測試方式。Cypress 目前已成主流瀏覽器端到端測試工具,它運行速度快、上手簡單,支持圖形化界面可實時觀察執(zhí)行情況,以及截屏和視頻記錄測試結果。

地址:https://github.com/cypress-io/cypress
15、Dashboard:一款完全自定義配置的瀏覽器起始頁。基于 Vite+Vue3+TypeScript 構建的瀏覽器起始頁,預設了多款簡潔清爽的主題開箱即用,能夠隨心所欲地添加組件,編輯模式下可拖拽組件更改大小和位置,支持瀏覽器插件和網(wǎng)頁兩種使用方式。

地址:https://github.com/leon-kfd/Dashboard
16、Rocket.Chat:一款可自由定制的企業(yè)級開源通信平臺。功能豐富的通信平臺,可自托管做為 Slack 的開源替代品。支持創(chuàng)建頻道、團隊和討論等多種不同功能的群聊,消息支持圖片、文件、視頻和語音,擁有包括 Windows、Linux、macOS、Android 和 iOS 在內的多種客戶端。

地址:https://github.com/RocketChat/Rocket.Chat
17、slidev:專為程序員打造的演示文稿工具。該項目是基于 Web 的幻燈片制作和演示工具,讓用戶可以使用 純文本+Markdown 語法制作幻燈片,支持導出為 PDF 或 PNG 格式的文件,或以單頁面展示幻燈片。對于大多數(shù)不擅長做 PPT 的程序員,基于提供的現(xiàn)成主題也可以制作出看起來不錯的演示文稿。

地址:https://github.com/slidevjs/slidev
18、the-super-tiny-compiler:可能是最小的編譯器。僅用 1000 行 JavaScript 代碼實現(xiàn)的迷你編譯器,其中注釋還占了一大半,實際代碼只有 200 行左右。它雖然代碼量不多,但完整地實現(xiàn)了編譯器基本功能,可以用來學習編譯器原理。

地址:https://github.com/jamiebuilds/the-super-tiny-compiler
PHP 項目
19、YOURLS:完全免費的短網(wǎng)址服務。采用 PHP 編寫的短網(wǎng)址服務,它完全開源可自行搭建服務,支持數(shù)據(jù)統(tǒng)計、地理位置、可視化等功能。

地址:https://github.com/YOURLS/YOURLS
Python 項目
20、calibre:一款功能強大的電子書管理工具。它是集下載、格式轉化、制作、管理于一體的電子書工具,比如可以將 txt 文本,轉化成包含作者信息和書籍封面的 mobi 文件,制作完成后還可以直接發(fā)送到 Kindle 設備上。

地址:https://github.com/kovidgoyal/calibre
21、changedetection.io:簡單好用的網(wǎng)站變更檢測、監(jiān)控和通知服務。基于 Flask+Selenium 構建的 Web 服務,可以在目標網(wǎng)站發(fā)生變化時發(fā)出通知,可用于監(jiān)控商品降價、工作機會、版本發(fā)布、最新內容等,支持 Docker 的安裝方式。

地址:https://github.com/dgtlmoon/changedetection.io
22、Macast:一款輕巧的投屏接收器。該項目可以讓電腦接收來自手機的視頻、圖片和音樂投屏,支持手機上的主流視頻和音樂軟件,以及其它符合 DLNA 協(xié)議的軟件。無打擾地運行在狀態(tài)欄和菜單欄,適用于 Windows、macOS、Linux 操作系統(tǒng)。

地址:https://github.com/xfangfang/Macast
23、reloadium:Python 熱重載調試工具。在不重啟程序的前提下,通過這個項目可以查看改動后、最新的 Python 代碼運行效果,以及每行代碼的耗時。有了它可以更高效地調試 Python 代碼,強烈推薦在 PyCharm 和 VSCode 上使用。

地址:https://github.com/reloadware/reloadium
24、rocketry:更加人性化的 Python 調度庫。可通過 Python 裝飾器語法,進行任務調度的 Python 庫。它簡單、優(yōu)雅、高效,支持定時、并發(fā)(異步、多線程、多進程)、條件觸發(fā)等功能。
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()地址:https://github.com/Miksus/rocketry
Rust 項目
25、difftastic:命令行文件對比工具。一種可根據(jù)文件的語法,進行結構化比較的工具,支持 30 多種編程語言。

地址:https://github.com/Wilfred/difftastic
26、sniffnet:可輕松監(jiān)控網(wǎng)絡流量的工具。這是一個簡單、可靠、炫酷的網(wǎng)絡監(jiān)控應用,可以讓你一目了然地了解設備的網(wǎng)絡流量。

地址:https://github.com/GyulyVGC/sniffnet
27、websocat: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地址:https://github.com/vi/websocat
Swift 項目
28、CotEditor:一款適用于 macOS 的輕量級純文本編輯器。它免費、整潔、啟動速度快,擁有看起來十分舒服的界面。

地址:https://github.com/coteditor/CotEditor
其它
29、fonteditor:在線字體編輯器。在線編輯、轉換、預覽字體文件,支持多種字體格式。

地址:https://github.com/ecomfe/fonteditor
30、free-for-dev:專為程序員準備的免費服務清單。現(xiàn)在雖然有大量免費的服務,但大多數(shù)開發(fā)者很難找到它們,這是一份免費服務(SaaS、PaaS、IaaS 等)和產(chǎn)品的列表。
地址:https://github.com/ripienaar/free-for-dev
31、GameShell:玩游戲學習 Shell。這是一款幫助入門 shell 命令的文字游戲。

地址:https://github.com/phyver/GameShell
32、hackingtool:黑客工具全家桶。該項目收錄了各種黑客工具,包括破解密碼、SQL 注入、釣魚攻擊、XSS、DDos 等。

地址:https://github.com/Z4nzu/hackingtool
33、platformio-core:專業(yè)的嵌入式開發(fā)平臺。做嵌入式開發(fā)時往往會遇到諸多不便,比如硬件廠商的 IDE 綁定和復雜的配置過程。這款 IDE 能讓你輕松突破這些限制,PlatformIO IDE 兼容 Arduino、樹莓派和 ESP32 在內的 40 多種平臺,以及超過 20+ 的框架。它不僅支持 Debug、代碼自動補全、單元測試、串口調試等實用的功能,還提供了 VSCode、Vim 等編輯器的插件,把開發(fā)工具的選擇權徹底地還給開發(fā)者。

地址:https://github.com/platformio/platformio-core
34、sms_forwarding:超低成本的短信轉發(fā)器。通過該項目僅需 50 元就可以制作出一個短信轉發(fā)器,實現(xiàn)不用手機接收驗證碼。

地址:https://github.com/chenxuuu/sms_forwarding
開源書籍
35、Book3_Elements-of-Mathematics:《數(shù)學要素》從加減乘除到機器學習。全彩多圖的一本科普書,內容以圖解+數(shù)學+編程為主。

地址:https://github.com/Visualize-ML/Book3_Elements-of-Mathematics
36、parsing-techniques:《Parsing Techniques》解析技術。該書是編譯器前端的經(jīng)典書籍。
地址:https://github.com/duguying/parsing-techniques
37、py4e:《Python for Everybody》適合所有人的 Python。不管你有沒有編程基礎,只要對編程感興趣,都可以通過這本書學會 Python,進入有趣的編程世界。

地址:https://github.com/csev/py4e
機器學習
38、AiLearning-Theory-Applying:快速上手 AI 理論及應用實戰(zhàn)。該教程包含學習 AI 必備的數(shù)學基礎,機器學習實戰(zhàn)小項目、深度學習入門、自然語言通用框架 BERT 實戰(zhàn),以及大量數(shù)據(jù)集。
地址:https://github.com/ben1234560/AiLearning-Theory-Applying
39、vmaf:Netflix 開源的視頻質量評估算法。一種將人類視覺模型與機器學習結合的評估視頻質量的方法,目的是改善觀眾們的觀看體驗。

地址:https://github.com/Netflix/vmaf
最后
以上就是本期的所有內容,還沒看過癮?點擊閱讀往期內容。
如果安裝或運行開源項目遇到問題,就看這篇文章吧!
如果您覺得本期內容還不錯的話 求贊、求分享,有了您的支持 HelloGitHub 一定會變得更好!??
- END -
?? 關注「HelloGitHub」收到第一時間的更新??
