Установка SIMple
Требования
- Python 3.9+ с
pip, и Git — приложение работает на 3.9+, но SCP81 TLS-PSK-слушателю нужен Python 3.13+ (PSK-callback'иssl). - Поддержка venv в Python —
setup.shсоздаёт.venv; если создание завершается сensurepip is not available(в Debian/Ubuntu модуль venv поставляется отдельно), установите его (sudo apt install python3-venv) и запустите./setup.shснова. Неполный.venv, оставшийся от неудачного запуска, удаляется автоматически. - Смарт-картридер (PC/SC или serial/FTDI) — предпочтителен PC/SC (
pcsc-lite+ccidна Linux). Уpyscardнет Linux-wheel, поэтому он собирается из исходников: поставьте и пакет с заголовками PC/SC (libpcsclite-devв Debian/Ubuntu,pcsc-lite-develв Fedora; в Arch они входят вpcsclite). - Windows — используйте Python 3.13 (настоятельно рекомендуется): для него
pyscardпоставляет готовые wheel, так что ничего компилировать не нужно; на 3.14 wheel дляpyscardи части зависимостей pysim отсутствуют, и они собираются из исходников (нужны MSVC C++ Build Tools).
Быстрый старт
Установка сервера — два способа:
1. Скачать релизный пакет (рекомендуется). На странице Releases возьмите последний пакет (simple-<version>.zip), распакуйте в любое место и один раз запустите setup:
./setup.sh # или setup.bat в Windows — создаёт .venv, ставит pysim + сервер
./start.sh # или start.bat — запускает сервер (он же раздаёт фронтенд)
Пакет собран из помеченного тегом исходного кода — без истории git и без файлов для разработки. Git всё равно нужен: setup ставит pysim из его upstream-репозитория.
Обновление: ./update.sh (или update.bat) обновляет пакетную установку на месте — pysim и его зависимости остаются, ничего не пересобирается.
2. Клонировать репозиторий (для разработки или ещё не выпущенных изменений).
git clone https://github.com/anttro/simple.git # или --depth 1: без истории,
cd simple # `git pull` всё равно обновляет
./setup.sh # или setup.bat в Windows
./start.sh # или start.bat
Затем откройте http://127.0.0.1:8080 — сервер запускается и с пустым картридером (отсутствие карты — нормальное состояние): вставьте карту, и она инициализируется автоматически (auto-equip), либо нажмите Equip card в интерфейсе.
Скрипты
| Скрипт | Назначение |
|---|---|
setup.sh / setup.bat | Создаёт .venv/ (или исправляет неполный), ставит pysim и сервер. Запускать один раз после клонирования или распаковки релизного пакета. |
start.sh / start.bat | Запускает сервер из venv (раздаёт фронтенд + API на :8080). |
update.sh / update.bat | Обновляет пакетную установку на месте: скачивает последний релизный пакет, заменяет файлы приложения и переустанавливает приложение в существующий .venv (pysim сохраняется). --check, --version X.Y.Z, --zip FILE, --no-pip, --force. |
start.sh перед запуском проверяет доступ к PC/SC: если пользователь не может использовать pcscd (или служба не запущена), он печатает причину и рекомендации (группа/polkit) и завершается — сервер не откатывается на последовательный ридер молча. При наличии доступа сервер сам находит первый PC/SC-ридер; start.bat всегда передаёт -p 0 (в Windows PC/SC встроен). Явный serial/FTDI-ридер по-прежнему возможен через -d <устройство> (проверка пропускается). Дополнительные аргументы передаются серверу, например ./start.sh --gsmtap или start.bat --gsmtap 10.0.0.5:4729. Если PC/SC-ридер не найден, сервер сообщает об этом и завершается — подключите ридер и перезапустите (ридер без карты — по-прежнему нормальный старт без карты).