1
devliu1 122 天前
容不容器化有什么区别吗?
-- 先把你的业务形态讲清楚?目测是,卖给别人一个基于 Python 服务端程序,部署需要 license ? |
2
ljlljl0 OP 前后端的项目,使用功能要 license 授权才能跑起来。
容器化我怎么获取绑定信息呢,别人买一套,后面以虚拟机方式拿出去卖,无解。 |
3
coolfan 122 天前
和是不是容器化没区别吧。
假设不是容器化,你分发一个二进制文件,别人还是可以到处传拿去卖。 往容器传一个授权码吧,或者再加一个鉴权服务器? |
4
onichandame 122 天前
通过非对称加密签发 license
|
5
ghjh 122 天前 via Android
看你里面的服务能不能连外网吧。能联网都好说一些
|
6
lanwairen123 121 天前 via Android
搜索 docker 获取宿主机硬件信息,用 dmidecode 获取宿主机硬件序列号,将硬件序列号和授权功能及授权日期等通过非对称加密算法加密后生成 license 文件,程序内解密验证
|
7
ljlljl0 OP @onichandame 可以
|
8
ljlljl0 OP @lanwairen123 大致思路有了
|
9
l4ever 121 天前
你都用上 python 了, 还怕代码泄露啊?
|
10
l4ever 121 天前
我能看到你的代码, 你既然能验证, 我就能反验证撒.
|
11
guanzhangzhang 121 天前
https://zhangguanzhang.github.io/2023/11/03/non-root-containers/
容器里获取机器码,但是别想这个思路了,信创系统没机器码很正常 |
12
koast 121 天前
还是参考下 mt-photos 的方案?关键逻辑都用 bytenode 弄成 jsc 算法什么的也不调库 自己实现的
把 jsc 反编译成 js 的工具我是没看到开源的 这玩意想调试只能用 d8 来看字节码调 很是麻烦 python 这边你还是 cpython 之类的编译到 native 吧 不然只要有对应的解释器 修改下 pycdc 还是能得到能用的源码的(当然可能不可读 比如用 ast 搞下平坦化之类的) |
13
iorilu 121 天前
真有这需求还是用 go 或 rust, 直接编译成二进制得
python 本来就不方便加密打包, 你弄个 web 程序更不方便了 |