Module: TunnelBlick

Defined in:
lib/tunnel_blick.rb,
lib/tunnel_blick/models.rb,
lib/tunnel_blick/tunnel.rb,
lib/tunnel_blick/logging.rb,
lib/tunnel_blick/version.rb,
lib/tunnel_blick/ip_methods.rb,
lib/tunnel_blick/express_vpn.rb,
lib/tunnel_blick/module_methods.rb

Defined Under Namespace

Modules: ExpressVPN Classes: IpAddress, Tunnel

Constant Summary collapse

VERSION =
"0.1.15"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.config_dirsObject

Returns the value of attribute config_dirs.



6
7
8
# File 'lib/tunnel_blick/module_methods.rb', line 6

def config_dirs
  @config_dirs
end

.conn_sleepObject

Returns the value of attribute conn_sleep.



6
7
8
# File 'lib/tunnel_blick/module_methods.rb', line 6

def conn_sleep
  @conn_sleep
end

.countriesObject

Returns the value of attribute countries.



6
7
8
# File 'lib/tunnel_blick/module_methods.rb', line 6

def countries
  @countries
end

.detailsObject

Returns the value of attribute details.



17
18
19
# File 'lib/tunnel_blick.rb', line 17

def details
  @details
end

.ip_dbObject

Returns the value of attribute ip_db.



17
18
19
# File 'lib/tunnel_blick.rb', line 17

def ip_db
  @ip_db
end

.providersObject

Returns the value of attribute providers.



6
7
8
# File 'lib/tunnel_blick/module_methods.rb', line 6

def providers
  @providers
end

.uniq_triesObject

Returns the value of attribute uniq_tries.



7
8
9
# File 'lib/tunnel_blick/module_methods.rb', line 7

def uniq_tries
  @uniq_tries
end

Class Method Details

.database=(database) ⇒ Object



19
20
21
22
# File 'lib/tunnel_blick.rb', line 19

def database= (database)
  TunnelBlick.ip_db = database
  require_relative 'tunnel_blick/models'
end

.my_ipObject



9
10
11
12
13
14
15
16
17
# File 'lib/tunnel_blick/module_methods.rb', line 9

def my_ip
  begin
    open('http://icanhazip.com').read.strip
  rescue => e
    sputs 'Error! Could not get ip!'
    sputs e.message
    sputs e.to_s
  end
end

.set_connect_sleep(sleep) ⇒ Object



19
20
21
# File 'lib/tunnel_blick/module_methods.rb', line 19

def set_connect_sleep (sleep)
  TunnelBlick.conn_sleep = sleep
end

.set_countries(*countries) ⇒ Object



23
24
25
# File 'lib/tunnel_blick/module_methods.rb', line 23

def set_countries (*countries)
  TunnelBlick.countries = countries
end

.set_unique_attempts(tries) ⇒ Object



27
28
29
# File 'lib/tunnel_blick/module_methods.rb', line 27

def set_unique_attempts (tries)
  TunnelBlick.uniq_tries = tries
end

.try_log_info(details) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/tunnel_blick/logging.rb', line 7

def try_log_info (details)
  details = details

  if details.public_ip.nil?
    details.public_ip = TunnelBlick.my_ip
  end

  record = IpAddress[public_ip: details.public_ip]

  if record.nil?
    IpAddress.new(details.to_h).save
  else
    record.values.merge!(details.to_h)
    record.save
  end

end