← Все проекты
Проект / Java

perryvegehan/UPI_Without_Internet: UPI Offline Mesh — демонстрация офлайн-платежей UPI через mesh-сеть

Отправляйте UPI-переводы без интернета: платеж «прыгает» по телефонам, пока не найдет выход в сеть.

Это демонстрационный бэкенд на Spring Boot, который эмулирует офлайн-маршрутизацию UPI-платежей через mesh-сеть. Проект решает три ключевые задачи: сквозное шифрование (RSA + AES-GCM), гарантия однократного исполнения при параллельной доставке (атомарный...

★ 20 Java Форки 7 Issue 0 Оценка 7/10 Карточка проверена

Для кого это

Разработчикам, интересующимся криптографией, распределенными системами и офлайн-финансами. Подойдет для изучения прототипирования на Spring Boot и тестирования идемпотентности.

Проблема / задача

В зонах без интернета (подвал, метро, удаленные районы) невозможно совершить UPI-перевод. Проект показывает, как обойти это ограничение, используя mesh-сеть из телефонов в качестве транспорта.

Как это работает

Приложение моделирует ситуацию: телефон Алисы шифрует платеж и отправляет его по Bluetooth соседним устройствам. Пакет пересылается от телефона к телефону (gossip-протокол), пока один из них не выйдет в интернет и не загрузит данные на сервер. Сервер расшифровывает, проверяет уникальность (идемпотентность) и проводит транзакцию. Всё это можно запустить на одном ноутбуке с помощью встроенного симулятора mesh-сети.

Что видно по README

Это демонстрационный бэкенд на Spring Boot, который эмулирует офлайн-маршрутизацию UPI-платежей через mesh-сеть. Проект решает три ключевые задачи: сквозное шифрование (RSA + AES-GCM), гарантия однократного исполнения при параллельной доставке (атомарный compare-and-set) и отклонение поддельных или повторных пакетов. В комплекте идет веб-дашборд для пошагового прогона сценария: создание платежа, gossip-рассылка,...

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

Сквозное шифрование платежей: даже промежуточные узлы не могут прочитать или изменить данныеИдемпотентность: при одновременной доставке одного пакета через несколько мостов транзакция выполняется ровно один разОтклонение поддельных и повторных пакетов до попадания в реестрВстроенный симулятор mesh-сети для демонстрации на одном компьютереВеб-дашборд с пошаговым управлением сценарием

Технологии

Java 17Spring Boot 3.3H2 DatabaseThymeleafRSA + AES-GCMJavaPostgreSQLRedisRustGo

Интересный факт

Проект родился из идеи: «А что, если отправить деньги, просто поднеся телефон к другому телефону в подвале?» — и это работает в симуляции.

С чего начать

  • Установите JDK 17 или новее, проверьте java -version
  • Склонируйте репозиторий и выполните ./mvnw spring-boot:run (Linux/Mac) или mvnw.cmd spring-boot:run (Windows)
  • Откройте http://localhost:8080 и следуйте шагам на дашборде

Оценка GitRadar

Удобство
8/10
Свежесть
9/10
Перспектива
7/10
Монетизация
4/10
Общая оценка
7/10

Вердикт GitRadar

Стоит попробовать, если хотите понять, как можно организовать офлайн-платежи на практике. Проект — отличный учебный пример по криптографии, идемпотентности и распределенным системам. Для продакшена потребуется доработка (реальный Bluetooth, P2P-сеть, безопасность), но как демо — очень наглядно.

Наблюдения по обновлениям

Проект свежий (2024), активно поддерживается автором. Есть тесты, документация и четкое описание ограничений.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/perryvegehan/UPI_Without_Internet
Создан на GitHub
25 апреля 2026 г.
Последнее обновление репо
25 апреля 2026 г.
Последняя проверка GitRadar
25 апреля 2026 г.
Изученные файлы
README.md, pom.xml, src/main/java/com/demo/upimesh/UpiMeshApplication.java, src/test/java/com/demo/upimesh/IdempotencyConcurrencyTest.java, src/main/java/com/demo/upimesh/model/AccountRepository.java, src/main/java/com/demo/upimesh/config/AppConfig.java

FAQ

Что это такое?

Демонстрационный бэкенд для офлайн UPI-платежей, которые передаются через mesh-сеть из телефонов без интернета.

Для кого подходит?

Для разработчиков, интересующихся криптографией, распределенными системами и прототипированием на Spring Boot.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с perryvegehan/UPI_Without_Internet?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.