HelloGitHub Vol.99
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.
Free Open Source Video Transcoding Tool. This is a powerful, community-driven open source video transcoding tool that supports the conversion of various video file formats into common formats such as MP4 and MKV.
The Diary of a Wandering Knight that Records Life's Moments. The author of this project developed this offline-first journal app because of a fondness for writing diaries. It features a clean and simple interface, allowing users to record the weather, mood, and location when writing a diary entry. Besides supporting online use on the Web, it also offers clients for Android, Windows, iOS, and macOS.
Cross-Platform Clipboard Synchronization Tool. This project allows for seamless synchronization of clipboard content across various devices, supporting text, images, and files. Users can choose to deploy their own server or use a cloud storage service that supports the WebDAV protocol.
Truly Independent Open Source Browser. The author of this project aims to build a completely independent open-source web browser from scratch, so he has separated the browser engine part from his own SerenityOS operating system, planning to create a completely new, cross-platform open-source browser based on this, which does not contain code from other browsers. Currently, no downloadable installation package is available, and the first Alpha version is planned to be released in the summer of 2026.
Remote Terminal Tool for Mobile Devices. This is a remote terminal tool specifically designed for mobile and unstable network environments. It can maintain stable remote sessions and faster responses even during network switches, high latency, and IP changes, suitable for systems such as Android, iOS, Linux, and macOS.
Professional Windows Malware Analysis and Cleaning Tool. This is a tool designed for combating and cleaning up Rootkits (malicious software) on the Windows platform. It helps programmers to identify hidden malware within the system and supports functions such as viewing processes, process injection, kernel driver mode, and scanning.
Interactive Database Command-line Client. This is a lightweight, interactive TUI (Text-based User Interface) database client written in Go. It is easy to use and comes with out-of-the-box convenience, supporting PostgreSQL, MySQL, SQLite3, and Oracle databases. It is not about affordability for desktop applications, but rather about the cost-effectiveness of command-line interfaces.
Tool for Analyzing the Size of Compiled Go Files. This project utilizes reverse engineering and disassembly to collect addresses from binary files, combines them, and calculates the size occupied by each dependency in the final binary file, showcasing the results in a visual manner. It can be used to analyze the file size after compilation of Go programs and supports both command-line and web usage methods.
Simple and Fast Go WebSocket Library. This project is a WebSocket library written in Go. It provides a clean and straightforward API, featuring high throughput, low latency, minimal memory usage, and stable reliability. It is suitable for high concurrency scenarios, supporting context takeover, customizable window size, and broadcasting functionality.
package main import ( "github.com/lxzan/gws" "net/http" "time" ) const ( PingInterval = 5 * time.Second PingWait = 10 * time.Second ) func main() { upgrader := gws.NewUpgrader(&Handler{}, &gws.ServerOption{ ParallelEnabled: true, // Parallel message processing Recovery: gws.Recovery, // Exception recovery PermessageDeflate: gws.PermessageDeflate{Enabled: true}, // Enable compression }) http.HandleFunc("/connect", func(writer http.ResponseWriter, request *http.Request) { socket, err := upgrader.Upgrade(writer, request) if err != nil { return } go func() { socket.ReadLoop() // Blocking prevents the context from being GC. }() }) http.ListenAndServe(":6666", nil) } type Handler struct{} func (c *Handler) OnOpen(socket *gws.Conn) { _ = socket.SetDeadline(time.Now().Add(PingInterval + PingWait)) } func (c *Handler) OnClose(socket *gws.Conn, err error) {} func (c *Handler) OnPing(socket *gws.Conn, payload []byte) { _ = socket.SetDeadline(time.Now().Add(PingInterval + PingWait)) _ = socket.WritePong(nil) } func (c *Handler) OnPong(socket *gws.Conn, payload []byte) {} func (c *Handler) OnMessage(socket *gws.Conn, message *gws.Message) { defer message.Close() socket.WriteMessage(message.Opcode, message.Bytes()) }
Postgres-Based Background Task Management Platform. This project is a task queue developed with Go and the Postgres database, featuring a built-in web management backend, supporting automatic retries, scheduled tasks, and priorities.
Go Library for Rapid Development of Event-Driven Applications. This is a Go library for efficiently handling streams of messages, i.e., publishing/receiving messages and reacting to them. It is easy to start with and supports message brokers such as Kafka, RabbitMQ, HTTP, and MySQL binlog, suitable for scenarios like real-time data stream processing, distributed transactions, and microservices communication.
func main() { saramaSubscriberConfig := kafka.DefaultSaramaSubscriberConfig() // equivalent of auto.offset.reset: earliest saramaSubscriberConfig.Consumer.Offsets.Initial = sarama.OffsetOldest subscriber, err := kafka.NewSubscriber( kafka.SubscriberConfig{ Brokers: []string{"kafka:9092"}, Unmarshaler: kafka.DefaultMarshaler{}, OverwriteSaramaConfig: saramaSubscriberConfig, ConsumerGroup: "test_consumer_group", }, watermill.NewStdLogger(false, false), ) if err != nil { panic(err) } messages, err := subscriber.Subscribe(context.Background(), "example.topic") if err != nil { panic(err) } go process(messages) // ...
Spring Source Code Reading. This is a tutorial with illustrations and text explaining the Spring source code. The content covers the core concepts and key features of the Spring framework, and it also thoughtfully marks the difficulty level, making it more convenient for learning.
Tool for One-Click Remote Login to Docker Instances. This project is a desktop tool for managing remote servers, which automatically detects the server environment and shell type after establishing an SSH connection. It achieves one-click login to various container instances (Docker, LXC, WSL) and supports features like remote file management and tool integration.
English Learning Website That Makes You Addicted. This is an open-source online English learning website that supports self-hosting and local operation. It uses a method of forming sentences by connecting words and gradually advancing to help you learn English. By continuously repeating to form muscle memory, combined with game rewards and point rankings, it makes memorizing vocabulary fun and efficient.
Tool for Optimizing React Component Performance. This project is an optimization compiler designed for React applications, which enhances React component performance by optimizing the virtual DOM and directly updating DOM nodes to reduce the time required for page updates, with the largest improvement being up to 70%. It supports usage through VSCode plugins and command line interfaces.
Open Source JavaScript Database. This project is a browser-based NoSQL database written in JavaScript. It can store data locally in an offline state and automatically synchronize the data to keep it in sync with the server once the network is restored.
var db = new PouchDB('dbname'); db.put({ _id: 'hellogithub-1', name: 'HelloGitHub', age: 69 }); db.changes().on('change', function() { console.log('Ch-Ch-Changes'); }); db.replicate.to('远程数据库地址');
Control Multiple Android Devices Through the Browser. This is an Android device testing tool developed using Node.js, providing a web platform that can remotely debug multiple Android devices, supporting devices such as Android phones and smartwatches.
User-Agent Parsing JS Library. This is a library for parsing User-Agent strings, which can turn the User-Agent string into a UAParser object, facilitating the detection and viewing of the user's browser, operating system, CPU, and device model information.
const parser = new UAParser(ua); console.log(parser.getResult()); /* { ua: "Mozilla/5.0 (Linux; Android 10; STK-LX1 Build/HONORSTK-LX1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/110.0.5481.153 Mobile Safari/537.36 musical_ly_2022803040 JsSdk/1.0 NetType/WIFI Channel/huaweiadsglobal_int AppName/musical_ly app_version/28.3.4 ByteLocale/en ByteFullLocale/en Region/IQ Spark/1.2.7-alpha.8 AppVersion/28.3.4 PIA/1.5.11 BytedanceWebview/d8a21c6", browser: { name: "TikTok", version: "28.3.4", major: "28" }, cpu: {}, device: { type: "mobile", model: "STK-LX1", vendor: "Huawei" }, engine: { name: "Blink", version: "110.0.5481.153" }, os: { name: "Android", version: "10" } } */
Open Source Hospital Management System for Free. This project is the most popular open source hospital management system currently available. It integrates all the functionalities required for the daily operations of a hospital, such as appointments, patient profiles, electronic billing, and medical records, while also supporting more than 30 languages, including Chinese.
Tool for Automatically Deleting WeChat Cache Data on PC. This project is a Windows utility written with PyQt5, designed to clean up useless data that the WeChat PC client automatically downloads. It supports automatic recognition of accounts, multi-account management, selection of file types for cleanup, and setting the duration for file cleanup.
A Python-based Metasearch Engine that Respects Individual Privacy. This project is a metasearch engine built on Flask that can aggregate search results from more than 70 search engines. It is easy to install, does not track user behavior, and supports features such as selecting search engines, safe search, and multi-language capabilities.
Python's 'Dead' Code Detective. This is a static code analysis tool for Python. It can identify unused code in a Python project, and with a single command, it can clean up useless and invalid Python functions, variables, and code snippets.
Python Framework for Writing High-Performance Simulation Programs. This project is an open-source Python framework from NVIDIA that uses just-in-time compilation to convert Python code into efficient kernel code that can run on CPUs or GPUs. It can be used to write programs for simulating physical environments, collision detection, and graphics processing.
import warp as wp import numpy as np num_points = 1024 @wp.kernel def length(points: wp.array(dtype=wp.vec3), lengths: wp.array(dtype=float)): # thread index tid = wp.tid() # compute distance of each point from origin lengths[tid] = wp.length(points[tid]) # allocate an array of 3d points points = wp.array(np.random.rand(num_points, 3), dtype=wp.vec3) lengths = wp.zeros(num_points, dtype=float) # launch kernel wp.launch(kernel=length, dim=len(points), inputs=[points, lengths]) print(lengths)
WSGI-Based WebDAV Server. WebDAV is a communication protocol that allows direct editing and management of files on the network, commonly used in scenarios such as document sharing, cloud storage, and file synchronization. This project is a WebDAV server written in Python that can run independently, comes with a simple web interface, supports online editing of MS Office documents, and features authentication capabilities.
$ pip install wsgidav cheroot $ wsgidav --host=0.0.0.0 --port=80 --root=/tmp --auth=anonymous Running without configuration file. 10:54:16.597 - INFO : WsgiDAV/4.0.0-a1 Python/3.9.1 macOS-12.0.1-x86_64-i386-64bit 10:54:16.598 - INFO : Registered DAV providers by route: 10:54:16.598 - INFO : - '/:dir_browser': FilesystemProvider for path '/Users/martin/prj/git/wsgidav/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous) 10:54:16.599 - INFO : - '/': FilesystemProvider for path '/tmp' (Read-Write) (anonymous) 10:54:16.599 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL. 10:54:16.599 - WARNING : Share '/' will allow anonymous write access. 10:54:16.813 - INFO : Running WsgiDAV/4.0.0-a1 Cheroot/8.5.2 Python 3.9.1 10:54:16.813 - INFO : Serving on http://0.0.0.0:80 ...
Selfie for Programmers Based on Git. This project automatically takes a photo with the webcam each time a code is committed using git, marking the commit ID on the photo. This not only records life but also allows you to quickly identify the author of the code.
100 Exercises to Learn Rust. This tutorial adheres to the principle of learning by doing, containing approximately 100 exercises and their answers, guiding you to learn the Rust programming language from scratch.
Rust Concurrency Programming Toolkit. In the world of Rust concurrency programming, it serves as a Swiss Army knife, providing a rich and powerful set of lock-free concurrent data structures and tools, which greatly enhance the efficiency of Rust concurrency programming.
Easier Terminal Multiplexer for Beginners. This project is a terminal multiplexer written in Rust, which supports features like single window multiple tabs, split windows, and automatic reconnection. It offers a ready-to-use default configuration along with a powerful plugin system, making it popular among both beginners and advanced users.
Elegant macOS Window Management Tool. This is a minimalist window management application for macOS that requires no complex configuration. With simple key combinations, you can easily move the window position, adjust the window size, and arrange the windows. The interaction is very elegant, and the user experience is excellent.
Tool to Disable iTunes. This is a macOS application that can prevent iTunes or Apple Music from automatically launching and popping up. It also supports setting up an alternative to iTunes.
Large Language Model API Aggregation Gateway. This project provides a unified and fast API, allowing developers to easily access over 200 LLMs, and also supports multi-modality, automatic retry, and load balancing features.
One-Click AI Tool for Generating Short Videos. This project is an AI video generation tool based on large-scale model services. It can automatically generate high-definition short videos just by providing a topic or keyword. It features an easy-to-use web interface that supports batch generation, setting video duration, and screen orientation (portrait/landscape) among other functionalities.
Minimalist Prompt-word Mind-mapping Tool. This project leverages the programming capabilities of Large Language Models (LLM) to help users automatically complete the prompt words for mind mapping. It can generate high-quality images based on brief user-provided prompt words and supports features like localized image modification, such as turning a dragon into a dinosaur within an image, significantly reducing the barrier to creating satisfying images without the need for complex prompt words.
AI-based Python Web Scraper. This is a Python web scraping library powered by AI. Leveraging the capabilities of Large Language Models (LLM), it can automatically capture data from target websites based on prompt words.
smart_scraper_graph = SmartScraperGraph( prompt="List me all the projects with their descriptions", source="目标网站", config=graph_config ) result = smart_scraper_graph.run() print(result)
Free Android Ebook Reader. This is an ebook reading software written with Flutter. It is free and ad-free, supports WebDAV for syncing ebooks, notes, and reading progress, and is suitable for Android smartphones and tablets.
Easy-to-Use USB/SD Bootable Disk Creation Tool. This project enables the burning of the OS image into an SD card or USB device, which can be used to create a bootable and portable operating system. It features a user-friendly interface, allowing the creation of a USB bootable disk in just 3 steps, suitable for Linux, macOS, and Windows 10 and above.
Open Source Alternative to Google Services Framework. This project is an open-source solution as an alternative to Google Play Services, allowing users who cannot or do not wish to use Google services to run Android applications dependent on Google services.
Low-Cost AI Smart Glasses. This project offers a budget solution for upgrading regular glasses to AI smart glasses for just $25. It supports video recording, object recognition, and text translation functions. However, it requires cooperation with a computer and does not support displaying content on the lens.
Display Sheet Music in HTML Style. This project implements the display of musical symbols and sheet music on a webpage using CSS+SVG+HTML code.
An Introduction to Zero-Knowledge Proofs. This is a beginner-level tutorial on zero-knowledge proofs, a technology that allows one party to prove something is true to another party without revealing any specific information, commonly used in cryptography, privacy computation, and Web3 areas.
Introduction to Bash Scripting Guide. This is an open-source book that teaches you how to write excellent Bash scripts.
A Practical Guide to PyTorch. This book comprehensively introduces the basic knowledge of PyTorch, including a wealth of PyTorch practical cases and large-scale language model deployment examples, enabling you to quickly get started with PyTorch and possess excellent development capabilities.
- C
- C#
- C++
- Go
- Java
- JavaScript
- PHP
- Python
- Ruby
- Rust
- Swift
- AI
- Other
- Book