• 《HelloGitHub》第 80 期


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

    8ee4afa85be01aa63be905204c4f5208.png

    简介

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

    https://github.com/521xueweihan/HelloGitHub

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


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

    C 项目

    1、cockpit:基于 Web 的服务器图形界面。这是一款开源的服务器管理工具,让你可以通过 Web 界面轻松管理 Linux 服务器,支持配置防火墙、Web 终端、容器管理、查看系统日志等功能。

    0f09352e84da37e5662cc358d86a1426.png

    地址:https://github.com/cockpit-project/cockpit

    C# 项目

    2、Malware-Patch:阻止 Windows 流氓软件授权的工具。它轻巧、无需后台运行,可用于阻止指定软件的管理员授权。

    8355b7f14afedaf5a8e6ebc0affa56c6.png

    地址:https://github.com/the1812/Malware-Patch

    C++ 项目

    3、Magisk:Android 获取 Root 权限的工具。它可以快速、无痛地获得 Android 的超级用户权限,支持 Android 5.0 以上的设备。

    8192e9a711c392f8828a10380422e0f4.png

    地址:https://github.com/topjohnwu/Magisk

    4、osquery:像数据库一样查询设备的工具。它将操作系统抽象成一个数据库,让用户可以通过 SQL 查询操作系统的运行情况,比如运行中的进程、网络连接、文件和用户。攻击者一般会在运行恶意程序后删掉程序,通过 osquery 可以轻松找到没有源文件的进程。

    1. osquery> SELECT name, path, pid FROM processes WHERE on_disk = 0;
    2. name = Drop_Agent
    3. path = /Users/jim/bin/dropage
    4. pid = 561
    3c50ce18e44f56986f0c55ee5500a51a.png

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

    CSS 项目

    5、css-only-chat:仅用 CSS 实现网络聊天。前端不用 JavaScript 只用 CSS 实现网络聊天的功能,秘诀是伪选择器加载的背景图像和永远加载的索引页。

    1. .some-button:active {
    2.   background-image: url('some_image.jpg')
    3. }
    d474bb4e35044924cd1e3572b5b1ffab.gif

    地址:https://github.com/kkuchta/css-only-chat

    Go 项目

    6、cadvisor:一款由 Google 开源的容器监控工具。它可以实时统计容器运行时占用的资源,包括 CPU 利用率、内存使用量、网络传输等信息。提供了 Web 可视化页面,能方便用户分析和监控容器运行状态,支持包括 Docker 在内的几乎所有类型的容器。

    1. sudo docker run \
    2.   --volume=/:/rootfs:ro \
    3.   --volume=/var/run:/var/run:ro \
    4.   --volume=/sys:/sys:ro \
    5.   --volume=/var/lib/docker/:/var/lib/docker:ro \
    6.   --volume=/dev/disk/:/dev/disk:ro \
    7.   --publish=8080:8080 \
    8.   --detach=true \
    9.   --name=cadvisor \
    10.   --privileged \
    11.   --device=/dev/kmsg \
    12.   gcr.io/cadvisor/cadvisor:$VERSION
    a5de483cbe43ac214bcf43781904c414.png

    地址:https://github.com/google/cadvisor

    7、dsq:可直接用 SQL 查询数据文件的命令行工具。通过该项目无需将数据导入数据库,就能用 SQL 查询文件内的数据,可执行模糊查询、计数、排序等命令,支持 JSON、CSV、Excel、Parquet、YAML 等类型的文件。还可以搭配其它命令行工具(jq),实现更丰富的功能。

    1. $ dsq testdata/userdata.parquet 'select count(*) from {}' | jq
    2. [
    3.   {
    4.     "count(*)"1000
    5.   }
    6. ]

    地址:https://github.com/multiprocessio/dsq

    8、json-to-go:立刻将 JSON 转化为 Go 类型定义的工具。这是一个用 JavaScript 写的在线小工具,可以直接将输入的 JSON 转成对应的 Go 类型定义。

    ba8ec293f8351b20af5d5ee964aaf731.png

    地址:https://github.com/mholt/json-to-go

    9、pocketbase:仅一个文件的开源后端。将 SQLite 数据库、接口服务、登录认证、管理后台等服务器端的功能,做成一个开箱即用的可执行文件。让原本不懂后端开发的用户,也可以通过用户界面快速构建起接口服务。

    b860380eedc331e40a20ac6527657a21.png

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

    10、supervisord:用 Go 重新实现的 supervisord 。开源项目 supervisord 作为 Python 项目中常用的进程管理工具,深受广大开发爱好者的喜欢。但如果在非 Python 环境的情况下,用起来就不是那么顺手啦,所以作者用 Go 重写了 supervisord,编译后可以方便地运行在任何环境下。

    1. $ cat supervisor.conf
    2. [program:test]
    3. command = /your/program args
    4. $ supervisord -c supervisor.conf

    536ca146a6fd6ee8c3465de76589ee21.png

    地址:https://github.com/ochinchina/supervisord

    Java 项目

    11、Aegis:一款免费、安全、开源的 2FA 安卓应用。双重认证(2FA) 就是使用两种不同的元素来确认用户身份,比如用户名和密码是一种元素,手机号和短信验证码也是一种元素,两种元素结合就是双重认证。除了短信之外还有一种 APP 可生成和验证码功能类似的一次性密码(TOTP),Aegis 就是一款支持 HOTP 和 TOTP 算法的开源 2FA 应用,使用时要先将手机和账号绑定,绑定后 APP 就会定时刷新一组随机数字,需要双重认证时输入这串数字即可。

    7e390495342f0cea758a82361066cbcc.png

    地址:https://github.com/beemdevelopment/Aegis

    12、jenkins:一款由 Java 编写的开源持续集成工具。做为开源 CI/CD 软件的王者,它专注于自动化你的开发工作流程,具有安装简单、友好的操作页面、易于扩展、分布式的特点,常用来优化项目开发流程或自动化各种任务。

    1. 1. 下载 jar 包
    2. 2. 运行:java -jar jenkins.war --httpPort=8080
    3. 3. 打开浏览器访问:http://localhost:8080
    4. 4. 根据提示完成安装
    2681dc606dab5dee225c91ae0d87ebc4.jpeg

    地址:https://github.com/jenkinsci/jenkins

    13、wvp-GB28181-pro:开箱即用的网络视频平台。基于 GB28181 标准实现的网络视频平台,能够接入摄像机、平台、NVR 等设备、支持视频预览、云台控制、录像查询和回放、无人观看自动断流等功能。

    ccfa6274f2269dcba18bc6c40c24291b.png

    地址:https://github.com/648540858/wvp-GB28181-pro

    JavaScript 项目

    14、cypress:基于 JavaScript 的下一代前端测试工具。主要用于浏览器端到端测试的自动化工具,端到端(E2E)测试就是站在用户的角度,模拟实际使用场景的测试方式。Cypress 目前已成主流浏览器端到端测试工具,它运行速度快、上手简单,支持图形化界面可实时观察执行情况,以及截屏和视频记录测试结果。

    97a3b153dc30a88198187e70c60ade70.gif

    地址:https://github.com/cypress-io/cypress

    15、Dashboard:一款完全自定义配置的浏览器起始页。基于 Vite+Vue3+TypeScript 构建的浏览器起始页,预设了多款简洁清爽的主题开箱即用,能够随心所欲地添加组件,编辑模式下可拖拽组件更改大小和位置,支持浏览器插件和网页两种使用方式。

    c98217ab237e1e527410cf2368b76f55.png

    地址:https://github.com/leon-kfd/Dashboard

    16、Rocket.Chat:一款可自由定制的企业级开源通信平台。功能丰富的通信平台,可自托管做为 Slack 的开源替代品。支持创建频道、团队和讨论等多种不同功能的群聊,消息支持图片、文件、视频和语音,拥有包括 Windows、Linux、macOS、Android 和 iOS 在内的多种客户端。

    1f646125727772ca7544872ef026c0d8.jpeg

    地址:https://github.com/RocketChat/Rocket.Chat

    17、slidev:专为程序员打造的演示文稿工具。该项目是基于 Web 的幻灯片制作和演示工具,让用户可以使用 纯文本+Markdown 语法制作幻灯片,支持导出为 PDF 或 PNG 格式的文件,或以单页面展示幻灯片。对于大多数不擅长做 PPT 的程序员,基于提供的现成主题也可以制作出看起来不错的演示文稿。

    8f093a22fc5a5915db45626b279f3a40.png

    地址:https://github.com/slidevjs/slidev

    18、the-super-tiny-compiler:可能是最小的编译器。仅用 1000 行 JavaScript 代码实现的迷你编译器,其中注释还占了一大半,实际代码只有 200 行左右。它虽然代码量不多,但完整地实现了编译器基本功能,可以用来学习编译器原理。

    94afb63b2474aec303d165d7370ebb17.png

    地址:https://github.com/jamiebuilds/the-super-tiny-compiler

    PHP 项目

    19、YOURLS:完全免费的短网址服务。采用 PHP 编写的短网址服务,它完全开源可自行搭建服务,支持数据统计、地理位置、可视化等功能。

    80e2bbcb2012c653002fe38f990828af.gif

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

    Python 项目

    20、calibre:一款功能强大的电子书管理工具。它是集下载、格式转化、制作、管理于一体的电子书工具,比如可以将 txt 文本,转化成包含作者信息和书籍封面的 mobi 文件,制作完成后还可以直接发送到 Kindle 设备上。

    24fa3264ff86e3d38fac60a573809462.png

    地址:https://github.com/kovidgoyal/calibre

    21、changedetection.io:简单好用的网站变更检测、监控和通知服务。基于 Flask+Selenium 构建的 Web 服务,可以在目标网站发生变化时发出通知,可用于监控商品降价、工作机会、版本发布、最新内容等,支持 Docker 的安装方式。

    e9612e778d0c787593239c3988989270.png

    地址:https://github.com/dgtlmoon/changedetection.io

    22、Macast:一款轻巧的投屏接收器。该项目可以让电脑接收来自手机的视频、图片和音乐投屏,支持手机上的主流视频和音乐软件,以及其它符合 DLNA 协议的软件。无打扰地运行在状态栏和菜单栏,适用于 Windows、macOS、Linux 操作系统。

    b8e5e04ed3888caf4e69386beaa25f56.png

    地址:https://github.com/xfangfang/Macast

    23、reloadium:Python 热重载调试工具。在不重启程序的前提下,通过这个项目可以查看改动后、最新的 Python 代码运行效果,以及每行代码的耗时。有了它可以更高效地调试 Python 代码,强烈推荐在 PyCharm 和 VSCode 上使用。

    8b170a85b203390bfae66b2763b5bf86.gif

    地址:https://github.com/reloadware/reloadium

    24、rocketry:更加人性化的 Python 调度库。可通过 Python 装饰器语法,进行任务调度的 Python 库。它简单、优雅、高效,支持定时、并发(异步、多线程、多进程)、条件触发等功能。

    1. from rocketry import Rocketry
    2. from rocketry.conds import daily
    3. app = Rocketry()
    4. @app.task(daily)
    5. def do_daily():
    6.     ...
    7. @app.task(daily & file_exists("data.csv"))
    8. def do_things():
    9.     ...
    10. if __name__ == '__main__':
    11.     app.run()

    地址:https://github.com/Miksus/rocketry

    Rust 项目

    25、difftastic:命令行文件对比工具。一种可根据文件的语法,进行结构化比较的工具,支持 30 多种编程语言。

    af9caa049bbb8947cd867f68f0204993.png

    地址:https://github.com/Wilfred/difftastic

    26、sniffnet:可轻松监控网络流量的工具。这是一个简单、可靠、炫酷的网络监控应用,可以让你一目了然地了解设备的网络流量。

    5e345fa6a5efc1cc0180d443b3073105.gif

    地址:https://github.com/GyulyVGC/sniffnet

    27、websocat:WebSockets 的命令行客户端。一条命令连接或建立 WebSockets 服务,适用于 Windows、macOS、Linux。

    1. A$ websocat -s 1234
    2. Listening on ws://127.0.0.1:1234/
    3. ABC
    4. 123
    5. B$ websocat ws://127.0.0.1:1234/
    6. ABC
    7. 123

    地址:https://github.com/vi/websocat

    Swift 项目

    28、CotEditor:一款适用于 macOS 的轻量级纯文本编辑器。它免费、整洁、启动速度快,拥有看起来十分舒服的界面。

    b33d5d6d1ff839e313596b1ebb445b19.png

    地址:https://github.com/coteditor/CotEditor

    其它

    29、fonteditor:在线字体编辑器。在线编辑、转换、预览字体文件,支持多种字体格式。

    2a9b5f24f7846a9f94c4a241042a3db1.jpeg

    地址:https://github.com/ecomfe/fonteditor

    30、free-for-dev:专为程序员准备的免费服务清单。现在虽然有大量免费的服务,但大多数开发者很难找到它们,这是一份免费服务(SaaS、PaaS、IaaS 等)和产品的列表。

    地址:https://github.com/ripienaar/free-for-dev

    31、GameShell:玩游戏学习 Shell。这是一款帮助入门 shell 命令的文字游戏。

    ab6b0413780e136bf6e26fdb5803e69d.gif

    地址:https://github.com/phyver/GameShell

    32、hackingtool:黑客工具全家桶。该项目收录了各种黑客工具,包括破解密码、SQL 注入、钓鱼攻击、XSS、DDos 等。

    4045a444f9f645dfe31746f70231cd2f.png

    地址:https://github.com/Z4nzu/hackingtool

    33、platformio-core:专业的嵌入式开发平台。做嵌入式开发时往往会遇到诸多不便,比如硬件厂商的 IDE 绑定和复杂的配置过程。这款 IDE 能让你轻松突破这些限制,PlatformIO IDE 兼容  Arduino、树莓派和 ESP32 在内的 40 多种平台,以及超过 20+ 的框架。它不仅支持 Debug、代码自动补全、单元测试、串口调试等实用的功能,还提供了 VSCode、Vim 等编辑器的插件,把开发工具的选择权彻底地还给开发者。

    0647037970983dfce6624ebb53eb0fa7.png

    地址:https://github.com/platformio/platformio-core

    34、sms_forwarding:超低成本的短信转发器。通过该项目仅需 50 元就可以制作出一个短信转发器,实现不用手机接收验证码。

    187eab54a53048736c68bd32783033c6.jpeg

    地址:https://github.com/chenxuuu/sms_forwarding

    开源书籍

    35、Book3_Elements-of-Mathematics:《数学要素》从加减乘除到机器学习。全彩多图的一本科普书,内容以图解+数学+编程为主。

    cd68d3c9c2359fdb59d31353452959e1.png

    地址:https://github.com/Visualize-ML/Book3_Elements-of-Mathematics

    36、parsing-techniques:《Parsing Techniques》解析技术。该书是编译器前端的经典书籍。

    地址:https://github.com/duguying/parsing-techniques

    37、py4e:《Python for Everybody》适合所有人的 Python。不管你有没有编程基础,只要对编程感兴趣,都可以通过这本书学会 Python,进入有趣的编程世界。

    6a6d67d06a0d8d2d24e3705d5db5e426.png

    地址:https://github.com/csev/py4e

    机器学习

    38、AiLearning-Theory-Applying:快速上手 AI 理论及应用实战。该教程包含学习 AI 必备的数学基础,机器学习实战小项目、深度学习入门、自然语言通用框架 BERT 实战,以及大量数据集。

    地址:https://github.com/ben1234560/AiLearning-Theory-Applying

    39、vmaf:Netflix 开源的视频质量评估算法。一种将人类视觉模型与机器学习结合的评估视频质量的方法,目的是改善观众们的观看体验。

    62d2b62573889e1c4fa3658886c051f0.png

    地址:https://github.com/Netflix/vmaf

    最后

    以上就是本期的所有内容,还没看过瘾?点击阅读往期内容。

    如果安装或运行开源项目遇到问题,就看这篇文章吧!

    如果您觉得本期内容还不错的话 求赞、求分享,有了您的支持 HelloGitHub 一定会变得更好!❤️

    - END -

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

  • 相关阅读:
    如何搭建威纶通触摸屏与S7-200smart之间无线PPI通信?
    前端模块化
    【无标题】
    【Rust 日报】2022-09-18 Linus提议将Rust添加到Linux6.1内核
    Android OpenCV(六十七):KNN
    软注意力和硬注意力的对比
    单链表的基本操作
    结构体指针的引入
    【Python】《Python编程:从入门到实践 (第2版) 》笔记-Chapter6-字典
    Host ‘ ‘ is not allowed to connect to this MySQL server
  • 原文地址:https://blog.csdn.net/a419240016/article/details/128090482