Шифрование скриптов¶
В этой главе вы узнаете, как шифровать разработанные вами модули или скрипты FIRERPA. Речь пойдет не о шифровании скриптов на стороне ПК, а о скриптах или модулях, работающих во встроенной среде Python FIRERPA. Например, модули в /data/usr/module/task, /data/usr/module/extension или скрипты, выполняемые с помощью встроенной команды Python. Мы предоставляем соответствующие инструменты, которые помогут вам быстро выполнить эту задачу. В этой главе вы узнаете, как защитить разработанные вами скрипты.
Шифрование скриптов осуществляется путем преобразования кода с помощью Cython в C и последующей компиляции в файл .so. Этот метод не оказывает значительного влияния на производительность, однако мы рекомендуем шифровать только ключевую логику, а не все файлы скриптов. Также не следует шифровать файлы сторонних библиотек, так как это бесполезно. Всегда придерживайтесь принципа: "шифровать только собственную логику".
Сборка образа с инструментами¶
Наш инструментарий в значительной степени зависит от Docker, поэтому перед началом работы убедитесь, что он у вас установлен. Теперь клонируйте репозиторий https://github.com/firerpa/compiler и соберите образ, следуя документации или приведенной ниже команде.
docker build -t compiler .
Шифрование кода скрипта¶
Используйте следующую команду, чтобы подключить исходный код в образ и скомпилировать его. Поддерживаемые архитектуры включают arm, arm64, x86, x86_64, что соответствует различным архитектурам сервера FIRERPA. Разные архитектуры несовместимы друг с другом.
docker run -it --rm -v /source/dir:/data compiler:latest compile.sh --arch arm64 /data/my_important_script.py
При успешном выполнении команды в том же каталоге, где находится ваш скрипт, будет создан файл my_important_script.cpython-39.so. Не переименовывайте этот файл. Если вам нужно другое имя, следует изменить имя исходного скрипта. Теперь при развертывании скрипта вы можете удалить соответствующий исходный файл .py и заменить его файлом .so.
Внимание