一个基于Go语言的软件许可证验证和认证管理服务。
简体中文 | 繁體中文 | Русский | English | 日本語 | 한국어
- 各类软件产品的许可证生成与验证
- 支持JetBrains产品、GitLab、FinalShell、MobaXterm和JRebel等软件
- 基于Gin框架构建的RESTful API接口
- 使用cron实现定时任务
- 通过GORM支持数据库存储(MySQL/PostgreSQL/SQLite)
- 采用RSA算法的安全加密
- 多语言支持(简体中文、繁体中文、俄语、英语、日语、韩语)
- Go 1.24或更高版本
- MySQL数据库(开发环境可使用SQLite)
- Node.js 22或更高版本
- Docker(可选,用于容器化部署)
-
克隆仓库
git clone https://github.com/nannanStrawberry314/license.git cd license -
安装依赖
go mod download -
配置环境变量(复制.env.example到.env并根据需要修改)
-
构建并运行
go build -o license-server ./license-server
-
构建Docker镜像
docker build -t license-server . -
使用docker-compose运行
docker-compose up -d
配置通过环境变量和.env文件进行管理:
HTTP_HOST:服务器绑定的主机地址HTTP_PORT:监听的端口DB_TYPE:数据库类型(mysql、postgresql或sqlite)DB_DSN:数据库连接字符串DATA_DIR:数据存储目录路径
本项目包含GitHub Actions工作流,用于自动构建、测试和发布。要使用这些工作流,您需要配置以下仓库密钥:
HUB_USER:您的Docker Hub用户名HUB_PASS:您的Docker Hub密码HUB_REPO:Docker Hub仓库名称
工作流包括:
- 每次推送时进行构建和测试
- 在标签推送或手动触发时构建和发布Docker镜像
- 创建GitHub发布版本
如需贡献代码:
- Fork本仓库
- 创建功能分支
- 提交您的更改
- 发起拉取请求
本项目被开发和分享仅用于教育目的,旨在提供技术研究和学术学习的机会。项目内容涉及的技术和方法仅供学习和研究使用。
项目作者发布此项目的目的不是鼓励软件盗版或任何形式的非法活动,而是为了促进知识的共享和技术的进步。严禁将本项目用于破解、激活或以任何方式非法使用软件。用户在使用本项目时,必须遵守所有适用的当地和国际法律法规。
本项目严禁用于商业用途或任何形式的盈利活动。项目的任何部分都不得在任何可能直接或间接产生经济利益的场合中使用。
本项目以"按原样"方式提供,不附带任何明示或暗示的保证。项目作者对于使用本项目内容可能导致的任何形式的损害或法律后果不承担任何责任。使用本项目表示您理解并同意这些条件,并且您将自行承担使用本项目的所有风险。