class VPN::Config::CLI
Public Instance Methods
endpoints(provider="Private Internet Access")
click to toggle source
# File lib/vpn/config/cli.rb, line 70 def endpoints(provider="Private Internet Access") generator = VPN::Config::Generator.new(data_file: expand_path(options[:data_file])) provider = generator.providers.find {|pr| pr["name"] =~ Regexp.new(provider, Regexp::IGNORECASE) } if provider provider["endpoints"].each do |e| puts "* " + e["name"] if options[:verbose] puts " * Host: " + e["host"] puts " * UUID: " + e["uuid"] puts " * SharedSecret: " + e["shared_secret"] end end else abort "No provider found" end end
expand_path(path)
click to toggle source
# File lib/vpn/config/cli.rb, line 88 def expand_path(path) path ? File.expand_path(path) : nil end
generate(output_file)
click to toggle source
# File lib/vpn/config/cli.rb, line 19 def generate(output_file) generator = VPN::Config::Generator.new( auth_name: options[:username], auth_pass: options[:password], identifier: options[:identifier], certificate_path: expand_path(options[:certificate_path]), certificate_pass: options[:certificate_pass], endpoints: options[:endpoints], provider: options[:provider], data_file: expand_path(options[:data_file]) ) plist = if options[:sign] generator.generate_signed_plist else generator.generate_plist end if output_file.nil? || output_file.empty? puts plist else unless output_file =~ /\.(mobileconfig|plist)\z/i output_file = output_file + ".mobileconfig" end out_path = File.expand_path(output_file) puts "Writing to: #{out_path}" File.open(output_file, "wb") do |f| f << plist end end end
providers()
click to toggle source
# File lib/vpn/config/cli.rb, line 56 def providers generator = VPN::Config::Generator.new(data_file: expand_path(options[:data_file])) generator.providers.each do |pr| puts "* " + pr["name"] if options[:verbose] puts " * URL: " + pr["url"] puts " * UUID: " + pr["uuid"] end end end