此页面介绍我做的一些项目和工具,其中绝大部分代码已经开源,更多内容请查看我的 GitHub: @zu1k
GitHub Trending 项目
我的以下 7 个项目曾进入过 GitHub Trending 排行榜
- Nali: archive
- Book Searcher: archive 1、archive 2
- Copy Translator: archive
- Good MITM: archive
- ProxyPool: archive
- Telegram Keyword Bot: archive
- Xray Cracker: archive
Nali
一个查询 IP 地理信息和 CDN 服务提供商的离线终端工具。
这个工具是受 nali 原版 C 版和 nali-cli Javascript 版本启发而开发的,在原有功能的基础上,完全重写了 wry IP 数据库解析模块,增加了更多 IP 数据库的支持,并添加了例如彩色输出等更多实用功能。
目前该工具已经上架 macOS Homebrew 和 Arch Aur 仓库,总下载量超过 20k 次。
此项目曾多次进入 GitHub Trending 排行榜,archive。
- 支持多种数据库
- 纯真 IPv4 离线数据库
- ZX IPv6 离线数据库
- Geoip2 城市数据库 (可选)
- IPIP 数据库 (可选)
- ip2region 数据库 (可选)
- DB-IP 数据库 (可选)
- IP2Location DB3 LITE 数据库 (可选)
- CDN 服务提供商查询
- 支持管道处理
- 支持交互式查询
- 同时支持IPv4和IPv6
- 支持多语言
- 查询完全离线
- 全平台支持
- 支持彩色输出
Book Searcher
简单快速(最快)的图书搜索器,创建和搜索您的私人图书馆。性能极强,可以在一分钟内为超过 1000 万本书的元数据编制索引,并在 30µs 内进行搜索,同时保持极低的内存占用。
这个项目是在 zLibrary 域名被封杀的那段时间开发的,初衷是为 Anna 在 IPFS 中分享的书籍提供便捷快速的搜索功能。此项目原型我在一周之内完成,包括初期基于 tantivy 的索引程序、搜索后端和使用 Vue + Antd 开发的前端。项目开源后迅速得到社区反馈,并吸引了一批优秀的开发者参与进来,他们为该项目提供了各种改进和贡献,包括 CI\CD, 新的基于 React + Chakra UI 开发的前端, 基于 Tauri 实现的桌面版程序等重要贡献。此项目曾在一天以内登顶 Hacker News 热榜第一并吸引了众多讨论,曾登顶 GitHub Trending 全球排行榜第一名,并持续多日位列 GitHub Trending 排行榜首屏。该项目月活曾近百万人,月请求总数超 1500 万,全球部署实例超过 500 个。
此项目曾多次进入 GitHub Trending 排行榜,archive 1、archive 2。
https://github.com/book-searcher-org/book-searcher
Copy Translator
使用Rust编写的,简单、轻量、好用的划词翻译软件,利用 DeepL 进行翻译。
该项目产生的原因是我在阅读论文时,发现现有的翻译器程序臃肿并体验不佳,便萌生了开发自己的划词翻译器的想法。我基于 egui 库开发了这个翻译器,得益于我之前逆向 DeepL 接口的经验,我的翻译器支持免费的 DeepL 翻译。在开发过程中,我发现 egui 库中的多个性能问题,向 egui 社区提起 issue 和 PR 协助他们进行完善。
此项目曾多次进入 GitHub Trending 排行榜,archive。
- 程序大小12MB,极其轻量
- 自动去除多余的换行和断句,优化PDF翻译体验
- 选中即翻译(划词翻译),专注论文阅读
- 使用DeepL进行翻译,翻译效果极佳
https://github.com/zu1k/translator
Good MITM
使用MITM技术提供 rewrite、redirect、reject 等功能
此项目曾多次进入 GitHub Trending 排行榜,archive。
- 基于 TLS ClientHello 的自动证书签署
- 支持选择性 MITM
- 基于 YAML 格式的规则描述语言:重写/阻断/重定向
- 灵活的规则匹配器
- 域名前缀/后缀/全匹配
- 正则匹配
- 多筛选器规则
- 灵活的文本内容改写
- 抹除/替换
- 正则替换
- 灵活的字典类型内容改写
- HTTP Header 改写
- Cookie 改写
- 支持单条规则多个行为
- 灵活的规则匹配器
- 支持 JavaScript 脚本规则 (编程介入)
- 支持透明代理
- 透明代理 HTTPS 和 HTTP 复用单端口
- 支持自动安装 CA 证书到系统信任区
https://github.com/zu1k/good-mitm
Srun
Srun 深澜认证登录,超轻量、多平台,支持多拨、自动探测IP、指定网卡
该项目源于我校网速限速,我不得不考虑进行多拨,从而需要一个轻量、好用、支持多拨的深澜登录认证工具。通过逆向深澜的 Web 端登录认证代码,我使用 Golang 实现了一个版本,后来为了能够在存储拮据的路由器中使用,我使用 Rust 重写了该版本,并通过一系列措施尽可能的减小可执行程序的大小,最终可执行文件仅 209 KB。在此过程中,我修改了 Rust 编译器的编译和链接参数,分析了使用的 Rust 库在可执行文件中占用的大小,使用 getopts 替换了 clap,使用 ureq 替换了 reqwest,并根据实际使用场景关闭了 TLS 支持。为了能够使 ureq 支持网卡绑定,我通过 socket2 库扩展了 ureq 并向上游发起 PR。
https://zu1k.com/posts/tutorials/campus-network-speed-overlay/
ProxyPool
自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess、trojan节点信息,聚合去重后提供节点列表
此项目曾进入 GitHub Trending 排行榜,archive。
https://github.com/zu1k/proxypool
Http Proxy IPv6 Pool
Make every request from a separate IPv6 address.
| |
https://github.com/zu1k/http-proxy-ipv6-pool
https://zu1k.com/posts/tutorials/http-proxy-ipv6-pool/
Unified Clipboard
统一剪切板,局域网内多设备剪切板同步,这边复制,那边粘贴
局域网内通讯功能基于 libp2p 实现,利用 mDNS 协议进行设备发现,GossipSub 协议进行设备组区分和消息传递
Supported Type
- Text
- Image
Supported OS
- Windows
- Linux
- MacOS
- Android
https://github.com/zu1k/uniclip
Telegram Keyword Bot
Telegram 关键词自动回复机器人: 根据群组管理员设定的关键词或者正则规则,自动回复文字、图片、文件或者进行永久禁言、临时禁言、踢出等群管操作
这是我学习 Golang 后的第一个项目,当时是某个考试周的周末,复习太无聊了,于是我就用了 2 天时间 Go 语言,然后便想要做个简单的项目练练手。 正巧当时我有一个几千人的 TG 群要管理,于是便萌生了写一个关键词自动回复的机器人来替我解答群友的提问。最初的版本功能非常简单,仅能回复确定的关键词,无法实时的添加和删除规则,但是机器人上线后群友反响不错,很快便被有同样需求的其他群组发现。 在此契机下,我便继续添加了各种必要的功能,使其成长为当时 TG 中文圈最受欢迎的自动群管机器人之一,管理群组数曾达到2万个。
此项目曾进入 GitHub Trending 排行榜,archive。
https://github.com/zu1k/tg-keyword-reply-bot
Hosts-rs
hosts文件解析,修改库,以及一些衍生
- hosts: Hosts file parsing, modification library
- resolve-github: Use Cloudflare DoH to resolve GitHub domains and generate hosts files
- github-hosts: Modify hosts to speed up GitHub access
https://github.com/zu1k/hosts-rs
MITM Netflix VIP Unlocker
Share your Netflix VIP with your friends without evealing password and cookies.
DeepL Free API
通过逆向DeepL客户端使用的协议,实现的免费DeepL API
docker run -itd -p 8080:80 zu1k/deepl
https://hub.docker.com/r/zu1k/deepl
Beacon Hook Bypass Memscan
cs bypass卡巴斯基内存查杀 的Rust实现
https://github.com/zu1k/beacon_hook_bypass_memscan
go-service-ipfs
go-storage的IPFS存储后端支持
https://github.com/beyondstorage/go-service-ipfs
PL0 Compiler
编译原理课程实验,勿用
简化版PL0语言的词法分析、语法分析、编译成中间代码,解释执行
https://github.com/zu1k/pl0compiler
GitHub Hosts
修改hosts加速GitHub访问
https://github.com/zu1k/github-hosts
Xray Cracker
解析和生成 Xray 永久证书
在某些契机下,我使用 IDA Pro 花了一晚上的时间逆向了长亭科技的 Xray 扫描器的证书校验逻辑,使用 Golang 写出了 Xray 合法证书的生成逻辑,并在后续添加了 Xray 可执行程序的自动 Patch 功能。 我曾经写了一篇文章来发布该工具,该工具得到安全圈的欢迎:xray社区高级版破解。 不过后续长亭的小姐姐联系我,说有人拿这个代码去盈利,于是我删除了相关代码,这件事也让我反思,开源某些类型的代码是否真的能够带来好的结果?
此项目曾进入 GitHub Trending 排行榜,archive。
https://github.com/zu1k/xray-crack-rm
DogeCloud COS Action
使用 GitHub Actions 上传文件到 DogeCloud COS
DogeCloud 的对象存储和 CDN 是分销腾讯云的,服务质量没问题,并且提供了足够吸引我的免费额度,于是我便打算将博客的某些静态资源使用他家的 CDN 来分发。 后来发现他家官方并没有合适的持续部署模块,于是我便基于腾讯云官方的 COS Action 模块开发了一个,这个项目也得到了 DogeCloud 官方的认可。
https://github.com/zu1k/dogecloud-cos-action
印象笔记去广告
通过替换广告链接去除印象笔记烦人广告
https://github.com/zu1k/evernote_noad
GlobalSSH for GitHub
利用UCloud的免费GlobalSSH服务加速github的ssh协议
https://github.com/zu1k/globalssh4github
CoolQ RSS Push Bot
RSS订阅的QQ机器人
https://github.com/zu1k/coolq-rsspushbot
My Followers
这是我的Followers数目破1k的纪念项目
通过GitHub的GraphQL Api,获取自己的follower列表,然后生成头像墙。通过GitHub Action定时每日更新
Fork并开启GitHub Action功能,可自动生成自己的
https://github.com/zu1k/my_followers
LDAP-log
一个LDAP请求监听器,摆脱dnslog平台
由于Apache Log4j RCE漏洞的火热,各大dnslog平台成为过年狂欢中最累的那一部分,不如写一个专门针对ldap协议的logger
https://github.com/zu1k/ldap-log
LibAFL-Book-zh
LibAFL 文档书 简体中文版翻译
在线访问:https://libafl-book-zh.zu1k.com/
https://github.com/zu1k/LibAFL-Book-zh
install cert
在操作系统的信任区安装根证书
https://github.com/zu1k/install-cert
编程经验
从大学才开始接触编程,第一门编程语言是 Java,后续接连学习了 Python、C、Golang、Rust 和 JavaScript 等其他语言。我对自己使用的各种编程语言有自己的看法:
- Java 很成熟很稳定,在我看来最重要的是适合团队合作,毕竟我身边的人还是最熟悉 Java
- Python 各种各样的库很多,可以快速验证自己的想法,无论是拿来搞安全还是水一下课程作业都是很爽的
- C 性能非常牛逼,我就喜欢这种简洁和无与伦比的掌控感,搞二进制安全必备
- Golang
是我目前最喜欢的语言,我已经用它写了不少项目了,无需付出太多精力就能轻松高并发,感觉写起来有种类似于Py脚本语言的快感 - Rust
我觉得有点消耗脑细菌,每一次写完都感觉昏昏沉沉的越来越喜欢了,甚至都不想写go了 - JS 说实话我不太喜欢,但V8引擎的确厉害
现在我更喜欢用Golang写后端,用Vue来写前端 现在我新的个人项目都首选Rust了