Информация
- В рейтинге
- 683-й
- Откуда
- Россия
- Зарегистрирован
- Активность
Специализация
Фулстек разработчик, Архитектор программного обеспечения
Ведущий
От 2 000 000 ₽
Rust
TypeScript
Node.js
NoSQL
Высоконагруженные системы
REST
Базы данных
Разработка программного обеспечения
Системное программирование
Проектирование баз данных
Спасибо за обратную связь. Сам пользуюсь ежедневно. Первый раз публиковал статью здесь. Не судите строго.
Это матрица. А теперь к ответу.
Когда пользователь вбивает текст в строку поиска (работает free-text по имени, слову, тегам и языкам), KODE проксирует запросы к нативным GitHub и GitLab API. Базовое ранжирование по релевантности берётся напрямую от провайдеров .
Как фильтруется мусор: Берём сырую выдачу провайдера, накладываем свой кэш из LevelDB. Если репозиторий называется super-agent, но в нём 0 коммитов и 1 звезда, алгоритм занизит его в выдаче или отсеёт, подняв вверх живые проекты. Если пользователь заранее кликнул бейдж [Toggle_Releses_ONLY], алгоритм поиска жёстко фильтрует выдачу, оставляя только те репо, где есть исполняемые релизы.
Ранжирование трендов (TRENDING_MODULES) Это кастомная метрика, и она кардинально отличается от обычного «Топа по звёздам». Алгоритм трендов смотрит не на общее число звёзд, а на скорость их прироста, а также на частоту коммитов и загрузок релизов за последние 7 дней. Благодаря этому в тренды не попадают «динозавры», которые набрали 50к звёзд за 10 лет и забросили проект. Зато туда мгновенно залетает свежая JS-библиотека или Rust-утилита, которая за неделю собрала 2000 звезд и 50 форков. Это реальный срез того, что взрывает индустрию прямо сейчас.
Двойной провайдер: Тренды можно посмотреть как на GitHub так и GitLab. Это уникальная фича, потому что другие каталоги смотрят только в одну сторону.
Другие режимы сортировки для полноты картины Помимо поиска и трендов, у нас есть еще несколько вкладок с четкими алгоритмами: TOP_RATED - классическая сортировка по абсолютному числу звёзд за всё время (зал славы). FRESH_COMMITS - сортировка по дате последнего push. Идеально для тех, кто ищет проекты, над которыми авторы активно работают прямо сейчас
Попробуйте https://kode.market/, буду рад обратной связи
На Хабре, здороваться не принято. Учту.
Что делает KODE простым языком: вбил название, слово, термин, или просто написал “AI” в поиск и получил через 2 секунды карточки репозиториев с прямыми ссылками на GitHub Releases, SHA-256 хэшем и вердиктом VirusTotal - всё в одном окне.
Не знаешь что искать, нажми RND и получи 24 случайных репозитория с GitHub и GitLab. Это можно назвать рулеткой для разработчика - можешь найти все что угодно, реальный рандом. Обновляется 1 раз в 15 минут. Что делать с тем, что нашел, решай сам - можешь вдохновляться, копировать или просто поржать. Бывают репы и из далеких 2010х, как и свежие, которые не попали в тренды.
Едем дальше. Пример из жизни. Хороший парень решил написать новый SaaS/утилиту/AI агента, который покорит весь мир и принесет много золота.
Прежде чем тратить время на разработку, он решил проверить: а нет ли уже такого? или Насколько популярно? Живое ли?
GitHub Search даёт список, но ты не видишь динамики. А в KODE - быстрый поиск по 30+ миллионам репозиториев GitHub и GitLab одновременно. Вбил ключевое слово и система за миллисекунды прогоняет по всей базе через LevelDB-кэш и выдаёт релевантные результаты с графиками роста звёзд и датой последнего релиза/коммита. Что это даёт: ты видишь, что сделано в мире кода в публичном доступе, основываясь на данные GitHub и GitLab, а также понять, что ниша занята, или есть свободное место, или проект мёртвый и можно делать лучше. Это и есть валидация идеи до того, как ты написал первую строчку кода.
Установщик в 1 клик. Лично я сталкивался с тем, что когда сообществу “не разработчиков” даешь ссылку на GitHub, то обычно у них есть трудности с установкой. Приходится делать скриншот нажми туда, прокрути вниз описание и скачай здесь. С KODE достаточно дать ссылку на карточку репозитория и человек не потеряется где и что ему скачать.
P.S. Про торрент расписывать не стал в этом ответе. Если интересна эта тема, то давайте обсудим.
Привет! Рад, что ты заценил тёмную тему и поймал этот вайб.
Интерфейс проектировал как раз с оглядкой на старые добрые текстовые BBS-станции и хакерские консоли 90-х. Хотелось убрать всю современную UI-мишуру, оставить только моноширинный шрифт, терминал и скорость, чтобы до нужного бинарника действительно было “пара кликов”.
За кота отдельное спасибо - пасхалки писались для души и веселья как и ЭЛТ(CRT) экран (кнопка SND)! Рад, что она сделала твой месяц. Пользуйся на здоровье!
SLED использую в десктоп версии. По существу:
1. Балансировка TTL и инвалидация
Твоё подозрение на 100% верное. Инвалидация у нас гибридная:
Раздельный TTL: В LevelDB/SLED общая инфа
github:repo:*живёт сутки, а релизыrelease:*- всего 15 минут.Мгновенный Webhook: Для верифицированных авторов мы не ждём истечения TTL. По вебхуку от GitHub (
release.published) старый кэш релиза сносится мгновенно, иWarmerтут же фоном перезапрашивает свежие данные.2. WebSeed, CORS и Range-запросы
Проблема известная, обошли её разделением логики по клиентам:
В Desktop-приложении (Tauri / Rust): Нативным торрент-клиентам вообще плевать на CORS - они работают на уровне TCP/UDP сокетов и системных HTTP-запросов, обходя браузерные ограничения безопасности.
В Web (SPA в браузере): Напрямую к GitHub CDN браузерный WebTorrent достучаться по Range действительно не может. Поэтому бэкенд KODE работает как Stream-Прокси. Браузер запрашивает куски (chunks) через наш сервер, а наш Node.js-бэкенд сам тащит их с GitHub CDN по Range-заголовкам и отдаёт в Web-клиент, подмешивая
Access-Control-Allow-Origin: *.Удачи со SLED, движок пушка, умеет хранить все типы данных!
Рад видеть коллегу, понимающего философию “цифрового минимализма”. Большинство проектов стартуют с PostgreSQL на вырост, а потом удивляются, почему инфраструктура стоит дороже, чем сам продукт.
Почему именно LevelDB Когда проектировал архитектуру, был соблазн взять Redis (быстро, модно) или SQLite (привычно). Но оба варианта имели критичные минусы:
Redis - это внешняя зависимость. Нужен отдельный процесс, мониторинг, бэкапы, репликация. Для кэширующего прокси это overkill.
SQLite - отлично для structured data, но у нас pure key-value с префиксами (github:repo:, vthash:, torrent:). LevelDB для этого и создан.
LevelDB дал нам: Zero ops cost - нет внешней БД, нет демонов, нет конфигурации. Просто npm install level и работаешь. 100K+ ops/sec на SSD (но в реальности мы видим ~50K read / ~10K write на VPS 4 CPU, 8 GB RAM). LRU eviction из коробки - старые записи автоматически вытесняются, когда кэш растёт.
Для нашего use-case этого более чем достаточно: ~1000 активных пользователей в день ~10 запросов/минуту на пользователя Итого: ~167 запросов/секунду С учётом кэша (90% hit rate), реальная нагрузка на LevelDB: ~17 ops/sec То есть мы используем менее 0.1% от теоретической производительности. Но зато, ноль затрат на инфраструктуру, ноль зависимостей, полная предсказуемость.
Привет! Спасибо за обратную связь. binup хорошая утилита! 👍
KODE.market не конкурирует с binup, а скорее дополняет его. Вот как это работает:
binup vs KODE - разные задачи binup решает задачу обновления уже установленных инструментов: ты запустил команду, и он проверяет, вышла ли новая версия, и обновляет бинарник. Это CLI-инструмент для автоматизации.
KODE.market решает задачу поиска и верификации, когда ты:
Не знаешь, какой инструмент тебе нужен (ищешь по тегам, языкам, OS)
Хочешь проверить, чист ли бинарник (VirusTotal + SHA-256 в одном окне)
Хочешь скачать через торрент (если GitHub CDN тормозит в твоём регионе)
Хочешь следить за релизами без email-спама (Telegram-бот)
Хочешь валидировать идею перед тем, как писать свой аналог (графики роста звёзд, альтернативы)
Как они работают вместе
Ты находишь интересный инструмент через KODE (например, yt-dlp)
Видишь, что он живой (график звёзд, частота релизов), чистый (VT: 0/71), есть бинарник под твою OS
Скачиваешь через KODE (или через binup, как тебе удобнее)
binup автоматически обновляет его в будущем.
KODE - это витрина и верификация. binup - это автоматизация обновлений. Если интересно исследовать новый инструмент, вот что рекомендую попробовать:
?godmode в поиске - открывает скрытые инструменты (торрент-пакагер, мои репозитории)
OS-фильтр - клик по [WIN_X64] показывает только проекты с бинарниками под Windows
[VIRUS_CHECK // RUN] - проверяет любой бинарник через VirusTotal (результат кэшируется глобально)
Telegram-бот. Подписываешься на репо и получаешь DM, когда выходит новый релиз
Спасибо, что поделился опытом! Если binup тебе нравится - попробуй KODE как “разведку” перед установкой. А там глядишь, и торрент-раздача пригодится, если GitHub CDN начнёт тормозить. 🚀
Привет! Отличный вопрос - давай объясню.
Представь три ситуации:
Ситуация 1: “Мне нужна прога, но где её взять?” Ты хочешь скачать yt-dlp или obs-studio. Гуглишь, попадаешь на три блога с “Top 10 лучших загрузчиков 2026”, наконец находишь GitHub, но там либо нет готовых бинарников, либо нужно самому компилировать.
KODE решает это так: Вбиваешь название - сразу видишь карточку с прямой ссылкой на .exe/.dmg/.deb с GitHub Releases, SHA-256 хэшем (можешь сверить, что файл не подменили) и вердиктом VirusTotal. Всё в одном окне. Если, используешь KODE как поисковик, то можешь открыть репозиторий непосредственно на GitHub и скачать оттуда.
Ситуация 2: “У меня идея для проекта - стоит ли делать?” Ты думаешь написать свою утилиту для работы с Docker. Но прежде чем тратить месяцы, хочешь понять: а нет ли уже такого проекта? Насколько он популярен? Жив ли он?
KODE решает это так: Вбиваешь в поиск “docker utility” - видишь топ проектов с графиками роста звёзд за год, частотой релизов, числом форков. Сразу понятно: есть ли ниша, какие альтернативы, стоит ли ввязываться. Это и есть валидация идей, ты проверяешь спрос до того, как начнёшь кодить.
Ситуация 3: “Я мейнтейнер, и я устал от дистрибуции” У тебя open-source проект на GitHub. Ты выпускаешь релиз. Но как люди о нём узнают? Homebrew? Flathub? F-Droid? Каждый стор требует отдельной подачи, модерации, поддержки.
KODE решает это так: Твой репозиторий автоматически попадает в каталог (KODE индексирует GitHub/GitLab через API). Ничего подавать не нужно. Хочешь упаковать релиз в торрент (чтобы качали быстрее в регионах с медленным CDN)? Включаешь GodMode (?godmode в поиске) → жмёшь [PACK_AS_TORRENT] → готово.
Кому это нужно? Пользователи - те, кто не хочет ставить случайные .exe из интернета, но и не доволен закрытыми сторами (Microsoft Store, Mac App Store). KODE даёт прямые ссылки на бинарники + проверку антивирусом + хэши для верификации.
Разработчики - самозанятые разработчики и команды, которые устали публиковать релиз в трёх сторах. KODE даёт автоматическую витрину + торрент-раздачу.
Стартапы - разработчики, которые хотят проверить, есть ли ниша для нового проекта. KODE показывает тренды, статистику звёзд, альтернативы, всё в одном месте.
Пользователи из регионов с CDN-ограничениями - если GitHub тормозит в твоей стране, KODE даёт P2P-раздачу через WebTorrent + WebSeed на GitHub CDN. Качаешь быстрее, чем по HTTP.
Привет! Отличные, острые вопросы. Давай разберем их, но сначала проясним один фундаментальный архитектурный момент, из которого вытекают ответы на 90% твоих претензий.
KODE.market не хостит бинарники и исходный код.
KODE.market - это децентрализованный поисковик и каталог (витрина), который работает с GitHub и GitLab исключительно через их API. Все файлы физически лежат на серверах GitHub/GitLab или скачиваются напрямую с их CDN. Мы не загружаем их к себе на серверы (кроме временного кэша метаданных в LevelDB).
Теперь по пунктам:
1. SEO-мусор, безопасность и DMCA (GTA 6 / Claude Code)
Поскольку KODE не хостит контент, а индексирует живые репозитории, вся политика модерации, DMCA и борьба с SEO-спамом - это зона ответственности GitHub и GitLab.
Если кто-то зальет исходники GTA 6 на GitHub, и правообладатель кинет DMCA-страйк, GitHub удалит релиз. В ту же секунду наш API перестанет его отдавать, и карточка в KODE исчезнет или станет пустой. Мы работаем как поисковый движок (как Google или AlternativeTo), а не как файлопомойка. Safe Harbor в действии.
2. Вирусы, загрузчики и “удобная платформа”
Ты абсолютно прав: VirusTotal - не панацея и не ловит свежие FUD-криптеры или зашифрованные лоадеры. Но давай посмотрим, как на самом деле формируется доверие в KODE:
SHA-256 в браузере: Мы считаем хэш через Web Crypto API прямо на стороне пользователя. Это гарантирует, что скачанный бинарник не подменили по пути (MITM) и он бит-в-бит совпадает с тем, что выложил автор.
Прозрачность, а не слепая вера: Мы показываем вердикт VT, но также даем прямые ссылки на VirusTotal, магнет-ссылки (где целостность каждого куска проверяется BitTorrent-хэшем) и полную статистику по репозиторию (частота коммитов, график звезд за год, peak-month).
Open-source доверие: В мире open-source главный модератор - это комьюнити. Репозиторий-однодневка с 0 звезд и подозрительными бинарниками не попадет в TRENDING.
KODE не заменяет собой антивирус, он дает пользователю инструмент для верификации (хэши, VT, WebTorrent) в одном окне, чтобы ему не пришлось бегать по 7 ссылкам в поисках “чистого” файла.
3. Спам кнопки VIRUS_CHECK (100 000 раз в минуту)
Тут ты немного не учел архитектуру бэкенда, которую я описывал:
Глобальный кэш по SHA-256: В LevelDB есть префикс vthash:. Если этот бинарник (или любой другой файл с таким же хэшем в мире) уже проверялся, мы отдаем результат из кэша за 0 миллисекунд. Ты можешь кликнуть кнопку миллион раз — это будет миллион мгновенных хитов кэша, а не запросов к API VirusTotal.
Авторизация и очередь: Ручной запуск (/api/vt/scan) требует авторизации (auth required). Задачи падают в FIFO-очередь (vtqueue), а воркер обрабатывает их с учетом rate-limit’ов VT и автоматического бэкоффа.
Ленивый запуск: Сканирование часто триггерится лениво, на основе hit-counter’а просмотров, чтобы не жечь API-ключи впустую на файлы, которые никому не нужны.
Вывод:
KODE.market - это мост и витрина. Мы забираем на себя боль UX (поиск, фильтры, OS-теги, хэши, торренты, OG-картинки), но не подменяем собой хостинг-платформы (GitHub/GitLab) в вопросах хранения контента и юридической ответственности.
🤝Спасибо за конструктивный скепсис! Именно такие вопросы помогают нам лучше доносить архитектуру проекта. Заглядывай в документацию https://kode.market/#/about , там много подобных нюансов расписано.
Честно скажу, затраты на время от идеи до внедрения клиентской части с nodejs+vue+electron (а теперь nodegui) в разы меньшие, чем в qt/c++. Это отличный компромисс между потреблением ресурсов и временем внедрения.
Кроссплатформенность, единая кодовая база, у меня на nodejs+vue в обертке электрона или nodegui (ios,android,mac,nix,win)
Да отзывчивость хуже, рендеринг медленнее, но для быстрого прототипирования и стартапов в 2-3 человека то что нужно, +прибавить Typescript строгий как JAVA, тогда совсем хорошо всё и в больших командах. А если/когда стартап-приложение выстрелит, ничего не мешает расширить команду до гуру системного кодинга и оптимизации имея ресурсы.
Замечу: всё это касается части не критичной к вычислениям.
Мы в мире веба живем, когда на стороне клиента лишь кнопки, а backend где-то там на серверах вычисляется и доставляет данные, который и пишется на c/c++, assembler, не вижу ничего критичного в быстрой разработке красивых морд на js-подобных инструментах, но не забываем про утечки памяти и гавнокодинг, иначе будет гигабайтами закусывать.