扫一扫
关注 HG 公众号
发现更多开源乐趣

第 69 期

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

C 项目

1. quadsort

Star 1.6k Watch 37 Fork 75
一种比快速排序快,稳定的归并排序算法。项目包含原理讲解、C 语言实现、性能对比和排序过程
quadsort

2. mpv

Star 17.5k Watch 476 Fork 2.2k
功能强大、免费开源、支持多平台的极简播放器。底层采用了 MPlayer、mplayer2 和 FFmpeg 等开源项目,支持多种音视频格式、高清视频、GPU 解码、自定义等功能,追求极简的命令行启动+快捷键操作方式,让它成为了技术爱好者的首选视频播放器
mpv

3. minilisp

Star 1.1k Watch 28 Fork 146
用 1000 行 C 语言写的 Lisp 解释器。实现了整数、符号、局部变量、条件语句、宏和垃圾回收等功能,为了让读者更好地理解项目,代码中包含了丰富的注释

(println 3)  ; prints "3"
(+ 1 2 3)  ; -> 6
(define a (+ 1 2))
(+ a a)  ; -> 6

C# 项目

4. jynew

Star 4.1k Watch 67 Fork 860 中文
采用 Unity 重制的《金庸群侠传》3D 版
jynew

C++ 项目

5. cutter

Star 10.7k Watch 282 Fork 850
一款免费开源的逆向工程平台。采用 Rizin 作为核心引擎并集成了 Ghidra 反编译器,它界面简洁功能强大,深受逆向工程师们的喜爱

  • 支持多种语言和主题
  • 二进制搜索
  • 十六进制编辑器
  • Python 脚本和插件
  • 支持 Linux、macOS、Windows

cutter

6. bpftrace

Star 4.8k Watch 144 Fork 723
Linux 高级追踪工具和语言。该工具基于 eBPF 和 BBC 实现了通过探针机制采集内核和程序运行的信息,然后用图表等方式将信息展示出来,帮助开发者找到隐藏较深的 Bug、安全问题和性能瓶颈
bpftrace

7. Cataclysm-DDA

Star 6.4k Watch 304 Fork 3.1k
《大灾变:黑暗之日》是一款以世界末日为背景的生存游戏。游戏中没有任何任务,唯一的目标就是活下去。玩家可以通过寻找食物、装备等资源建造避难所,还支持车辆改装、制作物品等特色机制,支持 Windows、Linux、macOS、Android 系统。下载地址
Cataclysm-DDA

CSS 项目

8. heti

Star 3.2k Watch 32 Fork 138 中文
专为中文内容展示设计的排版样式。它会让你的中文网站变得好看

  • 贴合网格的排版
  • 全标签样式美化
  • 预置多种排版样式
  • 简/繁体中文支持
  • 移动端支持

heti

Go 项目

9. k9s

Star 15.0k Watch 141 Fork 929
监控和管理 K8s 集群的命令行工具。它安装简单功能齐全,命令行交互的操作方式可以轻松地解决日常问题
k9s

10. kind

Star 9.1k Watch 122 Fork 1.1k
使用 Docker 容器作为节点,在本地快速运行起 Kubernetes 集群的工具。通过该工具可以快速创建媲美 k8s 原生的本地环境,而且占用资源相对较少启动速度快。多用于本地开发和测试 k8s 原生组件,不能用于线上环境
kind

11. air

Star 5.6k Watch 48 Fork 399
有代码变动就会自动重启服务的 Go 工具。在开发 Go Web 项目时,每次修改后都需要手动编译、重启服务,这个工具会在文件和目录发生变动后,自动编译并重启服务,大大提高了开发效率
air

12. juicefs

Star 4.7k Watch 82 Fork 390
高性能 POSIX 共享文件系统。像使用本地存储一样高效使用海量云端存储,可同时被多台主机同时挂载读写
juicefs

13. sniffer

Star 379 Watch 4 Fork 29
用于查看进程和连接的流量情况的命令行工具。界面简洁美观,支持进程、Socket 等不同视角查看流量数据
sniffer

Java 项目

14. datahub

Star 4.6k Watch 215 Fork 1.2k
基于 Java 开发的元数据治理平台,可接入 Hive、Kafka、ES、MySQL 等数据源。随着公司业务的发展,数据的复杂度会呈指数倍增长,通过文档和口口相传的方式管理数据关系的方式终将被淘汰。如果你体验过到处问数据库的字段含义、没捋清某个字段导致线上事故、分析数据毫无头绪等情况。这个时候就需要元数据治理平台,它提供浏览、搜索和管理每个字段的含义、关系、来源等信息,通过元数据的方式更好的治理和挖掘数据的价值。在线体验
datahub

15. termux-app

Star 10.6k Watch 736 Fork 1.5k
运行在 Android 上的开源终端模拟器。提供了 Linux 环境和 Shell 通过自带的包管理器,能够在手机上安装和运行 ssh、Python、gcc、htop、git、vim 等工具
termux-app

16. questdb

Star 7.8k Watch 103 Fork 413
高性能的开源时序数据库。该项目主要采用 Java 代码实现,它通过面向列的存储引擎、并行执行、SIMD 指令等技术实现了出色的写入和查询性能,多用于物联网、机器学习、金融等场景。还提供了 SQL 查询方式以及交互式的 Web 操作平台,一款值得期待的开源数据库
questdb

17. addax

Star 546 Watch 20 Fork 150 中文
支持多种异构数据源离线同步工具。服务于大数据的 ETL 工具,可快速实现 MySQL、HDFS、Hive、HBase 等数据源之间的数据同步,主要用于离线采集各类数据到数据仓库或者大数据平台
addax

18. AndResGuard

Star 7.8k Watch 272 Fork 1.4k
混淆压缩 APK 的工具。原理是采用资源混淆的方式,不涉及编译过程仅通过变短资源路径实现压缩和混淆,使用方法简单只需传入一个打包好的 APK 文件

JavaScript 项目

19. arco-design

Star 2.6k Watch 27 Fork 218
基于 ArcoDesign 的 React/Vue UI 组件库。包含 60 多个开箱即用的高质量组件,还提供了可视化的样式配置平台,可用于快速构建企业级管理后台

import React from 'react';
import ReactDOM from 'react-dom';
import { Button } from '@arco-design/web-react';
import '@arco-design/web-react/dist/css/arco.css';

function App() {
  return (
    <Button type='secondary'>
      Hello World
    </Button>
  );
}

ReactDOM.render(<App />, document.getElementById('app'));

arco-design

20. context-note

Star 412 Watch 8 Fork 36
带上下文的网页笔记浏览器插件。大多数时候我们使用书签来标记网站链接,但在一些特定的场景中比如阅读文章和浏览信息时,就需要对特定的句子及其上下文进行标记。这个项目提取了信息的内容和位置,有上下文容易回顾,一键跳转方便溯源
context-note

21. S2

Star 301 Watch 43 Fork 33 中文
高性能多维交叉分析表格工具。提供 KPI 趋势表、占比表、对比表等多种表格样式,开箱即用上手简单拥有详细的文档。通过按需渲染和虚拟滚动等方式,实现在百万级数据量秒级渲染、滚动不卡顿。在线体验
S2

22. prisma

Star 19.8k Watch 180 Fork 701
适用于 Node.js 和 TypeScript 的 ORM。支持主流数据库可用于开发 REST API、GraphQL API、gRPC API 等任何需要连接数据库的程序,项目还包括了数据迁移工具和管理数据的 GUI 工具

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

// A `main` function so that you can use async/await
async function main() {
  const allUsers = await prisma.user.findMany({
    include: { posts: true },
  })
  // use `console.dir` to print nested objects
  console.dir(allUsers, { depth: null })
}

main()
  .catch((e) => {
    throw e
  })
  .finally(async () => {
    await prisma.$disconnect()
  })

prisma

Objective-C 项目

23. vienna-rss

Star 1.5k Watch 58 Fork 222
适用于 macOS 的免费 RSS 订阅工具
vienna-rss

PHP 项目

24. laravel-tips

Star 3.8k Watch 262 Fork 787
Laravel 编码技巧集合。中文

25. PHPWord

Star 6.1k Watch 320 Fork 2.4k
提供了读/写多种文档文件格式的 PHP 库。支持 Microsoft Office、富文本(RTF)等文档格式

<?php
require_once 'bootstrap.php';

// 新建文档
$phpWord = new \PhpOffice\PhpWord\PhpWord();

// Adding an empty Section to the document...
$section = $phpWord->addSection();
// Adding Text element to the Section having font styled by default...
$section->addText(
    '"Learn from yesterday, live for today, hope for tomorrow. '
        . 'The important thing is not to stop questioning." '
        . '(Albert Einstein)'
);

Python 项目

26. tiler

Star 4.9k Watch 57 Fork 310
将图片转化成各种较小图块拼接成的图像工具。马赛克风格的图片转化工具,支持自定义拼接图案和符号。工具实用方便、代码简单易懂,适合对图像感兴趣的小伙伴学习和上手
tiler

27. rumps

Star 2.6k Watch 47 Fork 166
简单的 macOS 状态栏 Python 库

import rumps

class AwesomeStatusBarApp(rumps.App):
    @rumps.clicked("Preferences")
    def prefs(self, _):
        rumps.alert("jk! no preferences available!")

    @rumps.clicked("Silly button")
    def onoff(self, sender):
        sender.state = not sender.state

    @rumps.clicked("Say hi")
    def sayhi(self, _):
        rumps.notification("Awesome title", "amazing subtitle", "hi!!1")

if __name__ == "__main__":
    AwesomeStatusBarApp("Awesome App").run()

rumps

28. orjson

Star 2.8k Watch 23 Fork 97 中文
更快更强的 Python JSON 库。支持比如日期、numpy 数组等丰富的数据类型,而且速度更快

>>> import orjson, datetime, numpy
>>> data = {
    "type": "job",
    "created_at": datetime.datetime(1970, 1, 1),
    "status": "🆗",
    "payload": numpy.array([[1, 2], [3, 4]]),
}
>>> orjson.dumps(data, option=orjson.OPT_NAIVE_UTC | orjson.OPT_SERIALIZE_NUMPY)
b'{"type":"job","created_at":"1970-01-01T00:00:00+00:00","status":"\xf0\x9f\x86\x97","payload":[[1,2],[3,4]]}'
>>> orjson.loads(_)
{'type': 'job', 'created_at': '1970-01-01T00:00:00+00:00', 'status': '🆗', 'payload': [[1, 2], [3, 4]]}

其它

29. Simula

Star 2.1k Watch 57 Fork 56
Linux 上的 VR 窗口管理工具。通过该工具+VR 设备可轻松实现“目光所及皆桌面”的效果,它基于 Godot 开发安装简单实用方便,支持 HTC Vive Pro、Valve Index 等 VR 设备
Simula

30. penpot

Star 6.7k Watch 124 Fork 349
开源的设计和原型在线平台。它不仅完全免费还提供 Docker 自建和在线使用,而且支持中文和团队共享。缺点是平台提供的组件太少了,第一次上手需要自己从形状开始搞,不过可以自定义组件做到一劳永逸。如果你在寻找开源、免费的原型设计平台,不妨试试它。在线尝试
penpot

31. design-resources-for-developers

Star 35.0k Watch 829 Fork 8.0k
设计资源集合。项目包含了图片、网站模版、CSS 框架、UI 等资源
design-resources-for-developers

32. koreader

Star 9.7k Watch 298 Fork 965
电子墨水(E-Ink)设备的开源阅读软件。适用于 Kindle、Kobo、PocketBook、Android 和 Linux 等设备,拥有设置字体、行距、文本样式等功能,最厉害的是适应水墨屏设备的 PDF 文件排版优化功能,极大的提高了 PDF 文件在 Kindle 等设备的阅读体验
koreader

33. tabby

Star 28.8k Watch 358 Fork 1.7k
高颜值的终端工具。功能强大高度可配置,适用于 Windows、macOS、Linux 操作系统

  • 支持自定义主题和配色
  • 可配置快捷键和组合键
  • 集成了 SSH、Telnet 等连接
  • 分割窗口
  • 等等

tabby

34. doomcaptcha

Star 672 Watch 6 Fork 54
毁灭战士射击游戏形式的验证码。在线尝试
doomcaptcha

35. wsa_pacman

Star 1.0k Watch 21 Fork 151
轻松地在 Windows11 安装 Android 应用的桌面工具。使用该工具可以实现双击安装 Android 应用,基于系统自带的 WSA 实现,不需要安装第三方模拟器
wsa_pacman

36. appflowy

Star 15.3k Watch 175 Fork 720
开源笔记工具。基于 Flutter 开发适用于各种操作系统,目标是成为 Notion 的代替品
appflowy

开源书籍

37. school-of-sre

Star 5.3k Watch 134 Fork 488
领英开源的成为 SRE(网站可靠性工程师)的入门级教程。内容涵盖 Web、Linux、Git、计算机网络、数据库、安全等方面
school-of-sre

38. everything-curl

Star 1.2k Watch 62 Fork 245
《关于 curl 的所有东西》。由 curl 项目发起者撰写的书,内容包括 curl 入门、开源、源码、项目等方面。在线阅读
everything-curl

机器学习

39. ML-For-Beginners

Star 28.7k Watch 585 Fork 5.9k
微软开源的入门级机器学习教程
ML-For-Beginners

40. spleeter

Star 18.6k Watch 376 Fork 2.0k
基于 Tensorflow 实现的音轨分离工具。可以用于提取音乐中的人声、鼓、钢琴等乐器

# 用 conda 安装依赖
conda install -c conda-forge ffmpeg libsndfile
# 用 pip 安装 spleeter
pip install spleeter
# 提取人声
spleeter separate -p spleeter:2stems -o output 音频.mp3