Skip to content

Repository files navigation

🔍 EchoPrint AI

Образовательный AI-анализатор уникальности и реалистичности устройства/браузера

License: MIT Next.js TypeScript

EchoPrint AI Preview

🎯 О проекте

EchoPrint AI помогает пользователям понять, насколько их браузер и устройство выделяются среди миллионов других в интернете. Инструмент собирает характеристики, анализирует уровень уникальности цифрового отпечатка, проверяет согласованность параметров и даёт рекомендации по улучшению приватности.

✨ Ключевые возможности

  • 📊 80+ сигналов для сбора fingerprint-данных
  • 🔐 100% приватность — все данные обрабатываются только в браузере
  • 🤖 AI-анализ с понятными рекомендациями на русском языке
  • 📈 Uniqueness Score — оценка уникальности устройства (0-100%)
  • ✅ Consistency Score — 30+ правил проверки логичности параметров
  • ⚠️ Anomaly Detection — обнаружение виртуализации, автоматизации, модификаций
  • 💾 Экспорт отчёта в JSON для личного использования

🛠️ Технологии

  • Frontend: Next.js 15 (App Router), TypeScript, Tailwind CSS
  • UI Components: shadcn/ui
  • Fingerprint: @fingerprintjs/fingerprintjs
  • Deployment: GitHub Pages / Vercel / Netlify (static export)

📦 Установка

Требования

  • Node.js 18+
  • bun или npm

Локальный запуск

# Клонирование репозитория
git clone https://github.com/yourusername/echoprint-ai.git
cd echoprint-ai

# Установка зависимостей
bun install
# или
npm install

# Запуск в режиме разработки
bun run dev
# или
npm run dev

Откройте http://localhost:3000 в браузере.

Сборка для production

bun run build
# или
npm run build

🚀 Деплой

GitHub Pages

  1. Обновите next.config.ts:
const nextConfig: NextConfig = {
  output: 'export',
  basePath: '/echoprint-ai', // ваш репозиторий
  images: {
    unoptimized: true
  }
};
  1. Соберите и задеплойте:
bun run build
# Папка 'out' содержит статический сайт

Vercel (рекомендуется)

Deploy with Vercel

  1. Fork репозитория
  2. Подключите к Vercel
  3. Автоматический деплой при push

Netlify

Deploy to Netlify

  1. Fork репозитория
  2. Подключите к Netlify
  3. Build command: npm run build
  4. Publish directory: out

📊 Собираемые параметры

Canvas Fingerprint (4 сигнала)

  • Text rendering hash
  • Geometry rendering hash
  • Gradient rendering hash
  • Emoji rendering hash

WebGL Fingerprint (10+ сигналов)

  • UNMASKED_VENDOR
  • UNMASKED_RENDERER
  • Extensions list
  • Max texture size
  • Shader precision
  • Rendered scene hash

Audio Fingerprint (4 сигнала)

  • AudioContext hash
  • Sample rate
  • Channel count
  • Offline audio processing

Hardware (9+ сигналов)

  • CPU cores
  • Device memory
  • Screen resolution
  • Color depth
  • Pixel ratio
  • Touch points
  • GPU info

Navigator & Client Hints (12+ сигналов)

  • User-Agent
  • Platform
  • Languages
  • WebDriver flag
  • Client Hints (Sec-CH-UA-*)

И многое другое...

  • Fonts enumeration (400+ шрифтов)
  • WebRTC leak detection
  • Media devices
  • Sensors API
  • Battery status
  • Storage APIs
  • Performance timing
  • Timezone & locale

🔬 Методология анализа

Uniqueness Score

Рассчитывается на основе Shannon entropy и статистической редкости комбинаций сигналов:

Uniqueness = (Entropy / MaxEntropy) * 100
  • 0-25%: Массовое устройство, хорошая приватность
  • 25-50%: Мало уникальный, отслеживание затруднено
  • 50-75%: Умеренно уникальный, частичное отслеживание
  • 75-100%: Очень уникальный, легко идентифицировать

Consistency Score

30+ правил проверки логичности:

  • UA ↔ Platform соответствие
  • OS ↔ GPU соответствие
  • Screen resolution реалистичность
  • Browser ↔ Engine соответствие
  • Виртуализация GPU
  • И многое другое

Anomaly Detection

Обнаружение:

  • 🖥️ Виртуализации (VMware, VirtualBox, Parallels)
  • 🤖 Автоматизации (Selenium, WebDriver, Headless)
  • 🔧 Модификаций (Canvas randomization, WebGL spoofing)

🔐 Приватность

⚠️ Все данные обрабатываются только в вашем браузере и никуда не отправляются.
  • ❌ Нет серверной части
  • ❌ Нет cookies для трекинга
  • ❌ Нет аналитики
  • ❌ Нет внешних запросов
  • ✅ Полностью client-side

🎨 Кастомизация

Темы

Используется CSS переменные Tailwind:

:root {
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --primary: 262.1 83.3% 57.8%;
  /* ... */
}

Добавление новых проверок

  1. Создайте функцию в src/lib/fingerprint/
  2. Добавьте типы в src/lib/types.ts
  3. Интегрируйте в collector.ts
  4. Добавьте правила в consistency.ts

🤝 Вклад в проект

Мы приветствуем вклад! Пожалуйста:

  1. Fork репозитория
  2. Создайте ветку (git checkout -b feature/amazing-feature)
  3. Commit изменения (git commit -m 'Add amazing feature')
  4. Push в ветку (git push origin feature/amazing-feature)
  5. Откройте Pull Request

📄 Лицензия

MIT License - используйте свободно для любых целей.

🙏 Благодарности

  • FingerprintJS — за отличную библиотеку
  • shadcn/ui — за красивые компоненты
  • Next.js — за лучший React фреймворк

Сделано с ❤️ для приватности в интернете


Project note

This repository contains TypeScript / API experiment work in the same product family as EchoPrint-related tooling.

  • Primary language: TypeScript
  • Focus: API surface / app structure experiments
  • Maintainer: @Evreu1pro

If you landed here from the portfolio, see also EchoPrint-AI for the main product README and live demo.

About

TypeScript project / API experiments — clean TS stack

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages