mirror of
https://github.com/Lakr233/GitLab-License-Generator.git
synced 2026-01-30 11:55:35 +02:00
updated validation
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
require 'openssl'
|
||||
|
||||
key_pair = OpenSSL::PKey::RSA.generate(2048)
|
||||
File.open("license_key", "w") { |f| f.write(key_pair.to_pem) }
|
||||
|
||||
public_key = key_pair.public_key
|
||||
File.open("license_key.pub", "w") { |f| f.write(public_key.to_pem) }
|
||||
|
||||
puts "Generated RSA key pairs, use generate_licenses.rb to generate licenses."
|
||||
puts "Make your own customization to the code if needed."
|
||||
@@ -1,33 +1,68 @@
|
||||
require 'openssl'
|
||||
require_relative 'lib/license.rb'
|
||||
|
||||
# MARK: GENERATOR
|
||||
#
|
||||
if !File.file?("license_key") || !File.file?("license_key.pub")
|
||||
puts "License key not found"
|
||||
puts "Generate a RSA key pair using generate_keys.rb"
|
||||
exit
|
||||
LICENSE_TARGET_PRIVATE_KEY = "license_key"
|
||||
LICENSE_TARGET_PUBLIC_KEY = "license_key.pub"
|
||||
TARGET_LICENSE_FILE = 'result.gitlab-license'
|
||||
|
||||
puts "[i] gitlab license generator - core v2.2.1"
|
||||
puts ""
|
||||
|
||||
if !File.exist?(LICENSE_TARGET_PRIVATE_KEY) || !File.exist?(LICENSE_TARGET_PUBLIC_KEY)
|
||||
puts "[*] generating RSA keys..."
|
||||
key = OpenSSL::PKey::RSA.new(2048)
|
||||
File.write(LICENSE_TARGET_PRIVATE_KEY, key.to_pem)
|
||||
File.write(LICENSE_TARGET_PUBLIC_KEY, key.public_key.to_pem)
|
||||
end
|
||||
|
||||
public_key = OpenSSL::PKey::RSA.new File.read("license_key.pub")
|
||||
private_key = OpenSSL::PKey::RSA.new File.read("license_key")
|
||||
puts "[*] loading RSA keys..."
|
||||
|
||||
public_key = OpenSSL::PKey::RSA.new File.read(LICENSE_TARGET_PUBLIC_KEY)
|
||||
private_key = OpenSSL::PKey::RSA.new File.read(LICENSE_TARGET_PRIVATE_KEY)
|
||||
|
||||
puts "[*] building license..."
|
||||
|
||||
Gitlab::License.encryption_key = private_key
|
||||
|
||||
license = Gitlab::License.new
|
||||
|
||||
# don't use gitlab inc, search `gl_team_license` in lib for details
|
||||
license.licensee = {
|
||||
"Name" => "Tim Cook",
|
||||
"Company" => "Apple Computer, Inc.",
|
||||
"Email" => "tcook@apple.com"
|
||||
}
|
||||
|
||||
# required of course
|
||||
license.starts_at = Date.new(1976, 4, 1)
|
||||
|
||||
# required since gem gitlab-license v2.2.1
|
||||
license.expires_at = Date.new(2500, 4, 1)
|
||||
|
||||
# prevent gitlab crash at
|
||||
# notification_start_date = trial? ? expires_at - NOTIFICATION_DAYS_BEFORE_TRIAL_EXPIRY : block_changes_at
|
||||
license.block_changes_at = Date.new(2500, 4, 1)
|
||||
|
||||
# required
|
||||
license.restrictions = {
|
||||
plan: 'ultimate',
|
||||
# STARTER_PLAN = 'starter'
|
||||
# PREMIUM_PLAN = 'premium'
|
||||
# ULTIMATE_PLAN = 'ultimate'
|
||||
|
||||
active_user_count: 2147483647,
|
||||
# required, just dont overflow
|
||||
}
|
||||
|
||||
puts "[*] calling export"
|
||||
|
||||
puts ""
|
||||
puts "====================================================="
|
||||
|
||||
data = license.export
|
||||
File.open("result.gitlab-license", "w") { |f| f.write(data) }
|
||||
File.open(TARGET_LICENSE_FILE, "w") { |f| f.write(data) }
|
||||
|
||||
puts "====================================================="
|
||||
puts ""
|
||||
|
||||
puts "[*] License generated successfully!"
|
||||
10
make.sh
10
make.sh
@@ -1,10 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# ruby ./generate_keys.rb
|
||||
ruby ./generate_licenses.rb
|
||||
|
||||
echo "done"
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
ruby ./generate_licenses.rb
|
||||
@@ -1,23 +1,24 @@
|
||||
eyJkYXRhIjoiUW5sQ2NiL1Q5ME50RHVoYm1kU2l5S2ZEdElVczcwSWc1Q280
|
||||
UVRRM0FRMDYyQml1TlJrakRBa1QramVYXG5VODdRYktlTmc3Mm5lVE9YeFIr
|
||||
MWxkWEVvaVhPS0JXOTVzSmZnY2Fla29XZWZBV2xXQWIzQkJMSU91TnRcbklE
|
||||
WkRMMXNUTFQrenBlOGNMcW5vdE1GQjVBOWtveklYNWZIbXJMUVVtY2wvWldz
|
||||
VGZ6d0JPVUpMUnRIK1xuSUk2ajlVUWZkTndXMDhlUXpjV0hCSUZFajl4bnJu
|
||||
YnBlcFNzKzFQS0RSeGFsS0JtWUVFUmRnSTVOUFBaXG5pNVdGRTNxUDc2QkxK
|
||||
UDNOZ24xWUV3b3BuTG82V1BiSVR6S1VRempaQVprQXFDRHhjellYZzJXdnpq
|
||||
ODVcbitucFVWYUxiUkt2aTZSK2E2VVQvQ1lLeC8xQ2RDbFJJK3NzT1JQRm51
|
||||
VTBqTG5HUUVBT1JyY0wzOXNMSlxuZlB2TDBVT3hHVlhUZFBabWcwVGYwemVp
|
||||
bGhFcTI4VXBQTmZXNS9WV2RmVStjUjJTOTlJMFBZeFVMbmxDXG5TUFFwaTlX
|
||||
ZmZqeU9rWnE1TldVNVNqMDFwTlk4T3hlK2hWWXN2amUwUTMrSFF4QUZGTlBy
|
||||
eldMa09VYVlcbllUZm1tdTRSNjZYc0dVZW8yZ3N3K1F5VnVZSjBGZEkrK2h4
|
||||
TDhFMmJ6Z1A5RHRpNW1ybk0remg4MDVhb1xudVEyOG15ekJPc3d5MEFxK3lH
|
||||
OXlJZnQxRkc1MGRQTkt1VTl3XG4iLCJrZXkiOiJIRDUvNWR1L0kramVIUWEx
|
||||
eEljSnF4cHFmMjAvTG5oNDFFcldBMTZ3MW82ZktKVDBjS3NheFlJWWo4NUxc
|
||||
bmlGc3oyRm1ZakFZMGdhdXYwM1F1Z1FQZm1hNXdJdkRIdGxXenlxSC9sWXgv
|
||||
QnR5d2tva2VpUllsVDFLclxuMGgwWEFFYTljeElCVTdpSXZMQnE3bE40LzRS
|
||||
amlqRWExZmtpVmdlN2x2NlQybVNtWGRGTHNsUGJyQndtXG50Y1BMREhvaStR
|
||||
TTZKMHpMVUtITGFRcnZYWVoraWgxQVdtM3Iyc3A2Q2p0d0lidE9jcC9aMmhS
|
||||
NmQxb09cbmFmWXJ1MnhldThva0ZpR2ZIeklJcUdMM29yelFEeHVKU0FJaW9u
|
||||
bExHakhMQVBlbzNRWkxweWRndzhsUFxuc2s0MHRYMS90WUJHTEg1Q3VKenpI
|
||||
SzhsMW42ZUNQUzFFVituckV6NmxnPT1cbiIsIml2IjoiN3pOWngwUTNXOHR0
|
||||
OVArcTVaOEhvQT09XG4ifQ==
|
||||
eyJkYXRhIjoiT2FaeExyaDhuOEk1dkFSK3d1akhsaWNudVUvSnJtS04veSs0
|
||||
anhSV3V4K2g0ZDNrMHgvNHlBVVordE0yXG5sU1FEZ1NUSE5xM3J3N2pYbzhQ
|
||||
V0JRM21JeDZ1VHRjdVROVlRyQ0FHNUV1STZFZzRzcFJCQzBQSjFjRHNcbis1
|
||||
V0s2UDhici9EMldKdytjbldSN3JqT0JqZndHcVB4NU9YZGlJMkV0clFFUHVy
|
||||
UnFsZDRjNGI1VXpNeVxuaWlDMy9pNGIwQlVWUXB4bUpRTDdCVXczVFB6c2FR
|
||||
cTBTam16cjFIaWF5TWJPaHE2ZytyVnd0aytGdE43XG52Q09DejVWSVVGTHJS
|
||||
NHNpQUVkWCtMMFNQR3FoRldTeElQODMwREdRcHFtbjdTNEtNRVZRT0FyR24r
|
||||
NlBcbnRTQTRTeDdubGpCakE1Z04zMWdzOXg2S1JnK0Y5dXlXRzBWMFlWazEv
|
||||
WmNrSFZXRkhLRVBKMEFhb3BvMVxuK25KM01UbmRmMW45dGVLMlJsMnRIR3RE
|
||||
TmJTUVJuT3VVUEE0U3hOUlNXYml6bkZSTVU1MlpDQ3o4SGhiXG5OQ2VsV01R
|
||||
WmdxSFZ5TWdxTVJud2lZT0pHLzBvUFhvSjhxdGtqSzErZGY2K3BCK3pFTlR1
|
||||
Z1lkVzhuTkVcbkJYTFZMSUF1di9USlVqeXJSckxmQTFqVTFzVjU0SkhHeGFq
|
||||
UUNGMFNDWklTNElyc2pxTnAzQ2NXWC9pZ1xuR0RmKzhPSWJuS1hhWkNubzNi
|
||||
MXQzZ3JFRnphVG9VOHFqdFlYdjlaVDM5Mk9OTmlWTnFDYUd6T2ZzcXJ0XG5I
|
||||
VmZUY0Rya0kxT0JPYTJMNE9JPVxuIiwia2V5IjoiRCtkSFFRY2pBK3hBR2d3
|
||||
TGFtbXdoZGR5VnpnUnRadzB6YkN4bXJES2JBOXZ2WU5iOS9vc2xBUGZqbCti
|
||||
XG5acFl5NTRydDNyVDlhNTRGaDF4NVBPcEtNenFMajhEVmlDR1hZVy9WaDVj
|
||||
NDRUazl6Q0FwZnAwOW1ua3Rcbm5QYktxR2MwV0E4ZmJnM092V0hHK0F6VDRL
|
||||
NklqMEZRRk1JRkpwZm9kTXY3MmRvUVNpSGxqVFJ6N0pkclxuWk1GeXE5UDBF
|
||||
SnNDWElqOUpiZFVmZFBqRGdlUWw5aFQwRXVvTUEwVjU1N3ZQQVpNenk1VTQz
|
||||
enlSTnBrXG4rWmJ3YUY0cXpmMEZwSXd2ZnpGL3MyYTU3VC9JeGZvd3dMVG5j
|
||||
NjJSYk45OWtGRlloQlhIc3dWSGdZN3VcbklOLzh0V2txdXJacU5zRGZ5N0RR
|
||||
RmtwTTAvLzF0ekt3RURwWktRdlc1QT09XG4iLCJpdiI6IjdmenVqb1RZV3VV
|
||||
MytQTzBkVS94c3c9PVxuIn0=
|
||||
|
||||
Reference in New Issue
Block a user