Lic Decoder
Web-утилита для извлечения регистрационных данных из файлов лицензий 1С:Предприятие (.lic). Позволяет восстановить PIN-код, данные владельца и другую информацию, если файл LicData.txt был утерян.
Запуск через Docker
- Задайте секрет JWT в
.envили напрямую вdocker-compose.yml:
echo "JWT_SECRET=your-strong-random-secret" > .env
- Запустите:
docker compose up -d
Приложение будет доступно на http://localhost:3080.
Переменные окружения
| Переменная | По умолчанию | Описание |
|---|---|---|
JWT_SECRET |
change-me-to-a-strong-secret |
Секрет для подписи/проверки JWT |
PORT |
3000 |
Порт внутри контейнера |
UPLOAD_DIR |
/tmp/lic-decoder-uploads |
Директория для загрузок |
TMP_BASE |
/tmp/lic-decoder |
Базовая директория временных файлов |
RING_CMD |
ring |
Путь к команде ring |
Rate Limits
Без JWT-токена: 3 декодирования в час на один IP-адрес. IP берётся из заголовков реверс-прокси (X-Forwarded-For).
С валидным JWT-токеном в заголовке Authorization: Bearer <token> лимит снимается.
Генерация JWT-токена
JWT_SECRET="your-strong-random-secret" node -e "
const jwt = require('jsonwebtoken');
console.log(jwt.sign({}, process.env.JWT_SECRET, { expiresIn: '30d' }));
"
API
Полная документация: API.md
Кратко
| Метод | Путь | Описание | Auth | Rate Limit |
|---|---|---|---|---|
| GET | /api/status |
Проверка готовности системы | нет | нет |
| POST | /api/decode |
Декодирование .lic файла | опц. | 3/час* |
| GET | /api/docs |
API документация (JSON) | нет | нет |
* без JWT; с JWT — без лимита
Примеры
# Проверка статуса
curl http://localhost:3080/api/status
# Декодирование (без JWT — считается в rate limit)
curl -F "license=@license.lic" http://localhost:3080/api/decode
# Декодирование (с JWT — без rate limit)
curl -H "Authorization: Bearer <your-token>" \
-F "license=@license.lic" \
http://localhost:3080/api/decode
# Подробный режим
curl -F "license=@license.lic" -F "detailed=true" http://localhost:3080/api/decode
Локальная установка (без Docker)
Необходимы:
- JRE 11+
- 1C:Enterprise License Tools (ring)
cd web
npm install
JWT_SECRET=your-secret npm run dev
Description
Languages
JavaScript
41.1%
HTML
40.8%
Shell
15.5%
Dockerfile
2.6%