Просматривайте открытые профили разработчиков GitHub, репозитории и недавнюю активность без входа в систему.
English · 简体中文 · 繁體中文 · Русский · 日本語 · Deutsch · Français · 한국어
- Поиск разработчиков — Имена пользователей,
@имяили ссылки на GitHub; открытые профили, подписчики, подписки и дата регистрации. - Анализ репозиториев — Все страницы публичных репозиториев, суммы Stars / Forks без форков, распределение основных языков и пять лидеров по Stars.
- Поиск и фильтры — Поиск по названию, описанию или языку; фильтры форков и архивов; сортировка по Stars, Forks или обновлению. По 20 результатов на странице.
- Недавняя активность — До 30 публичных событий с раскрываемым списком.
- Языки и темы — Восемь языков интерфейса и документации API; адаптивный интерфейс для компьютеров и мобильных устройств, системная тема и сохранение светлой / тёмной темы.
- История и горячие клавиши — Десять последних успешных запросов, очистка истории, ссылки для публикации и
/, Enter, Esc. - Серверный кеш — Полные результаты на десять минут, объединение одинаковых одновременных запросов, независимая загрузка и повторные запросы профилей, репозиториев и активности.
- Публичный API — Эндпоинты профилей, репозиториев и активности только для чтения со встроенной документацией.
Статистика использует только публичные данные. Суммы Stars / Forks не включают форки, но включают архивированные репозитории; распределение языков считает репозитории по их основному языку. При неполной загрузке появляется уведомление, а общая статистика скрывается.
Импортируйте репозиторий на платформу с поддержкой Next.js 16 и динамических Route Handlers, используя следующие настройки:
| Настройка | Значение |
|---|---|
| Node.js | 24.x |
| Команда установки | npm ci |
| Команда сборки | npm run build |
| Переменные окружения | SITE_URL и необязательный GITHUB_TOKEN |
Серверу нужен доступ к https://api.github.com, а эндпоинтам репозиториев — лимит выполнения функции не менее 60 секунд. Проект содержит серверные эндпоинты и не поддерживает развёртывание через статический экспорт на GitHub Pages.
npm ci
npm run build
npm run startПо умолчанию сервер слушает 127.0.0.1:3000; для публичного доступа используйте обратный прокси.
Используйте Node.js 22.12+ (22.x) или 24.x. Рекомендуется Node.js 24, указанный в .nvmrc.
git clone https://github.com/everfu/GHP.git
cd GHP
npm ci
npm run devОткройте http://127.0.0.1:3000. Английские URL не имеют языкового префикса; остальные используют /zh, /zh-tw, /de, /ru, /ja, /fr или /ko, например /ru/u/everfu и /ru/docs. При первом посещении язык выбирается по настройкам браузера. Переключение языка сохраняет текущий запрос.
При необходимости скопируйте пример конфигурации и перезапустите сервер после изменений:
cp .env.example .env.local| Переменная | Описание | Поведение по умолчанию |
|---|---|---|
GITHUB_TOKEN |
Необязательный серверный токен для повышения лимита запросов к API GitHub | Если не задан, используется общий лимит IP сервера |
SITE_URL |
Публичный URL сайта с https:// для абсолютных ссылок на изображения для публикаций |
Используется URL от Vercel или адрес локальной разработки |
Для GITHUB_TOKEN нужен только доступ на чтение публичных данных; права на приватные репозитории и запись не требуются. Храните токен на сервере, не добавляйте префикс NEXT_PUBLIC_ и не коммитьте .env.local.
После запуска доступна встроенная документация API.
| Эндпоинт | Данные |
|---|---|
GET /api/users/{username} |
Публичный профиль пользователя |
GET /api/users/{username}/repos |
Публичные репозитории со всех страниц |
GET /api/users/{username}/events |
До 30 последних публичных событий |
curl http://127.0.0.1:3000/api/users/everfu
curl http://127.0.0.1:3000/api/users/everfu/repos
curl http://127.0.0.1:3000/api/users/everfu/eventsУспешные ответы содержат { data, fetchedAt, complete }. Если загрузка репозиториев прервана после нескольких страниц, ответ содержит доступные данные, complete: false и поле error. Ответы с ошибкой используют { error: { code, retryAt? } }.
- Next.js 16 App Router, React 19, TypeScript
- Tailwind CSS 4, Motion, Lucide React
- GitHub REST API, LRU-кеш в памяти процесса
- Vitest, Playwright, ESLint, Prettier
npm run check
npm run build
# Установите Chromium перед первым запуском браузерных тестов
npx playwright install chromium
npm run test:e2eCI выполняет проверки и сборку на Node.js 22 / 24, а также регрессионные тесты в браузерах для компьютеров и мобильных устройств. Приглашаем участвовать через Issues и Pull Request.
Благодарим проект next-whois.
Apache License 2.0. Лицензии шрифтов: public/fonts/LICENSE.txt.