# coding: utf-8 module NetworkSetup def self.network_services result = `networksetup -listallnetworkservices`.each_line.map{|l|l.strip} result.shift return result end def self.get_proxy(type,service) array = `networksetup -get#{type}proxy #{service}` .each_line.map{|l| l.split(':').map!{|v|v.strip} } .flatten! result = Hash[*array] result["Enabled"] = result["Enabled"] == "Yes" ? true:false result["Port"] = result["Port"].to_i result["Authenticated Proxy Enabled"] = result["Authenticated Proxy Enabled"].to_i == 1 ? true:false return result end private_class_method :get_proxy def self.web_proxy(service) get_proxy("web",service) end def self.secureweb_proxy(service) get_proxy("secureweb",service) end def self.ftp_proxy(service) get_proxy("ftp",service) end end if $0 == __FILE__ puts "NetworkSetup.network_services:" p NetworkSetup.network_services puts "NetworkSetup.web_proxy:" p NetworkSetup.web_proxy("Wi-Fi") puts "NetworkSetup.secureweb_proxy:" p NetworkSetup.secureweb_proxy("Wi-Fi") puts "NetworkSetup.ftp_proxy:" p NetworkSetup.ftp_proxy("Wi-Fi") end