首页 > 其他分享 >《HelloGitHub》第 101 期

《HelloGitHub》第 101 期

时间:2024-09-02 13:53:18浏览次数:11  
标签:功能 分享 项目 支持 开源 HelloGitHub 工具 101

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

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

《HelloGitHub》第 101 期_DNS

简介

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

github.com/521xueweihan/HelloGitHub

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


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

C 项目

1、austin:深入 Python 程序性能分析的工具。这是一款专为 Python 程序设计的性能分析工具,无需修改代码即可轻松定位 Python 程序的性能瓶颈和内存使用情况。它是采用 C 语言编写的 CPython 帧堆栈采样器,具有体积小、运行速度快、零代码侵入等特点,支持 WebUI、TUI、VSCode 等多种可视化方式(需额外安装)。

《HelloGitHub》第 101 期_Go_02

2、chsrc:全平台通用的换源工具。该项目能够为常见的 Linux 发行版、编程语言和软件切换至国内镜像源,操作简单仅需一条命令。它采用 C 语言编写,具有高效和轻量级的特点,支持测速、多平台以及项目级换源等功能,适用于优化下载速度或解决源受限的场景。来自 @ccmywish 的分享

《HelloGitHub》第 101 期_Go_03

3、collectd:灵活的系统信息收集守护进程。这是一个功能强大的收集系统信息的守护进程,能够定期收集和统计系统信息。它支持丰富的数据收集插件,可以监控硬件使用情况、系统性能指标、网络流量等多种数据类型,包括 Apache、MySQL、电池、传感器等。并支持将收集的数据输出到 RRDtool、InfluxDB 等多种数据库和监控系统,适用于嵌入式、物联网和服务器集群监控等场景。

《HelloGitHub》第 101 期_Python_04

C# 项目

4、LenovoLegionToolkit:轻量级的联想拯救者工具箱。该项目是专为联想拯救者系列笔记本设计的开源工具,它具有小巧轻便、占用内存少、不收集用户信息等优点,支持调节电源模式、显卡工作模式、风扇速度和键盘灯效等功能,提供了中文界面,可作为联想 Vantage 软件的开源替代品。

《HelloGitHub》第 101 期_DNS_05

5、PDFQFZ:免费的 PDF 加盖骑缝章工具。该项目是用于在 PDF 文件上加盖骑缝章的工具,适用于 Windows 平台。它不仅免费且开源,使用时可以指定目录,对多个 PDF 文件进行批量处理,并支持预览、调整印章大小和位置等功能。

《HelloGitHub》第 101 期_Python_06

C++ 项目

6、lnav:强大的终端日志文件查看工具。这是一款用于查看和分析日志文件的轻量级工具。它无需配置、开箱即用,可自动识别日志格式并解压文件,支持同时处理多个文件和目录、实时更新、文本高亮、正则与 SQL 过滤日志等功能,特别适合在服务器和开发环境中使用。来自 @DeShuiYu 的分享

《HelloGitHub》第 101 期_Python_07

7、shadPS4:开源的 PS4 模拟器。这是用 C++ 编写的 PlayStation 4(PS4)模拟器,支持在 Windows、Linux 和 macOS 系统上玩 PS4 游戏。虽然项目仍处于早期开发阶段,能运行的游戏有限,但最新版已经能够成功运行《血源诅咒》和《黑暗之魂II》等游戏。

《HelloGitHub》第 101 期_Go_08

Go 项目

8、doggo:友好的命令行 DNS 查询工具。该项目是用 Go 语言编写的命令行 DNS 客户端工具,安装简单且开箱即用。它提供了友好的命令行界面,可快速显示 DNS 记录信息,支持高亮显示、响应时间和多种 DNS 记录类型等,适用于网络诊断等场景。

# Simple DNS lookup
doggo example.com

# Query MX records using a specific nameserver
doggo MX github.com @9.9.9.9

# Use DNS over HTTPS
doggo example.com @https://cloudflare-dns.com/dns-query

# JSON output for scripting
doggo example.com --json | jq '.responses[0].answers[].address'

# Reverse DNS lookup
doggo --reverse 8.8.8.8 --short

《HelloGitHub》第 101 期_Python_09

9、glasskube:更容易上手的 K8s 包管理器。这是一款提供直观图形界面和灵活命令行工具的 Kubernetes 软件包管理工具。它操作简单更容易上手,支持自动处理依赖、GitOps 和自动更新等功能,简化了繁琐的手动配置过程。

《HelloGitHub》第 101 期_DNS_10

10、lancet:全面的 Go 语言工具函数库。这是一个高效且全面的 Go 语言工具函数库,包含 600 多个函数,涵盖字符串处理、切片操作、网络编程、并发、加解密、文件处理、时间/日期、流处理、迭代器等功能。来自 @两双筷子sqldc 的分享

package main

import (
    "fmt"
    "github.com/duke-git/lancet/v2/strutil"
)

func main() {
    s := "hello"
    rs := strutil.Reverse(s)
    fmt.Println(rs) //olleh
}

11、neko:多功能的虚拟浏览器工具。该项目是运行在 Docker 容器中的自托管虚拟浏览器环境,为用户提供安全、隔离和功能齐全的虚拟浏览器。此外,它还支持在线共享浏览器和实时互动演示,具备多人访问、管理员用户、文本聊天和双向文件传输等功能。来自 @猎隼丶止戈reNo7 的分享

《HelloGitHub》第 101 期_DNS_11

12、sftpgo:集成云存储的 SFTP 服务器。该项目是用 Go 编写的功能齐全、灵活可配置的 SFTP 服务器,支持 SFTP、SCP、FTP/S、WebDAV、HTTP/S 等多种文件传输协议,并兼容本地文件系统、S3、谷歌云存储等多种存储后端。此外,它还提供了 Web 界面,便于轻松创建和管理用户、文件夹、群组等资源。来自 @猎隼丶止戈reNo7 的分享

《HelloGitHub》第 101 期_Python_12

Java 项目

13、JPlag:开源的代码抄袭检测工具。这是一个用于检测源代码相似度的工具,支持 Java、C/C++、Python、JavaScript 等多种编程语言,适用于识别编程作业中的抄袭行为等场景。

《HelloGitHub》第 101 期_DNS_13

14、MooTool:跨平台的开发者工具箱。这是一款用 Java 开发的开发者常用工具的桌面应用,支持 Windows、macOS 和 Linux 系统。它为开发者提供了多种实用工具,如文本转换、时间处理、JSON 格式化和正则匹配测试等。来自 @周波 的分享

《HelloGitHub》第 101 期_Python_14

JavaScript 项目

15、paint-board:简洁易用的 Web 端创意画板。这是一款支持移动端的 Web 画板应用,它集成了多种创意画笔和绘画功能,支持形状绘制、橡皮擦、自定义画板等操作,并可以将作品保存为图片。来自 @Leo Song 的分享

《HelloGitHub》第 101 期_Python_15

16、PptxGenJS:创建演示文稿(PPT)的 JavaScript 库。这是一个用于生成 PPT 文件的 JavaScript 库,它上手无门槛、功能强大,支持添加图表、表格、SVG、GIF 等内容,并且生成的文件兼容 PowerPoint 和 Keynote 等应用。来自 @Fenix 的分享

import pptxgen from "pptxgenjs";

// 1. Create a new Presentation
let pres = new pptxgen();

// 2. Add a Slide
let slide = pres.addSlide();

// 3. Add one or more objects (Tables, Shapes, Images, Text and Media) to the Slide
let textboxText = "Hello World from PptxGenJS!";
let textboxOpts = { x: 1, y: 1, color: "363636" };
slide.addText(textboxText, textboxOpts);

// 4. Save the Presentation
pres.writeFile();

《HelloGitHub》第 101 期_Go_16

17、Reactive-Resume:免费开源的简历设计平台。这是一个免费、开源、无广告的在线简历制作平台,内置 12 款专业的简历模板,支持多语言、PDF 导出和 OpenAI 集成等功能。

《HelloGitHub》第 101 期_Python_17

18、vue-XiuXianGame:开源的文字修仙游戏。这是一个基于 Vue.js 开发的修仙模拟器,互动式的文字游戏,适合喜欢放置类和修仙题材游戏的玩家。

《HelloGitHub》第 101 期_DNS_18

19、xyflow:强大灵活的流程图引擎。该项目是用于构建基于节点的编辑器和交互式图表,支持 React 和 Svelte 框架。它开箱即用且高度可定制,适用于开发工作流和流程图等场景。来自 @塔咖 的分享

const initialNodes = [
{ id: '1', position: { x: 0, y: 0 }, data: { label: '1' } },
{ id: '2', position: { x: 0, y: 100 }, data: { label: '2' } },
];

const initialEdges = [{ id: 'e1-2', source: '1', target: '2' }];

function Flow() {
const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);

const onConnect = useCallback((params) => setEdges((eds) => addEdge(params, eds)), [setEdges]);

return (
  <ReactFlow
    nodes={nodes}
    edges={edges}
    onNodesChange={onNodesChange}
    onEdgesChange={onEdgesChange}
    onConnect={onConnect}
  >
    <MiniMap />
    <Controls />
    <Background />
  </ReactFlow>
);
}

《HelloGitHub》第 101 期_Python_19

Kotlin 项目

20、Android-DataBackup:Android 的数据备份应用。该项目为 Android 7.0 及以上系统,提供了应用数据的备份和恢复功能,解决了换机后应用需要重新登录或下载额外数据包等问题。

《HelloGitHub》第 101 期_Go_20

21、BinaryEye:Android 的条形码扫描应用。这是一款简单易用、无广告的 Android 条形码和二维码扫描器,支持快速识别多种类型的条形码和二维码,并提供二维码/条形码生成功能。

《HelloGitHub》第 101 期_Python_21

PHP 项目

22、cachet:PHP 写的服务运行状态页面。该项目是采用 Laravel+Bootstrap 构建的服务状态监控和管理平台,免费且开源。它不仅可以自动监控服务的正常运行时间,还提供了管理后台支持主动记录和维护事故信息,支持多语言、自托管、移动端适配和邮件通知等功能。

《HelloGitHub》第 101 期_Python_22

23、minimalist-web-notepad:极简的在线记事本应用。该项目是采用 PHP 编写的 Web 记事本工具,核心功能仅通过一个文件实现。它提供了在线编辑、自动保存和分享笔记的功能,用户无需注册和登录即可使用,适合临时记录、快速保存和分享文字的场景。

《HelloGitHub》第 101 期_Python_23

Python 项目

24、Box:高级字典操作的 Python 库。这是一个提升 Python 字典易用性的库,兼容原生字典。它支持点表示法(dict.user.name)轻松访问和设置值,并能自动创建缺失的键,避免出现 KeyError 异常。来自 @Bit0rls1Mc 的分享

from box import Box

hg_box = Box({ "HelloGitHub": { "star": "89k", "fork": "9.5k" } })
hg_box.HelloGitHub.star
# 89k
hg_box.to_json(filename="hg.json")
new_box = Box.from_json(filename="hg.json")
new_box.keys()
# dict_keys(['HelloGitHub'])

25、Game-Cheats-Manager:游戏修改器管理工具。这是一款强大的游戏修改器管理工具,支持搜索、下载、启动、导入和更新游戏修改器等功能。

《HelloGitHub》第 101 期_DNS_24

26、linkding:极简的浏览器书签管理平台。该项目是基于 Django 构建的浏览器书签管理平台,它提供了简洁易用的 Web 界面和强大的搜索功能,支持标签分类、批量编辑和稍后阅读等功能,并配有 Chrome 和 Firefox 插件,方便用户随时随地保存和访问书签。

《HelloGitHub》第 101 期_DNS_25

27、mkdocs-material:快速生成 Material 风格的文档网站。该项目是基于 MkDocs 构建的美观且功能丰富的文档网站生成器,支持 Markdown、搜索、移动端适配、多语言等功能,适用于快速创建技术文档、产品手册和教程等类型的网站。来自 @猎隼丶止戈reNo7 的分享

《HelloGitHub》第 101 期_Go_26

28、SeleniumBase:功能全面的浏览器自动化框架。该项目是基于 Selenium 的 Python 自动化测试框架,集成了爬虫、自动化测试和生成报告等多种功能。它提供了丰富的示例,并且独特的 UC 模式,可以帮助开发者在进行浏览器自动化操作时避免被检测出来。

from seleniumbase import BaseCase
BaseCase.main(__name__, __file__)

class TestSimpleLogin(BaseCase):
    def test_simple_login(self):
        self.open("seleniumbase.io/simple/login")
        self.type("#username", "demo_user")
        self.type("#password", "secret_pass")
        self.click('a:contains("Sign in")')
        self.assert_exact_text("Welcome!", "h1")
        self.assert_element("img#image1")
        self.highlight("#image1")
        self.click_link("Sign out")
        self.assert_text("signed out", "#top_message")

《HelloGitHub》第 101 期_Python_27

Rust 项目

29、abstreet:开源的城市交通模拟器。这是一个用 Rust 编写的城市交通模拟工具,支持模拟多种交通方式,包括私家车、公共交通、步行和自行车。用户可以在软件中模拟不同的交通策略和基础设施调整。

《HelloGitHub》第 101 期_Go_28

30、delta:提升 Git 差异可读性的命令行工具。这是一个用 Rust 写的命令行工具,能够以更清晰、美观的方式展示 Git 的 diff、blame 和 grep 命令。它支持显示行号、语法高亮和更智能的行内差异显示等功能,可无缝集成到 Git 工作流中。

《HelloGitHub》第 101 期_Python_29

31、dust:快速显示硬盘使用情况的命令行工具。这是一个可视化磁盘使用情况的命令行工具,名字源自 du 和 Rust 编程语言组合。它体积小巧、运行速度快,能够以直观的方式展示磁盘空间概览。来自 @DeShuiYu 的分享

《HelloGitHub》第 101 期_Python_30

32、mail-server:安全且易于部署的邮件服务。该项目是用 Rust 编写的邮件服务器,支持 SMTP、IMAP 和 POP3 等常见邮件协议,内置强大的垃圾邮件和钓鱼网站过滤器。来自 @Mauro D. 的分享

Swift 项目

33、Pearcleaner:免费的 Mac 应用清理工具。这是一款免费开源的 Mac 应用清理工具,能够彻底卸载应用并清理残留文件。它采用 SwiftUI 开发,提供了简单易用的界面,支持右键卸载、迷你模式和 Homebrew 清理等功能。

《HelloGitHub》第 101 期_Go_31

其它

34、deskreen:能将任何设备变为电脑第二屏幕的工具。该项目利用 WebRTC 技术将电脑屏幕,通过 WiFi 镜像到具有 Web 浏览器的设备屏幕上,实现屏幕共享功能,使其成为电脑的辅助显示器。

《HelloGitHub》第 101 期_DNS_32

35、Kazumi:跨平台的追番神器。这是一款采用 Flutter 开发的番剧采集应用,用户可以通过自定义 Xpath 规则,实现采集、追踪、搜索和在线观看动漫,支持字幕、弹幕、时间表、硬件加速和无线投屏等功能,适用于 Android、Windows 和 macOS 等平台。来自 @Micro·J 的分享

《HelloGitHub》第 101 期_Go_33

36、open-and-shut:笔记本盖的新玩法。这是一个通过反复合上和打开笔记本电脑的盖子,输入摩斯电码的工具。

《HelloGitHub》第 101 期_DNS_34

37、rime-ice:开箱即用的 RIME 输入法配置。这是一份 RIME 输入法的配置文件,需要配合 RIME 客户端使用。它提供了高质量、长期维护的简体中文词库,并优化了英文输入体验。

《HelloGitHub》第 101 期_Python_35

38、vCards:开源的电子名片文件。该项目收集并整理了常用联系人的号码和头像,优化了手机来电和通讯录信息界面的体验,支持订阅(自动更新)和手动导入 vcf 文件两种使用方式。来自 @Mingo 的分享

39、Watchy:开源电子墨水屏智能手表。该项目是采用 ESP32-PICO-D4 和电子墨水屏制作的一款智能手表,支持日历、闹钟、步数、手势检测,以及 WiFi 和蓝牙等功能。

《HelloGitHub》第 101 期_DNS_36

开源书籍

40、grammar-club:《语法俱乐部》。这是旋元佑老师写的一本英语语法书籍,旨在帮助读者建立扎实的语法基础,适合各个水平的英语学习者。

《HelloGitHub》第 101 期_DNS_37

机器学习

41、k8sgpt:Kubernetes 故障诊断 AI 助手。该项目利用 LLM 自动分析 Kubernetes 集群问题,并给出故障诊断和优化建议。它通过读取集群的状态数据和配置,生成靠谱的诊断报告。

《HelloGitHub》第 101 期_Python_38

42、llama_index:大型语言模型的数据框架。该项目是专为 LLM 应用设计的数据框架,帮助开发者将私有数据与 LLM 轻松结合。它提供了数据连接器,支持从 API、PDF、文档、SQL 等多种数据源构建索引,并简化数据导入和查询操作,让初学者也能用几行代码完成 LLMs 上下文增强。

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("Some question about the data should go here")
print(response)

43、RAG_Techniques:检索增强生成(RAG)教程集合。该项目提供了 20 多种先进的 RAG 技术教程,包含实现指南和示例代码,并定期更新。内容涵盖检索查询、上下文增强、融合检索(Fusion Retrieval)、分层索引、上下文压缩、知识图谱整合等多种 RAG 技术。

44、video2x:视频和图像无损放大工具。该项目集成了多种超分辨率算法(如 Waifu2x、Anime4K、Real-ESRGAN),能够有效提高视频和图像的分辨率,并提供了图形界面(GUI)、Docker 和命令行界面(CLI)的使用方式。

《HelloGitHub》第 101 期_Python_39

最后

感谢参与分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!

感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ❤️


作者:削微寒

标签:功能,分享,项目,支持,开源,HelloGitHub,工具,101
From: https://blog.51cto.com/hellogithub/11897694

相关文章

  • PAT乙级 1019.游戏黑洞(测试点2.3.4.5)
    一、题目给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将......
  • 对称二叉树-101
    题目描述给你一个二叉树的根节点root,检查它是否轴对称。解题思路这里我们相当于是比较根节点左右两颗子树,我们依次向左右子树的左右两个方向进行遍历,我们比较左子树的左孩子和右子树的右孩子,左子树的右孩子和右子树的左孩子,这里如果不好理解可以看下面这个图片,如果两个子节......
  • 适用于新一代系统的10139595-110T0LF 10139595-111T0LF(16Gb/s)PCIe Gen 4卡缘连接器
    概述PCIe®Gen4和Gen5连接器性能已超出行业标准PCIe®4.0和5.0(提案)对更高速度性能的要求。此新一代连接器系列支持背板配接,封装尺寸符合PCIe3/2/1标准。此系列垂直和直角卡缘连接器采用1.00毫米间距,可在台式电脑、工作站和服务器上支持基于不同PCIExpress®规范的信号传输。......
  • 洛谷 P11012 颜料
    洛谷P11012颜料题意给出长度为\(n\)的序列\(a\)。定义一段区间\([l,r]\)的绚丽程度\(X_{l,r}\)为\(\sum_{i=1}^{W}\sum_{j=i+1}^W\min(c_i,c_j)\),其中\(W\)是值域,\(c_i\)表示\(a\)序列\([l,r]\)中\(i\)出现的次数,求绚丽程度至少为\(k\)的区间长度最小值。......
  • 洛谷 P11011 点的覆盖
    洛谷P11011点的覆盖题意给定一个四边平行于坐标轴的矩形\(A\),给定\(n\)个在矩形\(A\)内部(可能在边缘上)的点。求有多少个\(A\)的子矩形覆盖了所有\(n\)个点(允许在边缘上)。所有坐标都是整数。思路求出:\(X_1=\max_{i=1}^nx_i\),\(X_2=\min_{i=1}^nx_i\),\(Y_1=\max_......
  • 第101期 低光可见光-红外配对数据集
    引言亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。重要性及意义一个用于低光视觉的可见光-红外配对数据集的重要性及意义主要体现在以......
  • 《HelloGitHub》第 101 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......
  • 基于协同过滤算法商品推荐系统(11011)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发......
  • AP5101C 6-100V 2A LED降压恒流型的线性调光驱动器 台灯手电筒与汽车灯方案
    产品描述AP5101C是一款高压线性LED恒流芯片,外围简单、内置功率管,适用于6-100V输入的高精度降压LED恒流驱动芯片。最大电流2.0A。AP5101C可实现内置MOS做2.0A,外置MOS可做3.0A的。AP5101C内置温度保护功能,温度保护点为130度,温度达到130度时,输出电流慢慢减小,达到保护芯片电路......
  • SSUD71-101 Understanding Buildings 241
    SSUD71-101Understanding Buildings241:Assignment2Topic: Assignment2:Group project requiring application ofconstructionprocesses/methods.Format:Part 1:Siteand HouseSummaryPart2: Detailed RoomConstructionSchedulePart3:Construction......