Проекты на C
-
rtty
Открытый инструмент для входа в терминал Linux через веб-интерфейс. Написан на C и вместе с зависимостями занимает менее 100 КБ, поэтому подходит для встраиваемых устройств на Linux. Веб-панель позволяет удобно обслуживать такие устройства удалённо.

-
si78c
Консольная игра «Космические захватчики», написанная на C.

Проекты на C#
-
nopCommerce
Бесплатная open-source платформа интернет-магазина на ASP.NET. Проект развивается с 2008 года профессиональной командой и предлагает полный набор функций для электронной коммерции. Поддерживает Windows, Linux и macOS, а также готовое развёртывание через Docker.

-
osu
Бесплатная open-source ритм-игра для нескольких платформ. В такт музыке игрок нажимает на круги, ведёт курсор по траекториям и вращает элементы. В 2007 году игра работала только на Windows, а со временем получила версии для Linux, macOS, iOS и Android. Проект продолжает активно развиваться — можно скачать игру и попробовать самостоятельно.

Проекты на C++
-
jwEngine
Лёгкий кроссплатформенный веб-фреймворк с поддержкой C++ и Lua. Работает с протоколами TCP, KCP, WebSocket и HTTP. В основе лежит асинхронный ввод-вывод libuv, который повышает производительность и избавляет от накладных расходов на переключение контекста между потоками: сетевая и прикладная части работают в одном главном цикле событий. Поддержка Lua ускоряет разработку; фреймворк подходит для небольших игр. Пример кода:
event_init() server = NetServer:new() server.on_accept = function(conn) end server.on_close = function(conn) end server.on_msg = function(conn, msgtype, pack) end server:listen("127.0.0.1", 3001, false) event_run() -
Serial-Studio
Настольный инструмент визуализации данных на C++. Работает на нескольких платформах; ниже показаны результат и порядок действий.

Проекты на Go
-
act
Инструмент для локальной отладки сценариев GitHub Actions. GitHub Actions автоматизирует процессы в репозиториях и предоставляет бесплатные вычислительные ресурсы, с которыми легко настроить CI/CD и другие полезные процессы. Обычно при написании сценария его приходится отправлять в удалённый репозиторий и ждать выполнения, поскольку локально проверить сценарий и увидеть результат нельзя. act решает эту проблему и позволяет легко отлаживать GitHub Actions на своём компьютере.

-
dns
Простая, удобная и производительная DNS-библиотека для Go. Пример кода:
package main import ( "github.com/miekg/dns" "net" "os" "log" "fmt" ) func main() { config, _ := dns.ClientConfigFromFile("/etc/resolv.conf") c := new(dns.Client) m := new(dns.Msg) m.SetQuestion(dns.Fqdn(os.Args[1]), dns.TypeMX) m.RecursionDesired = true r, _, err := c.Exchange(m, net.JoinHostPort(config.Servers[0], config.Port)) if r == nil { log.Fatalf("*** error: %s\n", err.Error()) } if r.Rcode != dns.RcodeSuccess { log.Fatalf(" *** invalid answer name %s after MX query for %s\n", os.Args[1], os.Args[1]) } // Stuff must be in the answer section for _, a := range r.Answer { fmt.Printf("%v\n", a) } } -
pretty
Open-source библиотека для красивого форматирования данных в Go через Printf. Пример кода:
package main import ( "fmt" "github.com/kr/pretty" ) func main() { type myType struct { a, b int } var x = []myType{{1, 2}, {3, 4}, {5, 6}} fmt.Printf("%# v", pretty.Formatter(x)) } Output: []pretty_test.myType{ {a:1, b:2}, {a:3, b:4}, {a:5, b:6}, }
Проекты на Java
-
QNotified
Open-source модуль Xposed, который расширяет возможности QQ — китайского мессенджера для Android. Xposed представляет собой фреймворк перехвата вызовов в Android, позволяющий изменять поведение системы и приложений. После установки QNotified в настройках QQ появляется пункт для включения «суперрежима». Возможности:
- Сохранение отозванных сообщений.
- Уведомления об удалении из друзей.
- Блокировка уведомлений с упоминанием всех участников и о групповых денежных подарках.
- Массовый отзыв сообщений.
- И многое другое.

Проекты на JavaScript
-
ChatUI
Open-source набор UI-компонентов для диалоговых интерфейсов. Помогает быстро создавать удобные интерфейсы общения с ботами. Возможности:
- Лучшие практики: проверенные подходы к диалоговым интерфейсам из опыта сервиса AliMe компании Alibaba.
- TypeScript: проект написан на TypeScript и содержит полные определения типов.
- Адаптивность: интерфейс хорошо выглядит на мобильных устройствах и компьютерах.
- Темы: гибкая настройка стилей под визуальные требования продукта и бренда.
- Интернационализация: поддержка нескольких языков и локализации.
import Chat, { Bubble, useMessages } from '@chatui/core'; import '@chatui/core/dist/index.css'; const App = () => { const { messages, appendMsg, setTyping } = useMessages([]); function handleSend(type, val) { if (type === 'text' && val.trim()) { appendMsg({ type: 'text', content: { text: val }, position: 'right', }); setTyping(true); setTimeout(() => { appendMsg({ type: 'text', content: { text: 'Bala bala' }, }); }, 1000); } } function renderMessageContent(msg) { const { content } = msg; return <Bubble content={content.text} ></Bubble>; } return ( <Chat navbar={{ title: '智能助理' }} messages={messages} renderMessageContent={renderMessageContent} onSend={handleSend} ></Chat> ); };
-
cool-admin-midway
Система управления правами доступа для административных панелей на Node.js и Midway.js. Бесплатный open-source проект ускоряет разработку CRUD-функций и поддерживает несколько удобных способов развёртывания, включая Serverless и Docker. Подходит как для изучения разработки административных панелей, так и для быстрого создания готовых решений.

-
edex-ui
Эффектная кроссплатформенная консольная утилита на Electron. Предлагает терминал в голливудском стиле с красивой анимацией запуска и выразительными звуковыми эффектами, а также наглядно показывает структуру файлов, ресурсы системы и сведения о сети.

-
joplin
Бесплатное open-source приложение для заметок с поддержкой Markdown. Позволяет удобно вести списки дел и управлять большим количеством заметок. Импортирует заметки из Evernote и файлы Markdown, доступно для Windows, macOS, Linux, Android и iOS. Работает без подключения к интернету и умеет синхронизировать заметки через выбранное пользователем облачное хранилище для бесшовной работы на разных устройствах.

-
MarioHTML
Браузерная игра про Марио, написанная на TypeScript. Играть онлайн.

-
semaphore
Привлекательный веб-интерфейс для Ansible. Если штатный интерфейс Ansible кажется устаревшим, попробуйте этот проект.

Проекты на PHP
-
dompdf
PHP-библиотека для преобразования HTML в PDF. Пример кода:
// reference the Dompdf namespace use Dompdf\Dompdf; // instantiate and use the dompdf class $dompdf = new Dompdf(); $dompdf->loadHtml('hello world'); // (Optional) Setup the paper size and orientation $dompdf->setPaper('A4', 'landscape'); // Render the HTML as PDF $dompdf->render(); // Output the generated PDF to Browser $dompdf->stream(); -
PHPMailer
Вероятно, самая популярная open-source PHP-библиотека для отправки электронной почты. Она используется во многих известных PHP-проектах, включая WordPress и Yii, и покрывает практически любые задачи отправки писем. Пример показывает, насколько просто с ней работать:
<?php //Import PHPMailer classes into the global namespace //These must be at the top of your script, not inside a function use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; //Load Composer's autoloader require 'vendor/autoload.php'; //Instantiation and passing `true` enables exceptions $mail = new PHPMailer(true); try { //Server settings $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output $mail->isSMTP(); //Send using SMTP $mail->Host = 'smtp.example.com'; //Set the SMTP server to send through $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = 'user@example.com'; //SMTP username $mail->Password = 'secret'; //SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged $mail->Port = 587; //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above //Recipients $mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient $mail->addAddress('ellen@example.com'); //Name is optional $mail->addReplyTo('info@example.com', 'Information'); $mail->addCC('cc@example.com'); $mail->addBCC('bcc@example.com'); //Attachments $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name //Content $mail->isHTML(true); //Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; } -
video_spider
Инструмент для скачивания видео без водяных знаков. Получает адрес ролика и возвращает прямую ссылку на исходное видео без водяного знака. Сейчас поддерживает 15 видеоплатформ; доступна онлайн-версия.

Проекты на Python
-
Airtest
Кроссплатформенный фреймворк автоматизации UI мобильных приложений. Находит элементы с помощью распознавания изображений и позволяет удобно тестировать приложения или автоматизировать действия в играх, иногда вообще без кода.

-
ArchiveBox
Платформа для архивирования сайтов на Python. Автоматически сохраняет веб-страницы в разных форматах — HTML, PDF, изображения и другие — как статические материалы для локального хранения и управления. Подходит для создания зеркал и архивов сайтов, а также для чтения без подключения к интернету.

-
lux
Open-source Python-библиотека для исследования данных. Предназначена для исследовательского анализа данных: интерфейс визуализации и работы в Jupyter вместе с многочисленными источниками данных и мощными средствами обработки pandas упрощает анализ и помогает нагляднее увидеть скрытые в данных закономерности.

-
qutebrowser
Браузер на PyQt5 с управлением в стиле Vim. Поддерживает Linux, Windows и macOS: можно сначала установить и попробовать его, а затем изучить исходный код, чтобы разобраться в разработке браузеров на Python.

Проекты на Swift
-
flappy-fly-bird
Игра Flappy Bird, написанная на Swift.

-
Hue
Многофункциональная библиотека для работы с цветом. Упрощает разработку интерфейсов для iOS: позволяет быстро задавать цвета и прозрачность, создавать градиенты и перекрашивать изображения. Вместо громоздкого штатного RGBA API в Swift многие операции Hue выполняются одной строкой. Пример кода:
// 设置 16 进制颜色 let white = UIColor(hex: "#ffffff") let black = UIColor(hex: "#000000") // 设置 alpha let colorWithAlpha = myColor.alpha(0.75) // 设置渐变 let gradient = [UIColor.blackColor(), UIColor.orangeColor()].gradient() let secondGradient = [UIColor.blackColor(), UIColor.orangeColor()].gradient { gradient in gradient.locations = [0.25, 1.0] return gradient }
Искусственный интеллект
-
best-of-ml-python
Подборка качественных open-source библиотек для машинного обучения на Python. Проект рассчитывает рейтинг каждого включённого решения по нескольким показателям и регулярно обновляется.

-
fawkes
Open-source инструмент для защиты личных фотографий с помощью ИИ. Проект команды SAND Lab Чикагского университета слегка изменяет пиксели изображения. Человек почти не замечает разницы, но система распознавания лиц воспринимает обработанную фотографию совершенно иначе, что помогает защитить приватность.

-
Paddle
Open-source фреймворк глубокого обучения от Baidu. Удобное промышленное решение поддерживает масштабное обучение с сотнями миллиардов признаков, триллионами параметров и сотнями узлов. Разработчики также предоставляют бесплатные вычислительные ресурсы для обучения и экспериментов. Активное сообщество и подробные руководства делают фреймворк удобным для новичков.

-
tinygrad
Компактный open-source фреймворк глубокого обучения. В нём менее 1 000 строк кода, поэтому он достаточно прост для изучения, но при этом поддерживает обучение и инференс глубоких моделей. Пример кода:
from tinygrad.tensor import Tensor import tinygrad.optim as optim class TinyBobNet: def __init__(self): self.l1 = Tensor.uniform(784, 128) self.l2 = Tensor.uniform(128, 10) def forward(self, x): return x.dot(self.l1).relu().dot(self.l2).logsoftmax() model = TinyBobNet() optim = optim.SGD([model.l1, model.l2], lr=0.001) # ... and complete like pytorch, with (x,y) data out = model.forward(x) loss = out.mul(y).mean() optim.zero_grad() loss.backward() optim.step()
Прочее
-
azuredatastudio
Open-source настольный инструмент Microsoft для управления базами данных. Поддерживает SQL Server, Azure SQL DB и SQL DW. Установщик для Windows занимает менее 100 МБ; также доступны версии для macOS и Linux. Бесплатное приложение пригодится разработчикам, которые работают с одной из этих баз данных.

-
cats-of-jasnah
Браузерная игра для детей примерно трёх лет. Ребёнок считает на картинке кошек, подходящих под условие, например синих; вопрос звучит голосом, а после правильного ответа открывается следующий уровень. Игра развивает восприятие цветов, навыки счёта и понимание английской речи на слух. Играть онлайн.

-
Docker-OSX
Проект для запуска macOS в Docker. Всего две команды позволяют быстро запустить операционную систему macOS:
# 拉镜像 docker pull sickcodes/docker-osx:latest # 运行 docker run -it \ --device /dev/kvm \ -p 50922:10022 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -e "DISPLAY=${DISPLAY:-:0.0}" \ sickcodes/docker-osx:latest
-
what-happens-when
Подробное объяснение того, что происходит после ввода google.com в адресной строке браузера и нажатия Enter. Доступен перевод на китайский.