興趣是最好的老師,HelloGitHub 讓你對編程感興趣!

簡介
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
github.com/521xueweihan/HelloGitHub
這里有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift 等,讓你在短時間內感受到開源的魅力,對編程產生興趣!
以下為本期內容|每個月 28 號更新
C 項目
1、HandBrake:免費的開源視頻轉碼工具。這是一款功能強大、社區驅動的開源視頻轉碼工具,它支持將各種不同格式的視頻文件,轉換為 MP4 和 MKV 等常見格式。
地址:github.com/HandBrake/HandBrake
C# 項目
2、SwashbucklerDiary:記錄生活點滴的俠客日記。這個項目的作者因為喜歡寫日記,所以開發了這款離線優先的日記應用。它擁有簡潔清爽的界面,用戶可以選擇記錄日記時的天氣、心情和位置。除了支持 Web 在線使用外,還提供了 Android、Windows、iOS 和 macOS 客戶端。

地址:github.com/Yu-Core/SwashbucklerDiary
3、SyncClipboard:跨平臺的剪貼板同步工具。該項目可以輕松實現不同設備間剪貼板內容同步,支持文本、圖片和文件。使用時可以選擇自己部署服務端,或者使用支持 WebDAV 協議的網盤。

地址:github.com/Jeric-X/SyncClipboard
C++ 項目
4、ladybird:真正獨立的開源瀏覽器。該項目作者想要從頭構建一個真正獨立的 Web 瀏覽器,所以他從自己寫的 SerenityOS 操作系統中分離出瀏覽器引擎部分,計劃基于此做一個全新、跨平臺的開源瀏覽器。目前項目處于早期階段,尚未發布可供下載的安裝包。

地址:github.com/LadybirdBrowser/ladybird
5、mosh:適用于移動端的遠程終端工具。這是一款專為移動和不穩定的網絡環境設計的遠程終端工具,它能夠在網絡切換、高延遲和 IP 變化的情況下,保持遠程會話的穩定和更快的響應,適用于 Android、iOS、Linux 和 macOS 等系統。

地址:github.com/mobile-shell/mosh
6、OpenArk:專業的 Windows 惡意程序分析與清理工具。這是一款 Windows 平臺上的對抗和清理 Rootkit(惡意程序)工具,它能夠幫助程序員發現系統中隱藏的惡意軟件,支持查看進程、進程注入、內核驅動模式和掃描等功能。來自 @SHOWTA 的分享

地址:github.com/BlackINT3/OpenArk
Go 項目
7、dblab:交互式的數據庫命令行客戶端。這是一個用 Go 編寫的輕量級、交互式的 TUI 數據庫客戶端,它開箱即用、方便快捷,支持 PostgreSQL、MySQL、SQLite3 和 Oracle 數據庫,不是桌面工具用不起,而是命令行的更有性價比。

地址:github.com/danvergara/dblab
8、go-size-analyzer:分析 Go 編譯后文件大小的工具。該項目通過逆向工程和反匯編,收集二進制文件中的地址,合并后計算出每個依賴在最終的二進制文件中所占大小,并通過可視化的方式展示出來。它可以用來分析 Go 程序編譯后的文件體積,支持命令行和 Web 兩種使用方式。來自 @Zxilly 的分享

地址:github.com/Zxilly/go-size-analyzer
9、gws:簡單、快速的 Go WebSocket 庫。該項目是用 Go 編寫的 WebSocket 庫,它提供了簡潔明了的 API,具備高吞吐、低延遲、低內存占用、穩定可靠的特點,可用于高并發場景,支持上下文接管、自定義窗口大小和廣播等功能。來自 @道一 的分享

地址:github.com/lxzan/gws
10、river:基于 Postgres 的后臺任務管理平臺。該項目是基于 Go+Postgres 數據庫開發的任務隊列,它內置 Web 管理后臺,支持自動重試、定時任務和優先級等功能。

地址:github.com/riverqueue/river
11、watermill:快速開發事件驅動應用的 Go 庫。這是一個能夠高效處理消息流的 Go 庫,即發布/接收消息并做出反應。它上手容易,支持 Kafka、RabbitMQ、HTTP 和 MySQL binlog 等消息中間件,適用于處理實時數據流、分布式事務和微服務通信等場景。來自 @DeShuiYu 的分享
//?...
func?main()?{saramaSubscriberConfig?:=?kafka.DefaultSaramaSubscriberConfig()//?equivalent?of?auto.offset.reset:?earliestsaramaSubscriberConfig.Consumer.Offsets.Initial?=?sarama.OffsetOldestsubscriber,?err?:=?kafka.NewSubscriber(kafka.SubscriberConfig{Brokers:???????????????[]string{"kafka:9092"},Unmarshaler:???????????kafka.DefaultMarshaler{},OverwriteSaramaConfig:?saramaSubscriberConfig,ConsumerGroup:?????????"test_consumer_group",},watermill.NewStdLogger(false,?false),)if?err?!=?nil?{panic(err)}messages,?err?:=?subscriber.Subscribe(context.Background(),?"example.topic")if?err?!=?nil?{panic(err)}go?process(messages)
//?...

地址:github.com/ThreeDotsLabs/watermill
Java 項目
12、spring-reading:Spring 源碼閱讀。這是一份講解 Spring 源碼的圖文教程,內容涵蓋了 Spring 框架的核心概念和關鍵功能,而且還貼心地標注了難度等級,更加便于學習。來自 @Lex 的分享
地址:github.com/xuchengsheng/spring-reading
13、xpipe:一鍵遠程登錄 Docker 實例的工具。該項目是用于管理遠程服務器的桌面工具,它會在 SSH 連接到服務器后,自動檢測服務器環境和 shell 類型,實現一鍵登錄各種容器實例(Docker、LXC、WSL),并支持遠程文件管理和工具集成等功能。來自 @孤膽槍手 的分享

地址:github.com/xpipe-io/xpipe
JavaScript 項目
14、earthworm:讓你上癮的英語學習網站。這是一個開源的在線學習英語網站,支持自托管和本地運行。它采用連詞成句、循序漸進的方法幫你學習英語。通過不斷地重復形成肌肉記憶,并結合游戲獎勵和積分排名的方式,讓背單詞變得有趣且高效。來自 @Immerse 的分享

地址:github.com/cuixueshe/earthworm
15、million:優化 React 組件性能的工具。該項目是專為 React 應用設計的優化編譯器,它通過優化虛擬 DOM 和直接更新 DOM 節點,來減少頁面更新的耗時,從而提升 React 組件性能,最高可達 70%,支持 VSCode 插件和命令行的使用方式。

地址:github.com/aidenybai/million
16、pouchdb:開源的 JavaScript 數據庫。該項目是用 JavaScript 編寫、運行在瀏覽器里的 NoSQL 數據庫,它能夠在離線狀態下將數據存儲至本地,并在網絡恢復后自動同步數據,保持數據與服務器同步。
var?db?=?new?PouchDB('dbname');db.put({_id:?'hellogithub-1',name:?'HelloGitHub',age:?69
});db.changes().on('change',?function()?{console.log('Ch-Ch-Changes');
});db.replicate.to('遠程數據庫地址');
地址:github.com/pouchdb/pouchdb
17、stf:通過瀏覽器控制多臺 Android 設備。這是一個用 Node.js 開發的安卓智能設備群測工具,它提供了一個可遠程調試多臺 Android 設備的 Web 平臺,支持 Android 手機和手表等設備。來自 @wang-qa 的分享

地址:github.com/DeviceFarmer/stf
18、ua-parser-js:解析 User-Agent 的 JS 庫。這是一個用于解析 User-Agent 的庫,它可將用戶代理字符串解析為 UAParser 對象,便于檢測和查看用戶的瀏覽器、操作系統、CPU 和設備型號等信息。
const?parser?=?new?UAParser(ua);console.log(parser.getResult());
/*
{ua:?"Mozilla/5.0?(Linux;?Android?10;?STK-LX1?Build/HONORSTK-LX1;?wv)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Version/4.0?Chrome/110.0.5481.153?Mobile?Safari/537.36?musical_ly_2022803040?JsSdk/1.0?NetType/WIFI?Channel/huaweiadsglobal_int?AppName/musical_ly?app_version/28.3.4?ByteLocale/en?ByteFullLocale/en?Region/IQ?Spark/1.2.7-alpha.8?AppVersion/28.3.4?PIA/1.5.11?BytedanceWebview/d8a21c6",browser:?{name:?"TikTok",version:?"28.3.4",major:?"28"},cpu:?{},device:?{type:?"mobile",model:?"STK-LX1",vendor:?"Huawei"},engine:?{name:?"Blink",version:?"110.0.5481.153"},os:?{name:?"Android",version:?"10"}
}
*/

地址:github.com/faisalman/ua-parser-js
PHP 項目
19、openemr:免費的開源醫院管理系統。該項目是目前最流行的開源醫院管理系統,它集成了醫院日常運營所需的所有功能,如預約、患者檔案、電子計費和醫療記錄等,同時支持中文在內的 30 多種語言。

地址:github.com/openemr/openemr
Python 項目
20、CleanMyWechat:自動刪除電腦端微信緩存數據的工具。該項目是用 PyQt5 寫的 Windows 工具,它可以清理微信電腦客戶端自動下載的無用數據,支持自動識別賬號、多賬號管理,以及選擇清理文件的類型和設置清理多久以前文件等功能。

地址:github.com/blackboxo/CleanMyWechat
21、searxng:尊重個人隱私的 Python 元搜索引擎。該項目是基于 Flask 構建的聚合搜索引擎,能夠整合來自 70 多個搜索引擎的搜索結果。它安裝簡單、不追蹤用戶行為,支持選擇搜索引擎、安全搜索和多語言等功能。來自 @孤膽槍手 的分享

地址:github.com/searxng/searxng
22、vulture:Python 的“死”代碼偵探。這是一個 Python 的靜態代碼分析工具,它可以找出 Python 項目中未使用的代碼,僅需一條命令,就能清理沒用和無效的 Python 函數、變量和代碼片段。
地址:github.com/jendrikseipp/vulture
23、warp:編寫高性能仿真程序的 Python 框架。該項目是英偉達開源的 Python 框架,它通過即時編譯技術將 Python 代碼,轉換為可以在 CPU 或 GPU 上運行的高效內核代碼,可用于編寫模擬物理環境、碰撞檢測和圖形處理等程序。
import?warp?as?wp
import?numpy?as?npnum_points?=?1024@wp.kernel
def?length(points:?wp.array(dtype=wp.vec3),lengths:?wp.array(dtype=float)):#?thread?indextid?=?wp.tid()#?compute?distance?of?each?point?from?originlengths[tid]?=?wp.length(points[tid])#?allocate?an?array?of?3d?points
points?=?wp.array(np.random.rand(num_points,?3),?dtype=wp.vec3)
lengths?=?wp.zeros(num_points,?dtype=float)#?launch?kernel
wp.launch(kernel=length,dim=len(points),inputs=[points,?lengths])print(lengths)

地址:github.com/NVIDIA/warp
24、wsgidav:基于 WSGI 的 WebDAV 服務器。WebDAV 是一種允許在網絡上直接編輯和管理文件的通信協議,多用于文檔共享、云存儲和文件同步等場景。該項目是用 Python 寫的 WebDAV 服務器,可獨立運行、自帶簡單的 Web 界面,支持 MS Office 文檔在線編輯和身份驗證等功能。

地址:github.com/mar10/wsgidav
Ruby 項目
25、lolcommits:基于 Git 的程序員自拍。該項目能在每次用 git 提交代碼時,自動使用攝像頭拍照,并在照片上標記 commit ID,這樣不僅可以記錄“生活”,還能一眼找到代碼的作者。

地址:github.com/lolcommits/lolcommits
Rust 項目
26、100-exercises-to-learn-rust:學習 Rust 的 100 個練習。該教程秉承著邊學邊做的原則,內含大約 100 道練習題和答案,帶你從零開始學習 Rust 編程語言。
地址:github.com/mainmatter/100-exercises-to-learn-rust
27、crossbeam:Rust 并發編程工具庫。在 Rust 的并發編程世界中,它就像一把瑞士軍刀,提供了豐富且強大的無鎖并發數據結構和工具,極大地提升了 Rust 并發編程的效率。來自 @DeShuiYu 的分享
地址:github.com/crossbeam-rs/crossbeam
28、zellij:更容易上手的終端復用器。該項目是一個 Rust 寫的終端多路復用器,支持單窗口多標簽、分割窗口和自動恢復連接等功能。它提供了開箱即用的默認配置,同時擁有強大的插件系統,從而深受初學者和高級用戶的喜愛。

地址:github.com/zellij-org/zellij
Swift 項目
29、Loop:一款優雅的 macOS 窗口管理工具。這是一款極簡的 macOS 窗口管理應用,它無需復雜的配置,即可通過簡單的組合鍵,輕松實現移動窗口位置、調整窗口大小以及排列窗口,交互十分優雅,使用體驗極佳。

地址:github.com/MrKai77/Loop
30、noTunes:禁用 iTunes 的工具。這是一款 macOS 應用,它可以阻止 iTunes 或 Apple Music 自動啟動和彈出,還支持設置 iTunes 的替代品。
地址:github.com/tombonez/noTunes
其它
31、anx-reader:免費的 Android 電子書閱讀器。這是一款用 Flutter 編寫的電子書閱讀軟件,它免費且沒廣告,支持 WebDAV 同步電子書、筆記和閱讀進度,適用于 Android 手機和平板電腦。

地址:github.com/Anxcye/anx-reader
32、etcher:簡單易用的 USB/SD 啟動盤制作工具。該項目可以將操作系統鏡像燒錄進 SD 卡或 USB 設備,可用于制作可啟動、便攜式的操作系統。它擁有友好的操作界面,僅需 3 步就能完成 USB 啟動盤制作,適用于 Linux、macOS 和 Windows 10 及更高版本。

地址:github.com/balena-io/etcher
33、GmsCore:谷歌服務框架的開源替代品。該項目是一個開源的替代 Google Play 服務的解決方案,它可以讓無法安裝或不想用 Google 服務的用戶,運行依賴谷歌服務的 Android 應用。
地址:github.com/microg/GmsCore
34、OpenGlass:低成本的 AI 智能眼鏡。該項目僅需 25 美元,就可以將普通的眼鏡升級成 AI 智能眼鏡。它支持錄制視頻、識別物體和翻譯文本等功能,但需要與電腦配合使用,不支持在鏡片上顯示內容。

地址:github.com/BasedHardware/OpenGlass
35、scribe:用 HTML 的方式展示樂譜。該項目通過 CSS+SVG+HTML 代碼,實現了在網頁上顯示音樂符號和樂譜。

地址:github.com/stephband/scribe
36、WTF-zk:零知識證明入門教程。這是一份入門級的零知識證明教程,零知識證明是一種技術,允許一方在不泄露任何具體信息的情況下向另一方證明某件事為真,多用于密碼學、隱私計算和 Web3 等領域。
地址:github.com/WTFAcademy/WTF-zk
開源書籍
37、introduction-to-bash-scripting:《Bash 腳本入門指南》。這是一本教你如何編寫出色的 Bash 腳本的開源書籍。
地址:github.com/bobbyiliev/introduction-to-bash-scripting
38、PyTorch-Tutorial-2nd:《Pytorch 實用教程》。這本書不僅全面介紹了 PyTorch 的基礎知識,還包含豐富的 PyTorch 實戰案例和大型語言模型部署實例,能幫你快速上手 PyTorch,并具備出色的開發能力。來自 @TingsongYu 的分享
地址:github.com/TingsongYu/PyTorch-Tutorial-2nd
機器學習
39、gateway:大型語言模型 API 聚合網關。該項通過提供統一且快速的 API,讓開發者能夠輕松訪問超過 200 個 LLMs,還支持多模態、自動重試和負載均衡等功能。

地址:github.com/Portkey-AI/gateway
40、MoneyPrinterTurbo:一鍵生成短視頻的 AI 工具。該項目是基于大模型服務的 AI 視頻生成工具,只需要提供一個主題或關鍵字,就可以自動生成高清的短視頻。它擁有簡單易用的 Web 界面,支持批量生成、設置視頻時長和橫/豎屏尺寸等功能。來自 @jolahua 的分享

地址:github.com/harry0703/MoneyPrinterTurbo
41、Omost:極簡提示詞的文生圖工具。該項目基于 LLM 的編程能力幫用戶自動完善文生圖的提示詞,可以根據用戶輸入的簡短提示詞生成高質量的圖片,還支持圖片局部修改等功能,比如將圖片中的龍變成恐龍,極大地降低了編寫文生圖的門檻,無需復雜的提示詞即可生成滿意的圖片。

地址:github.com/lllyasviel/Omost
42、Scrapegraph-ai:基于 AI 的 Python 爬蟲。這是一個由 AI 驅動的 Python 爬蟲庫,它借助 LLM 的能力,可以根據提示詞自動抓取目標網站的數據。
smart_scraper_graph?=?SmartScraperGraph(prompt="List?me?all?the?projects?with?their?descriptions",source="目標網站",config=graph_config
)result?=?smart_scraper_graph.run()
print(result)
地址:github.com/VinciGit00/Scrapegraph-ai
最后
感謝參與分享開源項目的小伙伴,歡迎更多的開源愛好者來 HelloGitHub 自薦/推薦開源項目。
希望本期內容有你感興趣的開源項目,興趣是最好的老師,它能點燃你對開源的熱情、勇敢地邁出第一步,隨時歡迎你加入開源的大家庭!如果還沒看過癮,點擊閱讀?往期內容。
- END -
關注「HelloGitHub」第一時間收到更新
點擊閱讀原文可按照編程語言瀏覽項目