- Notifications
You must be signed in to change notification settings - Fork4
加密Python代码&动态导入(encrypt Python source code and import dynamically).
License
ZhaoQi99/pyencrypt-pye
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
encrypt python source code and import module dynamically.
_ _ __ _ _ ___ _ __ ___ _ __ _ _ _ __ | |_ | '_ \| | | |/ _ \ '_ \ / __| '__| | | | '_ \| __| | |_) | |_| | __/ | | | (__| | | |_| | |_) | |_ | .__/ \__, |\___|_| |_|\___|_| \__, | .__/ \__| |_| |___/ |___/|_| encrypt python source code and import dynamically. VERSION 0.4.0
https://github.com/ZhaoQi99/pyencrypt-pye/wiki#how-to-do
pip install pyencrypt-pye✨🍰✨
Or you can usepip install git+https://github.com/ZhaoQi99/pyencrypt-pye.git
install latest version.
View examples in theexamples directory.
Usage: pyencrypt [OPTIONS] COMMAND [ARGS]...Options: --version Show the version and exit. -h, --help Show this message and exit.Commands: decrypt Decrypt encrypted pye file encrypt Encrypt your python code generate Generate loader file using specified key license Generate license file using specified key
~$ pyencrypt encrypt -hUsage: pyencrypt encrypt [OPTIONS] PATHNAME Encrypt your python codeOptions: -i, --in-place make changes to filesin place -k, --key 🔑 Your encryption key.If you don‘t specify key, pyencrypt will generate encryption key randomly. [env var: PYE_ENCRYPT_KEY] --without-loader Don't generate loader file --with-license Add license to encrypted file -m, --bind-mac 01:23:45:67:89:AB Bind mac address to encrypted file -4, --bind-ipv4 192.168.0.1 Bind ipv4 address to encrypted file -b, --before [%Y-%m-%dT%H:%M:%S %z|%Y-%m-%d %H:%M:%S|%Y-%m-%d] License is invalid before this date. -a, --after [%Y-%m-%dT%H:%M:%S %z|%Y-%m-%d %H:%M:%S|%Y-%m-%d] License is invalid after this date. -y, --yes Automatically answer yes for confirm questions. -h, --help Show this message and exit.
In your entry file, you must importloader
firstly, and then you can import encrypted modules as usual.
importloaderfromtestimport*
~$ pyencrypt decrypt -hUsage: pyencrypt decrypt [OPTIONS] PATHNAME Decrypt encrypted pye fileOptions: -i, --in-place make changes to filesin place -k, --key 🔑 Your encryption key. [required] -h, --help Show this message and exit.
~$ pyencrypt generate -hUsage: pyencrypt generate [OPTIONS] Generate loader file using specified keyOptions: -k, --key 🔑 Your encryption key. [required] -h, --help Show this message and exit.
pyencrypt's loader will search for the license file in the following manner:
~/.licenses/license.lic
file in your home directory.licenses/license.lic
file inloader
file's directory.licenses/license.lic
file in the current working directory.
~$ pyencrypt license -h Usage: pyencrypt license [OPTIONS] Generate license file using specified keyOptions: -h, --help Show this message and exit. -k, --key 🔑 Your encryption key. [required] -m, --bind-mac 01:23:45:67:89:AB Bind mac address to encrypted file -4, --bind-ipv4 192.168.0.1 Bind ipv4 address to encrypted file -b, --before [%Y-%m-%dT%H:%M:%S %z|%Y-%m-%d %H:%M:%S|%Y-%m-%d] License is invalid before this date. -a, --after [%Y-%m-%dT%H:%M:%S %z|%Y-%m-%d %H:%M:%S|%Y-%m-%d] License is invalid after this date.
Bash
Add this to ~/.bashrc:eval"$(_PYENCRYPT_COMPLETE=bash_source pyencrypt)"
Zsh
Add this to ~/.zshrc:eval"$(_PYENCRYPT_COMPLETE=zsh_source pyencrypt)"
Fish
Add this to ~/.config/fish/completions/foo-bar.fish:eval (env _PYENCRYPT_COMPLETE=fish_source pyencrypt)
~$ pyencrypt encrypt --in-place -y test.py~$ pyencrypt encrypt test/~$ pyencrypt encrypt test.py -y --with-license\ --before="2000-01-01T00:00:00 +0800" --after="2030-01-01T00:00:00 +0800"\ --bind-mac="AC:DE:48:00:11:22" --bind-ipv4="192.168.0.1"
~$ pyencrypt decrypt -k xxx test.pye
~$ pyencrypt generate -k xxx
~$ pyencrypt license -k xxx\ --before="2000-01-01T00:00:00 +0800" --after="2030-01-01T00:00:00 +0800"\ --bind-mac="AC:DE:48:00:11:22" --bind-ipv4="192.168.0.1"
SeeFAQ for frequently asked questions.
black pyencrypt isort pyencrypt
GNU General Public License v3.0
- Qi Zhao(zhaoqi99@outlook.com)
About
加密Python代码&动态导入(encrypt Python source code and import dynamically).
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.