Что такое Obtainium? | What is Obtainium?
Obtainium - это приложение для автоматического отслеживания и установки обновлений open-source приложений напрямую из GitHub. | Obtainium is an app for automatically tracking and installing updates of open-source apps directly from GitHub.
Как установить | How to install:
- Установите Obtainium
- Нажмите на значок выше или добавьте вручную:
https://github.com/disk0Dancer/Wolle - Obtainium автоматически установит приложение и будет следить за обновлениями
📥 Скачать последнюю версию | Download Latest Version
- Скачайте
.apkфайл из Releases - Включите "Установка из неизвестных источников" в настройках Android
- Установите APK файл
Русский: NFC Card Emulator - это современное Android приложение для эмуляции NFC карт. Приложение позволяет считывать физические NFC карты и оцифровывать их, чтобы терминалы не видели разницы между физической и виртуальной картой.
English: NFC Card Emulator is a modern Android application for emulating NFC cards. The app allows you to read physical NFC cards and digitize them so terminals cannot detect the difference between physical and virtual cards.
- 📱 Простой UI | Simple, intuitive user interface
- 🔄 Слайдер карт | Card slider for quick selection
- 📡 HCE эмуляция | Host Card Emulation for terminal compatibility
- 🔒 Безопасность | Encrypted storage with biometric protection
- 🎨 Material Design 3 | Modern Android design with dynamic theming
- 🏠 Виджеты | Home screen widgets for instant card access
- ⚡ Быстро и удобно | Fast, convenient, and easy to use
Приложение построено на современном Android стеке с использованием лучших практик:
- Язык | Language: Kotlin 1.9+
- UI: Jetpack Compose
- Архитектура | Architecture: MVVM (Model-View-ViewModel)
- DI: Hilt
- Database: Room
- Async: Kotlin Coroutines + Flow
- Min SDK: Android 8.0 (API 26)
- Target SDK: Android 14 (API 34)
Полная документация проекта доступна в директории /docs:
- C4 Model - Архитектурная модель системы (Context, Container, Component, Code)
- Functional Requirements - Функциональные требования к приложению
- Non-Functional Requirements - Нефункциональные требования (производительность, безопасность, надежность)
- User Scenarios - Сценарии использования и пользовательские истории
- Project Setup - Инструкция по настройке проекта для разработчиков
- Coding Style Guide - Стандарты кодирования и best practices
- Development Roadmap - Детальный план разработки по спринтам и задачам
Sprint 1 (Foundation & Core Infrastructure) - ✅ ЗАВЕРШЕН | COMPLETED
Реализованные компоненты | Implemented Components:
- ✅ Многомодульная архитектура (app, data, domain, presentation)
- ✅ Настройка Gradle с Kotlin DSL и version catalogs
- ✅ Room база данных с шифрованием ByteArray
- ✅ Полная реализация Repository pattern
- ✅ Hilt dependency injection модули
- ✅ Шифрование AES-256-GCM через Android Keystore
- ✅ Безопасное хранилище для настроек приложения
- ✅ Unit тесты для слоя мапперов
Sprint 2 (NFC Card Reading) - ✅ ЗАВЕРШЕН | COMPLETED
Реализованные компоненты | Implemented Components:
- ✅ NFC Reader Service с поддержкой всех типов карт (ISO-DEP, MIFARE, NFC-A/B/F/V)
- ✅ Экран сканирования карт с Material Design 3
- ✅ Горизонтальный слайдер карт
- ✅ Сохранение и управление картами
- ✅ Use cases для работы с картами
- ✅ ViewModels для сканирования и списка карт
- ✅ Foreground NFC dispatch в MainActivity
Sprint 3 (UI/Card Management) - ✅ ЗАВЕРШЕН | COMPLETED
Реализованные компоненты | Implemented Components:
- ✅ Полноценный UI для управления картами
- ✅ Экраны списка карт и сканирования
- ✅ Material Design 3 компоненты
- ✅ Навигация между экранами
Sprint 4 (HCE Emulation) - ✅ ЗАВЕРШЕН | COMPLETED
Реализованные компоненты | Implemented Components:
- ✅ NfcEmulatorService для эмуляции карт
- ✅ Обработка APDU команд (SELECT, READ BINARY, GET DATA)
- ✅ Эмуляция UID, ATS и исторических байтов
- ✅ Сохранение выбранной карты в SecureStorage
- ✅ Обновление статистики использования
- ✅ Комплексный набор тестов (30+ тест кейсов)
Следующий этап | Next Phase: Sprint 5 - Финальная полировка и релиз
- Android Studio Hedgehog (2023.1.1) или новее
- JDK 17
- Android устройство с NFC (для тестирования)
# Клонировать репозиторий | Clone repository
git clone https://github.com/disk0Dancer/Wolle.git
cd Wolle
# Установить git хуки (опционально) | Setup git hooks (optional)
./.githooks/setup.sh
# Открыть в Android Studio | Open in Android Studio
# File > Open > Select project directory
# Собрать проект | Build project
./gradlew build
# Запустить на устройстве | Run on device
./gradlew installDebugПодробная инструкция: Project Setup Guide
-
Сканирование карты | Card Scanning
- Откройте приложение и нажмите "Добавить карту"
- Поднесите физическую NFC карту к телефону
- Назовите карту и сохраните
-
Эмуляция карты | Card Emulation
- Выберите карту в слайдере
- Поднесите телефон к терминалу
- Терминал прочитает виртуальную карту
-
Управление картами | Card Management
- Просматривайте все сохраненные карты
- Переименовывайте и настраивайте карты
- Удаляйте ненужные карты
Больше сценариев: User Scenarios
- ✅ Шифрование всех данных карт (AES-256)
- ✅ Хранение ключей в Android Keystore
- ✅ Биометрическая аутентификация (опционально)
- ✅ Работает без доступа к интернету
- ✅ Открытый исходный код
- Kotlin 1.9.20+
- Gradle 8.2+ с Kotlin DSL
- Android SDK 26-34
- Jetpack Compose - Современный декларативный UI
- Material Design 3 - Актуальные компоненты дизайна
- Navigation Component - Навигация между экранами
- Hilt - Dependency Injection
- Room - Локальная база данных
- Coroutines & Flow - Асинхронность
- ViewModel - Управление состоянием UI
- EncryptedSharedPreferences - Безопасное хранение настроек
- Biometric API - Биометрическая аутентификация
- ProGuard/R8 - Обфускация кода
- JUnit 5 - Unit тесты
- MockK - Мокирование
- Espresso - UI тесты
- Compose UI Test - Тесты Compose
- ktlint - Форматирование кода
- Detekt - Статический анализ
- JaCoCo - Покрытие кода
- GitHub Actions - Автоматическая сборка и тестирование
- Dependabot - Автоматическое обновление зависимостей
- Auto-labeling - Автоматическая маркировка PR
- Экономичная конфигурация - Оптимизировано для бесплатного tier GitHub Actions
- См. DevOps Documentation для деталей
Мы приветствуем вклад в проект! Перед началом работы:
- Прочитайте Contributing Guide - полное руководство по участию
- Ознакомьтесь с Coding Style Guide
- Изучите Architecture
- Создайте feature branch
- Напишите тесты для ваших изменений
- Отправьте Pull Request
- Все коммиты следуют Conventional Commits
- Код должен проходить ktlint проверку
- Unit тесты с покрытием ≥80%
- Документация для публичных API
- CI/CD проверки должны пройти успешно
- Архитектура и документация
- Базовая инфраструктура проекта
- Настройка БД (Room) с шифрованием
- Система безопасности (AES-256, Keystore)
- Модульная архитектура (Clean Architecture)
- Сканирование NFC карт
- HCE эмуляция (Host Card Emulation)
- Управление картами
- Базовый UI с Material Design 3
- Комплексный набор Unit тестов
- Биометрическая аутентификация
- История транзакций
- Расширенная кастомизация карт
- Улучшенная обработка ошибок
- Локальное резервное копирование (экспорт/импорт файлов)
- Расширенная фильтрация и поиск карт
- Виджеты на главный экран
- Темы оформления
- Поддержка планшетов
См. V2_FEATURES.md для деталей реализации v2.0 функций.
Этот проект распространяется под лицензией BSD 3-Clause License. См. LICENSE для деталей.
Copyright (c) 2025, Grigorii Churakov
Важно | Important:
Это приложение предназначено для легального использования с вашими собственными картами. Пользователи несут ответственность за соблюдение местных законов и правил использования NFC карт.
НЕ используйте для:
- Клонирования платежных карт (кредитных, дебетовых)
- Несанкционированного доступа
- Мошенничества
DO NOT use for:
- Cloning payment cards (credit, debit)
- Unauthorized access
- Fraud
Разработчики не несут ответственности за неправомерное использование приложения.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Сделано с ❤️ для удобства использования NFC карт | Made with ❤️ for convenient NFC card usage
