容器化软件如何实现 license 获取和授权

153 天前
 ljlljl0
小白一个,第一次写 python ,目前后端 fastapi 来做的,打算打包到容器里,但是 license 这块不知道如何去实现,听说 V2 的大佬实力雄厚又帅气特来请教下。
2500 次点击
所在节点    程序员
14 条回复
devliu1
153 天前
容不容器化有什么区别吗?

--

先把你的业务形态讲清楚?目测是,卖给别人一个基于 Python 服务端程序,部署需要 license ?
ljlljl0
153 天前
前后端的项目,使用功能要 license 授权才能跑起来。
容器化我怎么获取绑定信息呢,别人买一套,后面以虚拟机方式拿出去卖,无解。
coolfan
153 天前
和是不是容器化没区别吧。
假设不是容器化,你分发一个二进制文件,别人还是可以到处传拿去卖。
往容器传一个授权码吧,或者再加一个鉴权服务器?
onichandame
153 天前
通过非对称加密签发 license
ghjh
152 天前
看你里面的服务能不能连外网吧。能联网都好说一些
lanwairen123
152 天前
搜索 docker 获取宿主机硬件信息,用 dmidecode 获取宿主机硬件序列号,将硬件序列号和授权功能及授权日期等通过非对称加密算法加密后生成 license 文件,程序内解密验证
ljlljl0
152 天前
@onichandame 可以
ljlljl0
152 天前
@lanwairen123 大致思路有了
l4ever
152 天前
你都用上 python 了, 还怕代码泄露啊?
l4ever
152 天前
我能看到你的代码, 你既然能验证, 我就能反验证撒.
guanzhangzhang
152 天前
https://zhangguanzhang.github.io/2023/11/03/non-root-containers/
容器里获取机器码,但是别想这个思路了,信创系统没机器码很正常
koast
152 天前
还是参考下 mt-photos 的方案?关键逻辑都用 bytenode 弄成 jsc 算法什么的也不调库 自己实现的

把 jsc 反编译成 js 的工具我是没看到开源的 这玩意想调试只能用 d8 来看字节码调 很是麻烦

python 这边你还是 cpython 之类的编译到 native 吧 不然只要有对应的解释器 修改下 pycdc 还是能得到能用的源码的(当然可能不可读 比如用 ast 搞下平坦化之类的)
iorilu
152 天前
真有这需求还是用 go 或 rust, 直接编译成二进制得

python 本来就不方便加密打包, 你弄个 web 程序更不方便了
ljlljl0
152 天前
@iorilu 是的 还是得 go

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060419

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX