swcenc 2.0

离线加密器 下载 · 上手 · 授权 · 文档 · FAQ

把明文 PHP 源码加密成 swoole_loader 可以直接加载执行的文件 —— 与官方 Swoole Compiler 同类,但源码不出本机(完全离线)。 加密器自带 Python 与 PHP 7.0–8.4 运行时,客户机什么都不用装; 产物可绑定域名 / IP / 到期,授权可绑定机器码 / 有效期。

下载

平台文件大小下载
Windows x64
推荐
swcenc-2.0.0-win64-setup.exe —— 双击安装,自动建桌面与开始菜单快捷方式
sha256 载入中…
43 MB 下载安装包 · sha256
Windows x64
免安装
swcenc-2.0.0-win64.zip —— 解压即用,运行 bin\swcenc.exe
sha256 载入中…
72 MB 下载 · sha256
Linux x86_64 swcenc-2.0.0-linux-x86_64.tar.gz —— 解压即用,运行 ./bin/swcenc
sha256 载入中…
204 MB 下载 · sha256
发行包里没有源码:核心引擎是编译产物 —— Linux 上是 Cython 编译的 .so(原生机器码),Windows 上是 .pyc 字节码; 授权校验也烘焙在编译产物里面(改环境变量、改文件都绕不过)。

编译产物,不发源码

引擎在 Linux 上是 Cython 编译的 .so、Windows 上是 .pyc; 授权校验烘焙在编译产物里,环境变量与文件替换都绕不过。

自带运行时(零依赖)

Linux:自带 Python 3.12 + PHP 7.0–8.4 + 自带 glibc 与全部依赖库;
Windows:自带免安装 Python + 官方 PHP NTS x64。
客户机不需要装 Python / PHP / 任何运行库。

产物绑定

--domains 绑域名、--ips 绑来访 IP、--expire 绑到期日。
域名/IP 只拦 Web(cron、队列照常跑),到期则 Web 与 CLI 都拦。

授权绑定

机器码 + 有效期 + 版本权益,离线校验(RSA-2048 签名), 客户机不需要联网,你也不需要部署授权服务器。

三步上手

tar xzf swcenc-2.0.0-linux-x86_64.tar.gz -C /opt
cd /opt/swcenc-2.0.0-linux-x86_64

./bin/swcenc machine      # ① 取机器码 → 在本站「申请授权」
#    把签发给你的 license.json 放到 license/license.json
./bin/swcenc license      # ② 确认「✅ 授权有效」
./bin/swcenc doctor       # ③ 环境自检(内置运行时 / 可用组合)

# 加密整目录,并绑定域名与到期(--verify 会真的用 loader 跑一遍)
./bin/swcenc batch ./app -o ./app_enc --php 8.3 \
    --domains "customer.com,*.customer.com" --expire 2027-01-01 --verify

Windows:双击 swcenc-2.0.0-win64-setup.exe 安装,桌面会出现 「swcenc 加密器」快捷方式 —— 双击打开是中文菜单(自检 / 机器码 / 加密单文件 / 加密整个目录), 不需要记命令。命令行同样可用:"%LOCALAPPDATA%\swcenc\bin\swcenc.exe" doctor。

Windows 上不做本地 loader 验证(loader 是 Linux 扩展),产物请在目标服务器验证; 需要逐次验证的 --pro 产物建议在 Linux 机器上打包。

授权申请

没有授权无法打包。流程:① 在加密机上跑 swcenc machine 拿到机器码 → ② 在下面提交 → ③ 收到 license.json 后放进发行包 license/ 目录(或 ~/.swcenc/)。

提交机器码

文档

README.md产品说明:能力、命令、绑定语义、零依赖原理、FAQ
USAGE.md命令行速查与示例
INSTALL.md安装、授权、目标机需要什么
RELEASE-2.0.0.md本次发布内容与验证清单

FAQ

产物能跑在哪些 PHP 上? Swoole 是单版本加密:产物只能跑在与加密时相同的 PHP 主次版本上。 要同时支持 7.4 与 8.3,就分别打包两次。
loader 代数怎么选? --loader-version 3.1|3.2 必须与目标机装的 loader 一致 —— 两代产物互不通用。 包内 engine/loader31、loader32 就是配套的 loader。
PRO 产物为什么官方 loader 跑不了? Pro 层是独立保护,只能配 swoole_loader_pro 加载;用官方 loader 会段错误。 --pro 默认会打开反分析自检层与粉碎性重组。
绑定域名后 cron 会挂吗? 不会。域名/IP 只对 Web 请求生效,CLI 默认放行;要连 CLI 一起绑加 --bind-cli。 到期是绝对限制,Web 与 CLI 都会拦。
换机器了怎么办? 在新机器上跑 swcenc machine,把新机器码发来重签一份即可(授权按机器码绑定)。