Module: Janis

Defined in:
lib/janis.rb,
lib/janis/parsing.rb,
lib/janis/version.rb,
lib/janis/validations.rb,
lib/janis/parser_factory.rb,
lib/janis/proxy_website_parser.rb,
lib/janis/specific_parsers/simple.rb,
lib/janis/specific_parsers/hide_my_ass.rb,
lib/janis/specific_parsers/proxy-list_org.rb

Defined Under Namespace

Modules: Parsing

Constant Summary collapse

IP_PORT_SEPARATOR =
':'
PROXY_LIST_PATH =
File.dirname(__FILE__) + '/../proxy_server_list.yml'
VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.find(amount, path_to_list = PROXY_LIST_PATH) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/janis.rb', line 10

def self.find(amount, path_to_list = PROXY_LIST_PATH)

	proxy_list = YAML.load_file("#{path_to_list}").split(' ')
	results = []

   proxy_list.each do |url| 
     if results.size < amount
       parsed_from_url = Parsing.parse(url) unless url.include?('#') # Elements should look like ["1.1.1.1:8080", "2.2.2.2:9090"]
       results_from_this_url = parsed_from_url.map { |entry| convert_to_hash(entry) }
       # Result should look like [ { ip: "1.1.1.1", port: "8080" }, { ip: "2.2.2.2", port: "9090" } ]
       results += results_from_this_url
     end
	end

   results[0..amount - 1]
   
end