Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 3.137.161.247
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby32 /
share /
rubygems /
rubygems /
Delete
Unzip
Name
Size
Permission
Date
Action
commands
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
core_ext
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
defaults
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
ext
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
gemcutter_utilities
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
optparse
[ DIR ]
drwxr-xr-x
2024-12-04 14:11
package
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
request
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
request_set
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
resolver
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
security
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
source
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
ssl_certs
[ DIR ]
drwxr-xr-x
2024-12-04 14:11
tsort
[ DIR ]
drwxr-xr-x
2024-12-04 14:11
util
[ DIR ]
drwxr-xr-x
2025-01-09 11:36
available_set.rb
3.01
KB
-rw-r--r--
2024-12-04 14:11
basic_specification.rb
7.65
KB
-rw-r--r--
2024-12-04 14:11
bundler_version_finder.rb
1.96
KB
-rw-r--r--
2024-12-04 14:11
command.rb
16.08
KB
-rw-r--r--
2024-12-04 14:11
command_manager.rb
5.59
KB
-rw-r--r--
2024-12-04 14:11
compatibility.rb
1
KB
-rw-r--r--
2024-12-04 14:11
config_file.rb
14.03
KB
-rw-r--r--
2024-12-04 14:11
defaults.rb
6.96
KB
-rw-r--r--
2024-12-04 14:11
dependency.rb
8.65
KB
-rw-r--r--
2024-12-04 14:11
dependency_installer.rb
10.02
KB
-rw-r--r--
2024-12-04 14:11
dependency_list.rb
5.54
KB
-rw-r--r--
2024-12-04 14:11
deprecate.rb
4.89
KB
-rw-r--r--
2024-12-04 14:11
doctor.rb
3.13
KB
-rw-r--r--
2024-12-04 14:11
errors.rb
4.53
KB
-rw-r--r--
2024-12-04 14:11
exceptions.rb
7.34
KB
-rw-r--r--
2024-12-04 14:11
ext.rb
498
B
-rw-r--r--
2024-12-04 14:11
gem_runner.rb
1.8
KB
-rw-r--r--
2024-12-04 14:11
gemcutter_utilities.rb
10.54
KB
-rw-r--r--
2024-12-04 14:11
indexer.rb
10.91
KB
-rw-r--r--
2024-12-04 14:11
install_default_message.rb
349
B
-rw-r--r--
2024-12-04 14:11
install_message.rb
323
B
-rw-r--r--
2024-12-04 14:11
install_update_options.rb
6.35
KB
-rw-r--r--
2024-12-04 14:11
installer.rb
27.23
KB
-rw-r--r--
2024-12-04 14:11
installer_uninstaller_utils.rb
773
B
-rw-r--r--
2024-12-04 14:11
local_remote_options.rb
3.56
KB
-rw-r--r--
2024-12-04 14:11
mock_gem_ui.rb
1.38
KB
-rw-r--r--
2024-12-04 14:11
name_tuple.rb
2.39
KB
-rw-r--r--
2024-12-04 14:11
openssl.rb
125
B
-rw-r--r--
2024-12-04 14:11
optparse.rb
72
B
-rw-r--r--
2024-12-04 14:11
package.rb
17.7
KB
-rw-r--r--
2024-12-04 14:11
package_task.rb
3.79
KB
-rw-r--r--
2024-12-04 14:11
path_support.rb
1.79
KB
-rw-r--r--
2024-12-04 14:11
platform.rb
7.48
KB
-rw-r--r--
2024-12-04 14:11
psych_tree.rb
795
B
-rw-r--r--
2024-12-04 14:11
query_utils.rb
8.5
KB
-rw-r--r--
2024-12-04 14:11
rdoc.rb
232
B
-rw-r--r--
2024-12-04 14:11
remote_fetcher.rb
9.2
KB
-rw-r--r--
2024-12-04 14:11
request.rb
8.6
KB
-rw-r--r--
2024-12-04 14:11
request_set.rb
11.31
KB
-rw-r--r--
2024-12-04 14:11
requirement.rb
6.89
KB
-rw-r--r--
2024-12-04 14:11
resolver.rb
9.64
KB
-rw-r--r--
2024-12-04 14:11
s3_uri_signer.rb
5.92
KB
-rw-r--r--
2024-12-04 14:11
safe_yaml.rb
1.54
KB
-rw-r--r--
2024-12-04 14:11
security.rb
21.95
KB
-rw-r--r--
2024-12-04 14:11
security_option.rb
1.06
KB
-rw-r--r--
2024-12-04 14:11
shellwords.rb
66
B
-rw-r--r--
2024-12-04 14:11
source.rb
5.58
KB
-rw-r--r--
2024-12-04 14:11
source_list.rb
2.41
KB
-rw-r--r--
2024-12-04 14:11
spec_fetcher.rb
6.36
KB
-rw-r--r--
2024-12-04 14:11
specification.rb
70.45
KB
-rw-r--r--
2024-12-04 14:11
specification_policy.rb
13.79
KB
-rw-r--r--
2024-12-04 14:11
stub_specification.rb
4.46
KB
-rw-r--r--
2024-12-04 14:11
text.rb
2.07
KB
-rw-r--r--
2024-12-04 14:11
tsort.rb
66
B
-rw-r--r--
2024-12-04 14:11
uninstaller.rb
10.2
KB
-rw-r--r--
2024-12-04 14:11
unknown_command_spell_checker.rb
411
B
-rw-r--r--
2024-12-04 14:11
update_suggestion.rb
2.26
KB
-rw-r--r--
2024-12-04 14:11
uri.rb
2.33
KB
-rw-r--r--
2024-12-04 14:11
uri_formatter.rb
781
B
-rw-r--r--
2024-12-04 14:11
user_interaction.rb
13.04
KB
-rw-r--r--
2024-12-04 14:11
util.rb
2.41
KB
-rw-r--r--
2024-12-04 14:11
validator.rb
3.66
KB
-rw-r--r--
2024-12-04 14:11
version.rb
12.57
KB
-rw-r--r--
2024-12-04 14:11
version_option.rb
2.21
KB
-rw-r--r--
2024-12-04 14:11
Save
Rename
# frozen_string_literal: true require_relative "openssl" ## # S3URISigner implements AWS SigV4 for S3 Source to avoid a dependency on the aws-sdk-* gems # More on AWS SigV4: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html class Gem::S3URISigner class ConfigurationError < Gem::Exception def initialize(message) super message end def to_s # :nodoc: "#{super}" end end class InstanceProfileError < Gem::Exception def initialize(message) super message end def to_s # :nodoc: "#{super}" end end attr_accessor :uri def initialize(uri) @uri = uri end ## # Signs S3 URI using query-params according to the reference: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html def sign(expiration = 86400) s3_config = fetch_s3_config current_time = Time.now.utc date_time = current_time.strftime("%Y%m%dT%H%m%SZ") date = date_time[0,8] credential_info = "#{date}/#{s3_config.region}/s3/aws4_request" canonical_host = "#{uri.host}.s3.#{s3_config.region}.amazonaws.com" query_params = generate_canonical_query_params(s3_config, date_time, credential_info, expiration) canonical_request = generate_canonical_request(canonical_host, query_params) string_to_sign = generate_string_to_sign(date_time, credential_info, canonical_request) signature = generate_signature(s3_config, date, string_to_sign) URI.parse("https://#{canonical_host}#{uri.path}?#{query_params}&X-Amz-Signature=#{signature}") end private S3Config = Struct.new :access_key_id, :secret_access_key, :security_token, :region def generate_canonical_query_params(s3_config, date_time, credential_info, expiration) canonical_params = {} canonical_params["X-Amz-Algorithm"] = "AWS4-HMAC-SHA256" canonical_params["X-Amz-Credential"] = "#{s3_config.access_key_id}/#{credential_info}" canonical_params["X-Amz-Date"] = date_time canonical_params["X-Amz-Expires"] = expiration.to_s canonical_params["X-Amz-SignedHeaders"] = "host" canonical_params["X-Amz-Security-Token"] = s3_config.security_token if s3_config.security_token # Sorting is required to generate proper signature canonical_params.sort.to_h.map do |key, value| "#{base64_uri_escape(key)}=#{base64_uri_escape(value)}" end.join("&") end def generate_canonical_request(canonical_host, query_params) [ "GET", uri.path, query_params, "host:#{canonical_host}", "", # empty params "host", "UNSIGNED-PAYLOAD", ].join("\n") end def generate_string_to_sign(date_time, credential_info, canonical_request) [ "AWS4-HMAC-SHA256", date_time, credential_info, OpenSSL::Digest::SHA256.hexdigest(canonical_request), ].join("\n") end def generate_signature(s3_config, date, string_to_sign) date_key = OpenSSL::HMAC.digest("sha256", "AWS4" + s3_config.secret_access_key, date) date_region_key = OpenSSL::HMAC.digest("sha256", date_key, s3_config.region) date_region_service_key = OpenSSL::HMAC.digest("sha256", date_region_key, "s3") signing_key = OpenSSL::HMAC.digest("sha256", date_region_service_key, "aws4_request") OpenSSL::HMAC.hexdigest("sha256", signing_key, string_to_sign) end ## # Extracts S3 configuration for S3 bucket def fetch_s3_config return S3Config.new(uri.user, uri.password, nil, "us-east-1") if uri.user && uri.password s3_source = Gem.configuration[:s3_source] || Gem.configuration["s3_source"] host = uri.host raise ConfigurationError.new("no s3_source key exists in .gemrc") unless s3_source auth = s3_source[host] || s3_source[host.to_sym] raise ConfigurationError.new("no key for host #{host} in s3_source in .gemrc") unless auth provider = auth[:provider] || auth["provider"] case provider when "env" id = ENV["AWS_ACCESS_KEY_ID"] secret = ENV["AWS_SECRET_ACCESS_KEY"] security_token = ENV["AWS_SESSION_TOKEN"] when "instance_profile" credentials = ec2_metadata_credentials_json id = credentials["AccessKeyId"] secret = credentials["SecretAccessKey"] security_token = credentials["Token"] else id = auth[:id] || auth["id"] secret = auth[:secret] || auth["secret"] security_token = auth[:security_token] || auth["security_token"] end raise ConfigurationError.new("s3_source for #{host} missing id or secret") unless id && secret region = auth[:region] || auth["region"] || "us-east-1" S3Config.new(id, secret, security_token, region) end def base64_uri_escape(str) str.gsub(/[\+\/=\n]/, BASE64_URI_TRANSLATE) end def ec2_metadata_credentials_json require "net/http" require_relative "request" require_relative "request/connection_pools" require "json" iam_info = ec2_metadata_request(EC2_IAM_INFO) # Expected format: arn:aws:iam::<id>:instance-profile/<role_name> role_name = iam_info["InstanceProfileArn"].split("/").last ec2_metadata_request(EC2_IAM_SECURITY_CREDENTIALS + role_name) end def ec2_metadata_request(url) uri = URI(url) @request_pool ||= create_request_pool(uri) request = Gem::Request.new(uri, Net::HTTP::Get, nil, @request_pool) response = request.fetch case response when Net::HTTPOK then JSON.parse(response.body) else raise InstanceProfileError.new("Unable to fetch AWS metadata from #{uri}: #{response.message} #{response.code}") end end def create_request_pool(uri) proxy_uri = Gem::Request.proxy_uri(Gem::Request.get_proxy_from_env(uri.scheme)) certs = Gem::Request.get_cert_files Gem::Request::ConnectionPools.new(proxy_uri, certs).pool_for(uri) end BASE64_URI_TRANSLATE = { "+" => "%2B", "/" => "%2F", "=" => "%3D", "\n" => "" }.freeze EC2_IAM_INFO = "http://169.254.169.254/latest/meta-data/iam/info" EC2_IAM_SECURITY_CREDENTIALS = "http://169.254.169.254/latest/meta-data/iam/security-credentials/" end