《HelloGitHub》第 97 期

news/2024/10/19 3:32:40/

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

13aa25544783e5d6dcaa24ed10c634c2.png

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!


以下为本期内容|每个月 28 号更新

C 项目

1、freeswitch:运营商级的开源电话平台。这是一个支持 SIP、WebRTC 等多种通信协议的开源通信框架,它作为一个多用途的软交换机,可以用来创建各种语音和消息服务,比如企业电话系统、虚拟呼叫中心、视频会议服务等。

地址:github.com/signalwire/freeswitch

2、NetHack:一款历史悠久的 Roguelike 游戏。这是一款经典的 Roguelike 单机游戏,玩家将扮演一位地下城的探险者去寻找神秘的 Yendor 项链。游戏的界面由 ASCII 字符组成,具有自由度高、难度大、地图随机生成和永久死亡的特点,被玩家称为可以玩一辈子的游戏。

7c309345cefdad0906fecc3199c52ec4.png

地址:github.com/NetHack/NetHack

3、rt-thread:小而美的物联网操作系统。这是一个由国人发起的开源物联网操作系统,具有优秀的可裁剪性和可扩展性。可以运行在 ARM Cortex-M0 芯片上的极小内核,到中等的 ARM Cortex-M3/4/7 系统,甚至是多核 64 位的 ARM Cortex-A、MIPS32/64 等不同架构的处理器。同时还提供了功能丰富的组件和软件包,可帮助开发者快速构建嵌入式系统产品。来自 @阿基米东 的分享

d8949ef2affe28cc7d0720e29a0d62d4.png

地址:github.com/RT-Thread/rt-thread

C# 项目

4、g-helper:一款轻量级的华硕奥创中心替代品。该项目是华硕笔记本奥创控制中心(游戏本控制软件)的开源替代品。它拥有简洁的界面和极低的系统资源占用等特点,支持无缝切换显卡模式、调节屏幕刷新率、风扇曲线、电源功耗、键盘灯光等功能。

3f3f2fa9655deffebbffbddb234a2e14.png

地址:github.com/seerge/g-helper

5、WingetUI:带界面的 Windows 包管理器。该项目是一个为 Windows 常用的命令行包管理工具设计的用户界面,如 Winget、Scoop、Pip、NPM、.NET Tool 等。它的界面友好、设计美观、支持中文,通过它你可以轻松下载、安装、更新和卸载包管理器上发布的任何软件以及其它日常应用,如浏览器、PDF 阅读器等。

4b161c0e5eef162748af2a6555fedadc.png

地址:github.com/marticliment/WingetUI

C++ 项目

6、cppinsights:从编译器的视角看 C++ 的代码。这是一个基于 Clang 的开发工具,它可以将源代码转化成编译器的推导结果,让用户从编译器的视角深入了解代码的内部机制,可以用来展示和讲解抽象语法树(AST)和 C++ 语言的新特性。

f2538573bdb7f384d182a3b324b69ae6.png

地址:github.com/andreasfertig/cppinsights

7、stellarium:一款开源的天象模拟软件。该项目是天文爱好者必备神器,它能够精确地模拟/展示出头顶星空的景象,包括恒星、星座、行星、彗星等天体,支持选择时间和地点、放大观察、图解星座等功能,提供了 Windows、Linux、macOS、iOS 和 Android  在内的多个平台客户端。

e30fe3de3bade231fa2cd3db0616833d.png

地址:github.com/Stellarium/stellarium

8、VideoPipe:跨平台的视频结构化和分析框架。这是一个用于视频分析和结构化的框架,采用 C++ 编写、依赖少、易上手。它就像一个管道每个节点相互独立,可自行搭配构建出不同类型的视频分析管道,适用于视频结构化、图片搜索、人脸识别、安防领域的行为分析(如交通事件检测)等场景。来自 @周智 的分享

6eb7c528b51171d42d1a235f84a717ee.gif

地址:github.com/sherlockchou86/VideoPipe

Go 项目

9、freeze:生成代码图片的终端工具。该项目可以将代码片段和终端输出,转换成 PNG、SVG 和 WebP 格式的图片,它采用 Go 语言开发,特点是安装简单和易于使用,支持一条命令生成图片,也可以通过交互模式生成定制的图片。

# macOS or Linux
brew install charmbracelet/tap/freeze# Arch Linux (btw)
pacman -S freeze# Nix
nix-env -iA nixpkgs.charm-freeze
b374bfff15ee21b5b541e186a8255600.gif

地址:github.com/charmbracelet/freeze

10、jaeger:开源的分布式链路追踪平台。该项目是受到 Dapper 和 OpenZipkin 的启发,由 Uber 创建并开源的分布式调用链追踪平台。它可用于监控和诊断分布式应用(微服务),功能包括支持多语言、全链路追踪、上下文传递、性能指标、可视化和告警等。来自 @塔咖 的分享

6b4629d5abb9ecefceb9135b8fd8a0a2.png

地址:github.com/jaegertracing/jaeger

11、opengist:GitHub Gist 的开源替代品。该项目将代码或文本片段存储于 Git 仓库中,用户可以通过 Git 命令或 Web 查看和修改内容,类似 GitHub 的 Gist 服务。它开源、可自托管,支持创建公开/私人片段、语法高亮、搜索代码、嵌入其它网站和修改历史等功能。

bb41ddc24ee0b168cce80955d28b71da.png

地址:github.com/thomiceli/opengist

Java 项目

12、CompreFace:免费、开源的人脸识别系统。该项目提供了用于人脸识别、检测、验证、头部姿势检测、性别和年龄识别的 REST API 服务,不用懂机器学习就能轻松集成到任何系统中。它后端采用 Java 编写,人脸识别是基于 FaceNet 和 InsightFace 实现,同时支持 Docker 部署。

836737b0c95599f8a2f608d73715ebfe.png

地址:github.com/exadel-inc/CompreFace

13、fdroidclient:免费、开源的 Android 应用商店。该项目是 F-Droid 的 Android 客户端,专门收集各类开源安卓软件(FOSS)的应用商店。它里面大部分是免费且无广告的应用,如遇到资源加载慢的情况,可通过设置镜像源解决。

f2209574efb3544b6d904880e0f949d7.png

地址:github.com/f-droid/fdroidclient

JavaScript 项目

14、cmdk:快速、无样式的命令菜单 React 组件。该项目可以帮助开发者轻松实现一个直观且功能丰富的命令菜单,类似于 ⌘K 快捷键唤起的交互式菜单,从而提升用户的交互体验,适用于各种 Web 应用。来自 @Daaihang Wong 的分享

import { Command } from 'cmdk'const CommandMenu = () => {return (<Command label="Command Menu"><Command.Input /><Command.List><Command.Empty>No results found.</Command.Empty><Command.Group heading="Letters"><Command.Item>a</Command.Item><Command.Item>b</Command.Item><Command.Separator /><Command.Item>c</Command.Item></Command.Group><Command.Item>Apple</Command.Item></Command.List></Command>)
}
c731f4c767bb806c106e42be060d3057.png

地址:github.com/pacocoursey/cmdk

15、outline:开源的文档和团队知识库管理工具。这是一款用 React 和 Node.js 开发的在线文档编辑和协作工具,它界面美观、功能丰富、兼容 Markdown 的特点,支持中文和 Docker 部署。此外,它还提供了 Windows、macOS、iOS 和 Android 客户端,可作为私人 wiki 或中小型公司的内部文档和知识库平台。

a97468a8f733ce28ae83ca9dedf4ed83.png

地址:github.com/outline/outline

16、Photo-Sphere-Viewer:用于显示 360° 球体全景的 JavaScript 库。这是一个基于 Three.js 开发的全景照片查看器,提供了友好的交互和丰富的功能。它支持多种全景图格式和功能,包括 2:1 全景图、六面体全景图、全景图分片、显示文本、视频全景等。来自 @wanzij 的分享

24a584764ce18679e1e17a8188ec5c25.png

地址:github.com/mistic100/Photo-Sphere-Viewer

17、strapi:全球领先的开源无头 CMS。这是一款完全免费、采用 JavaScript/TypeScript 开发的无头内容管理系统。它拥有开箱即用的 API 和友好的管理面板,自带权限管理、默认安全、SEO 友好等特点。Strapi 作为目前 GitHub 上最流行的开源内容管理系统之一,已成为多家世界 500 强公司的首选 CMS。来自 @greatYe 的分享

ecbbb4ca320878720839b148f8c992fc.gif

地址:github.com/strapi/strapi

18、tailwind-landing-page-template:免费、开源的落地页模板。该项目是基于 TailwindCSS、React 和 Next.js 构建的落地页模板,它界面美观、代码简单、设计在线,适用于快速制作公司主页、活动落地页等。

git clone 项目
yarn install
yarn dev
# http://localhost:3000
35ec140fe92bcc573378ec0bb2e99cbd.gif

地址:github.com/cruip/tailwind-landing-page-template

Kotlin 项目

19、breezy-weather:极简风格的 Android 天气应用。这是一款非常注重设计的天气应用程序,采用了 Material Design 设计语言。它简约干净、免费无广告、同时支持中文,可显示未来一小时的降水情况、空气质量、小时预报、实况天气、花粉、湿度等各种天气数据。

ec109f0649045937625019ab4ba4fff4.png

地址:github.com/breezy-weather/breezy-weather

Python 项目

20、dangerzone:将不可信文档转化为安全 PDF 的工具。这是一个确保文档安全的开源项目,它可以将存在潜在危险(来路不明、电子邮件附件)的 PDF 文件、办公文档或图片,在隔离的沙盒环境中进行转换,生成安全的 PDF 文件。

542aae71b87e48a5fc3f999842484ab0.png

地址:github.com/freedomofpress/dangerzone

21、great-tables:用 Python 制作漂亮的表格。这个 Python 库可以用来制作实用且美观的表格。它提供了一套表格组件,通过组合不同的表格部分,如表头、表尾、行标签(stub)以及跨列标签(spanner labels)等,帮助 Python 开发者轻松制作漂亮的数据表格。来自 @Ted LI 的分享

from great_tables import GT
from great_tables.data import sp500# Define the start and end dates for the data range
start_date = "2010-06-07"
end_date = "2010-06-14"# Filter sp500 using Pandas to dates between `start_date` and `end_date`
sp500_mini = sp500[(sp500["date"] >= start_date) & (sp500["date"] <= end_date)]# Create a display table based on the `sp500_mini` table data
(GT(sp500_mini).tab_header(title="S&P 500", subtitle=f"{start_date} to {end_date}").fmt_currency(columns=["open", "high", "low", "close"]).fmt_date(columns="date", date_style="wd_m_day_year").fmt_number(columns="volume", compact=True).cols_hide(columns="adj_close")
)
91ff7e9a0215d1f0eb0f405f91e531db.png

地址:github.com/posit-dev/great-tables

22、python-miio:用于控制小米智能家电的 Python 库。该项目提供了一个 Python 库和命令行工具,可以用来控制使用小米的 miIO 和 MIoT 协议的设备。借助它用户可以轻松地与小米智能设备进行通信和远程控制,包括扫地机器人、灯泡、空气净化器等,非常适合喜欢 DIY 智能家居系统的开发者。

地址:github.com/rytilahti/python-miio

23、undetected-chromedriver:绕过反爬检测的 Python 库。这是一个经过优化的 Selenium WebDriver 补丁,专门用于防止浏览器自动化过程中,触发反机器人机制。它能够隐藏浏览器特征(指纹),使用起来十分方便,就像一个 Python 的第三方库一样。

import undetected_chromedriver as uc
driver = uc.Chrome(headless=True,use_subprocess=False)
driver.get('https://nowsecure.nl')
driver.save_screenshot('nowsecure.png')
d894408ac24175cb59ba2e9dba30f502.gif

地址:github.com/ultrafunkamsterdam/undetected-chromedriver

24、wereader:功能全面的微信读书笔记助手。这是一个基于 PySide6 编写的微信读书桌面客户端,不仅支持阅读书籍的功能,还有笔记模式,可查看你的全部读书笔记和热门划线等内容。

13aa5ef40a662242c8191494ae76aa01.png

地址:github.com/arry-lee/wereader

Rust 项目

25、grex:自动生成正则表达式的命令行工具。当你不知道如何写正则的时候,或许它能派上用场。该项目是用 Rust 语言开发的命令行工具,它可以根据用户提供的示例内容返回对应的正则表达式,可以作为库或命令行工具使用。来自 @size_t 的分享

79c1fc7d960de9dd3da32477a4efeb1e.gif

地址:github.com/pemistahl/grex

26、sqlx:强大的 Rust 异步 SQL 工具包。这是一个真正的异步 SQL 库,完全使用 Rust 语言开发,支持 PostgreSQL、MySQL、MariaDB、SQLite 数据库。它提供了编译时检查查询语句和自动缓存语句等功能,让 Rust 语言和 SQL 数据库之间的交互变得轻松且高效。

use sqlx::postgres::PgPoolOptions;
// use sqlx::mysql::MySqlPoolOptions;
// etc.#[async_std::main] // Requires the `attributes` feature of `async-std`
// or #[tokio::main]
// or #[actix_web::main]
async fn main() -> Result<(), sqlx::Error> {// Create a connection pool//  for MySQL/MariaDB, use MySqlPoolOptions::new()//  for SQLite, use SqlitePoolOptions::new()//  etc.let pool = PgPoolOptions::new().max_connections(5).connect("postgres://postgres:password@localhost/test").await?;// Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB)let row: (i64,) = sqlx::query_as("SELECT $1").bind(150_i64).fetch_one(&pool).await?;assert_eq!(row.0, 150);Ok(())
}

地址:github.com/launchbadge/sqlx

27、zero-to-production:用 Rust 从零构建一个电子邮件通信服务。该项目仅是《Zero To Production In Rust》一书的配套项目源码,并没有提供书。这本书是介绍如何用 Rust 从零构建一个电子邮件通信服务,包含开发环境配置、持续集成流程、后端 API 开发、错误处理以及部署的全过程。

083c5d0c789cc7eec062390d72311c2f.png

地址:github.com/LukeMathWalker/zero-to-production

Swift 项目

28、pika:适用于 macOS 的原生颜色选择器。这是一个专为 macOS 设计的颜色选择工具,它免费、快速、易用,让你能够在屏幕上快速找到色值。

a7901e85b15d7631c9f9f55b7c4d7b48.png

地址:github.com/superhighfives/pika

29、reminders-menubar:极简的 macOS 菜单栏提醒工具。这是一款使用 SwiftUI 开发的小工具,能够在 macOS 菜单栏查看/提醒待办事项。它体积小、交互简单、界面清爽,支持开机启动、多语言(包括中文)、菜单栏显示计数、快捷键等功能。

fed9e0c5a1cbd0d6abe92ea9b46fbf4c.png

地址:github.com/DamascenoRafael/reminders-menubar

其它

30、cat-catch:开源的媒体嗅探浏览器插件。这个名为「猫爪」的浏览器插件,可以帮你列出当前页面的音乐和视频资源的下载地址。

ee633c39cd23821335fb94c5090a452a.png

地址:github.com/xifangczy/cat-catch

31、containers:各种开源软件的容器镜像集合。这个项目是由 BitNami 维护和开源的 Docker 容器集合,包含各种开源软件、系统和 Web 应用。它们都经过了优化和漏洞扫描,可实现 Docker 一键部署,轻松部署应用,无需繁琐的安装和配置过程。

docker pull bitnami/APP
docker pull bitnami/APP:[TAG]

地址:github.com/bitnami/containers

32、ServiceLogos:超可爱的 Logo 集合。这里是用来存放 Sawaratsuki 制作的各种 logo 的仓库,这些 logo 制作精美、画风可爱,包括编程语言、框架、工具和各大社交媒体的商标™️。

525fe8cc92c81af178db128b0c799b85.png

地址:github.com/SAWARATSUKI/ServiceLogos

33、ungoogled-chromium:更纯净的 Chrome 浏览器。该项目是一个移除了 Chrome 浏览器中谷歌服务的浏览器,保留了完整的浏览器功能。

地址:github.com/ungoogled-software/ungoogled-chromium

34、web-activity-time-tracker:追踪你的上网活动时间的浏览器插件。这是一款无广告、开源的浏览器插件,能记录你在不同网站上的浏览时间,并提供直观的统计数据。它支持按天和小时统计浏览时间、过滤干扰网站、导出数据等功能。

17fd1a431a911bfc59308b25ecea1c11.png

地址:github.com/Stigmatoz/web-activity-time-tracker

开源书籍

35、how-to-learn-robotics:机器人学自学指南。这本指南专为非科班的小伙伴而设计,旨在指导他们如何学习机器人学。它包含了必备知识、入门教材推荐、实践项目以及进阶方法等内容,帮助读者逐步成长为一名优秀的机器人工程师。

地址:github.com/qqfly/how-to-learn-robotics

36、llm-universe:《动手学大模型应用开发》。该项目是专为小白开发者设计的大模型应用开发教程。内容涵盖了大模型的概念介绍、如何调用大模型API、知识库的搭建、构建 RAG(Retrieval-Augmented Generation)应用以及评估方法等内容。

地址:github.com/datawhalechina/llm-universe

机器学习

37、langchain:构建基于 LLM 应用的框架。LLM 是基于大数据预先训练好的大型深度学习模型,该项目可让 LLM 无需再训练就能访问新的数据集。它提供了开发 LLM 应用所需的各种模块,包括连接上下文来源和基于 LLM 进行推理的功能,从而轻松开发由 LLMs 支持的各种应用,比如聊天机器人、知识库和信息提取等。

9adbcc23f57077921595ff1ee3a475b1.png

地址:github.com/langchain-ai/langchain

38、LLaMA-Factory:专门针对 LLM 做微调的框架。这是一个让微调大型语言模型变得轻松的开源项目,它支持 LLaMA、Mistral、ChatGLM 等多种模型,以及增量预训练、奖励模型训练和精度等级等功能。引入了先进的算法和实用的微调技巧,同时提供了便捷的监控工具,方便用户追踪实验进度。

367dc591b1d2b1778a03a2c1cc4484f1.png

地址:github.com/hiyouga/LLaMA-Factory

39、ollama:本地运行各种 LLM 的工具。这是一个用 Go 语言写的工具,用于在本地一条命令安装、启动和管理大型语言模型,支持 Llama 3、Gemma、Mistral 等大模型,适用于 Windows、macOS、Linux 操作系统。

a0d0b8e55b892cbe2b0732e3869bb520.png

地址:github.com/ollama/ollama

40、vanna:与你的 SQL 数据库聊天。该项目使用 LLM+RAG+数据库技术,让用户能够通过自然语言查询 SQL 数据库,用生成的 SQL 回答你的问题。

8f4c59ab20581d94670953ed8a8d2f03.png

地址:github.com/vanna-ai/vanna

最后

感谢参与分享开源项目的小伙伴,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。

本期有你感兴趣的开源项目吗?如果有的话就留言告诉我吧~还没看过瘾?点击阅读 往期内容。

- END -

关注「HelloGitHub」第一时间收到更新

点击阅读原文可按照编程语言浏览项目


http://www.ppmy.cn/news/1450407.html

相关文章

真香!剪映专业版VIP,解锁限制功能!

01 软件介绍 剪映专业版采用更直观更全能易用的创作面板&#xff0c;让专业剪辑变得更简单高效&#xff0c;为更多人提供畅爽的专业剪辑体验&#xff0c;让更多人享受视频创作的乐趣! 剪映专业版引入强大黑罐头素材库&#xff0c;支持搜索海量音频、表情包、贴纸、花字、特效…

VScode+ubuntu配置ROS开发环境

VScodeubuntu配置ROS开发环境 写在前面 在vscode中先安装几个插件&#xff1a;中文语言包、Python插件、C插件、CMake插件、vscode-icons、ROS插件、Visual Studio IntelliCode、URDF、Markdown All in One 一、工作空间是什么 在ROS机器人开发中&#xff0c;我们针对机器人…

爬虫学习--4.Cookie与Session实战

在浏览网站的过程中,我们经常会遇到需要登录的情况,有些页面只有登录之后才可以访问。在登录之后可以连续访问很多次网站,但是有时候过一段时间就需要重新登录。还有一些网站,在打开浏览器时就自动登录了,而且在很长时间内都不会失效,这又是什么情况?其实这里面涉及 Ses…

05_机器学习赛事_优惠券使用预测

1. 函数库导入 # import libraries necessary for this project import os, sys, pickleimport numpy as np import pandas as pdimport matplotlib.pyplot as plt import matplotlib.dates as mdatesimport seaborn as sns import datetime as dtfrom datetime import datefr…

数学建模--图论最短路径基础

1.图的定义 学过数据结构或者离散数学的小伙伴们应该知道图的概念&#xff0c;我在这里简单的介绍一下&#xff1a; 图的概念和我们理解的是很不一样的&#xff0c;这里的图并不是我们的生活里面的图片&#xff0c;而是一种表示不同的数据之间的关系&#xff0c;例如这里的5个…

C++入门基础(三)

这里写目录标题 引用引用概念例子1例子2例子3例子4 常引用引用的应用做参数做返回值野引用扩展 传值、传引用效率比较引用和指针的区别C对比C语言实现顺序表 内联函数概念特性 &#x1f412;&#x1f412;&#x1f412; 个人主页 &#x1f978;&#x1f978;&#x1f978; C语…

Web安全研究(七)

NDSS 2023 开源地址&#xff1a;https://github.com/bfpmeasurementgithub/browser-fingeprint-measurement 霍普金斯大学 文章结构 introbackground threat model measurement methodology step1: traffic analysisstep2: fingerprint analysis dataset attack statisticsbro…

在HTTP请求头中,Referer、Host和Origin字段有不同的作用和含义

Referer&#xff08;引用页&#xff09;&#xff1a;表示用户从哪个页面发起的请求。它包含了发起请求的页面的URL。服务器可以根据这个字段来识别用户是从哪个页面跳转过来的&#xff0c;以便进行统计分析、日志记录、缓存优化等。但是&#xff0c;出于隐私和安全的考虑&#…