A VERY BASIC Go Based Licensing System for Digital Rights Management
Included is a simple Server i built to handle the backend things, a database.sql file (you need to import into MySQL), the main package (License.go), and a example client show you how it could be used.
This is something i put together fast, but it works. Feel free to use it as you please.
- Server creates a table for license email, license, experation date, and ip
- Server generates a license key (XXXX-XXXX-XXXX)
- Server encrypts it using your Servers key (Generated on setup) and server gives you it
- You give client to buyer/user with license.dat file that contains the encrypted license
- Client connects to license server, sending its license.dat
- Server trys to decrypt liscense.dat and comapire with any in database
- If Server finds the key it check to see if the license is expiered and update last IP
- If not expired client runs, else it will tell them its expiered and closes
NOTE: The client must have an internet connection to the license server!
Licensing can be called at anytime in your program, Just import and select to settings for it. Its a simple one line command.
Licensing.CheckLicense("{LICESNESSERVER}", {USESSL}, {SILENT})
- {LICESNESSERVER} = http://127.0.0.1:8080
- {USESSL} = true or false to use SSL (Your server will need this setting too).
- {SILENT} = Show messages or not.
- Ability to add new licenses to database
- Config Setup Tool
- Ability to remove liceses from database
- github.com/gorilla/mux
- github.com/pelletier/go-toml
- github.com/go-sql-driver/mysql
Go is a amazing and powerful programming language. If you already haven't, check it out; https://golang.org/
Please Donate To Bitcoin Address: 1AEbR1utjaYu3SGtBKZCLJMRR5RS7Bp7eE