go-licensecli Used for integration into the program. Main functions: generate activation files, verify license files.
Go to file
2024-03-07 18:04:45 +08:00
tools cipherByte len bug 2024-03-07 18:04:45 +08:00
.gitignore first commit 2024-01-22 15:49:43 +08:00
generatelicense.go Update spelling errors in words 2024-02-18 11:05:26 +08:00
generatersakey.go first commit 2024-01-22 15:49:43 +08:00
go.mod update module name 2024-01-22 16:22:40 +08:00
LICENSE first commit 2024-01-22 15:49:43 +08:00
README.md update README.md 2024-02-02 13:12:48 +08:00
rsa.go cipherByte len bug 2024-03-07 18:04:45 +08:00

go-license(software license)

go-license is a project written in Go language for generating and validating software license files. It can be integrated into your software as a license validation framework.

Features

  • You can customize the addition of verification processing methods. Such as binding IP, MAC, etc.
  • Using RSA and AES encryption to activate and license content.
  • Less dependence, unique acquisition of computer identification. github.com/shirou/gopsutil/v3

How to use

This project is divided into two partsgo-licensecli and go-licensemanage

go-licensecli

go-licensecli Used for integration into the program. Main functions: generate activation files, verify license files.

client Main implementation interfaces

type LicenseCli interface {
	GenerateActivationCode(opts ...GenerateOption) ([]byte, error)
	ActivateLicense(licenseCode []byte) error
	VerifyLicense() bool
	GetLicenseInfo() (*LicenseInfo, error)
}

Specific View: https://github.com/xslasd/go-license.

go-licensemanage

go-licensemanage Used for managing licenses. Main functions: parsing activation files and generating license files.

  GenerateLicense(rsaKey RSAKeyConfig, activationCode []byte, expiryTime int64, opts ...Option) ([]byte, error)
  GenerateRSAKey() (RSAKeyModel, error)

Specific View: https://github.com/xslasd/go-licensemanage