Closed hadywalied closed 1 year ago
First check this https://pyarmor.readthedocs.io/en/latest/licenses.html#check-device-for-group-license
Also run pyarmor -d reg xxxx.zip
to check machine id
@jondy I've checked it, I can obfuscate small projects on docker no problems The issue is with the 700+ file project, you understand me ?
Do you run pyarmor-auth
in docker host?
Yes, check the logs in the first issue #1498
Do you check docker host by this way? https://pyarmor.readthedocs.io/en/latest/licenses.html#check-device-for-group-license
Is machine id of docker host same after reboot?
yes it's the same b'k2a942195a0b2c0ba5d287ed7c1ddd3ea'
Run pyarmor-auth
with extra option --debug
, it will print request data. It should same when building the big project:
pyarmor-auth --debug ...
...
INFO receive request from xxxx
DEBUG request data (%d): %s
...
If request data is changed, I think the problem maybe is that pyarmor-auth
could not handle too many requests.
I did it with --debug
flag
docker host
(ADT) ubuntu@ip-172-31-26-205:~$ pyarmor-auth --debug pyarmor-device-regfile-6013.4.zip
2023-10-01 12:33:23,539: work path: /home/ubuntu/.pyarmor/docker
2023-10-01 12:33:23,540: register "pyarmor-device-regfile-6013.4.zip"
2023-10-01 12:33:23,550: extracting license.lic
2023-10-01 12:33:23,551: extracting .pyarmor_capsule.zip
2023-10-01 12:33:23,551: group license for machines: ['tokens/kaf7296b34e86aa8d71b692b23582b207']
2023-10-01 12:33:23,552: got machine id: kaf7296b34e86aa8d71b692b23582b207
2023-10-01 12:33:23,552: extracting tokens/kaf7296b34e86aa8d71b692b23582b207
2023-10-01 12:33:23,620: machine id: [b'kaf7296b34e86aa8d71b692b23582b207', b'g66cca70ced0155eae9c2ab0890cfb4b7', b'bbee50abdcf30b156b57837543fda3e10', b'ae907ebb4314414f9420e8bd16cdd7772']
2023-10-01 12:33:23,620: listen container auth request on 0.0.0.0:29092
2023-10-01 12:33:53,414: receive request from ('172.31.28.57', 52818)
2023-10-01 12:33:53,414: request data (64): b'PADHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
2023-10-01 12:33:53,414: send auth result to ('172.31.28.57', 52818)
2023-10-01 12:33:53,414: response data (136): b'kaf7296b34e86aa8d71b692b23582b207\ng66cca70ced0155eae9c2ab0890cfb4b7\nbbee50abdcf30b156b57837543fda3e10\nae907ebb4314414f9420e8bd16cdd7772\x00'
2023-10-01 12:42:19,236: receive request from ('172.31.28.57', 55858)
2023-10-01 12:42:19,236: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00mqalnmgiphdpniofpmlc'
2023-10-01 12:42:19,245: send auth result to ('172.31.28.57', 55858)
2023-10-01 12:42:19,245: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00+i\x19e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x01\x00\x00\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00mqalnmgiphdpniofpmlc\x00\x00\x00\x00\x00\x00.\xb9v\x88\xd6L\xf4e\xa1\xf5o\xa1\x94?%&DG\xc1\x15D\xdcl\xcd\xcb\xf1\n`\xb9\x0bQ|Y.\xda\x96,T\x9c\x06\xb0!<\xc1\xffja\x04\x82\x01\xde.yb\xdf\xe0\x1bN\xa5\x0e\x843 g\x11\xe8lW\x9aY\xc8\x11\x12\xfe\x93\xe2\\\x87\\i\xcbE,\xc6\xe8S\x01t\x12=D\xb9Q~p\xbb \x7f\r\x14\x81\x0f\xc0\xe9\xffv\x1a\xe1\x86\xc0\xf8\x13\xab9F\xaeI\xb7o\xd8\xb8~+ >\xe3\xfa\xf7\xfc\xc3\x1d\x19\x96\x1f\xceCH\x95o)\x16|\x8cd\xc7\xc1e\xbbz\x0b\xb0\tF\xc2Qv\xa34\x0cyJ\xb3\xa9\xc2\x13N\xf2\xd5\xcfM]\x84\xd8^\xd6\x8a\xa1\xaf\xa2\xde\xda\xf0M\x07\x01q\xc9xJ\xe7)\xe7\x05\x9c;\x12\xa7Fz\xd8\xbcn)\x00\xfc\x1f\x94nud\x80\x92\xaaxYCB\\j\xdc\xfd\x00G\xcf\r\x04\x1d|\xccR\xce)\xd1*[*3\\\x8fF@\xd9t\'\x9b\x94i\x80U\xe3\xcb \xcb\xe5\x11\xe46c617374696320426c6f636b2053746f'
...
2023-10-01 12:42:47,410: receive request from ('172.31.28.57', 54596)
2023-10-01 12:42:47,410: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00eknfgfbekfmnekeelnpd'
2023-10-01 12:42:47,413: send auth result to ('172.31.28.57', 54596)
2023-10-01 12:42:47,414: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00Gi\x19e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x01\x00\x00\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00eknfgfbekfmnekeelnpd\x00\x00\x00\x00\x00\x00m\x81\x85hr\xce\xa4\xc2\xc1q2K>KI\xff\xbd5\x1f\x82\x1d\xf9l\xd7Q\x88&\xd2\xc9\x8e{\x08t\xa8!\x85/\xe0\xdb\x10\xe8\xb3\xbb\xaemh\xaa\x9e\xd6\xf5>V\xc1\x8eC~2\xea\x90p\xee4*9cn\x923Q\x1c\xd1\xe7G\xe7O\x07?~\xf5!\xbd\xd6\x86\xa0\xb5\xdb\xaau|\x04\xbd\x81\xb2!7$\xdd\xac]\xc3R+kL\x87\xd2\xb0\xab\x02\xb9\xa2S\x07\x01\xb5I\xd6.1\xcbiq\x0e\xcc\xda\x87\xa06\xf6\xfe\x136\xb2{\xe3J9K\x14r\x86\xeflT]\xe3\xe0\t`\x0c\r?\x9c\x89\xfcp\x11\xde\x15\xc9\x1c\xda\x145R#\x1f\x14\xaa\x9e\xb0\xb0\x8a\xa8\x01\x19,M\xf6\x0e\xd1Ry\xb5\xbau\xf7>\xedH\x1e\xc4eW\xcf\xdd\xad\x0e\xdb\x04\\a\x1a[\x8a\xb1N\xd1R\x01?Suk\x89Ly&Z%\x93V*\x85\x8b\x9c<\x9c6\t]pFGx\xc2\xf7\xad}\x13\xe4\x04\xb3N\xb1\x18Z\xf5\x1c\x80\x01\x01\xc3\xb6$D6c617374696320426c6f636b2053746f'
2023-10-01 12:42:47,442: receive request from ('172.31.28.57', 54604)
2023-10-01 12:42:47,442: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec'
2023-10-01 12:42:47,444: invalid license token, try to run `pyarmor reg` to register license again
docker machine
(ADT) [root@ip-172-31-26-205 LUT]# pyarmor gen --pack ./dist/ADTv1/ADT_launcher -r ADT.py @./Builder/file.list
INFO Python 3.7.7
INFO Pyarmor 8.3.9 (group), 006013, ADTv1
INFO Platform linux.x86_64
INFO implicitly set output to ".pyarmor/pack/dist"
INFO extracting bundle "./dist/ADTv1/ADT_launcher"
INFO search inputs ...
INFO find script ADT.py
INFO find script /home/data/ADT/LUT/Core/ElectronicsCore/Amplifiers/circuits/A010001F/A010001_Code.py
...
INFO obfuscating file geometry.py
INFO patch runtime file
INFO write .pyarmor/pack/dist/Utility/geometry.py
INFO obfuscating file parseBool.py
INFO patch runtime file
INFO write .pyarmor/pack/dist/Utility/parseBool.py
INFO obfuscating file filePaths.py
ERROR invalid license token, try to run `pyarmor reg` to register license again
How about apply this patch in docker host?
--- a/pyarmor/cli/docker.py
+++ b/pyarmor/cli/docker.py
@@ -53,6 +53,7 @@ class DockerAuthHandler(socketserver.BaseRequestHandler):
def generate_runtime_key(self, userdata):
ctx = CONFIG['ctx']
ctx.cmd_options['user_data'] = userdata
+ logging.info('machine id is: %s', Pytransform3.get_hd_info(21))
return Builder(ctx).generate_runtime_key()
It will print machine id before checking license, then run pyarmor-auth reg xxxx
in docker host, and check whether machine id is changed when raising exception.
I have tested to obfuscate 1000 scripts in docker container, it still works.
I applied the patch you sent
and still the result is the same, no output is present in the terminal
Please download debug version pytransform3.so
from
http://pyarmor.dashingsoft.com/downloads/temp/docker/cp3.10/pytransform3.so
Replase cp3.10
with actual Python version in docker host.
Then overwite /path/to/pyarmor/cli/core/pytransform3.so
, and test it again.
It should print more error message in docker host console pyarmor-auth
docker host
❯ pyarmor-auth pyarmor-device-regfile-6013.2.zip
2023-10-02 15:06:32,886: work path: /home/hadywalied/.pyarmor/docker
2023-10-02 15:06:32,887: register "pyarmor-device-regfile-6013.2.zip"
2023-10-02 15:06:32,921: listen container auth request on 0.0.0.0:29092
2023-10-02 15:07:38,466: receive request from ('192.168.4.5', 48380)
2023-10-02 15:07:38,466: send auth result to ('192.168.4.5', 48380)
2023-10-02 15:07:42,343: receive request from ('192.168.4.5', 55950)
2023-10-02 15:07:42,344: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:42,349: send auth result to ('192.168.4.5', 55950)
2023-10-02 15:07:42,353: receive request from ('192.168.4.5', 55960)
2023-10-02 15:07:42,353: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:42,356: send auth result to ('192.168.4.5', 55960)
2023-10-02 15:07:42,358: receive request from ('192.168.4.5', 55964)
2023-10-02 15:07:42,359: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:42,362: send auth result to ('192.168.4.5', 55964)
...
2023-10-02 15:07:44,263: receive request from ('192.168.4.5', 56618)
2023-10-02 15:07:44,264: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:44,266: send auth result to ('192.168.4.5', 56618)
2023-10-02 15:07:44,307: receive request from ('192.168.4.5', 56634)
2023-10-02 15:07:44,307: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:44,310: send auth result to ('192.168.4.5', 56634)
2023-10-02 15:07:44,321: receive request from ('192.168.4.5', 56638)
2023-10-02 15:07:44,321: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:44,324: send auth result to ('192.168.4.5', 56638)
2023-10-02 15:07:44,379: receive request from ('192.168.4.5', 56650)
2023-10-02 15:07:44,379: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-02 15:07:44,382: send auth result to ('192.168.4.5', 56650)
2023-10-02 15:07:44,393: receive request from ('192.168.4.5', 56656)
2023-10-02 15:07:44,394: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
LOG:crypt3.c:247:this license is not for this machine
LOG:crypt3.c:247:this license is not for this machine
2023-10-02 15:07:44,395: invalid license token, try to run `pyarmor reg` to register license again
It's very strange, :(
I rebuild pytransform3.so with more print statement, please download it from same place and try it again.
Sorry for this, because I can't reproduce it in my side.
There is another way to test pyarmor-auth
in docker host, first start pyarmor-auth
, then run this client script test.py
import socket
import struct
import time
HOST = '127.0.0.1'
PORT = 29092
i = 1
while True:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'PADH' + bytes([0] * 32))
data = s.recv(4)
_, n = struct.unpack('!HH', data)
data = s.recv(n)
print('Received %d: %s' % (i, repr(data)))
i += 1
time.sleep(0.1)
And please report what's docker host? Physical device, cloud server or something else.
Does something happend in docker host after too many connections?
pyarmor-auth
is a very simple server, it receives client request and send the result.
It's very strange that it could work for many requests but suddenly doesn't work.
I've made some debugging, I used the updated pytransform3.so
you mentioned and did the test I did before and also did the test.py you sent, and also I did a modified version of test.py replacing the data in sendall( )
to be matched with a data sample of previous attempts e.g. 2023-10-01 12:42:47,410: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00eknfgfbekfmnekeelnpd'
I tested on two host machines and got the same results
machine 1
my personal laptop running Manjaro Linux
machine 2
an AWS EC2 with an ENI (fixed network interface) running Ubuntu 22.04
docker container
using the same docker image (Based on Centos 7)
python version
Python 3.7.7
and here are the results:
docker host
❯ pyarmor-auth --debug pyarmor-device-regfile-6013.2.zip
2023-10-03 14:42:13,829: work path: /home/hadywalied/.pyarmor/docker
2023-10-03 14:42:13,832: register "pyarmor-device-regfile-6013.2.zip"
2023-10-03 14:42:13,835: extracting license.lic
2023-10-03 14:42:13,835: extracting .pyarmor_capsule.zip
2023-10-03 14:42:13,835: group license for machines: ['tokens/k56bee40f20ffceada4530608f5e758fa']
2023-10-03 14:42:13,836: got machine id: k56bee40f20ffceada4530608f5e758fa
2023-10-03 14:42:13,837: extracting tokens/k56bee40f20ffceada4530608f5e758fa
2023-10-03 14:42:13,906: machine id: [b'k56bee40f20ffceada4530608f5e758fa', b'g9af768fb3eaf262abc7588203f4cbdb5', b'b9e4d227bd4ca5e35d7a37588027a9dc6', b'a1b873543a35c1aa00fabf59dcf7c73ff']
2023-10-03 14:42:13,906: listen container auth request on 0.0.0.0:29092
2023-10-03 14:42:56,742: receive request from ('192.168.4.5', 54396)
2023-10-03 14:42:56,742: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00olnqefkkagkfgpnemhgd'
2023-10-03 14:42:56,743: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:42:56,748: send auth result to ('192.168.4.5', 54396)
2023-10-03 14:42:56,748: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00@\xfe\x1be\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x01\x00\x00\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00olnqefkkagkfgpnemhgd\x00\x00\x00\x00\x00\x00R\x98\x14\x93B\xbd\x19\xa7a\xf0"\xe7\x8d\xce\x9e\x92[\x18^x\xa5l\x12\xa0\x9f\xf7\xbf\x14\xe6\xecb\xb8\xb3\x853F#\xdb\x16>@_(x\xb1\x80\x83\x90\xf3=\xd9\x1b7\xe9\'\xd5\xea\xd1\xa4Z\x8d\x0f\x0c\x1d\x03\xc5BG\xf0Tt\xa1j\xa0H\xdeq\x82\xc5\x9aO\x81\x13\xec\x1f\x9a>\x90\x82\x15\xf8\x0ff\x91\xfc8\xbd\xd8l<\x11c\xa6O\xd2\xa7\xd3*\xdc\x9dzP!I \x80\xffG{\xce\xb6\xc1\xef\xbd\x04E\xb0\xa4\xec\xca\xa4\x14\x13pF\t\xf6\xa5\xaf\xf6\xfc\xc1:p|\x88\x82\x0c_zj\x02\x18\xee}"\xd5\'\x89\xad]\x87\xc9\\\x05-\xc8\xbd\xeb\xb7\x1b\x9a\xfd\xa6\x03\xe2\xbfE\xb3\xd4\xc0\xa62\xce\xadTl7\xa8}\x00O\xe2\x10j\x83\xac\xe4KVE\xe8"\xef\xc7\x9f\xbf\xfbh\x06\x80\xed\x0e\xe6&\x0f(\xac|\x8d\xe5\x06\x8bUS\xf8\xf1\xa18\xb6\x96\xe5\xe7\x9c)Z\x08\x85\xe9\xf7\x89\xfcBq\x92\xd5\xba\xe5\xe1Fm\x96\xbfe\x7fmX\xf8U\x00\x00\xd8:\x1eX\xf8U\x00\x00\x00;\x1eX\xf8U\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2023-10-03 14:42:56,753: receive request from ('192.168.4.5', 54412)
2023-10-03 14:42:56,753: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00cqjnlleplbkjpmbmceeq'
2023-10-03 14:42:56,754: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:42:56,756: send auth result to ('192.168.4.5', 54412)
2023-10-03 14:42:56,756: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00@\xfe\x1be\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x0175\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00cqjnlleplbkjpmbmceeq\x00\x00\x00\x00\x00\x00n\x86\xb95\xffo\x9d\x12\xe81+b?$\x07\x0c\x8f\xc2\x14E\xa9x\xb3\x0c\x81P<\x1f\x1f\xad\xdd\x9c\x99\xfb\xf9+-w\xe3dl\xe3\x94\x1a\xbb\x08\x17\xd9l\xc3\xdf\x9a\xaa\x07,D:2\x1e\x0f(\xbb\xf7\xb4?"t\xa9D\xfa\xd1#\x8d\xb9\x0b0!\xde\x0c\xe2H\xcb=\xe0\xdb\x1f\xe3\xf4a\xc9\xfeEg\x96{\xdb\xac\\\xb6\xda\x18e\x02\x96\x84z\x906p\xcd0\xd8\xe3\xfdg\xdc\x95(\n\x8f\x08\xb9\xe9\xc0\x07o\x1c\xb4M\xde\xa0\xd9[\xa4\x92\x89\xd4\x99V\xc6{\xa3h\xec\xc9\xe4Z@j\xd1\xfd\xb7\x84\x94\xf8\xd9@0\xe1S\xd2\x14\x9f\xfd\xce\xd3\x11\x05\xd6r\x1c\x10\xd5#E\xb9:\x98\xfb\xf1\xb4\x88\x81\x14\xb7\xc7\\\xb5\xce\x9c\xd2\xc4\x85\xae$C\x0c\xc4b\xc2\x88[R\xeb\xd9\xd7xV\xae]\x9e\x8f\xf83r\xd9q\xa7#\xc5M#{\xf7\\\xc8\x19\x95\x06\x9e\x8e\x9dg\xc6\xf6\xc0\xac\xc5d\x19W\xfdj\xd0ov\x8ceQ\xa7\x1a\x11\x0b\xeezs981052a05-part1\x00\x00\x00\x00\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\r\x00\x00'
...
2023-10-03 14:42:58,836: receive request from ('192.168.4.5', 55162)
2023-10-03 14:42:58,836: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fbddmhppajhijdnmdgkk'
2023-10-03 14:42:58,836: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:42:58,839: send auth result to ('192.168.4.5', 55162)
2023-10-03 14:42:58,839: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00B\xfe\x1be\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x0175\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00fbddmhppajhijdnmdgkk\x00\x00\x00\x00\x00\x00o\x84\x90\xcf\x99\xf8\xb5SI\x83\xe3"\x04\xf4\x86\x91\x07\xd1%\xb8R\xc3H\x93cT\xa7\x1f\xc1r\x0fc\x08]\xd2\xbaN\x8c\xd1]~\x1d8\x13\xbf\xdd\x13W;7\xa7\xd33\x1a\xdd\xe2-.0t\xa2c\xb6A\xc4\xd8\xdcL\xb7CX\x16F\xbe\xe1\x00\x9dX\xd3\x17\x92M\xa9\xf7\xe4\x9b\x8f\x1f\xc7Z\x06m\xb9`\xcc\xa8Mm\xe0\x82g1\x19\xa3\x80EFc\xfaU[\x13\x0c\xe4\xe8%\'#\x11\x7f\x940\xb8\x1a\xaa\x9b\xec\x82\xde.\x99|\xdfp2.\xe5\xf3\xc5\xfe\\1~,\xd6\x91\xb2^\xe4/\x10,\\v,\x9e\xd4\x0b\xf2X\xb4bP\xf4\xd3)NU/\xeb6\x16\x1c\xd2{\xd8\x0c\xb0r\xec\xbcJ\xae\xb83\x0c\xc0_jv\t\x9d2\xad\xd0\xaa\xe5\xad\xc7\x8f\xf0\x12\x8d@V8`>\xe0;\x85\xe9U\x02\x13\x1c\x903\x10\x9d\xf0g\xfe\xd4\x08\xdf\x11p\xe4\xbcw\x99\xdb\x10\x89\x19\xbcS\xac\xd7\xd3\xee\xbch3\xb7|\xfd.|\xe7C\x1e\xd6\xc1\x97981052a05-part1\x00\x00\x00\x00\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\r\x00\x00'
2023-10-03 14:42:58,852: receive request from ('192.168.4.5', 55168)
2023-10-03 14:42:58,852: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00ffjjaeabelehhkeniijc'
2023-10-03 14:42:58,853: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
machine id 'k8fb2924e6f26ce411f317324405be71a', token machine is 'k56bee40f20ffceada4530608f5e758fa
Master MicroADTv1283.2Zi�q*?������^M���2�Q��ҝ1vW6@��Y�M�\P�%Hd�M<�F�Z�n����X `�.nXh)��@�Ѩ%�2U8�
M`�߹JMbZ�w���A�6q-[�fةc�n8��'
crypt3.c:251:this license is not for this machine
01:node name : hady
02:wlp0s20f3 : 181deau12aa
03:vmnet1 : 00PVc00001
04:vmnet2 : 00PVc00002
05:vmnet8 : 00PVc00008
06:docker0 : 02Baedech
07:disk info : ata-CT500MX500SSD1_1943E2252594
08:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518
09:disk info : nvme-eui.0025388981052a05
10:disk info : wwn-0x500a0751e2252594
machine id 'k4aac58c6ecdfc6f2caa83d1a199de149', token machine is 'k56bee40f20ffceada4530608f5e758fa
Master MicroADTv1283.2Zi�q*?������^M���2�Q��ҝ1vW6@��Y�M�\P�%Hd�M<�F�Z�n����X `�.nXh)��@�Ѩ%�2U8�
M`�߹JMbZ�w���A�6q-[�fةc�n8��'
crypt3.c:251:this license is not for this machine
2023-10-03 14:42:58,854: invalid license token, try to run `pyarmor reg` to register license again
docker machine
❯ docker exec -it ADT_v1 bash -l
(base) [root@hady /]# conda activate ADT
(ADT) [root@hady /]# cd /home/data/Projects/ADT-v1/LUT
(ADT) [root@hady LUT]# pyarmor gen --pack ./dist/ADTv1/ADT_launcher -r ADT.py @./Builder/file.list
INFO Python 3.7.7
INFO Pyarmor 8.3.5 (group), 006013, ADTv1
INFO Platform linux.x86_64
INFO implicitly set output to ".pyarmor/pack/dist"
INFO extracting bundle "./dist/ADTv1/ADT_launcher"
INFO search inputs ...
INFO find script ADT.py
INFO find script /home/data/Projects/ADT-v1/LUT/Core/ElectronicsCore/Amplifiers/circuits/A010001F/A010001_Code.py
INFO find script /home/data/Projects/ADT-v1/LUT/Core/ElectronicsCore/Amplifiers/circuits/A010001F/A010001_LT.py
INFO find script /home/data/Projects/ADT-v1/LUT/Core/ElectronicsCore/Amplifiers/circuits/A010001F/A010001_NG.py
INFO find script /home/data/Projects/ADT-v1/LUT/Core/ElectronicsCore/Amplifiers/circuits/A010001F/A010001_SP.py
...
INFO write .pyarmor/pack/dist/A010029_Code.py
INFO process resource "A010029_SP"
INFO obfuscating file A010029_SP.py
INFO patch runtime file
INFO write .pyarmor/pack/dist/A010029_SP.py
INFO process resource "A010030_Code"
INFO obfuscating file A010030_Code.py
INFO patch runtime file
INFO write .pyarmor/pack/dist/A010030_Code.py
INFO process resource "A010030_SP"
INFO obfuscating file A010030_SP.py
ERROR invalid license token, try to run `pyarmor reg` to register license again
your version of test.py
:
it worked fine for 1000 iterations no problems.
my modified verison of test.py
: just changed the s.sendall()
with a sample of the code above.
import socket
import struct
import time
HOST = '127.0.0.1' PORT = 29092
i = 1 while True: with socket.socket(socket.AF_INET, socket.SOCKSTREAM) as s: s.connect((HOST, PORT)) s.sendall(b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec') data = s.recv(4) , n = struct.unpack('!HH', data) data = s.recv(n) print('Received %d: %s' % (i, repr(data))) i += 1 time.sleep(0.1)
`pyarmor-auth`
``` shell
❯ pyarmor-auth --debug pyarmor-device-regfile-6013.2.zip
2023-10-03 14:55:06,758: work path: /home/hadywalied/.pyarmor/docker
2023-10-03 14:55:06,759: register "pyarmor-device-regfile-6013.2.zip"
2023-10-03 14:55:06,760: extracting license.lic
2023-10-03 14:55:06,760: extracting .pyarmor_capsule.zip
2023-10-03 14:55:06,761: group license for machines: ['tokens/k56bee40f20ffceada4530608f5e758fa']
2023-10-03 14:55:06,761: got machine id: k56bee40f20ffceada4530608f5e758fa
2023-10-03 14:55:06,761: extracting tokens/k56bee40f20ffceada4530608f5e758fa
2023-10-03 14:55:06,794: machine id: [b'k56bee40f20ffceada4530608f5e758fa', b'g9af768fb3eaf262abc7588203f4cbdb5', b'b9e4d227bd4ca5e35d7a37588027a9dc6', b'a1b873543a35c1aa00fabf59dcf7c73ff']
2023-10-03 14:55:06,794: listen container auth request on 0.0.0.0:29092
2023-10-03 14:55:12,390: receive request from ('127.0.0.1', 46288)
2023-10-03 14:55:12,390: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec'
2023-10-03 14:55:12,390: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:55:12,395: send auth result to ('127.0.0.1', 46288)
2023-10-03 14:55:12,395: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00 \x01\x1ce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x01\x00\x00\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec\x00\x00\x00\x00\x00\x00\x1eU\xa3\xcc\xb3`\xc1i\x9f\x82\xa1 \x86=$\x04n\x11\xa9\x05\x0f\xf2\xc4{\x9e3VW\x8fy\x0f\xdbLF)\x8e\xdc\x9d6*\x07\x9d\xfaq\xba\xf4\x19\xf3OC\x18\xe6\r\x13\xc9\xe2`76\xc2\x8dn\xac\xbd\xd4\xbd\x84wpH\xb2\x14J\x08\x04\xb6\xd1$\x9f\xb0M\xd7\x03\xa9\xcb7\xd2\xdb\x8f\xbf\xe5H\xe2\x01i\xf4\xb3\xca`\xadl:\xd4h\xa2\xe8\xb0w\x19\x1e\xbf\x12k\x98\xd1\xac\xb7@\xe6\xb9\xec\xc9\xc3Vc\xb6]\xf6\xd97G0\x96\xca&\xd5\xf2-\xe2ek+$\x15\xc3\xabq\xea\xb6]\xc5\x16\xcbQ\x9d\xb2\x01o\xf6\xf4\x97\xbf\x17\xdd\xb7\xa0\x02;\xe6\xf2o\xa8\xcfF\x89\xd3\xd3\xd0KyK\xf23mx\x1cw\x9b\xbfK8\x19\tD\xa5K\x05<$~S\x00\x969\x04\xaf8\x8b\x93\x0fBxI\n|\x9a\x90x\x14\xc5\x04\xacg\x9d\xb1\xd2v3\x8e\xd1\x8e\x91\xff\xf8\xcf\x89u\xe5B\x85\xce\xf5\xb2\xf9]\xb2e\x16r7=\xf8\xb4!\xbb\xda37V\x00\x00\xd8*\xdf37V\x00\x00\x00+\xdf37V\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
2023-10-03 14:55:12,496: receive request from ('127.0.0.1', 46290)
2023-10-03 14:55:12,496: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec'
2023-10-03 14:55:12,497: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:55:12,510: send auth result to ('127.0.0.1', 46290)
2023-10-03 14:55:12,510: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00 \x01\x1ce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x0175\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec\x00\x00\x00\x00\x00\x00\x96\x99\x8c\xcf\xa6\x02\x8b\xb1S\xa2\xc2\x16\xb9g\xad\xd2xHQ\x14\xd3\x88\xaf\xfe7\xf9\xa3x$o\x81tg\xf7\x1e\xe3\x98\x91~\xe7DJ-\x088\xef\x07,lY\xc1\x88w\xc61_\x809H\x88\xba\x9a\xec\x1e\x91d\xb0\xa0\xbdM\x9f\x81\xa3\x0cG\xb7uP\xe2\x11;\xc7LP\xa8^>?\x1dm\x16\xf1~x\x96\xad\x8d\x88#Z\xf4d\xfd\xc5\x1e\x98\x05\x94\x1a\x8c\xeb\xe7\xa3\xbeU\xcfd#\t\x08%\xa6 \xd0\xff\x06\xd8\xe8\x95}\x15RG\xa8\rmY7\xa2C\x81\xbe\xd6\x84\xd8Whz\x1a>\xa6\x00\x0b\x8b\xdfa>\x1eb\xb3T\x15\xb8e\xf4\x02&\xb3\xf4\x1f\xd7\xbdc\xd3\xe1c:T<\xe8q\x98\xca\x17\x7f$\xc5>\x05o\xab5~\x81\xfa\xa8\x88\xd1\xf6\xbb\xcc\x00\xba\xd0M\xd3\xf4\xf64Q\xef+\x1c\xad\xb9k\xac\x98\xc5\'\xf8\xbf^\x7f\xbc\x1a3\xbbBx\xb2Pv\xde\xd8JR\x91Ji\x82\xe2KK2t\xf7\x10]\x9a\x90o\x1a\xd3h\xea981052a05-part1\x00\x00\x00\x00\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\r\x00\x00'
...
2023-10-03 14:55:21,770: receive request from ('127.0.0.1', 59216)
2023-10-03 14:55:21,770: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec'
2023-10-03 14:55:21,770: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
2023-10-03 14:55:21,777: send auth result to ('127.0.0.1', 59216)
2023-10-03 14:55:21,777: response data (751): b'\x00\x00\x02\xeb\x8br-o\x01\x00\x00\x00\xeb\x02\x00\x00pyarmor-vax-006013\x00\x00)\x01\x1ce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x00\x00\x10\x01\x00\x00\x00\x00\x00\x000\x82\x01\n\x02\x82\x01\x01\x00\xd1\xcd\x1a\xb0\x1aD\xa9#\x9b\xf1 z\xbe\x1b\xb8*\xc9\x7f\x9c\xbc\xf0\xcd\xb4O\xba{\xfda\x0c\xddC\x8c\x07\xaaH\x8f\xa3\xf5\xe6\xfe_?\xc1C`\\7|gMF\xbb\x0c\xd1\xb37K\x91c\xb7\xf6=\x05Q\x99t\xa8\xb9\xfa\xf9r\xd3\xc8\x18\x13\x075\x1e\x98\x8b\xb1\x9d`\xc1\x9cd\xc5\xe1\xed\xdb\xe7\x99\x088\x9d\xc7\xc2\x8dD\xa3\xdb\xc2Dr\x9e\xb9\xba\xf3\x965\xfa\xb6R\x8aYPT\x9c\x0c\xf7\t\xack\x9e\xd2\xc6\xbdZ\xe4M\xf3qN\x1c\x1a:"\xc4\xf6v\xe3\xd4\xf4$;+\xc3!n\x1bR3\xee)\xc9\xc2\x00I%\x99>\xe8\xdez\xe9\xa9n\xa8\x9b\xd43\xf2E\x83v\xe8\xacz\x81IUJ\'\x9cjI\x1a\xbf)\xb7\xf0Q\xb2$LI\x8c\x18\xc1\x0ed\x04/"b\x0f\x1a\xfb\xf3B2\xd7JG-Q\xd6#p\x96R\x18b\xd8\xa6\x95N\x06\xcd\x9f\xbfx\xcd\x16n\xde\x0c\xffn{P\x81MLfSe\x83\xa7L\rw\x1b\x0e\x97\xa1\x02\x03\x01\x00\x0175\x9b\x01\x00\x00[\x00\x00\x00@\x00\x00\x005\x00\x00\x00u\x00\x00\x00\x06\x00\x00\x00{\x00\x00\x00\x00\x01\x00\x00i.ADTv1\xa7\xd8\x7fW\xd6-\x0303c\x96\xf9\x8f\x88\x17\x9f\xb6U\x0b`k\xcb6\x017\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec\x00\x00\x00\x00\x00\x00O0\x14\xcbWfy\xfb;W\x17\x82&\xdb\xef\xef8\xa2{k\x96\xcd\x94\xe2\x0fh^\x81f\x8b\x11\xcf\xa9\x81q{\xbc\x10V\x1a\xeb\xccr\xec\xb18\xde\xf7\xe7\xeaIQ\x9d\xd9\x03I\x0f\xd8\x83)\x82~%\xa2\xc4\xc2\xa4\xd9\xfc\xad\xb9a\x9cW\x03\x980s4\xe9\xb3\xfe\x98\xd4H\xb5\xfbV\x04\x1d!\x8e\x19\xbfR\x1c\x13\x14v\xcd\x8e`\xe5`\x7f~\x94no*`\xba\x87\xa1\xb1\xfe\x91\xd8\xadB\x92z_\xed3\xc5\xf6\x18^\xc8\xc2I^f\xb4\xb4W>\xd9`\x87\x0b\xcf\x97\x0b*\xddc\xc8P\xc0\xf2U|&\xdci\x9e\x12mK\xd3\xde\xb2I\x90\xf3n\xb1;0/\x03\xfd\xe6\x8d8q\x83\xf8\x8f\xb8\xc1\xa0^\x1f8\xd15t\x81\xdfH\xca\xcf\\\x81\xba-\xb2\xf4\x1f6\xbe\x82\xaf\xff\x98b<T\x0b\xe2\xecL\x97\xcb\xbb\xa1x\xf9rX\x19\xa80\xba9Wp:{\x05UA5M\x90G2\xa5_B;U\xd5)\xca\xa7c\xa7Q\xd9\xfd?4981052a05-part1\x00\x00\x00\x00\x00\x00\x0e\x03\x00\x00\x00\x00\x00\x00\r\x00\x00'
2023-10-03 14:55:21,877: receive request from ('127.0.0.1', 59226)
2023-10-03 14:55:21,878: request data (32): b'PADK\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec'
2023-10-03 14:55:21,879: machine id is: b'ld11c988b28f5da2476a67589400ad7e1'
machine id 'k8fb2924e6f26ce411f317324405be71a', token machine is 'k56bee40f20ffceada4530608f5e758fa
M���2�Q��ҝ1vW6@��Y�M�\P�%Hd�M<�F�Z�n����X `�.nXh)��@�Ѩ%�2U8� Master MicroADTv1283.2Zi�q*?������^Jݑ
M`�߹JMbZ�w���A�6q-[�fةc�n8��'
crypt3.c:251:this license is not for this machine
01:node name : hady
02:wlp0s20f3 : 181deau12aa
03:vmnet1 : 00PVc00001
04:vmnet2 : 00PVc00002
05:vmnet8 : 00PVc00008
06:docker0 : 02Baedech
07:disk info : ata-CT500MX500SSD1_1943E2252594
08:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518
09:disk info : nvme-eui.0025388981052a05
10:disk info : wwn-0x500a0751e2252594
machine id 'k4aac58c6ecdfc6f2caa83d1a199de149', token machine is 'k56bee40f20ffceada4530608f5e758fa
M���2�Q��ҝ1vW6@��Y�M�\P�%Hd�M<�F�Z�n����X `�.nXh)��@�Ѩ%�2U8� Master MicroADTv1283.2Zi�q*?������^Jݑ
M`�߹JMbZ�w���A�6q-[�fةc�n8��'
crypt3.c:251:this license is not for this machine
2023-10-03 14:55:21,885: invalid license token, try to run `pyarmor reg` to register license again
so here is the fun part
I modified test.py again,
just changed PADK to PADH
test.py
import socket
import struct
import time
HOST = '127.0.0.1' PORT = 29092
i = 1
while True:
with socket.socket(socket.AF_INET, socket.SOCKSTREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'PADH\x00\x00\x00\x00\x00\x00\x00\x00fogdainofllnpjhioiec')
data = s.recv(4)
, n = struct.unpack('!HH', data)
data = s.recv(n)
print('Received %d: %s' % (i, repr(data)))
i += 1
time.sleep(0.1)
this one worked for 1000 iterations fine
@hadywalied
It seems the problem still wrong machine id.
First download another debug version which could print hardware information. http://pyarmor.dashingsoft.com/downloads/temp/debug/cp3.10/pytransform3.so Then
python3.10
>>> from pyarmor.cli.core import pytransform3
>>> pytransform3.get_hd_info(20)
>>> pytransform3.get_hd_info(21)
Paste the output log.
And in your case, token machine is start with k
, try to generate new device license with Pyarmor 8.3.8. The token machine should be started with l
if it's generated by Pyarmor 8.3.8, it fix one group license issues for multiple network interfaces.
And I note there is net interface wlp0s20f3
.
Does it exists before run pyarmor-auth
? Check this by ifconfig
I think generating new machine id by Pyarmor 8.3.9+ should fix this problem since machine id which starts with l
isn't changed.
The machine id starts with k
is changed, but it is not generated by Pyarmor 8.3.8+
@jondy I updated Pyarmor to 8.3.10 and generated another device file license took number 4 for that matter.
then I downloaded the .so file you sent and tried pyarmor-auth got this error
❯ pyarmor-auth pyarmor-device-regfile-6013.4.zip
2023-10-04 15:35:49,365: work path: /home/hadywalied/.pyarmor/docker
2023-10-04 15:35:49,368: register "pyarmor-device-regfile-6013.4.zip"
01:node name : had79
02:wlp0s20f3 : 181d�7512aa
03:disk info : nvme-eui.0025388981052a05-part35
04:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
05:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
06:disk info : ata-CT500MX500SSD1_1943E2252594-part32
07:disk info : wwn-0x500a0751e2252594-part32
08:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
09:disk info : nvme-eui.0025388981052a05-part34
10:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
11:disk info : nvme-eui.0025388981052a05-part38
12:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
13:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
14:disk info : ata-CT500MX500SSD1_1943E2252594-part31
15:disk info : wwn-0x500a0751e2252594-part31
16:disk info : nvme-eui.0025388981052a05-part37
17:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
18:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
19:disk info : wwn-0x500a0751e22525934
20:disk info : ata-CT500MX500SSD1_1943E22525934
21:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
22:disk info : nvme-eui.0025388981052a05-part36
23:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
24:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
25:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
26:disk info : nvme-eui.0025388981052a05-part33
27:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
28:disk info : nvme-eui.0025388981052a05-part31
29:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
30:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
31:disk info : nvme-eui.0025388981052a05-part32
32:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
33:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
34:disk info : nvme-eui.0025388981052a035
35:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
36:node name : had79
37:wlp0s20f3 : 181d�7512aa
38:disk info : nvme-eui.0025388981052a05-part35
39:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
40:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
41:disk info : ata-CT500MX500SSD1_1943E2252594-part32
42:disk info : wwn-0x500a0751e2252594-part32
43:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
44:disk info : nvme-eui.0025388981052a05-part34
45:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
46:disk info : nvme-eui.0025388981052a05-part38
47:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
48:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
49:disk info : ata-CT500MX500SSD1_1943E2252594-part31
50:disk info : wwn-0x500a0751e2252594-part31
51:disk info : nvme-eui.0025388981052a05-part37
52:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
53:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
54:disk info : wwn-0x500a0751e22525934
55:disk info : ata-CT500MX500SSD1_1943E22525934
56:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
57:disk info : nvme-eui.0025388981052a05-part36
58:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
59:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
60:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
61:disk info : nvme-eui.0025388981052a05-part33
62:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
63:disk info : nvme-eui.0025388981052a05-part31
64:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
65:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
66:disk info : nvme-eui.0025388981052a05-part32
67:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
68:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
69:disk info : nvme-eui.0025388981052a035
70:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
71:node name : had79
72:wlp0s20f3 : 181d�7512aa
73:disk info : nvme-eui.0025388981052a05-part35
74:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
75:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
76:disk info : ata-CT500MX500SSD1_1943E2252594-part32
77:disk info : wwn-0x500a0751e2252594-part32
78:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
79:disk info : nvme-eui.0025388981052a05-part34
80:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
81:disk info : nvme-eui.0025388981052a05-part38
82:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
83:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
84:disk info : ata-CT500MX500SSD1_1943E2252594-part31
85:disk info : wwn-0x500a0751e2252594-part31
86:disk info : nvme-eui.0025388981052a05-part37
87:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
88:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
89:disk info : wwn-0x500a0751e22525934
90:disk info : ata-CT500MX500SSD1_1943E22525934
91:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
92:disk info : nvme-eui.0025388981052a05-part36
93:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
94:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
95:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
96:disk info : nvme-eui.0025388981052a05-part33
97:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
98:disk info : nvme-eui.0025388981052a05-part31
99:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
100:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
101:disk info : nvme-eui.0025388981052a05-part32
102:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
103:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
104:disk info : nvme-eui.0025388981052a035
105:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
106:node name : had79
107:wlp0s20f3 : 181d�7512aa
108:disk info : nvme-eui.0025388981052a05-part35
109:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
110:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
111:disk info : ata-CT500MX500SSD1_1943E2252594-part32
112:disk info : wwn-0x500a0751e2252594-part32
113:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
114:disk info : nvme-eui.0025388981052a05-part34
115:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
116:disk info : nvme-eui.0025388981052a05-part38
117:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
118:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
119:disk info : ata-CT500MX500SSD1_1943E2252594-part31
120:disk info : wwn-0x500a0751e2252594-part31
121:disk info : nvme-eui.0025388981052a05-part37
122:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
123:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
124:disk info : wwn-0x500a0751e22525934
125:disk info : ata-CT500MX500SSD1_1943E22525934
126:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
127:disk info : nvme-eui.0025388981052a05-part36
128:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
129:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
130:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
131:disk info : nvme-eui.0025388981052a05-part33
132:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
133:disk info : nvme-eui.0025388981052a05-part31
134:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
135:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
136:disk info : nvme-eui.0025388981052a05-part32
137:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
138:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
139:disk info : nvme-eui.0025388981052a035
140:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
141:node name : had79
142:wlp0s20f3 : 181d�7512aa
143:vmnet1 : P56c00001
144:vmnet2 : P56c00002
145:vmnet8 : P56c00008
146:docker0 : 42b5�6a95
147:disk info : 0998-55C35
148:disk info : E4BE63B6BE637FC32
149:disk info : A8F43838F4380AD38
150:disk info : 6200c893-ca45-438b-bc86-9c659608fb631
151:disk info : 99acff72-0c0d-4a02-a3d2-e142f594af133
152:disk info : 62eeb192-6fd5-48cb-a351-a4e6428d51866
153:disk info : 9E78B42878B3FD539
154:disk info : CA99-CF838
2023-10-04 15:35:49,465: could not get docker host machine id
Traceback (most recent call last):
File "/home/hadywalied/miniconda3/envs/ADT/lib/python3.7/site-packages/pyarmor/cli/register.py", line 198, in _get_docker_hostname
s.connect((host, port))
socket.gaierror: [Errno -2] Name or service not known
Traceback (most recent call last):
File "/home/hadywalied/miniconda3/envs/ADT/bin/pyarmor-auth", line 8, in <module>
sys.exit(main())
File "/home/hadywalied/miniconda3/envs/ADT/lib/python3.7/site-packages/pyarmor/cli/docker.py", line 107, in main
main_entry()
File "/home/hadywalied/miniconda3/envs/ADT/lib/python3.7/site-packages/pyarmor/cli/docker.py", line 90, in main_entry
register_pyarmor(ctx, args.regfile[0])
File "/home/hadywalied/miniconda3/envs/ADT/lib/python3.7/site-packages/pyarmor/cli/docker.py", line 62, in register_pyarmor
reg.register_regfile(regfile)
File "/home/hadywalied/miniconda3/envs/ADT/lib/python3.7/site-packages/pyarmor/cli/register.py", line 171, in register_regfile
raise CliError('could not get docker host machine id')
pyarmor.cli.CliError: could not get docker host machine id
also I ran the code you sent
PyDev console: starting.
Python 3.7.7 (default, Mar 26 2020, 15:48:22)
[GCC 7.3.0] on linux
from pyarmor.cli.core import pytransform3
print(pytransform3.get_hd_info(20))
print(pytransform3.get_hd_info(21))
01:node name : had79
02:wlp0s20f3 : 181d�7512aa
03:disk info : nvme-eui.0025388981052a05-part35
04:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
05:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
06:disk info : ata-CT500MX500SSD1_1943E2252594-part32
07:disk info : wwn-0x500a0751e2252594-part32
08:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
09:disk info : nvme-eui.0025388981052a05-part34
10:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
11:disk info : nvme-eui.0025388981052a05-part38
12:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
13:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
14:disk info : ata-CT500MX500SSD1_1943E2252594-part31
15:disk info : wwn-0x500a0751e2252594-part31
16:disk info : nvme-eui.0025388981052a05-part37
17:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
18:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
19:disk info : wwn-0x500a0751e22525934
20:disk info : ata-CT500MX500SSD1_1943E22525934
21:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
22:disk info : nvme-eui.0025388981052a05-part36
23:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
24:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
25:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
26:disk info : nvme-eui.0025388981052a05-part33
27:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
28:disk info : nvme-eui.0025388981052a05-part31
29:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
30:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
31:disk info : nvme-eui.0025388981052a05-part32
32:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
33:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
34:disk info : nvme-eui.0025388981052a035
35:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
36:node name : had79
37:wlp0s20f3 : 181d�7512aa
38:disk info : nvme-eui.0025388981052a05-part35
39:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part35
40:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part35
41:disk info : ata-CT500MX500SSD1_1943E2252594-part32
42:disk info : wwn-0x500a0751e2252594-part32
43:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part34
44:disk info : nvme-eui.0025388981052a05-part34
45:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part34
46:disk info : nvme-eui.0025388981052a05-part38
47:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part38
48:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part38
49:disk info : ata-CT500MX500SSD1_1943E2252594-part31
50:disk info : wwn-0x500a0751e2252594-part31
51:disk info : nvme-eui.0025388981052a05-part37
52:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part37
53:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part37
54:disk info : wwn-0x500a0751e22525934
55:disk info : ata-CT500MX500SSD1_1943E22525934
56:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part36
57:disk info : nvme-eui.0025388981052a05-part36
58:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part36
59:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part33
60:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part33
61:disk info : nvme-eui.0025388981052a05-part33
62:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part32
63:disk info : nvme-eui.0025388981052a05-part31
64:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part31
65:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518-part32
66:disk info : nvme-eui.0025388981052a05-part32
67:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_1-part31
68:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K913518_31
69:disk info : nvme-eui.0025388981052a035
70:disk info : nvme-SAMSUNG_MZVLB512HAJQ-000L2_S3RGNE0K9135138
b'k45132dd90bb1c2b24d63c9c1c68d3537'
b'l45132dd90bb1c2b24d63c9c1c68d3537'
Please verify this issue with 8.3.10, don't use debug version.
Make sure machine id in the group license is startswith l
, not startswith k
For example, in docker host
$ pyarmor-auth --debug pyarmor-device-regfile-6013.4.zip
...
2023-10-03 14:55:06,761: group license for machines:['tokens/k56bee40f20ffceada4530608f5e758fa']
...
This is wrong, because this group license is for machine k56bee...
It should start with l....
Actually I have documentated it should generate new group device license after upgrading Pyarmor to fix group license issue.
I'll refine documentation to make it more clear.
@jondy bro I made a new license and pyarmor-auth still doesn't start
Why did you close the issue, it hasn't been resolved yet
Hi bro, please report issue in details, at least with
I have spent a lot of time to research this issue, and finally found you still use old group license file.
Generally if machine id could keep same, it should not be problem.
Please check the documentation to understand how group license works and check the output log to fix the problem.
referring to issue #1498
@jondy Bro, the problem persists even after upgrading and all
pyarmor.error.log