HelloGitHub Vol.93
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.
Tool for Remote File Synchronization on Linux. This project offers a fast, incremental file transfer method that only synchronizes the changed parts of files, suitable for remote file synchronization and backup.
A Feature-rich Online Reading Platform. This project allows you to set up a web platform for reading comics and e-books locally, offering an excellent access experience on devices such as smartphones, tablets, and desktop computers.
Tool for Smooth Mouse Movement Across Multiple Monitors on Windows. In the case of Windows multi-monitor setups with inconsistent screen resolutions, there can be a mouse movement jump when moving between screens, such as from a 4k external screen to a 2k screen. The mouse may appear at the bottom when transferring from the center of the 4k screen to the 2k screen. This project perfectly solves the mouse jumping problem, enabling smooth mouse movement across multiple monitors on Windows.
Modern C++ Programming Course. This tutorial is designed for individuals with a basic understanding of C++ programming. It covers the fundamentals of C++ programming, as well as advanced C++ semantics and concepts. The course is free and continuously updated, consisting of 22 lectures with approximately 1500 slides. The practical teaching approach is concise and straightforward, using brief descriptions and code snippets for explanation. Many examples and questions are derived from real-world scenarios experienced by frontline developers.
WeChat Chat Record Migration and Backup Tool. This is a tool for exporting WeChat chat records, supporting the saving of chat contents in HTML, PDF, or text format, and is compatible with Windows and macOS systems.
Email Testing Tool with API. This is a small, fast, and cross-platform email testing tool that can act as an SMTP server, comes with a web interface, supports simulating the receipt of emails, viewing emails on different devices, and also provides an API for automatic integration testing.
Website Link Checker Written in Go. This project uses multithreading and recursion to check all the links on a target website's pages. It is simple to use, fast, and supports various tags such as a, img, link, and script.
OpenAI Interface Management and Distribution System. This project integrates various large-scale models and uniformly transforms them into services similar to the OpenAI interface. It is ready to use out of the box, in a single file, and supports features such as load balancing, token management, redemption codes, user grouping, quota viewing, and invitation rewards. It can be used to self-host ChatGPT services.
An Ad Blocker for PC. This project is a desktop application written using the Go language with the Wails framework, capable of blocking various advertisements. It operates by setting up a proxy to intercept all application HTTP requests, thus preventing requests for advertisements and tracking behavior, and supports Windows, macOS, and Linux systems.
Java Library for Filtering Sensitive Words. This project is a high-performance sensitive word filtering tool based on the DFA algorithm, with a word library containing over 60,000 entries. It supports custom sensitive words, white list, replacement strategy, common numeral form substitution, and the ability to ignore repeated words.
Java SMS Aggregation Framework. This project integrates various third-party SMS services in China, simplifying the process of integrating multiple SMS SDKs. With only the modification of configuration files, it allows for the easy implementation of SMS sending capabilities.
@RestController @RequestMapping("/test/") public class DemoController { // 测试发送固定模板短信 @RequestMapping("/") public void doLogin(String username, String password) { //阿里云向此手机号发送短信 SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456"); //华为短信向此手机号发送短信 SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000"); } }
Desktop Environment Running in the Browser. This project is a Windows desktop-like operating system simulated in the browser using JavaScript, supporting features such as a start menu, dynamic wallpapers, command line terminal, video player, 3D Breakout game, Markdown viewer, browsers, and more.
Free Online Photo Editor. This project allows for running directly in the browser without the need for installation, supporting features like creating and editing images, layers, filters, mosaics, and drawing tools.
Cool Quantum Entanglement Effect on Frontend. Quantum entanglement is a phenomenon in quantum mechanics, where two or more quantum entities are connected no matter how far apart they are. This project showcases this quantum phenomenon across multiple browser windows using Three.js and localStorage.
A Free, Multi-Platform Read-It-Later Tool. This project is built with TypeScript + Next.js, offering the capability to save articles, emails, documents, and synchronize content with personal knowledge management systems like Obsidian for later reading. Additionally, it provides clients for iOS and Android, as well as a browser plugin, making it convenient for reading anytime, anywhere.
A Minimalist Vue Admin Panel. This is an open-source, free, and commercial-friendly admin template based on the latest front-end technology stack including Vue3, Vite4, Pinia, Unocss, and Naive UI. It is simple, lightweight, and has a fresh style, with a low cost of entry, suitable for medium and small projects or for individual projects.
Highly Customizable Calendar Library for Android. This is a library for developing Android calendar applications, including a sample app. It features week or month view modes, boundary dates, horizontal or vertical scrolling, and more, allowing for fully customizable calendar designs.
A Simple, Out-of-the-Box Wiki Platform. This project is a wiki platform developed based on PHP and Laravel, featuring a clean interface, easy setup, and a range of capabilities, including search, a Markdown editor, diagramming, multilingual support, and authentication. It can be used to create your own wiki platform and supports manual installation, Docker, as well as a one-click installation script, making it very simple and convenient.
Library for Integrating Tailwind CSS with Django. This project allows you to easily use the Tailwind CSS framework in your Django project, including the official plugins for typography, forms, and line-clamp from Tailwind CSS.
AI-Integrated Video Surveillance Platform. This project is a video monitoring recording and saving platform (NVR) specifically designed for Home Assistant. It is based on OpenCV and TensorFlow, capable of real-time analysis of video streams from IP cameras, with features such as object detection, motion detection, and security alerts. It can also automatically preserve video clips of detected objects according to predefined rules.
An All-Inclusive SQL Parser. This project is a Python-written SQL parser, translator, and optimizer that can format SQL and supports conversion between 20 different SQL dialects. It can be used for custom parsing, query analysis, and programmatically building SQL.
import sqlglot # SQL 转 Spark sql = """WITH baz AS (SELECT a, c FROM foo WHERE a = 1) SELECT f.a, b.b, baz.c, CAST("b"."a" AS REAL) d FROM foo f JOIN bar b ON f.a = b.a LEFT JOIN baz ON f.a = baz.a""" print(transpile(sql, write="spark", identify=True, pretty=True)[0])
A Python Library for Easily Handling Tabular Datasets. This project is capable of transforming various formats of tabular datasets into a unified Dataset object. It offers dynamic columns, labels, filtering, and supports data in formats such as csv, df, json, yaml, xls, and more.
import tablib data = tablib.Dataset(headers=['First Name', 'Last Name', 'Age']) for i in [('Kenneth', 'Reitz', 22), ('Bessie', 'Monke', 21)]: data.append(i) # 将数据输出成 json 格式 print(data.export('json')) # [{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}] # df 对象 data.export('df') # First Name Last Name Age # 0 Kenneth Reitz 22 # 1 Bessie Monke 21
A Simple and User-Friendly Online Personal Book Collection. This project is a personal book management system based on Calibre, with the backend being the Python Tornado Web framework and the frontend built with Vue.js. It not only has an aesthetically pleasing interface but also offers a simple installation process. It supports features such as online reading, importing books, pushing to Kindle, and private mode.
Web-based Secure Terminal Collaboration Tool. This project requires only one command to share the terminal with multiple people. It supports real-time multi-person collaboration, multiple windows, remote cursor, online chat, automatic reconnection and other features, suitable for teaching and remote debugging.
A Practical Log Highlighting Command-Line Tool. This project is a Rust-written command-line tool for viewing logs. It is ready to use without any configuration. By highlighting numbers, dates, IPs, URLs, and other content, it makes important information immediately visible.
Use Tablet as a Drawing Board or Touch Screen on Your Computer. This project allows you to use a tablet device as an external screen, touchpad, or keyboard for your computer, compatible with Windows, Linux, and macOS systems.
Challenge: 30 Days to Master Apple's visionOS Development. visionOS is the operating system running on Apple's mixed reality headset, Apple Vision Pro. This project provides 30 sample code examples for developing on visionOS.
Automatic Background Removal for Images and Videos with a Single Command. This project utilizes AI technology to automatically remove backgrounds from images and videos.
Machine Learning Roadmap. This mind map for machine learning includes issues related to machine learning, learning steps, tools, underlying mathematical knowledge, tutorial resources, etc., pointing the way for how to learn machine learning.
Training AI to Play Pokemon with Reinforcement Learning. This project utilizes Python combined with Reinforcement Learning (RL) to train an AI from scratch to play 'Pokemon Red'. The author has also provided accompanying instructional videos, as well as tutorials on how to run and customize training locally. Give it a try!
Computer Vision AI Toolkit. This project simplifies the development process of computer vision tasks such as object detection, classification, annotation, and tracking. Developers only need to load datasets and models to easily perform detections on images and videos, count the number of detections in certain areas, and other operations.
import cv2 import supervision as sv from ultralytics import YOLO image = cv2.imread(...) model = YOLO('yolov8s.pt') result = model(image)[0] detections = sv.Detections.from_ultralytics(result) print(len(detections)) # 5
(no)SQL Database Desktop Management Tool. This is a free, open-source desktop database management tool that supports a variety of databases including MySQL, PostgreSQL, SQL Server, MongoDB, SQLite, Redis, and is suitable for Windows, Linux, and macOS operating systems.
Tool for Viewing File Types. This project can quickly detect the file type, architecture, and compiler information of binary files, supports the recognition of various file formats, and is helpful for reverse engineering and security analysis, applicable for Windows, Linux, and macOS systems.
GitHub Site Localization Plugin. This project enables the automatic Chinese translation of the GitHub site's menu bar, titles, buttons, and other common components, suitable for newcomers to GitHub.
An Incomplete Guide to Human System Optimization. This is a comprehensive guide aimed at enhancing an individual's health. By maintaining adequate sleep duration and quality, avoiding smoking, engaging in daily physical activity, and reducing sugar intake, one can achieve a commendable state of health.
Linux Network Bandwidth Limitation Tool. This project implements network bandwidth rate limiting on Linux by using the 'tc' command of iproute, supporting multiple network cards and limiting the maximum upload/download speeds.
Node.js Application Troubleshooting Manual. This manual primarily assists Node.js developers in addressing issues encountered during development and deployment, such as identifying faults, performance testing, and performance tuning.
Probabilistic Machine Learning. This project includes three books by Kevin P. Murphy: 'Machine Learning: A Probabilistic Perspective', 'Probabilistic Machine Learning: An Introduction', and 'Advanced Probabilistic Machine Learning'. The content covers both foundational theories and cutting-edge research, featuring illustrations, examples, and exercises.
- C
- C#
- C++
- Go
- Java
- JavaScript
- Kotlin
- PHP
- Python
- Rust
- Swift
- AI
- Other
- Book