《HelloGitHub》第 93 期

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

826f0286fa50ae85ffec0c0ab8e09324.png

简介

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

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


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

C 项目

1、rsync:Linux 远程同步文件的工具。该项目提供了一种快速、增量的文件传输方式,即仅传输有变动的部分,可用于远程同步和备份文件。

地址:https://github.com/WayneD/rsync

C# 项目

2、Kavita:一款功能丰富的在线阅读平台。该项目可以在本地架设一个阅读漫画和电子书的 Web 平台,在手机、平板、台式机等设备上都有着出色的访问体验。

592c97bd3a1c41e77b21b18cc5b233fc.png

地址:https://github.com/Kareadita/Kavita

3、LittleBigMouse:Windows 多显示器鼠标平滑移动的工具。在 Windows 多显示器、分辨率不一致的情况下,鼠标在屏幕间移动会出现跳跃,比如外接了一台 4k 屏幕的和一台 2k 的屏幕,从 4k 屏幕中间挪到 2k 屏幕,鼠标就出现在底部了。该项目可以完美解决这个鼠标跳跃的问题,实现 Windows 多显示器鼠标平滑移动。来自 @Wu Zheng 的分享

9c87e2b2606bdf3600e75a811042a93a.png

地址:https://github.com/mgth/LittleBigMouse

C++ 项目

4、Modern-CPP-Programming:现代 C++ 编程课程。该教程面向有一定编程基础的人,内容涵盖 C++ 编程的基础知识、高级 C++ 语义和概念。

地址:https://github.com/federico-busato/Modern-CPP-Programming

5、WechatExporter:微信聊天记录迁移和备份工具。这是一个用于导出微信聊天记录的工具,支持以 HTML、PDF 或文本格式保存聊天内容,适用于 Windows 和 macOS 系统。

79b5c5b13b68c0287c7557c29c86fdda.png

地址:https://github.com/BlueMatthew/WechatExporter

Go 项目

6、mailpit:带 API 的电子邮件测试工具。这是一个小型、快速、多平台的电子邮件测试工具,它可以充当一个 SMTP 服务器,自带 Web 界面,支持模拟电子邮件接收、切换不同设备查看邮件等功能,还提供了可用于自动集成测试的接口。

30806fc693babb8ab7ac51387550ed13.png

地址:https://github.com/axllent/mailpit

7、muffet:Go 写的网站链接检查工具。该项目通过多线程和递归的方式,检查目标网站中所有页面的链接。它使用简单、速度快,支持 a、img、link、script 等多种标签。

d4d91469aa4f9c0841c909850b430ba6.gif

地址:https://github.com/raviqqe/muffet

8、one-api:OpenAI 接口管理和分发系统。该项目集成了各种大模型,并统一转化成了类似 OpenAI 接口的服务。它开箱即用、单文件,支持负载均衡、令牌管理、兑换码、用户分组、查看额度、邀请奖励等功能,可用于自建 ChatGPT 服务。

7b22abbec4f531ddae836144aa56b9b9.png

地址:https://github.com/songquanpeng/one-api

9、zen:一款适用于 PC 的广告拦截器。该项目是采用 Go 语言 Wails 框架写的能够屏蔽各种广告的桌面工具。它的工作原理是设置一个代理,拦截所有应用的 HTTP 请求,从而阻止广告和跟踪行为的请求,支持 Windows、macOS 和 Linux 操作系统。

dfd1bb8d3e3269a76c42e7e13ee28ef0.png

地址:https://github.com/anfragment/zen

Java 项目

10、sensitive-word:用于过滤敏感词的 Java 库。该项目是基于 DFA 算法实现的高性能敏感词过滤工具,词库收录了 6w+ 内容,支持自定义敏感词、白名单、替换策略、数字常见形式的互换、忽略重复词等功能。

a5770bcbb8ecd58266a2a4d7cc15e372.png

地址:https://github.com/houbb/sensitive-word

11、SMS4J:Java 的短信服务聚合框架。该项目集成了国内众多第三方短信服务,简化了接入多个短信 SDK 的流程,仅通过修改配置文件,就能轻松实现发送短信的功能。来自 @ヽ米 饭 的分享

@RestController
@RequestMapping("/test/")
public class DemoController {// 测试发送固定模板短信@RequestMapping("/")public void doLogin(String username, String password) {//阿里云向此手机号发送短信SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456");//华为短信向此手机号发送短信SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000");}
}

地址:https://github.com/dromara/SMS4J

JavaScript 项目

12、daedalOS:跑在浏览器里的桌面环境。该项目是用 JavaScript 写的运行在浏览器中的仿 Windows 桌面操作系统,支持开始菜单、动态壁纸、命令行终端、视频播放器、3D 弹球、Markdown 查看器、浏览器等功能。

848f28d7767858a4b9850ecf36a697fb.png

地址:https://github.com/DustinBrett/daedalOS

13、miniPaint:免费的在线图片编辑器。该项目无需安装、可直接在浏览器中运行,支持创建/编辑图像、图层、滤镜、马赛克、绘图工具等功能。

a7923c50a1f32325f5de31b208d782c4.gif

地址:https://github.com/viliusle/miniPaint

14、multipleWindow3dScene:炫酷的前端量子纠缠效果。量子纠缠是一种量子力学现象,即两个或多个量子不论相距多远都存在一种关联。该项目通过使用 Three.js 和 localStorage 跨多个浏览器窗口,展示了这一量子力学现象。来自 @YJLTF 的分享

71e1d540490b2b80f832b17cabc150a0.gif

地址:https://github.com/bgstaal/multipleWindow3dScene

15、omnivore:一款免费、多端的稍后阅读工具。该项目采用 TypeScript + Next.js 构建而成,支持保存文章、电子邮件、文档和同步 Obsidian 等个人知识管理系统的内容,以便日后阅读。而且还提供了 iOS、Android 客户端和浏览器插件,方便随时随地阅读。

b401fda7dcc3b20f8612102bf835a467.png

地址:https://github.com/omnivore-app/omnivore

16、vue-naive-admin:一款极简风格的 Vue 管理后台。这是一个开源、免费、可商用的后台管理模板,基于 Vue3、Vite4、Pinia、Unocss 和 Naive UI 等前端最新技术栈。它简洁、轻量、风格清新,上手成本低,适合中小型项目或者个人项目。来自 @Ronnie Zhang 的分享

fd0c2123b643b6c7af371112a2c08aa1.png

地址:https://github.com/zclzone/vue-naive-admin

Kotlin 项目

17、Calendar:适用于 Android 的高度可定制的日历库。这是一个用于开发 Android 日历应用的库,内含示例应用。提供了周或月模式显示、边界日期、水平或垂直滚动等功能,可以随心所欲地设计日历。

6131369858e7c05709ea10083646e9b9.png

地址:https://github.com/kizitonwose/Calendar

PHP 项目

18、BookStack:一个简单、开箱即用的 wiki 平台。该项目是基于 PHP 和 Laravel 的 wiki 平台,拥有搜索、Markdown 编辑器、绘图、多语言、身份验证等功能。

0b4be11ebb0ea7b3c5414ba1b0540394.png

地址:https://github.com/BookStackApp/BookStack

Python 项目

19、django-tailwind:Django 集成 Tailwind CSS 的库。该项目可以让你在 Django 项目中轻松地使用 Tailwind CSS 框架,内含 Tailwind CSS 官方的排版、表单、line-clamp 等插件。

0e3e9516fc93c71dc2fc95f2e88dc4be.gif

地址:https://github.com/timonweb/django-tailwind

20、frigate:一款围绕实时 AI 对象检测构建的开源 NVR。该项目基于 OpenCV 和 Tensorflow 实现在本地为 IP Camera 提供实时目标检测和安全报警等功能,还支持根据设定的规则,保留检测到物体的视频。

117988156f2a2dda724b73c967c432f2.jpeg

地址:https://github.com/blakeblackshear/frigate

21、sqlglot:一个非常全面的 SQL 解析器。该项目是用 Python 写的 SQL 解析器、转译器和优化器,它可以格式化 SQL 以及支持在 20 种不同方言和 SQL 之间进行转化,可用来自定义解析器、分析查询,用编程方式构建 SQL。

import sqlglot# SQL 转 Spark
sql = """WITH baz AS (SELECT a, c FROM foo WHERE a = 1) SELECT f.a, b.b, baz.c, CAST("b"."a" AS REAL) d FROM foo f JOIN bar b ON f.a = b.a LEFT JOIN baz ON f.a = baz.a"""
print(transpile(sql, write="spark", identify=True, pretty=True)[0])

地址:https://github.com/tobymao/sqlglot

22、tablib:轻松处理表格数据集的 Python 库。该项目能够将不同格式的表格数据集,转化成统一的 Dataset 对象。它提供了动态列、标签、过滤等功能,支持 csv、df、json、yaml、xls 等格式的数据。

import tablibdata = tablib.Dataset(headers=['First Name', 'Last Name', 'Age'])for i in [('Kenneth', 'Reitz', 22), ('Bessie', 'Monke', 21)]:data.append(i)# 将数据输出成 json 格式
print(data.export('json'))
# [{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]# df 对象
data.export('df')
#   First Name Last Name  Age
# 0    Kenneth     Reitz   22
# 1     Bessie     Monke   21

地址:https://github.com/jazzband/tablib

23、talebook:一款简单好用的在线个人书库。该项目是基于 Calibre 的个人图书管理系统,后端是 Python 的 Tornado Web 框架,前端采用 Vue.js 构建。它不仅拥有美观的界面而且安装简单,支持在线阅读、导入书籍、推送到 Kindle、私人模式等功能。

8a6d9a6e0cb613b924babf307a88f16c.png

地址:https://github.com/talebook/talebook

Rust 项目

24、sshx:基于 Web 的安全终端协作工具。该项目只需一条命令,即可与多人共享终端。支持实时多人协作、多窗口、远程光标、在线聊天、自动重连等功能,可用于教学和远程调试。来自 @猎隼丶止戈reNo7 的分享

4a632bb43a795f08e918d621b5a1de3e.png

地址:https://github.com/ekzhang/sshx

25、tailspin:一款实用的日志高亮命令行工具。该项目是 Rust 写的命令行查看日志的工具,它无需配置开箱即用,通过高亮的形式,突出显示数字、日期、IP、URL 等内容,让重要的信息一目了然。

b831ed43d8306bf13680e0edb121bc8b.png

地址:https://github.com/bensadeh/tailspin

26、Weylus:将平板用作计算机上的输入板/触摸屏。通过该项目可以将平板设备,作为电脑的外接屏幕、触控板、键盘,适用于 Windows、Linux 和 macOS 系统。

e2a17d16063ba3b0fe24f9129a54989a.gif

地址:https://github.com/H-M-H/Weylus

Swift 项目

27、visionOS_30Days:挑战 30 天上手苹果 visionOS 开发。visionOS 是运行在苹果的混合实境头戴式设备 Apple Vision Pro 上的操作系统,该项目提供了 30 个 visionOS 开发的示例代码。

8f1e472c1b3882c7fc51464925dd1323.png

地址:https://github.com/satoshi0212/visionOS_30Days

其它

28、dbgate:(no)SQL 数据库桌面管理工具。该项目支持包括 MySQL、PostgreSQL、SQL Server、MongoDB、SQLite、Redis 等多种数据库,适用于 Windows、Linux、macOS 系统。

7e4fdaac457b8f747defb0633e9fd62e.png

地址:https://github.com/dbgate/dbgate

29、Detect-It-Easy:用于查看文件类型的工具。该项目可以快速检测二进制文件的文件类型、体系结构和编译器信息,支持识别多种文件格式,有助于进行逆向工程和安全分析,适用于 Windows、Linux、macOS 系统。

150df6e23f38f4505256a65966be30a4.png

地址:https://github.com/horsicq/Detect-It-Easy

30、github-chinese:GitHub 网站汉化插件。该项目可以将 GitHub 网站的菜单栏、标题、按钮等公共组件,自动翻译成中文,适合刚接触 GitHub 的小白使用。来自 @wuyuncheng-26 的分享

7c85372f7efba7f9f0b7034627547de3.png

地址:https://github.com/maboloshi/github-chinese

31、HumanSystemOptimization:人体系统调优不完全指南。这是一份帮助改善人体健康状态的指南,篇幅较长。尽量做到保持睡眠时长与质量、不要吸烟、每天做点运动、减少糖分的摄入,就能拥有不错的健康状态。

地址:https://github.com/zijie0/HumanSystemOptimization

32、wondershaper:Linux 限制网络带宽的工具。该项目通过使用 iproute 的 tc 命令,实现了对 Linux 网络带宽限速的功能,支持多网卡、限制最大上传/下载速率。

地址:https://github.com/magnific0/wondershaper

开源书籍

33、Node.js-Troubleshooting-Guide:Node.js 应用故障排查手册。该手册主要是帮助 Node.js 开发者,应对开发和线上部署中遇到的问题,比如定位故障、压测和性能调优等。

地址:https://github.com/aliyun-node/Node.js-Troubleshooting-Guide

34、pml-book:《概率机器学习》。该项目包含凯文·墨菲的三本书籍,分别为《机器学习:概率视角》、《概率机器学习:简介》、《概率机器学习:高级》,内容涵盖了基础理论和前沿研究,图文并茂并配有示例和练习。来自 @Xuefeng Xu 的分享

地址:https://github.com/probml/pml-book

机器学习

35、backgroundremover:一条命令自动移除图像背景。该项目通过 AI 技术,可自动移除图片和视频中的背景。

978cd6ae2f33cfa93836c6a042a1c827.png

地址:https://github.com/nadermx/backgroundremover

36、machine-learning-roadmap:机器学习路线图。这份机器学习思维导图,包含了机器学习相关的问题、学习步骤、工具、底层数学知识、教程资源等,为如何学习机器学习指出方向。

729dbd554321a69e43487ea7e4698e25.png

地址:https://github.com/mrdbourke/machine-learning-roadmap

37、PokemonRedExperiments:通过强化学习训练 AI 玩 Pokemon。该项目使用 Python + RL 从零训练了一个玩「宝可梦红」的 AI,同时作者还提供了配套的讲解视频,以及如何在本地运行和自定义训练的教程,快来上手试试吧!来自 @老荀 的分享

cfbeb9318e2cf8173b907cf8d37f9c20.png

地址:https://github.com/PWhiddy/PokemonRedExperiments

38、supervision:计算机视觉 AI 工具库。该项目简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型,就能轻松实现对图像和视频进行检测、统计某区域的被检测数量等操作。

import cv2
import supervision as sv
from ultralytics import YOLOimage = cv2.imread(...)
model = YOLO('yolov8s.pt')
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)print(len(detections))
# 5
8bd884366268fa91b9fb1cee11e58872.gif

地址:https://github.com/roboflow/supervision

最后

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

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

- END -

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium在vue框架下求生存

vue框架下面,没有id、没有name,vue帮开发做了很多脏活累活,却委屈了写页面自动化测试的人(当然,也给爬信息的也带来了一定的难处)。这里只能靠总结,用一些歪门邪道: 一、跟开发商量…

字符串转换tuple对象

给定“前导空格分隔的元组字符串”,还原成合法的python元组tuple对象。 (笔记模板由python脚本于2023年12月29日 19:29:03创建,本篇笔记适合熟悉Python元组tuple的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org…

mfc100u.dll文件丢失了要怎么解决?修复mfc100u.dll详细指南

mfc100u.dll文件丢失了要怎么解决?首先让我们扒一扒什么是 mfc100u.dll。这玩意儿是 Microsoft Visual Studio 2010 的一部分,它就像一款程序生活中不可或缺的零件,没了它,程序肯定跑不起来。想想看,没有一个重要的零件&#xff…

【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks 前言 Azure Databricks有access token,是具有ADB内部最高权限的token。在云环境中这些高级别权限的sec…

【Python基础011】Python中字符串的具体用法

1、创建 字符串的创建共有3种方式 1)单/双引号创建短字符串 s hello worlds “hello world” 2)三个单/双引号创建短字符串 三个单/双引号一般用于多行文本的注释,如果将这样的字符串用print打印,或者赋给一个变量,…

leetcode贪心算法题总结(二)

本节目录 1.最长回文串2.增减字符串匹配3.分发饼干4.最优除法5.跳跃游戏II6.跳跃游戏7.加油站8.单调递增的数字9.坏了的计算器 1.最长回文串 最长回文串 class Solution { public:int longestPalindrome(string s) {//计数一:用数组模拟哈希表int hash[127] {0}…

自定义拖拽表单的优势表现在哪里?

利用自定义拖拽表单,可以让办公更轻松,效率更高,是理想的提质增效办公工具。哪里有自定义拖拽表单?它又有什么样的优势特点?流辰信息是专业研发低代码技术平台的服务商,经验足、研发实力强、服务好&#xf…

2024年第三届服务机器人国际会议(ICoSR 2024) | Ei、Scopus双检索

会议简介 Brief Introduction 2024年第三届服务机器人国际会议(ICoSR 2024) 会议时间:2024年7月26日-28日 召开地点:中国杭州 大会官网:www.iwosr.org 进入新时代,科技更新迭代快速发展,机器人不仅变得更加节能&#x…

Python3 XML解析

Python3 XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 XML 被设计用来传输和存储数据。 XML是一套定义语义…

HarmonyOS page生命周期函数讲解

下面 我们又要看一个比较重要的点了 页面生命周期 页面组件有三个生命周期 onPageShow 页面显示时触发 onPageHide 页面隐藏时触发 onBackPress 页面返回时触发 这里 我们准备两个组件 首先是 index.ets 参考代码如下 import router from ohos.router Entry Component struc…

gFTP - 多线程 FTP 客户端工具

gFTP - 多线程 FTP 客户端工具 1. Download gFTP2. GUIReferences https://github.com/masneyb/gftp gFTP is a free and open-source multithreaded File Transfer Protocol client program. It is most used on Unix-like systems such as Linux, macOS, and Sony PlayStati…

FPGA设计时序约束十四、Set_External_Delay

一、序言 在时序约束中对clock的约束还存在一种特殊的延时约束set external delay。set external delay如字面含义,设置外部的时延值,但这个外部时延主要是指反馈时延,即信号从FPGA的output端口输出后经过外部电路回到输入端口的时延值。 二…