Excellent software and practical tutorials
GitHub open source project sharing
share GitHub Share interesting and entry-level open source projects on GitHub. Here are fun and entry-level open source projects, open source books, practical projects, and enterprise-level projects, allowing you to feel the charm of open source in a very short time and become interested in open source. For the GitHub projects shared below, search for the corresponding project name on the GitHub website to go directly to the project page.
1. Barco
Star 952
Fork 45
Write a program from scratch in C Linux Container. This project relies only on the underlying Linux functions and implements a Linux container in C language. It can be used to learn more about the technical details of Linux containers and kernels.
$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v] 22:08:41 INFO ./src/barco.c:96: initializing socket pair... 22:08:41 INFO ./src/barco.c:103: setting socket flags... 22:08:41 INFO ./src/barco.c:112: initializing container stack... 22:08:41 INFO ./src/barco.c:120: initializing container... 22:08:41 INFO ./src/barco.c:131: initializing cgroups... 22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G... 22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256... 22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64... 22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458... 22:08:41 INFO ./src/barco.c:139: configuring user namespace... 22:08:41 INFO ./src/barco.c:147: waiting for container to exit... 22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit ### # ls bin home lib32 media root sys vmlinuz boot initrd.img lib64 mnt run tmp vmlinuz.old dev initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var # echo "i am a container" i am a container
2. Quake2-Rerelease-Dll
Star 1.7k
Fork 132
Quake 2 is a first-person shooter game released by id Software in 1997 and is considered a classic by many players. This project is the official re-release of Quake 2 in 2023.
3.Trurl
Star 2.5k
Fork 86
A command line tool for parsing and manipulating URLs. This project is a new work by the author of cURL, which can be used to parse URLs and replace/extract/set parameters in URLs.
C# Project
4. GeekDesk
Star 1k
Fork 110
Small Windows Desktop startup tool. This free tool called Geek Desktop has a minimalist interface and supports functions such as searching all disk files, one-click calling, customizing wallpapers, and timed reminders.
5. Starward
Star 1.2k
Fork 57
An open source miHoYo game launcher. This is a launcher that supports all desktop games under miHoYo. It supports downloading games, recording game time, switching accounts, saving card draw records, miHoYo toolbox and other functions. It can be run on Windows 10 And above operating systems.
C++ Project
6. Citra
Star 9k
Fork 1.7k
An open source Nintendo 3DS emulator. It can perfectly run almost all 3DS games and supports Windows, Linux,macOS and Android operating system.
7. Implot
Star 3.6k
Fork 379
A real-time drawing GUI library. This project can update images in real time based on user interaction and data updates. GPU Acceleration, multiple plot types, hybrid plotting, etc. With only a small amount of code, you can integrate the function of real-time data visualization.
int bar_data[11] = ...; float x_data[1000] = ...; float y_data[1000] = ...; ImGui::Begin("My Window"); if (ImPlot::BeginPlot("My Plot")) { ImPlot::PlotBars("My Bar Plot", bar_data, 11); ImPlot::PlotLine("My Line Plot", x_data, y_data, 1000); ... ImPlot::EndPlot(); } ImGui::End();
8. Wslg
Star 9k
Fork 281
A tool for running Linux graphical applications on Windows. This project is an open source tool from Microsoft that supports running Linux GUI applications on the Windows operating system. It provides a native and natural Linux GUI application experience, such as cut and paste functions across Windows and Linux applications. WSLg is built into Windows 10 and above and can be started directly through the wsl command.
Go Project
9. Etree
Star 1.2k
Fork 162
A more user-friendly lightweight Go language XML library. Although the Go language has a built-in library for processing XML, it is very cumbersome to define the structure according to the nested hierarchy when using it. The design inspiration of this project comes from Python The ElementTree library of the language can flexibly read and generate XML documents without defining the structure.
doc := etree.NewDocument() doc.CreateProcInst("xml",version="1.0" encoding="UTF-8"
) doc.CreateProcInst("xml-stylesheet",type="text/xsl" href="style.xsl"
)people := doc.CreateElement("People") people.CreateComment("These are all known people")jon := people.CreateElement("Person") jon.CreateAttr("name", "Jon") sally := people.CreateElement("Person") sally.CreateAttr("name", "Sally") doc.Indent(2) doc.WriteTo(os.Stdout)
10. Golang-Design-Pattern
Star 7.7k
Fork 2k
Example code of Go language design pattern. This project is the author's reading notes of the book "Grinding Design Pattern", and uses Go language to implement 23 design patterns involved in the book.
11. Ls-Lint
Star 1.5k
Fork 27
A tool for checking directory and file naming styles. This is a directory and file name lint tool written in Go. It has few dependencies and is fast. You can customize detection rules and ignore directories through yml configuration files. It is suitable for Git Hooks, GitHub Action,Docker Image and other scenarios.
ls: .js: snake_case .ts: snake_case | camelCase .d.ts: PascalCase .html: regex:[a-z0-9]+ ignore: - node_modules
12. Webp_server_go
Star 1k
Fork 122
A ready-to-use WebP WebP is a picture format developed by Google to improve image loading speed. This project is a WebP service written in Go, which can be realized without secondary development. JPG,PNG, BMP, SVG and other formats into WebP format, which can effectively reduce the size of images, save bandwidth and increase the speed of image loading.
Java project
13. Jailer
Star 2k
Fork 78
A powerful database data extraction tool. A tool for browsing database subsets and relational data, supporting functions such as browsing databases according to the relationships between tables and generating DML topological relationships. It can be used to extract database tables and data required for testing a complete business line from a production database.
14. OneAccount
Star 620
Fork 145
A simple Android accounting app. This app supports custom expense/income classification, timed reminders, budget settings, spending statistics, etc. APP.
15. Triplea
Star 974
Fork 486
A Java turn-based war game. This is a free, open source war board game in which players can simulate classic battles such as World War II and the Napoleonic Wars. It supports Windows, Linux, and macOS operating systems.
JavaScript Project
16.Biomes-Game
Star 1.8k
Fork 208
An open source sandbox MMORPG game. OpenAI The acquired company Global Illumination uses technologies such as React+Next.js+TypeScript and WebAssembly to build a massively multiplayer online role-playing game. Players can explore the world, build houses, trade, socialize, etc. in the game without downloading or opening a browser.
17. Docsify
Star 2.4w
Fork 5.6k
A document website generator that can be used out of the box. This project can help you quickly generate a document website. It can be used out of the box without construction. You can publish it after writing the document. It supports full-text search, custom themes, rich APIs,Emoji And other practical functions.
18. Poster-Design
Star 698
Fork 99
A powerful online image design tool. An online poster image design tool implemented with Vue3+Vite2+Vuex+ElementPlus technology, which can be used to generate e-commerce sharing pictures, article long pictures, video/public account covers, etc.
19. Warriorjs
Star 9k
Fork 523
An interesting JavaScript programming RPG game. In the game, you will use JavaScript syntax to command warriors to fight enemies, rescue prisoners, and step by step to the top of the tower to obtain the legendary JavaScript sword.
20. WeHalo
Star 1.6k
Fork 341
A refreshing WeChat mini-program version of the blog. This project is a WeChat mini-program based on the Halo blog backend, which can easily move blog content to the WeChat mini-program, supporting personal business cards, blog display, comments, article search, custom navigation bar and other functions.
Python Project
21. DrissionPage
Star 1.7k
Fork 205
A web automation tool similar to selenuium. This is a Python-based web automation tool that supports Chromium-based browsers. It combines the functions of controlling the browser and sending and receiving requests into one, and provides a unified and concise interface.
# Download Starbucks product imagesfrom DrissionPage import SessionPage from re import search# Create a page object in s modepage = SessionPage() # Visit the target web pagepage.get('https://www.starbucks.com.cn/menu/')# Get all elements with class attribute preview circledivs = page.eles('.preview circle') # Traverse these elementsfor div in divs: # Use relative positioning to get the next sibling element after the current div element, and get its textname = div.next().text # Extract the image URL from the style attribute of the div element and splice itimg_url = div.attr('style') img_url = search(r'"(.*)"', img_url).group(1) img_url = f'https://www.starbucks.com.cn{img_url}' # Execute download page.download(img_url, r'.\imgs', rename=name)
22. Learndb-Py
Star 750
Fork 23
Write a database from scratch in Python. This project is to implement a relational database from scratch in Python to better understand the internal structure of the data. This database can only be used as a learning and practice project and cannot be used in a production environment.
23. Nvitop
Star 2.4k
Fork 93
Use the top command to view the NVIDIA GPU and process status. This is an NVIDIA device and process monitoring tool with a colorful and highlighted interface, real-time updated process and device information, and supports functions such as filtering processes, mouse control, and sending signals.
24. Upiano
Star 294
Fork 8
This is a small electronic keyboard command line application, which is easy to install and run, and supports both mouse and keyboard operation.
25. Watchgha
Star 224
Fork 6
A tool for viewing the running status of GitHub Action locally. A command line tool that can display the current branch and the running status of GitHub Action in real time with just one command.
Ruby Project
26. OpenFarm
Star 1.1k
Fork 220
A website that teaches you how to grow crops. This is a knowledge base about growing crops, where you can find steps on how to grow tomatoes, potatoes, strawberries and other plants, all for free.
Rust Project
27. Rjvm
Star 999
Fork 57
This is a hands-on project for writing a mini JVM in Rust. It has implemented Java basic types, exception handling, stack tracing, garbage collection, parsing .class files and other functions.
28. Starship
Star 3.6w
Fork 1.5k
This is a lightweight, super fast and good-looking terminal. This is a good-looking terminal written in Rust, suitable for various shells. It is ready to use out of the box and can customize a variety of prompts. It is suitable for Windows, Linux, Android and macOS systems.
Swift Project
29. Mist
Star 1.1k
Fork 46
A tool that automatically downloads macOS system firmware. This tool lists all the information of macOS firmware/installers available for download, including name, version number, release date, and size.
30. SkeletonView
Star 1.2w
Fork 1.1k
An elegant Swift skeleton screen library. Skeleton screen is a technology that displays the general structure of a page before the data required for page display is loaded. This Swift skeleton screen library is easy to use, has a friendly interface, and supports all UIView, custom animation and other functions.
other
31. Beepy
Star 332
Fork 29
A full keyboard portable Linux computer. This is a board that combines a BlackBerry keyboard, a 400*200 LCD display, and a 2000mAh battery. It costs $79. Plug in a Raspberry Pi Zero W and it instantly becomes a BlackBerry version of a Linux playground.
32. Cloc
Star 1.7w
Fork 932
A tool to count the number of lines of code. This is a tool that can count the number of blank lines, comments, and lines of code in different programming languages in the source code.
33. How-To-Secure-A-Linux-Server
Star 1.5w
Fork 1k
A Linux server security guide. This is an operational guide focused on protecting the security of Linux servers in non-enterprise scenarios. Although it is not professional enough, it is sufficient for individuals.
34. Linux-Tutorial
Star 1.8k
Fork 520
A practical Linux tutorial. Different from the large and comprehensive Linux tutorial, the content of this project focuses on practicality, including common Linux commands, Linux system operation and maintenance, software operation and maintenance, common shell scripts, etc.
35. Weekly
Star 1k
Fork 38
Independent Development Product Monetization Weekly. A weekly newsletter about independent developers and product monetization.
Open Source Books
36. Lean-Side-Business
Star 5.4k
Fork 358
"Lean Side Hustle: How Programmers Can Do Side Hustle Elegantly". This book expands the content of "How Programmers Can Make Pocket Money Elegantly", introduces the lean startup process, optimizes it into a lean side hustle process dedicated to side hustle, and adds content on independent development monetization and online course monetization practices.
37. Putting-The-You-In-Cpu
Star 3.3k
Fork 73
What happens when you run a program? This is a mini book about how programs run, covering computer basics, operating systems, how Linux loads executable files, and more.
38. TheByteBook
Star 1.6k
Fork 104
"In-depth Architecture Principles and Practices". With the rise of cloud computing, the focus of technical architecture has evolved from cluster availability management to cloud native and FinOps cost management. This book covers network, container, gateway, microservice and distribution, cloud native, quality monitoring and cost management, helping readers quickly understand the technical architecture system in the cloud era.
39. Typescript-Tutorial
Star 1.4k
Fork 118
TypeScript tutorial by Ruan Yifeng. This is an open source TypeScript tutorial for beginners, covering the basic concepts and usage of TypeScript.
Machine Learning
40. Audiocraft
Star 1.5w
Fork 1.4k
Meta An open source library for text-generated music. This project can generate high-quality, high-fidelity audio and music based on text prompts, such as whistling in the wind or a popular dance song suitable for beach scenes. The generated effect is amazing.
41.Fooocus
Star 8.3k
Fork 538
A ready-to-use image generation software. This project was designed with Stable Diffusion It has the advantages of Midjourney, it is easy to install and operate, and it eliminates the complicated parameter adjustment steps. Users only need to enter the prompt words to generate pictures at the same level as Midjourney. It supports local deployment and offline use, and the minimum configuration requires 8GB of memory and a 4GB Nvidia graphics card.
42. Machine-Learning-Notes
Star 7.6k
Fork 1.7k
Yida Xu's machine learning course. This project is an open source lecture and video course link on machine learning, probability models, and deep learning by Professor Yida Xu of Hong Kong Baptist University (HKBU).