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

第 72 期

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

C 项目

1. reptyr

Star 4.3k Watch 93 Fork 191
能够把旧终端运行中的程序,迁移到新终端窗口的实用工具
reptyr

2. hashcat

Star 14.4k Watch 467 Fork 2.2k
一款强大的密码恢复工具。破解速度超快支持多种算法,适用于 Linux、macOS 和 Windows 操作系统

安装:brew install hashcat
常用参数:
-a  指定破解模式:“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击
-m  指定要破解的 hash 类型:默认为 MD5
--force 忽略破解过程中的警告

常用破解模式:
0:Straight(字典破解)
1:Combination(组合破解)
3:Brute-force(掩码暴力破解)
6:Hybrid Wordlist + Mask(字典+掩码破解)
7:Hybrid Mask + Wordlist(掩码+字典破解)

常用掩码设置:
l:纯小写字母 abcdefghijklmnopqrstuvwxyz
u:纯大写字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
d:纯数字 0123456789

举例:破解 8 位数字密码
hashcat -a 3 -m 0 --force 0D7002A70CCDE8BF4BA2A4A5572A85E9(密码md5字符串) ?l?l?l?l?l?l?l?l?l?l?l(11 位密码的掩码)

hashcat

C# 项目

3. PluginCore

Star 125 Watch 1 Fork 26 中文
适用于 ASP.NET Core 的轻量级插件框架。开箱即用自带插件管理 Web 界面

public void ConfigureServices(IServiceCollection services)
{
    // ...
    // 1. Add PluginCore
    services.AddPluginCore();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...
    // 2. Use PluginCore
    app.UsePluginCore();
}

PluginCore

4. Monitorian

Star 1.5k Watch 20 Fork 93
轻松调节多个显示器亮度的 Windows 桌面工具。操作界面支持中文,使用时显示器需要开启 DDC/CI
Monitorian

C++ 项目

5. cocoyaxi

Star 2.6k Watch 115 Fork 379 中文
在 C++ 上实现类似 Go goroutine 的库。它实现了协程同步事件、协程锁、协程池、channel、waitgroup,内存占用少实测 1000 万协程占用 2.8G 内存

#include "co/co.h"

DEF_main(argc, argv) {
    co::Chan<int> ch;
    go([ch]() { /* capture by value, rather than reference */
        ch << 7;
    });

    int v = 0;
    ch >> v;
    LOG << "v: " << v;

    return 0;
}

CSS 项目

6. log

Star 2.9k Watch 65 Fork 153
浏览器 console.log 风格的 CSS 库。查看效果
log

Go 项目

7. gse

Star 1.9k Watch 60 Fork 166 中文
Go 的高性能多语言分词库。它是结巴分词的 Go 语言实现,支持中文和接入 ES 等功能

text  = "《复仇者联盟3:无限战争》是全片使用IMAX摄影机拍摄制作的的科幻片."
// use DAG and HMM
hmm := seg.Cut(text, true)
fmt.Println("cut use hmm: ", hmm)
// cut use hmm:  [《复仇者联盟3:无限战争》 是 全片 使用 imax 摄影机 拍摄 制作 的 的 科幻片 .]

8. illustrated-tls

Star 3.1k Watch 68 Fork 193
图解 TLS 连接。用在线交互的方式讲解 TLS 的全过程,从建立 TLS 1.2 客户端发送 ping 再到接收 pong,详细到每一个字节。在线尝试
illustrated-tls

9. gota

Star 2.2k Watch 82 Fork 215
Go 语言的数据处理库。该库提供了类似 Python 语言 Pandas 库的功能,以及 Series 和 DataFrames 的数据结构,支持用列的方式高效地处理数据

type User struct {
    Name     string
    Age      int
    Accuracy float64
}
users := []User{
    {"Aram", 17, 0.2},
    {"Juan", 18, 0.8},
    {"Ana", 22, 0.5},
}
df := dataframe.LoadStructs(users)
fmt.Println(df)

// Output:
// [3x3] DataFrame
//
//     Name     Age   Accuracy
//  0: Aram     17    0.200000
//  1: Juan     18    0.800000
//  2: Ana      22    0.500000
//     <string> <int> <float>

10. hh-lol-prophet

Star 612 Watch 3 Fork 79 中文
英雄联盟对局先知工具。免费合法不封号,原理是基于 LOL 客户端接口获取用户数据,实现开局前对玩家信息分析和打分
hh-lol-prophet

Java 项目

11. supertokens-core

Star 5.9k Watch 47 Fork 203
开源的身份验证方案。为你的应用轻松增加登录、会话管理等功能,支持自行搭建服务。可用作 Auth0 的开源替代品
supertokens-core

12. LSPosed

Star 5.1k Watch 115 Fork 730 中文
运行于 Android 操作系统的钩子框架。支持 Android 8 以上,能够拦截几乎所有 Java 函数的调用,从而可被用来修改 Android 系统和软件的功能
LSPosed

JavaScript 项目

13. tinykeys

Star 2.9k Watch 18 Fork 55
极小的键盘事件监听库

import tinykeys from "tinykeys"

tinykeys(window, {
  "Shift+D": () => {
    alert("The 'Shift' and 'd' keys were pressed at the same time")
  },
  "y e e t": () => {
    alert("The keys 'y', 'e', 'e', and 't' were pressed in order")
  },
  "$mod+KeyD": () => {
    alert("Either 'Control+d' or 'Meta+d' were pressed")
  },
})

14. reveal.js

Star 59.7k Watch 1.7k Fork 16.2k
一款 HTML 演示框架。让你摆脱传统死板的 PPT 制作方法,可以方便地使用 HTML、Markdown 语言制作 PPT
reveal.js

15. chameleon

Star 8.9k Watch 239 Fork 679 中文
一端所见即多端所见。适应不同环境的跨端整体解决方案,支持 Web、小程序、快应用 等平台
chameleon

16. lax.js

Star 9.0k Watch 100 Fork 461
用于滚动时创建平滑和好看动画的库。简单轻量仅 4KB 大小,但功能齐全且灵活

<!-- JS -->
<script>
  window.onload = function () {
    lax.init()

    // Add a driver that we use to control our animations
    lax.addDriver('scrollY', function () {
      return window.scrollY
    })

    // Add animation bindings to elements
    lax.addElements('.selector', {
      scrollY: {
        translateX: [
          ["elInY", "elCenterY", "elOutY"],
          [0, 'screenWidth/2', 'screenWidth'],
        ]
      }
    })
  }
</script>

<!-- HTML -->
<div class="selector">Hello</div>

lax.js

17. charts

Star 14.3k Watch 225 Fork 689
简单、零依赖、响应式的 SVG 图表库

const data = {
    labels: ["12am-3am", "3am-6pm", "6am-9am", "9am-12am",
        "12pm-3pm", "3pm-6pm", "6pm-9pm", "9am-12am"
    ],
    datasets: [
        {
            name: "Some Data", chartType: "bar",
            values: [25, 40, 30, 35, 8, 52, 17, -4]
        },
        ...
]}

const chart = new frappe.Chart("#chart", 
{   // or a DOM element,
    // new Chart() in case of ES6 module with above usage
    title: "My Awesome Chart",
    data: data,
    type: 'axis-mixed', // or 'bar', 'line', 'scatter', 'pie', 'percentage'
    height: 250,
    colors: ['#7cd6fd', '#743ee2']
})

charts

Kotlin 项目

18. compose-tetris

Star 482 Watch 4 Fork 75
基于 Jetpack Compose 的俄罗斯方块游戏
compose-tetris

Objective-C 项目

19. HBDNavigationBar

Star 1.5k Watch 32 Fork 196 中文
自定义 UINavigationBar 的组件,用于各种状态之间平滑切换

Python 项目

20. textdistance

Star 2.8k Watch 59 Fork 231
计算文本距离的常用算法库。包含计算文本相似度、多样性、编辑距离、压缩等多种算法,所有算法均采用 Python 实现,容易理解调用方便

import textdistance
textdistance.hamming.normalized_similarity('test', 'text')
# 相似度为 0.75

textdistance

21. rembg

Star 3.6k Watch 63 Fork 562
简单实用的删除图像背景/抠图工具

from rembg import remove
from PIL import Image

input_path = 'input.png'
output_path = 'output.png'

input = Image.open(input_path)
output = remove(input)
output.save(output_path)

rembg

22. tiptop

Star 1.1k Watch 8 Fork 46
炫酷的命令行系统监控工具

安装:pip install tiptop
运行:tiptop

tiptop

23. pokete

Star 1.0k Watch 9 Fork 38
运行在终端里的口袋妖怪类游戏。虽然游戏图像采用简单的 ASCII 码构建,但商店、小精灵、对战等功能一应俱全

运行方法:
# pip install scrap_engine
$ git clone https://github.com/lxgr-linux/pokete.git
$ ./pokete/pokete.py

pokete

24. saleor

Star 16.0k Watch 384 Fork 4.5k
用 Python 开发的电商平台。采用 Django+GraphQL API+React 构建,功能丰富支持移动端、订单、商品、用户管理等。在线体验
saleor

Swift 项目

25. OnlySwitch

Star 1.3k Watch 11 Fork 103
免费开源的 macOS 状态栏一键设置工具。可以轻松对系统功能进行设置,如隐藏桌面图标、清理 Xcode 缓存、一键隐藏刘海儿、进入夜览模式等数十种功能
OnlySwitch

其它

26. blog_os

Star 9.8k Watch 268 Fork 737
用 Rust 从零开发一个操作系统的教程。保姆级教程!从空文件夹开始,一步步搭建开发环境,通过原理描述、代码示例讲解操作系统背后的原理。硬要说缺点的话就是教程是英文的,但是配上代码示例读起来不是很费劲。中文

27. ElectronBot

Star 4.7k Watch 158 Fork 1.2k 中文
自制桌面级小机器人。它具备 USB 通信显示画面功能以及 6 个自由度,支持手势识别和人体关键点检测。这里有配套的全部开发资料和 SDK,让你也可以制作出一个这样有趣的机器人
ElectronBot

28. electerm

Star 6.4k Watch 82 Fork 640
一款支持 SSH/SFTP 的终端工具。支持中文和 Windows、Linux、macOS 操作系统
electerm

29. Learn-Vim

Star 7.9k Watch 173 Fork 744
学习 Vim 的指南。该教程不是“大而全的百科全书”,它着重介绍了 Vim 中最常用的功能,让你可以快速熟悉和使用 Vim。中文

30. design-patterns-for-humans

Star 34.0k Watch 1.2k Fork 4.2k
人人都能看懂的设计模式教程。中文
design-patterns-for-humans

31. english-words

Star 7.1k Watch 189 Fork 1.4k
大型英语单词文本。它是基于 WordNet 英语词汇数据库整理的文本文件,可用于英语自动提示、自动搜索等功能

开源书籍

32. microfrontends

Star 2.8k Watch 78 Fork 324 中文
《微前端的那些事儿》 将 Web 应用由单一的单体应用,转变为多个小型前端应用聚合为一的应用

33. Deep-Learning-with-TensorFlow-book

Star 12.6k Watch 488 Fork 4.0k 中文
《TensorFlow 深度学习》
Deep-Learning-with-TensorFlow-book

机器学习

34. jina

Star 14.6k Watch 179 Fork 1.9k
一款易用的神经搜索框架。神经搜索是指用非结构化数据,搜索非结构化数据。Jina 简化了神经搜索系统的搭建流程,使开发者可以快速构建以图搜图、以文字搜图、问答机器人、照片去重、海量标签分类等应用

from docarray import Document, DocumentArray
from jina import Executor, Flow, requests
class PreprocImg(Executor):
    @requests
    async def foo(self, docs: DocumentArray, **kwargs):
        for d in docs:
            (
                d.load_uri_to_image_tensor(200, 200)  # load
                .set_image_tensor_normalization()  # normalize color
                .set_image_tensor_channel_axis(
                    -1, 0
                )  # switch color axis for the PyTorch model later
            )

jina

35. awesome-automl-papers

Star 3.4k Watch 221 Fork 656
汇集了自动机器学习(AutoML)相关的论文、文章、教程等资源的项目
awesome-automl-papers

36. deep-learning-for-image-processing

Star 8.9k Watch 108 Fork 4.3k 中文
深度学习在图像处理方面的教程。该项目配以视频的方式介绍知识点和搭建方法,对应的 PTT 在 course_ppt 目录下