init
This commit is contained in:
14
license/Dockerfile
Normal file
14
license/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
||||
# -----------------------------------------------------------------------------
|
||||
# How to Crack Gitlab :
|
||||
# https://blog.starudream.cn/2020/01/19/6-crack-gitlab/
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
FROM ruby
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
RUN gem install gitlab-license
|
||||
ADD ./license.rb /opt/license.rb
|
||||
RUN ruby license.rb
|
||||
|
||||
CMD [ "bash" ]
|
||||
85
license/license.rb
Normal file
85
license/license.rb
Normal file
@@ -0,0 +1,85 @@
|
||||
require "openssl"
|
||||
require "gitlab/license"
|
||||
|
||||
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) }
|
||||
|
||||
private_key = OpenSSL::PKey::RSA.new File.read("license_key")
|
||||
Gitlab::License.encryption_key = private_key
|
||||
|
||||
license = Gitlab::License.new
|
||||
license.licensee = {
|
||||
"Name" => "none",
|
||||
"Company" => "none",
|
||||
"Email" => "admin@example.com",
|
||||
}
|
||||
license.starts_at = Date.new(2020, 1, 1) # 开始时间
|
||||
license.expires_at = Date.new(2050, 1, 1) # 结束时间
|
||||
license.notify_admins_at = Date.new(2049, 12, 1)
|
||||
license.notify_users_at = Date.new(2049, 12, 1)
|
||||
license.block_changes_at = Date.new(2050, 1, 1)
|
||||
license.restrictions = {
|
||||
active_user_count: 10000,
|
||||
}
|
||||
|
||||
puts "License:"
|
||||
puts license
|
||||
|
||||
data = license.export
|
||||
puts "Exported license:"
|
||||
puts data
|
||||
File.open(".gitlab-license", "w") { |f| f.write(data) }
|
||||
|
||||
public_key = OpenSSL::PKey::RSA.new File.read("license_key.pub")
|
||||
Gitlab::License.encryption_key = public_key
|
||||
|
||||
data = File.read(".gitlab-license")
|
||||
$license = Gitlab::License.import(data)
|
||||
|
||||
puts "Imported license:"
|
||||
puts $license
|
||||
|
||||
unless $license
|
||||
raise "The license is invalid."
|
||||
end
|
||||
|
||||
if $license.restricted?(:active_user_count)
|
||||
active_user_count = 10000
|
||||
if active_user_count > $license.restrictions[:active_user_count]
|
||||
raise "The active user count exceeds the allowed amount!"
|
||||
end
|
||||
end
|
||||
|
||||
if $license.notify_admins?
|
||||
puts "The license is due to expire on #{$license.expires_at}."
|
||||
end
|
||||
|
||||
if $license.notify_users?
|
||||
puts "The license is due to expire on #{$license.expires_at}."
|
||||
end
|
||||
|
||||
module Gitlab
|
||||
class GitAccess
|
||||
def check(cmd, changes = nil)
|
||||
if $license.block_changes?
|
||||
return build_status_object(false, "License expired")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
puts "This instance of GitLab Enterprise Edition is licensed to:"
|
||||
$license.licensee.each do |key, value|
|
||||
puts "#{key}: #{value}"
|
||||
end
|
||||
|
||||
if $license.expired?
|
||||
puts "The license expired on #{$license.expires_at}"
|
||||
elsif $license.will_expire?
|
||||
puts "The license will expire on #{$license.expires_at}"
|
||||
else
|
||||
puts "The license will never expire."
|
||||
end
|
||||
Reference in New Issue
Block a user