HelloGitHub Vol.95
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.
A Free and Open Source Audio Editing Tool. This project is one of the most popular open-source audio editing software, featuring an easy-to-use interface, providing audio editing and recording capabilities, supporting multilingual, recording, multi-track mixing, noise reduction, and other features, suitable for Windows, macOS, and GNU/Linux operating systems.
An Open-Source Disk Encryption Software. This project is developed based on the well-known but discontinued TrueCrypt, addressing many known vulnerabilities and security issues. After years of iteration, VeraCrypt has become more powerful. It supports dynamic encryption of system partitions, hardware acceleration, hidden encrypted containers, multi-factor authentication, and other features, suitable for the Windows, Linux, and macOS platforms, providing a cross-platform open-source hard disk encryption solution.
A Tool for Magnetic Resource Aggregation Search. This project is capable of transforming multiple private and public BT sites into a unified API, and provides a simple web page for convenient unified management of search results and download tasks.
An Open-Source 2D Space Simulation Game. This is a free, open-source space exploration game. Players will take on the role of the captain of a small spacecraft, embarking on adventures in a sandbox-style space environment. By completing missions, transporting passengers or cargo, escorting, trading, or plundering enemy spacecraft, players can earn money to purchase more powerful spaceships and upgrade their weapons and engines, to explore the vastness of space. The game has low system requirements and supports Windows, Linux, and macOS platforms.
A Flexible and Powerful Wayland Compositor. This is a highly customizable dynamic tiling Wayland compositor for custom desktop environments on Linux systems. Wayland is a new generation of Linux desktop backend server protocol. The project offers multi-application window management, automatic adjustment, switching, and window splitting capabilities. It also supports multi-monitor setups, customizable appearances, and rich plugin extensions.
A Service for Caching and Resizing Images. This project is an image processing service written in C++, employing technologies such as Nginx, libvips, and Cloudflare. It offers the functionality of resizing images and accelerating access, supporting a variety of image formats including JPEG, PNG, BMP, GIF, TIFF, WebP, PDF, and SVG.
<!-- 源图标地址:wsrv.nl/lichtenstein.jpg --> <img src="//wsrv.nl/?url=wsrv.nl/lichtenstein.jpg&w=300&h=300">
Powerful Windows Context Menu Management Tool. This project is a program for managing the Windows File Explorer context menu. In simple terms, it extends the functionality of the Windows right-click menu. The tool is free, open-source, ad-free, lightweight, and supports all file system objects such as files, folders, the desktop, and the taskbar. It provides a range of efficiency-enhancing features, including copying file paths, quickly opening directories, opening with the terminal, customizing appearance, and complex nested menus.
Free Collection of Tailwind CSS Components. This project offers a variety of free Tailwind CSS components suitable for websites, marketing, and e-commerce platforms. These components support dark mode, mobile adaptation, and LTR, and can be used by simply copying the code.
Service to Fetch Website Favicon. This service, written in Go, is designed to fetch the favicon.ico address of a target website. It is particularly suitable for navigation websites as it can conveniently retrieve icons from the source site, and even if no icon is found, it will return a gray icon representing the first letter of the website's name.
Go Library for Solving Floating-Point Precision Issues. This project addresses the potential precision loss that may occur during the calculation with floating-point numbers. It introduces a data type named Decimal, which supports common operations such as addition, subtraction, multiplication, and division, ensuring that the result does not lose precision. Additionally, it provides functionalities for rounding, truncation, and serialization.
package main import ( "fmt" "github.com/shopspring/decimal" ) func main() { price, err := decimal.NewFromString("136.02") if err != nil { panic(err) } quantity := decimal.NewFromInt(3) fee, _ := decimal.NewFromString(".035") taxRate, _ := decimal.NewFromString(".08875") subtotal := price.Mul(quantity) preTax := subtotal.Mul(fee.Add(decimal.NewFromFloat(1))) total := preTax.Mul(taxRate.Add(decimal.NewFromFloat(1))) fmt.Println("Subtotal:", subtotal) // Subtotal: 408.06 fmt.Println("Pre-tax:", preTax) // Pre-tax: 422.3421 fmt.Println("Taxes:", total.Sub(preTax)) // Taxes: 37.482861375 fmt.Println("Total:", total) // Total: 459.824961375 fmt.Println("Tax rate:", total.Sub(preTax).Div(preTax)) // Tax rate: 0.08875 }
Go Language Computer Vision Library Based on OpenCV. OpenCV is an open-source, cross-platform computer vision library commonly used for image processing, video capture, and analysis. This project is a Go language wrapper library for OpenCV, enabling developers to invoke the OpenCV library using the Go language and featuring multi-platform support, OpenCV 4+, and hardware acceleration with GPU.
package main import ( "gocv.io/x/gocv" ) func main() { // 打开摄像头 webcam, _ := gocv.OpenVideoCapture(0) // 新建 GUI 窗口 window := gocv.NewWindow("Hello") img := gocv.NewMat() // 显示视频 for { webcam.Read(&img) window.IMShow(img) window.WaitKey(1) } }
Quickly and Elegantly Release Go Applications. This is a tool for packaging, signing, and releasing Go projects, supporting automatic publishing to GitHub, GitLab, and Gitea platforms, creating Docker images, Linux packages, and Homebrew, capable of running locally and also supporting CI/CD systems, but the free version does not support building macOS and Windows installers.
A Cross-platform, Customizable Terminal Dashboard. This project offers a variety of terminal widgets such as buttons, progress bars, charts, etc., which can be used to create various interactive terminal tools. It supports functions like UTF-8 encoding, mouse events, and custom layouts, enabling the rapid construction of terminal applications with attractive interfaces.
An Emulator to Run Windows Games on Android. This is an Android application that allows you to use Wine and Box86/Box64 to run Windows applications and games, achieving the enjoyment of various classic PC games on your mobile phone.
Hand-drawn Style Web Whiteboard Application. This is a completely free, open-source web whiteboard application based on an infinite canvas, where users can create artworks with a hand-drawn style. It supports multiple languages, including Chinese, and offers features such as free drawing, various tools, exporting to PNG, real-time collaboration, shareable links, and automatic saving.
Online JSON Editor. This project is a web-based JSON editor for viewing, editing, formatting, and validating JSON. It supports modes such as a tree editor, code editor, and plain text, and can be used directly online or integrated into projects as a component.
Frontend Interview: High Frequency React Questions and Answers. This project includes a series of interview questions and answers related to React, covering aspects such as basic knowledge, components, state management, lifecycle, and performance optimization.
An Advanced To-Do List Application. Super Productivity is an advanced TODO application developed with TypeScript, designed to help users plan tasks and manage to-do items, fostering healthy and efficient habits. It is open-source, free, requires no registration, and supports integration with third-party platforms such as Jira, GitHub, GitLab, etc., to receive notifications of task changes in real-time. In addition to the web version accessible online, it also provides clients for Windows, Linux, macOS, iOS, and Android.
Library to Immediately Add Animated Backgrounds to Your Website. This project can be used to create highly customizable JavaScript particle effects, such as snowflakes, confetti, and fireworks effects, etc. Although it is a standalone library, it does not depend on other libraries or frameworks, but the project provides ready-made components for frameworks such as React, Vue, Angular, Svelte, jQuery, etc., making it easy to quickly integrate into your project.
An Open-Source Android File Manager. This project is an Android file manager developed in Kotlin, adhering to the Material Design guidelines. It is lightweight, concise, and secure, supporting root permissions for file viewing and management, file compression/decompression, and remote file viewing on servers, suitable for Android 5.0+ systems.
Practical Python Caching Decorator. This is a Python caching library that offers various caching algorithms and variants of the @lru_cache function decorator from the Python standard library. The library is suitable for scenarios such as avoiding redundant calculations, speeding up result retrieval, and reducing repeated requests.
from cachetools import cached, LRUCache, TTLCache # speed up calculating Fibonacci numbers with dynamic programming @cached(cache={}) def fib(n): return n if n < 2 else fib(n - 1) + fib(n - 2) # cache least recently used Python Enhancement Proposals @cached(cache=LRUCache(maxsize=32)) def get_pep(num): url = 'http://www.python.org/dev/peps/pep-%04d/' % num with urllib.request.urlopen(url) as s: return s.read() # cache weather data for no longer than ten minutes @cached(cache=TTLCache(maxsize=1024, ttl=600)) def get_weather(place): return owm.weather_at_place(place).get_weather()
Automated Decryption/Decoding Tool for Various Encryption Algorithms. When using this project, you only have to input the encrypted text without specifying the specific encryption type, and it can automatically decrypt most encrypted texts within 3 seconds or less. This project supports over 50 common encryption/encoding methods, including binary, base64, hash, and Caesar ciphers, among others.
A Web Application for Editing Song File Metadata. This music tag editor offers features to edit song titles, albums, artists, lyrics, covers, and more. It supports a variety of audio formats, including FLAC, APE, WAV, AIFF, MP3, and MP4, among others. Additionally, it provides practical functions such as automatic batch modification and organization of music files, lyrics translation, and mobile access.
Web-based SQLite Database Management Tool. This is a web management platform for SQLite databases written with Flask and peewee. It is easy to install and very convenient to start up. The project provides a simple and user-friendly interface, as well as practical SQLite data management features, including creating/deleting tables, indexes, data import/export, sorting, SQL query capabilities, and more.
Command Line Tool for Illuminating Log Files. This is a command line tool designed for viewing, tracking, merging, and searching in log/JSON large files. It offers highlighted display and real-time log tracking capabilities, supports fast opening of GB-sized files, and is capable of automatically merging log files based on timestamps.
Open Source Online Code Execution System. This project is an online code execution system developed with Ruby. It is easy to install and powerful, supporting over 60 programming languages. It allows setting execution time and memory limits and provides detailed execution results, including compilation errors, runtime errors, and output results. It can be used to build platforms for competitive programming, online code editing, and interviews.
Multifunctional File Cleaning Tool. This project is written in Rust and is designed to find and clean duplicate files, empty folders, similar images, and other files. It is free, open-source, and ad-free, characterized by its speed, cross-platform compatibility, and multilingual support. With this tool, you can easily clean up useless files on your computer and free up storage space.
A Lightweight Rust Search Engine. This project is a lightweight and fast search engine written in Rust. It features out-of-the-box functionality, easy maintenance, and quick search speeds. It offers features such as real-time search, fault-tolerant correction, sorting, synonyms, and supports multiple languages including Chinese.
client = meilisearch.Client('http://localhost:7700', 'masterKey') client.index('movies').add_documents([ { 'id': 1, 'title': 'Carol' }, { 'id': 2, 'title': 'Wonder Woman' }, { 'id': 3, 'title': 'Life of Pi' }, { 'id': 4, 'title': 'Mad Max: Fury Road' }, { 'id': 5, 'title': 'Moana' }, { 'id': 6, 'title': 'Philadelphia'} ])
Automated SMS and Email Verification Code Extraction Tool for Mac. This software, developed in Rust, is specifically designed for the macOS platform as an automated tool to extract SMS and email verification codes and place them into the clipboard. It is characterized by being free, lightweight and applicable to any application. The principle of operation involves monitoring messages from the Mail and iMessage applications, automatically extracting the verification codes from the messages, and storing them in the clipboard. Once running, it remains unobtrusive with just a quiet taskbar tray icon.
macOS Desktop Minesweeper Game. This project is a macOS Minesweeper game developed with Swift, offering an authentic Minesweeper experience. It retains the classic appearance, customizable gameplay, and control methods.
Window Management Tool for macOS. This project is a window management tool written in Swift, based on Spectacle. It can quickly move and resize windows on macOS using keyboard shortcuts, and is compatible with macOS 10.15+, both Intel and Apple Silicon.
3D Visualization of Large Language Model GPT. This project demonstrates the working principles and reasoning process of large language models similar to GPT through 3D visualization.
From Zero to Neural Network Expert. This course starts from the very basics, including video lectures, exercises, and corresponding source code, designed to help beginners gradually master the fundamental concepts of neural networks and deepen understanding through example code.
Open Source Library for Dialogue-based Data Analysis. This project integrates AIGC with data analysis, enabling users to ask questions to their data through natural language and receive corresponding answers. Initially, data must be imported in the manner of pandas, then after configuring the OpenAI TOKEN, one can start interacting with the data through dialogue and chart drawing without the need for writing code.
import pandas as pd from pandasai import SmartDataframe # Sample DataFrame df = pd.DataFrame({ "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"], "gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064], "happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12] }) # Instantiate a LLM from pandasai.llm import OpenAI llm = OpenAI(api_token="YOUR_API_TOKEN") df = SmartDataframe(df, config={"llm": llm}) df.chat('Which are the 5 happiest countries?')
AI Tool for Generating Human Photos in Various Styles. This project can generate character images in any style, such as realistic, cartoon, artistic, etc., by uploading a character photo, and can be used to create unique avatars.
Open Source Remake of Theme Hospital Game. This project is a classic simulation management game 'Theme Hospital' remade using Lua and C++, which retains the essence of the original game's gameplay while adding support for modern operating systems (Windows, Linux, and macOS), Chinese language, and high-resolution displays. It's important to note that after installing the game, it will not run immediately because the game data needs to be downloaded separately.
A Novel Dual-Wheel Leg Robot Structure. This project encompasses all the materials needed to create this type of robot, including mechanical structural design, electronic hardware, algorithm simulation, and source code, with the material cost around 700 RMB.
Enhanced Web Player Browser Extension. This is a browser extension that supports features like speed adjustment for web videos, screenshot, picture-in-picture, live broadcasting synchronization, and download, compatible with major international video websites.
Illustrated Introduction to System Design. This project provides an introductory tutorial to system design fundamentals and underlying principles, using easily understandable text and clear diagrams. Whether you're a beginner or a programmer preparing for an interview, you're sure to gain insights here.
WSL Distribution Graphic Management Tool. This project is a WSL management utility developed using Flutter, providing a friendly graphical interface that allows users to easily configure, copy, or transform WSL instances, sparing them the trouble of complex command operations. It is particularly suitable for beginners, eliminating the worry of breaking WSL.
Building a Virtual Machine Monitor from Scratch. This project offers a tutorial on building a virtual machine monitor from the ground up, covering basic concepts, the technical details of hardware virtualization, and source code. It helps developers understand how virtual machines work and step by step build their own virtual machine monitor.
- C
- C#
- C++
- CSS
- Go
- Java
- JavaScript
- Kotlin
- Python
- Ruby
- Rust
- Swift
- AI
- Other
- Book