《HelloGitHub》第 86 期

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

簡介

HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。

https://github.com/521xueweihan/HelloGitHub

這裏有實戰項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內感受到開源的魅力,對編程產生興趣!


以下爲本期內容|每個月 28 號更新

C 項目

1、linux-wifi-hotspot:功能豐富的 Linux WiFi 熱點工具。這是一款擁有圖形化操作界面的 Wi-Fi 創建器,它使用方便、功能豐富,支持命令行、創建熱點、二維碼分享網絡、查看已連接設備等功能。

2、progress:查看 Linux 命令執行進度的工具。這是一個可以查看 cp、mv、dd、tar 等命令執行進度的 Linux 工具,它可以顯示已處理數據的百分比、處理速度和預計完成時間,並提供了類似 top 的監控模式。

C# 項目

3、Opserver:Stack Exchange 團隊開源的監控系統。這是一個採用 .Net 開發的輕量級監控系統,它可以監控包括服務器、日誌、SQL Server 集羣、Redis 在內的多種服務,支持修改 JSON 配置文件自定義儀表盤展示。Stack Exchange 也是一個網站,它和程序員常用的 Stack Overflow 背後都是同一家公司。

4、SophiApp:一款強大的 Windows 微調工具。這是一個用於微調 Windows 10 和 Windows 11 配置的調整器。它擁有現代化的操作界面,在保證系統穩定的前提下,提供了超過 130 種的調整選項。

C++ 項目

5、azerothcore-wotlk:啓動你專屬的魔獸世界服務。它是用 C++ 編寫的開源魔獸世界(WoW)服務器端,支持經典的巫妖王之怒(3.3.5a)遊戲版本和 Docker 啓動。該項目由社區驅動,運行穩定、社區活躍、對新手友善。

6、kdeconnect-kde:Linux 上的設備互聯工具。這是一款由 KDE(知名 Linux 桌面環境) 開源的,方便手機與電腦實現無線互聯的應用。支持手機和電腦之間共享剪貼板、通知、文件、運行命令等功能,還可以將手機作爲電腦的觸控板、鍵盤和幻燈片遙控器等外接設備。

7、pybind11:簡化 Python 調用 C++ 代碼的庫。這是一個僅頭文件的 C++ 庫,它可以將 C++ 代碼轉化成 Python 可直接引用的模塊,輕鬆實現 Python 調用 C++ 代碼。通過這種混合編程的方式,可以提高 Python 代碼的性能。

手動編譯 C++ 代碼
$ c++ -O3 -Wall -shared -std=c++11 -fPIC $(python3 -m pybind11 --includes) example.cpp -o example$(python3-config --extension-suffix)

然後在 Python 代碼中直接 import 即可使用
$ python
Python 3.9.10 (main, Jan 15 2022, 11:48:04)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import example
>>> example.add(1, 2)
3

8、wondertrader:一站式的量化交易框架。這是採用 C++ 開發的一站式量化交易框架,支持量化交易過程中的數據清洗、回測分析、實盤交易、運營調度等環節。可用於多賬戶交易、極速/高頻交易、算法交易等場景。

Go 項目

9、1Panel:現代化、開源的 Linux 服務器運維管理面板。這是一款 Go 寫的 Linux 服務器的在線管理系統,它安裝簡單、安全可靠,同時集成了 WordPress 等應用、域名綁定、SSL 證書配置、備份等功能,支持快速建站。來自 @llei.wang 的分享

10、gitpod:隨時準備好編碼的雲開發環境。這是一個提供在線開發環境的 K8s 應用程序,通過配置文件可以快速地爲 GitHub、GitLab 上的項目,創建一個集成了在線 IDE、庫、依賴項等工具的在線開發環境。

11、LocalAI:OpenAI 的本地替代品。一個實現了在個人電腦上運行 LLM 模型,並集成了服務接口和在線聊天界面的項目。雖然效果無法和 GPT-4 媲美,但它開箱即用且免費,支持 Vicuna、Alpaca、GPT4ALL 等模型。

# Clone LocalAI
git clone https://github.com/go-skynet/LocalAI

cd LocalAI

# (optional) Checkout a specific LocalAI tag
# git checkout -b build <TAG>

# Download gpt4all-j to models/
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j

# Use a template from the examples
cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/

# (optional) Edit the .env file to set things like context size and threads
# vim .env

# start with docker-compose
docker-compose up -d --pull always
# or you can build the images with:
# docker-compose up -d --build
# Now API is accessible at localhost:8080
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"ggml-gpt4all-j","object":"model"}]}

curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
     "model": "ggml-gpt4all-j",
     "messages": [{"role": "user", "content": "How are you?"}],
     "temperature": 0.9 
   }'

# {"model":"ggml-gpt4all-j","choices":[{"message":{"role":"assistant","content":"I'm doing well, thanks. How about you?"}}]}

12、minikube:一條命令在本機啓動 Kubernetes 集羣的工具。一個可以在本地輕鬆運行 K8s 集羣的工具,它支持標準的 Kubernetes 功能,可作爲本地開發 Kubernetes 應用程序的工具,適用於 macOS、Linux 和 Windows 操作系統。

13、nexttrace:一款可視化路由跟蹤工具。該項目默認使用 ICMP 協議發送 TraceRoute 請求,特點是顯示經過路由器的 IP、地理位置和耗時,以及在地圖上以可視化的方式顯示路徑。

Java 項目

14、jetlinks-community:一個全響應式的企業級物聯網平臺。基於 Spring Boot 開發的一款開箱即用、可二次開發的企業級物聯網基礎平臺。支持不同設備的統一接入、規則模型配置、數據權限控制等功能。來自 @孤膽槍手 的分享

15、open-java:純字符 3D 畫面的空戰遊戲。這是一款採用 Java Swing 開發的基於小孔成像原理與圖形光柵化的字符 3D 畫面框架構建的空戰遊戲,簡單說就是作者爲了做個 3D 字符空戰遊戲,順手寫了個 3D 引擎,別人的本科畢設。

16、PlayEdu:一款 Java 寫的內部培訓系統。這是一款基於 SpringBoot+React 開發而成的視頻培訓系統,它界面清爽、交互流暢,支持上傳資源、創建部門、添加學員、指派課程等功能,可用於企業和機構搭建內部培訓平臺。來自 @Markjune2022 的分享

JavaScript 項目

17、dub:功能豐富的短鏈接管理平臺。採用 Next.js+Tailwind CSS 構建的短鏈接平臺,可用於創建、追蹤、分析短鏈接,支持地理位置統計、自定義域名、生成二維碼等功能。

18、EasySpider:一款可視化爬蟲工具。該項目可以讓用戶在圖形化界面下,無需寫代碼實現自動採集/爬蟲的功能。用戶只需要在網頁上選擇想要爬的內容,並根據提示框操作即可完成爬蟲的設計和執行。

19、lossless-cut:視頻/音頻無損編輯的工具。該項目支持快速、無損地切割/合併大型視頻和音頻文件,比如攝像機、GoPro、無人機等設備錄製的原始文件都很大,通過粗剪可以減小文件體積、節省空間。來自 @coolxy 的分享

20、morjs:微信/支付寶小程序擴展到多端的框架。這是餓了麼開源的一款基於小程序 DSL 的多端研發框架,該項目能根據微信或支付寶小程序的源碼,編譯出在不同平臺(微信/支付寶/百度/字節/釘釘/快手/QQ/淘寶)流暢運行的小程序。來自 @BboyZaki 的分享

21、ts-config-helper:TypeScript 配置可視化工具。該項目提供了 TypeScript 配置解析、可視化、文檔查閱等功能,幫你快速、準確地生成 tsconfig.json 文件。

PHP 項目

22、upload-labs:用於練習上傳漏洞的靶場。這是一個採用 PHP 語言編寫的用於練習上傳漏洞的在線靶場。它收集了滲透測試和 CTF 中遇到的各種上傳漏洞的靶場。目前一共 20 關,每一關都包含着不同上傳方式。

23、wallabag:保存網頁稍後閱讀的應用。這是一款能夠將網絡上的文章下載到本地離線保存的應用,它完全免費、擁有中文界面和移動端,讓你可以隨時隨地閱讀自己保存的文章。

Python 項目

24、domain-admin:域名和 SSL 證書監測平臺。採用 Flask+peewee+Vue3 構建的域名和 SSL 證書到期監測平臺,支持批量導入域名、多域名管理、到期通知等功能。

25、donkeycar:構建自動駕駛模型車的開源平臺。一個由遙控模型車(RC CAR)、樹莓派、Python 組成的 DIY 自動駕駛平臺,可用於實現自動駕駛的玩具車。該項目官網還提供了完整的配套硬件,大概需要 250 美元,組裝時間約 2 個小時。

26、musicpy:用 Python 創作音樂。該項目可以用簡潔的 Python 代碼生成一段音樂,它提供了和絃、音符和音階等幾個基本類型,需要具備一定的音理基礎才能上手。

from musicpy import *

# 尼龍弦吉他分解和絃演奏一個和絃進行
guitar = (C('CM7', 3, 1/4, 1/8)^2 |
          C('G7sus', 2, 1/4, 1/8)^2 |
          C('A7sus', 2, 1/4, 1/8)^2 |
          C('Em7', 2, 1/4, 1/8)^2 | 
          C('FM7', 2, 1/4, 1/8)^2 |
          C('CM7', 3, 1/4, 1/8)@1 |
          C('AbM7', 2, 1/4, 1/8)^2 |
          C('G7sus', 2, 1/4, 1/8)^2) * 2

play(guitar, bpm=100, instrument=25)

27、OpenBBTerminal:高顏值的命令行投資分析工具。一個有着高顏值的金融市場行情查看和分析工具,實現了在終端偷偷看股市的功能。同時,它開放了對 Pandas、Numpy、Jupyter、Pytorch、Tensorflow 等等框架的支持,幫助深入加工和分析數據輔助投資。

28、pygwalker:用可視化的方式操作 pandas 數據集。該項目可以將 pandas 的 dataframe 數據對象轉化成一個可交互的圖形界面,支持通過拖拽字段的方式進行數據分析。來自 @databook 的分享

Rust 項目

29、FlyingCarpet:無需網絡的文件傳輸工具。這是一個支持在 Android、iOS、Linux、macOS 和 Windows 系統之間通過 WiFi 點對點(Ad-Hoc)傳輸文件的工具。它不需要網絡基礎設施,只需要兩臺支持 WiFi 的設備,即可實現近距離無線傳輸。

30、jumpy:魚類像素風格的 2D 射擊遊戲。這是一款 2D 對戰類遊戲,玩家控制魚形鬥士相互廝殺,支持 2-4 名玩家在本地或在線對戰。

31、oxipng:多線程的 PNG 圖片壓縮工具。這是一個 Rust 寫的命令行 PNG 無損壓縮工具,支持多線程壓縮速度快,還可作爲 Rust 庫使用。

Swift 項目

32、fsnotes:macOS/iOS 上的筆記管理器。這是一款適用於 macOS 和 iOS 的筆記管理工具,它支持 Markdown、加密筆記、生成網頁、TouchBar 快捷鍵、超過 170 種編程語言的語法高亮、iCloud Drive 或 Dropbox 同步內容等功能。

33、swift-foundation:用 Swift 重寫後的 Foundation 框架。Foundation 框架是 macOS 和 iOS 的基礎組件(標準庫),該項目是 Apple 用 Swift 重寫後的 Foundation 源碼,它更快、更安全。

其它

34、ESP32-Paxcounter:基於 WiFi 和藍牙的客流計數器。一款基於廉價的 ESP32 開發板的實時客流量計數器,它通過監測附近的 WiFi 和藍牙信號,在不侵犯隱私的情況下實現計數。來自 @松果 的分享

35、Hacki:用 Flutter 開發的 Hacker News 客戶端。一款用 Flutter 寫的 Hacker News 客戶端,它界面清爽功能齊全,支持離線閱讀、賬戶登錄、提交內容、評論摺疊等功能,已上架 App Store 和 Google Play 應用商店。來自 @Jiaqi Feng 的分享

36、OURS-project:教你如何製作一個智能手機。這裏介紹瞭如何用樹莓派製作一個 Linux 系統的智能手機,該設備擁有 1GB 運行內存、4 英寸 480*800 的觸摸屏和 500 萬像素的攝像頭,支持 4G 網絡、通話、短信、瀏覽器、GPS 等功能。

37、source-han-serif:思源宋體一套泛中日韓字體。思源宋體是 Adobe 開源的泛中日韓字體,這個開源項目不僅提供了思源宋體可用的 OpenType 字體,還提供了利用 AFDKO 工具創建這些 OpenType 字體時的所有源文件。來自 @孤膽槍手 的分享

38、wai:一款可以預防頸椎病的項目。這是一個通過非正常的方式,展示歷史上的今天和這個季節喫什麼果蔬的內容,“強迫”你活動脖子從而實現預防頸椎病的目的。來自 @Huan 的分享

開源書籍

39、bgnet:《Beej 的網絡編程指南》。如果你想弄清楚什麼是 socket 以及關於 C 語言網絡編程的知識,就可以看看這本書,內含中文翻譯版。

40、explore-flask:《Explore Flask》探索 Flask。這是一本關於 Python 知名 Web 框架 Flask 的書籍,內容包含基礎入門和部署實戰。

機器學習

41、AI4Animation:AI 生成遊戲角色動畫。該項目可以基於原始的動作捕捉數據,生成更加自然、可控的角色動畫,解決兩足、四足動物的動畫生成問題,比如無需人爲干涉就能生成坐下、跳躍、開門、武術等複雜動作的動畫。來自 @松果 的分享

42、GFPGAN:騰訊開源的人臉修復算法。它可以用於修復像素低、模糊、破損的人臉圖像,尤其是在臉部細節和清晰度方面,修復效果尤爲出色。

43、ImageBind:連接多種感官數據的 AI 模型。這是一個由 Meta AI 開源的新型多模態 AI 模型,支持在圖像、文本、音頻等六種不同模態之間任意轉換。比如它可以根據一段火車的音頻,自動生成火車的照片、視頻和一段文本。

44、tuning_playbook:深度學習調優指南。該指南出自幾位谷歌大腦研究員的深度學習模型調參經驗總結,內容包括如何開始新項目、提高模型性能的方法和訓練過程中的經驗,適合已掌握機器學習基本知識、對優化深度學習模型性能感興趣的工程師和研究員閱讀。

最後

如果你發現了 GitHub 上有趣的項目,就點擊這裏分享給大傢伙吧!

以上就是本期的所有內容了,往期內容點擊閱讀

感謝您的閱讀,如果覺得本期內容還不錯的話 求贊、求分享 ❤️

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章