Class: Proxied::Utilities

Inherits:
Object
  • Object
show all
Defined in:
lib/proxied/utilities.rb

Class Method Summary collapse

Class Method Details

.format_proxy_address(host:, port: 80, username: nil, password: nil, include_http: false) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/proxied/utilities.rb', line 5

def format_proxy_address(host:, port: 80, username: nil, password: nil, include_http: false)
  address                   =   "#{host.strip}:#{port}"
  address                   =   "#{format_proxy_credentials(username, password)}@#{address}" if !username.to_s.empty? && !password.to_s.empty?
  address                   =   (include_http && !address.start_with?("http://")) ? "http://#{address}" : address
  
  return address
end

.format_proxy_credentials(username, password) ⇒ Object



13
14
15
# File 'lib/proxied/utilities.rb', line 13

def format_proxy_credentials(username, password)
  return "#{username}:#{password}"
end

.proxy_options_for_faraday(host:, port: 80, username: nil, password: nil, auth_mode: :credentials) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/proxied/utilities.rb', line 26

def proxy_options_for_faraday(host:, port: 80, username: nil, password: nil, auth_mode: :credentials)
  proxy_options             =   {}
  username                  =   CGI::escape(username)
  password                  =   CGI::escape(password)
  
  options                   =   {host: host, port: port, include_http: true}
  options[:username]        =   username if !username.to_s.empty? && auth_mode&.to_sym&.eql?(:basic_auth)
  options[:password]        =   password if !password.to_s.empty? && auth_mode&.to_sym&.eql?(:basic_auth)
  
  proxy_options[:uri]       =   format_proxy_address(options)
  proxy_options[:user]      =   username if !username.to_s.empty? && auth_mode&.to_sym&.eql?(:credentials)
  proxy_options[:password]  =   password if !password.to_s.empty? && auth_mode&.to_sym&.eql?(:credentials)
    
  return proxy_options
end

.proxy_switcher_import_format(host:, port: 80, username: nil, password: nil, country: nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/proxied/utilities.rb', line 42

def proxy_switcher_import_format(host:, port: 80, username: nil, password: nil, country: nil)
  # Format:
  # COUNTRY_CODE,COUNTRY_NAME,CITY,USERNAME:PASSWORD@IP_ADDRESS:PORT
  
  address                   =   ""
          
  if !country.to_s.empty?
    address                +=   "#{country.upcase},,,"
  end
  
  if !username.to_s.empty? && !password.to_s.empty?
    address                +=   "#{username}:#{password}@"
  end
  
  address                  +=   "#{host}:#{port}"
end

.socks_proxy_credentials(username: nil, password: nil) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/proxied/utilities.rb', line 17

def socks_proxy_credentials(username: nil, password: nil)
  credentials               =   {}
  
  credentials[:user]        =   username if !username.to_s.empty?
  credentials[:password]    =   password if !password.to_s.empty?

  return credentials
end