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

HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
https://github.com/521xueweihan/HelloGitHub
這裡有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!
以下為本期內容|每個月 28 號更新
C 項目1、ecapture:一款無需 CA 證書即可抓取 HTTPS 明文的工具。該項目基於 eBPF 技術實現了 TLS 加密的明文捕獲,可用於 MySQL 數據庫的查詢審計、bash 命令捕獲等場景,僅支持 Linux 和 Android 系統。

地址:https://github.com/gojue/ecapture
2、FSHistory:最早的微軟模擬飛行遊戲。該項目提供了 1982 年發行的懷舊遊戲《微軟模擬飛行》,支持在線試玩、共有 4 個版本可供選擇。

地址:https://github.com/s-macke/FSHistory
3、iodine:一款可快速創建 DNS 隧道的工具。該項目包含 C 語言寫的 DNS 隧道服務器和客戶端,可快速搭建 DNS 隧道傳輸 IPv4 數據,常用於繞過防火牆等場景。因為一般情況下防火牆的 DNS 端口是打開的,所以將流量偽裝成 DNS 數據包,就可以突破防火牆限制啦。
地址:https://github.com/yarrick/iodine
4、tinyriscv:從零開始寫 RISC-V 處理器。該項目是採用 Verilog 語言實現一個單核 32 位的小型 RISC-V 處理器核,包含全部代碼和詳細的教程。RISC-V 是一種開源指令集架構,它允許任何人設計、製造和銷售 RISC-V 芯片和軟件。

地址:https://github.com/liangkangnan/tinyriscv
C# 項目5、DevToys:程序員的瑞士軍刀。該項目打包了程序員日常開發會用到的小工具,比如時間戳轉化、各種解碼、輸出美化、顏色選擇器等,使用方便顏值高。

地址:https://github.com/veler/DevToys
6、Tai:Windows 上統計軟件使用時長的工具。該項目會根據軟件獲得焦點和失去焦點的時間差,來計算軟件的真實使用時長,而不是簡單地統計軟件存活時間。

地址:https://github.com/Planshit/Tai
C++ 項目7、GASDocumentation:虛幻引擎 5 之 GAS 插件上手教程。該項目是講解如何使用虛幻引擎 5 的 GameplayAbilitySystem 插件,作者從什麼是 GAS 開始,最後用 GAS 做出了一個簡單的多人射擊遊戲。如果你對虛幻引擎 5 感興趣而且會 C++ 的話,那麼看完這份教程一定會讓你有所收穫。

地址:https://github.com/tranek/GASDocumentation
8、organicmaps:一款免費、沒廣告的離線地圖應用。適用於旅行者、遊客、徒步旅行者和騎行者的 Android 和 iOS 離線地圖應用,它使用 OpenStreetMap 數據,支持詳細的離線地圖、騎行路線、語音導航、等高線、海拔剖面、山峰和坡度等功能。

地址:https://github.com/organicmaps/organicmaps
9、tesseract:一款「老當益壯」的 OCR 引擎。這個項目最早誕生於 1985 年,幾經易主在 2005 年的時候 HP 將其開源。目前,Tesseract 已經成為 OCR 領域 Star 數最多的開源項目,它支持包括中文在內的 100 多種語言,具有精準度高、跨平台等特點。
地址:https://github.com/tesseract-ocr/tesseract
CSS 項目10、china_school_badge:全國高校校徽字體圖標庫。該項目包含國內 200 多所高校校徽製作的字體圖標。

地址:https://github.com/lovefc/china_school_badge
11、daisyui:一款極為流行的 Tailwind CSS 組件庫。作為當下最流行的 Tailwind CSS 組件庫,具有高顏值、更純淨的 HTML、深度自定義等特點。
<ulclass="menup-3bg-base-200rounded-xl"><liclass="menu-title"><span>MenuTitle</span></li><li><a>FirstMenuItem</a></li><li><a>SecondMenuItem</a></li><li><a>ThirdMenuItem</a></li></ul>
地址:https://github.com/saadeghi/daisyui
Go 項目12、answer:一款開源的問答社區。採用 Go 語言編寫的問答社區,支持積分、提問、回答、標籤等功能,部署簡單。

地址:https://github.com/answerdev/answer
13、btree:Go 語言實現的 B-樹 數據結構。由谷歌開源的 B-樹 Go 語言實現,代碼整潔、注釋豐富,推薦閱讀源碼。B-樹 這種數據結構,能夠讓查找數據、順序訪問、插入及刪除操作,都在對數時間內完成,多用於數據庫和文件系統。
地址:https://github.com/google/btree
14、nap:一款命令行的代碼片段管理工具。該項目可以通過命令行界面,快速創建和管理代碼片段。支持快捷鍵、搜索、代碼高亮、自定義顏色等功能,操作簡單方便。

地址:https://github.com/maaslalani/nap
15、oh-my-posh:適用於多種 shell 的終端提示個性化工具。該項目內置多款主題開箱即用,支持 Windows、Linux、macOS 三個系統上的 PowerShell、Bash、Zsh 等多種 shell,自動補全你輸入的每個命令。

地址:https://github.com/JanDeDobbeleer/oh-my-posh
16、raft:Raft 算法的 Go 語言實現。Raft 是一種分布式一致性算法(共識算法),常用於分布式集群內的任意節點,在某種狀態轉換上保持一致。
地址:https://github.com/hashicorp/raft
Java 項目17、JimuReport:一款在線製作報表的工具。該項目可通過在線拖拽製作報表,支持報表設計、圖形報表、大屏展示等功能。

地址:https://github.com/jeecgboot/JimuReport
18、kafka-ui:一款開源的 Kafka 管理平台。由開源社區建立和維護的 Kafka Web UI 管理工具,承諾永久免費。可方便地查看 Kafka Brokers、Topics、消息、Consumer 等情況,支持多集群管理、性能監控、訪問控制等功能。
地址:https://github.com/provectus/kafka-ui
19、leetcode-editor:刷 LeetCode 的 IDE 插件。讓你可以在 IDE 里刷 LeetCode 算法題的插件,支持 IntelliJ IDEA、PyCharm、GoLand 在內的 Jetbrains 全家桶。

地址:https://github.com/shuzijun/leetcode-editor
20、LibreraReader:一款支持多種格式的 Android 電子書閱讀器。適用於 Android 設備的閱讀應用,支持最流行的文檔格式,包括 PDF、EPUB、MOBI、DjVu、FB2、TXT、RTF、AZW、HTML、CBZ、DOC 等多種電子書格式。

地址:https://github.com/foobnix/LibreraReader
JavaScript 項目21、infisical:一款幫助團隊同步環境變量的工具。該項目可用於團隊成員之前同步環境變量,擁有簡單易懂的操作界面,支持端到端加密、自託管、權限控制、集成 CI/CD 等功能。

地址:https://github.com/Infisical/infisical
22、outils:前端業務代碼的工具庫。該項目包含了前端開發中,經常會用到的日期格式化、瀏覽器類型判斷、檢測是否為手機號等函數。
/****@desc獲取操作系統類型*@return{String}*/functiongetOS(){varuserAgent='navigator'inwindow&&'userAgent'innavigator&&navigator.userAgent.toLowerCase()||'';varvendor='navigator'inwindow&&'vendor'innavigator&&navigator.vendor.toLowerCase()||'';varappVersion='navigator'inwindow&&'appVersion'innavigator&&navigator.appVersion.toLowerCase()||'';if(/iphone/i.test(userAgent)||/ipad/i.test(userAgent)||/ipod/i.test(userAgent))return'ios'if(/android/i.test(userAgent))return'android'if(/win/i.test(appVersion)&&/phone/i.test(userAgent))return'windowsPhone'if(/mac/i.test(appVersion))return'MacOSX'if(/win/i.test(appVersion))return'windows'if(/linux/i.test(appVersion))return'linux'}地址:https://github.com/proYang/outils
23、podcast-together:和你的好友一起在線聽播客。該項目無需註冊和登錄,即可創建/進入房間和三五好友,一起收聽同一個博客,支持收聽小宇宙、Apple Podcast 中國區等音源。

地址:https://github.com/yenche123/podcast-together
24、terminalizer:強大的終端錄製工具。該項目可以輕鬆記錄下你在命令行的操作,並將錄製好的內容輸出成 gif 圖像或直接分享到網上。

地址:https://github.com/faressoft/terminalizer
25、watching-you:讓 DOM 像眼睛一樣注視的 JS 動畫庫。這是一個簡易的動畫庫,主要用於計算一個 DOM 與觀察目標,比如鼠標、DOM、輸入框值之間的位置,從而做出一些有趣的動畫,比方說讓它變成跟眼睛一樣。

地址:https://github.com/jj811208/watching-you
PHP 項目26、snipe-it:一款 IT 資產管理系統。該項目是基於 Laravel 8 構建的適用於中小型企業的 IT 資產管理系統,支持資產分配、生成二維碼標籤、資產審計、保修到期提醒等功能。

地址:https://github.com/snipe/snipe-it
Python 項目27、Bottles:一款可輕鬆實現 Linux 上運行 Windows 軟件的工具。該項目提供了清爽易用的 GUI 界面,用戶就算不懂任何編程技巧,也可以輕而易舉地在 Linux 系統上,運行 Windows 的遊戲和軟件。

地址:https://github.com/bottlesdevs/Bottles
28、django-cacheops:一款靈活的 Django ORM 緩存庫。該項目使用 redis 作為緩存,可通過裝飾器設置數據庫查詢結果的過期時間。
fromcacheopsimportcached_as@cached_as(Article,timeout=120)defarticle_stats():return{'tags':list(Article.objects.values('tag').annotate(Count('id')))'categories':list(Article.objects.values('category').annotate(Count('id')))}地址:https://github.com/Suor/django-cacheops
29、doccano:一款開源的文本標記工具。它可以提供文本分類、序列標記、情感分析、文本摘等功能,幫助快速完成打標工作,支持中文和多人協作。

地址:https://github.com/doccano/doccano
30、FileCodeBox:一款匿名口令分享文本和文件的服務。該項目是基於 FastAPI+SQLite3 開發的文件分享服務,支持分享文件、口令提取文件等功能,無需註冊即可完成文件提取。

地址:https://github.com/vastsa/FileCodeBox
31、python-systemd-tutorial:用 Python 編寫 systemd 服務的教程。許多 Linux 發行版都用 systemd 來管理系統的服務,比如開機啟動、自動重啟、守護進程等。該項目講解了如何入門 systemd,並提供了一個 Python 腳本和 systemd unit 文件,可以在此基礎上快速開發出 systemd 服務。
if__name__=='__main__':importtimeimportsystemd.daemonprint('Startingup...')time.sleep(10)print('Startupcomplete')systemd.daemon.notify('READY=1')whileTrue:print('HellofromthePythonDemoService')time.sleep(5)地址:https://github.com/torfsen/python-systemd-tutorial
Rust 項目32、rust-raspberrypi-OS-tutorials:學習如何用 Rust 編寫嵌入式操作系統。該教程會從零開始,一步步地指導你如何用 Rust 開發出一個功能齊全的嵌入式操作系統的內核。它包含了實現一般操作系統的任務,例如開發串口控制台、設置虛擬內存和處理硬件異常。教程中的所有代碼,均可運行在樹莓派 3 和 4 上。

地址:https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials
33、spacedrive:一款 Rust 寫的跨平台文件管理工具。它基於用 Rust 編寫的虛擬分布式文件系統(VDFS),可以將 macOS、Windows、Linux、iOS、Android 等不同操作系統的設備連接到一起,統一管理所有的文件。該項目還處於開發階段,客戶端需要自行編譯。

地址:https://github.com/spacedriveapp/spacedrive
Swift 項目34、Plash:將網站變成 Mac 桌面壁紙。這是一款適用於 macOS 的桌面壁紙應用,支持將多種網站設置為壁紙,這些網站並不局限於圖片網站,還可以是新聞、氣象等站點。

地址:https://github.com/sindresorhus/Plash
其它35、chinese-independent-blogs:中文個人獨立博客網站合集。如果說中文獨立博客的時代已經過去,那麼至少還有這麼一塊地方,屬於熱愛自由的博主們。
地址:https://github.com/timqian/chinese-independent-blogs
36、CSrankings:非官方的頂級 CS 學校排名榜單。該項目以高校教師在計算機科學(CS)各領域頂級會議上發表的論文數量,作為重要的衡量標準。

地址:https://github.com/emeryberger/CSrankings
37、FlutterDouBan:一款用 Flutter 寫的豆瓣客戶端。該項目用 Flutter 還原了豆瓣客戶端的首頁、書影音、小組、市集及個人中心等功能。

地址:https://github.com/kaina404/FlutterDouBan
38、portal_calendar:自製電子墨水屏的日曆。基於 ESP32 的電子墨水屏日曆,使用 4 節 7 號電池可運行多年,支持通過 OpenWeatherMap 實現天氣顯示等功能。

地址:https://github.com/wuspy/portal_calendar
39、relationship:中國親戚關係計算器。該項目實現了中國親戚關係及稱呼之間的換算,可以將中國複雜的親戚關係及稱呼通過計算器的方式簡單的運算出來。

地址:https://github.com/mumuy/relationship
開源書籍40、hello-algo:一本動畫圖解數據結構與算法的入門書。《Hello,算法》一書通過動畫和代碼詮釋數據結構和經典算法,學習曲線平滑,支持電腦、手機等多種終端在線閱讀。

地址:https://github.com/krahets/hello-algo
機器學習41、DeOldify:一款可以給老舊照片上色的項目。該項目基於深度學習實現了對黑白圖像和視頻進行着色的功能。

地址:https://github.com/jantic/DeOldify
42、wandb:一款輕量級的機器學習可視化工具。該項目是用於可視化和跟蹤機器學習實驗的工具,通過幾行代碼就可以實現跟蹤、比較和可視化機器學習實驗。
importwandb#1.StartaW&Brunwandb.init(project="gpt3")#2.Savemodelinputsandhyperparametersconfig=wandb.configconfig.learning_rate=0.01#Modeltrainingcodehere...#3.Logmetricsovertimetovisualizeperformanceforiinrange(10):wandb.log({"loss":loss})
地址:https://github.com/wandb/wandb
最後以上就是本期的所有內容,還沒看過癮?點擊閱讀往期內容。
如果安裝或運行開源項目遇到問題,就看這篇文章吧!
感謝您的閱讀,如果覺得本期內容還不錯的話求贊、求分享❤️
- END -
👆 關注「HelloGitHub」收到第一時間的更新👆