HelloGitHub Vol.90
HelloGitHub shares interesting and beginner-friendly open source projects on GitHub, updated on the 28th of each month. Here you will find fun and beginner-level open source projects, open source books, practical projects, and enterprise-level projects, allowing you to quickly appreciate the charm of open source and develop an interest in it.
Virtual Audio Driver for macOS. Students who have recorded videos on macOS have likely encountered the problem of recording computer sounds, which requires a high standard of environment when using the public play method. This project is a virtual audio driver for macOS that can pass the output audio to other applications with zero delay, thereby being unaffected by the surrounding environment, and easily recording the sound of the computer. It supports both Intel and Apple chips.
C Language Compiler Implemented with 4 Functions. This project achieves a compact C language compiler with only over 500 lines of code and 4 functions. However, due to its streamlined code, the source itself is not easy to read.
Superbly Useful Windows Optimizer. This is a powerful Windows system optimization tool, featuring a compact size and rich functions. It supports 22 languages, including Chinese, and enables you to disable unnecessary Windows services, delete superfluous startup programs, and shut off unused features, thereby enhancing the usability and performance of the Windows system.
Free and Open-Source Real-time Screen Translation Tool. This project is capable of translating text displayed within a selected area on the screen in real-time, recognizing languages such as English, Russian, and Chinese. Users can choose from various OCR engines such as Tesseract, WindowsOCR, and EasyOCR, as well as translation sources including Google Translate.
An Analytics Database Similar to SQLite. This project is a lightweight analytical database written in C++, which is compact in size, free from external dependencies, and does not operate as a separate process, akin to an analytical version of SQLite. DuckDB offers a rich SQL dialect, supporting features such as JOIN, aggregation, window functions, and direct querying of CSV and JSON files. Although it does not have a performance advantage in terms of scale, it is fully capable of handling data analysis at the billion-level scale, focusing on being small, light, and sufficient.
SELECT * FROM 'HelloGitHub.csv'; SELECT * FROM 'HelloGitHub.parquet';
A Code Editor Similar to Vim. This code editor features a minimalist interface and efficient editing model, inspired by Vim in design but surpassing it in functionality and interactivity. It offers faster and more convenient operation, and comes with default support for features like syntax highlighting and auto-completion, making it suitable for Linux and macOS operating systems.
A Simple and Effective Web Application Firewall. This project is based on the Nginx web gateway at its core, acting as a reverse proxy for network traffic. It employs intelligent semantic analysis algorithms to filter out malicious traffic from hackers, safeguarding your website from hacking attacks. The installation is straightforward, and the free version offers sufficient functionality, although the project only open-sourced the core algorithms and underlying engine.
DIY a Haptic Smart Rotary Knob. This is an open-source smart knob device with customizable end point positions, virtual braking, haptic feedback, and a circular LCD display, making it very cool and fun to interact with.
A Lightning-fast Open Source Search Engine. This project is an instant search engine written in C++, featuring out-of-the-box usability, rapid search speed, automatic spelling correction, geographical search capabilities, and built-in support for Chinese tokenization.
Cool Pokémon Card CSS Effects. This project is a collection of advanced CSS styles for Pokémon cards, employing techniques such as 3D transformations, filters, and gradients to achieve effects like luster, texture, galaxy holographic, and vertical light beams.
A Simple and Reliable Distributed Task Queue Written Purely in Go. This is a lightweight asynchronous task queue based on Redis, which launches a goroutine for each task, supporting features such as task failure retries, priority queues, scheduled tasks, and unique tasks.
A Go Time Handling Library Friendly to Developers. This is a comprehensive and easy-to-use Go time library that supports time conversions, time differences, time travel, zodiac signs, seasons, lunar calendar, and multilingual features.
lang := carbon.NewLanguage() lang.SetLocale("zh-CN") c := carbon.SetLanguage(lang) if c.Error != nil { // 错误处理 log.Fatal(err) } c.Now().AddHours(1).DiffForHumans() // 1 小时后 c.Now().AddHours(1).ToMonthString() // 八月 c.Now().AddHours(1).ToShortMonthString() // 8月 c.Now().AddHours(1).ToWeekString() // 星期二 c.Now().AddHours(1).ToShortWeekString() // 周二 c.Now().AddHours(1).Constellation() // 狮子座 c.Now().AddHours(1).Season() // 夏季
Domestic Lightweight Server Monitoring Tool. This is a server monitoring panel called 'Nezha', which is easy to install and ready to use out of the box. It supports monitoring the system status of multiple servers, SSL certificate status, alarm notifications, traffic monitoring, setting scheduled tasks, and other features. It is suitable for mainstream operating systems such as Linux, Windows, macOS, and OpenWRT.
Distributed ID Generation Library in Go Language. This project is a distributed unique ID generator open-sourced by Sony, inspired by the well-known Twitter Snowflake algorithm. It is slower than Snowflake but has a longer lifespan and can work on more machines, making it suitable for larger distributed clusters.
A Collection of Algorithms and Data Structures Implemented in Java. The importance of algorithms and data structures goes without saying. This project provides the simplest and most elegant implementations of common data structures and algorithms in Java, making it a good choice for both learning and development.
A Web Application for Various Operations on PDF Files. This is a powerful and ready-to-use PDF tool that supports splitting/merging files, adding/extracting images, compression, watermarking, and adding/removing passwords. It meets all your needs for PDF files.
A 2D Hobbyist Community Client Similar to Douban. This is a third-party client for the 2D community 'Bangumi' built with React Native. It is free of charge, ad-free, born out of passion, designed specifically for mobile devices, and supports anime progress management, user dynamics, forums, search, ranking, and tagging functions.
Find the Most Important Files in a Codebase with PageRank. This project uses the PageRank algorithm and source file dependencies to identify the most heavily depended-upon files in a JavaScript/TypeScript code repository.
Simulate Interface Data in Just 30 Seconds Without Coding. This is a compact tool for interface simulation that is very easy to use. Just create a JSON file and a single command can quickly start the interface service.
# 安装 npm install -g json-server # 启动 json-server --watch db.json
A Convenient Web Mind Mapping Tool. This project includes a JavaScript library for mind mapping that does not rely on any frameworks, as well as a feature-rich online mind mapping application developed with Vue.js + ElementUI that supports local deployment.
import MindMap from "simple-mind-map"; const mindMap = new MindMap({ el: document.getElementById('mindMapContainer'), data: { "data": { "text": "根节点" }, "children": [] } });
An Open Source Campus Academic Affairs Query WeChat Mini Program. This project is an intelligent campus mini program developed by students, supporting functions such as course schedule query, grade query, exam schedule, vacant classroom query, and utilities query.
Android App for Custom Screen Touch. This project is an automatic click tool based on accessibility features that supports custom or subscription click rules, which can be used to automatically complete operations such as skipping ads, consenting buttons, receiving red packets, etc.
Open Source Offline Translation Library Written in Python. This project is an offline translation Python library based on the OpenNMT (neural machine translation framework). It does not rely on any third-party translation interfaces and supports translation of over 30 languages, including Chinese.
import argostranslate.package import argostranslate.translate from_code = "en" to_code = "es" # Download and install Argos Translate package argostranslate.package.update_package_index() available_packages = argostranslate.package.get_available_packages() package_to_install = next( filter( lambda x: x.from_code == from_code and x.to_code == to_code, available_packages ) ) argostranslate.package.install_from_path(package_to_install.download()) # Translate translatedText = argostranslate.translate.translate("Hello World", from_code, to_code) print(translatedText) # '¡Hola Mundo!'
An Open Source, Non-Profit Search Engine Written in Python. This is a small, non-profit, ad-free, and privacy-focused search engine constructed with pandas, FastAPI, scikit-learn, and jusText. It features a minimalistic interface, fast search results, and no external factor interference in the search results.
Python Library for Creating Aesthetically Pleasing Map Posters. This project enables the creation of visually appealing map posters from OpenStreetMap data with simple, customizable color filling.
Effortlessly Manage WebDriver with This Python Library. Those who frequently write web crawlers have probably encountered the situation where they need to locate the path of WebDriver each time! With this project, the repetitive search for where WebDriver is located will no longer be necessary.
# 之前 from selenium import webdriver driver = webdriver.Chrome('/home/user/drivers/chromedriver') # 现在 from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install())
Computer Operating System Simulation Game. This is a web game written in Python where players take on the role of a computer's operating system. The game requires players to manage processes, memory, and I/O events to ensure that processes do not remain idle for too long. If a process waits for too long, it will exit, and if a certain number of processes exit, the computer will restart and the game is over.
Open-Source Online Document Signing Platform. This is an online document signing platform written in Ruby that is out-of-the-box, easy to use, mobile-friendly, supporting the creation of PDF forms by dragging and dropping, online filling and signing, automatic email sending, user management, and more.
Minimalist Open Source RSS Reader. This is a desktop RSS reader developed based on Tauri. It is free, ad-free, and features a refreshing interface, suitable for macOS and Windows operating systems.
Rust-written Tracking and Ad-blocking Tool. This project is based on the man-in-the-middle (MITM) attack principle, establishing bidirectional tunnels between two ends, filtering URL addresses to prevent ad requests, thereby achieving ad interception. It has low memory usage, fast speed, and supports automatic updates of the filtering list, display of statistics, and custom filtering list features.
Elegant macOS Menu Bar Pomodoro Clock. This is a Pomodoro timer application for macOS that is compact and exquisite, with a simple interface, supporting settings for work and rest intervals, notification sounds, global hotkeys, and more.
Practical Tool for Xcode Installation and Switching. Xcode is an integrated development environment provided by macOS for developers. This project allows for the easy installation and switching between various versions of Xcode, with the download process expedited using aria2 for increased speed, and the Xcode release data sourced from the official Apple website.
A Library for Handling hCaptcha With Elegance. This project uses machine learning to handle hCaptcha without reliance on browser plugins or third-party anti-captcha services. It leverages ResNet and YOLOv8 to address classification and detection issues, employing ONNX to package the model, thereby reducing the barrier to entry for users. It allows the code to run on devices without GPUs, and eliminates the need to install dependencies like PyTorch, enabling an elegant approach to dealing with hCaptcha.
import os from pathlib import Path import hcaptcha_challenger as solver # Init local-side of the ModelHub solver.install() # Challenge prompt of binary challenge prompt = "diamond bracelet" # Load challenge images, assuming you've already downloaded them. label_dir = Path(__file__).parent.joinpath("diamond_bracelet") images = [label_dir.joinpath(fn).read_bytes() for fn in os.listdir(label_dir)] def bytedance(): classifier = solver.BinaryClassifier() # type: List[bool | None] # IF True --> click image # ELIF False --> bypass image # ELSE --> Something err if result := classifier.execute(prompt, images): for i, name in enumerate(os.listdir(label_dir)): print(f"{name} - {result[i]}") if __name__ == "__main__": bytedance()
Google's High-Performance Scientific Computing Library. This is a Python library for numerical computation that combines Just-In-Time (JIT) compilation, automatic differentiation (Autograd), and a linear algebra compiler (XLA), with a usage pattern similar to NumPy. However, JAX is faster, more memory-efficient, and supports automatic differentiation, automatic vectorization, parallel computing, and more.
from jax import grad import jax.numpy as jnp def tanh(x): # Define a function y = jnp.exp(-2.0 * x) return (1.0 - y) / (1.0 + y) grad_tanh = grad(tanh) # Obtain its gradient function print(grad_tanh(1.0)) # Evaluate it at x = 1.0 # prints 0.4199743 # 自动求导 print(grad(grad(grad(tanh)))(1.0)) # prints 0.62162673
Your AI Smart Photo Generator. This is a web user interface (WebUI) plugin for generating AI portraits that can be used to create professional-quality photos, equivalent to a free, locally deployable 'Miracle Duck Camera'.
Highly Recommended Themed Color Schemes. This project is a community-driven collection of color schemes, featuring a rich palette predominantly in warm tones. It is designed for use in editors and IDEs such as VSCode, JetBrains, and Vim, and is also suitable for development libraries, terminals, operating systems, and browsers across various programming languages.
A Free Real-time Key and Mouse Input Visualization Software. This project can display mouse and keyboard operations on the screen, allowing viewers to see your key and mouse actions. Suitable for screenshot, video recording, demonstration, and collaboration scenarios, it supports Windows, Linux, and macOS operating systems.
Free and Open Source AIGC Course. This project is beginner-friendly and easy to learn without AI knowledge. It not only teaches how to use AIGC effectively but also delves into AI-related knowledge, covering topics such as ChatGPT, Runway, Midjourney, Stable Diffusion, and AI digital humans.
Python Trend Weekly. A weekly Python digest curated by 'Pea Flower and Cat', featuring high-quality articles, tutorials, open-source projects, tools, videos, and trending topics related to Python.
Browser Extension to Display the Technologies Used in GitHub Projects. This project is a browser extension that shows the technology stack used in a GitHub repository, helping users quickly understand more information about the project.
WebGL Tutorial Starting with Basic Theory. This is a series of WebGL tutorials that start from the basics of mathematical knowledge, including a Chinese translation version.
Mastering CSS Animations. This book primarily focuses on the animation techniques within CSS (CSS animation), covering topics such as what is CSS animation, the transition property, creating complex animation effects, and providing a wealth of examples to show you how to apply CSS animations to your projects.
Write Makefiles with Me. This project is a reformatted PDF version of a series of articles by Chen Hao, which was originally organized from the 'GNU Make Manual'. The author has optimized the layout and highlighted the code, making it more comfortable to read and serve as a tutorial for beginners to get started with Makefiles.
- C
- C#
- C++
- CSS
- Go
- Java
- JavaScript
- Kotlin
- Python
- Ruby
- Rust
- Swift
- AI
- Other
- Book