Cleaned stuff & Added flexibility + second level domains

This commit is contained in:
isterix 2020-07-24 01:37:47 +02:00
parent c509637865
commit 451cc10561
4 changed files with 52 additions and 52 deletions

View file

@ -4,7 +4,7 @@ require 'json'
def main_loop
json_object = []
TIMES.times do
url = url_generator(DOMAINS, MODE)
url = url_generator()
puts(url) if LOG
begin
response = Net::HTTP.get_response(URI(url))
@ -21,22 +21,26 @@ def main_loop
puts("Finished at #{Time.new.hour}h#{Time.new.min}m\n")
end
def url_generator(domains, mode)
result = mode[rand(0..mode.length - 1)] + '://'
url_length = rand(2..30)
def url_generator()
result = MODE[rand(0...MODE.length)] + '://'
url_length = rand(MINI..MAXI)
result += rand(36 ** url_length).to_s(36)
result += domains[rand(0..domains.length - 1)]
result += DOMAINS[rand(0...DOMAINS.length)] if rand(1...100) <= SECOND
result += DOMAINS[rand(0...DOMAINS.length)]
end
TIMES = ARGV.include?('-t') ? ARGV[ARGV.index("-t") + 1].to_i : 3000
DOMAINS = ARGV.include?('-d') ? ARGV[ARGV.index("-d") + 1].split(",") : ['.co', '.com', '.net', '.edu', '.gov', '.cn', '.org', '.cc']
MODE = ARGV.include?('-m') ? ARGV[ARGV.index("-m") + 1].split(",") : ['http']
LOG = ARGV.index("-l").class == Integer
TIMES = ARGV.include?('-t') ? ARGV[ARGV.index('-t') + 1].to_i : 3000
DOMAINS = ARGV.include?('-d') ? ARGV[ARGV.index('-d') + 1].split(",") : ['.co', '.com', '.net', '.edu', '.gov', '.cn', '.org', '.cc', '.us', '.mil', '.ac', '.it', '.de']
MODE = ARGV.include?('-m') ? ARGV[ARGV.index('-m') + 1].split(",") : ['http']
LOG = ARGV.index('-l').class == Integer
MINI = ARGV.include?('-MIN') ? ARGV[ARGV.index('-MIN') + 1].to_i : 2
MAXI = ARGV.include?('-MAX') ? ARGV[ARGV.index('-MAX') + 1].to_i : 50
SECOND = ARGV.include?('-s') ? ARGV[ARGV.index('-s') + 1].to_i : 1
REPORT_FILE = "RB_report_#{Time.new.day}#{Time.new.hour}#{Time.new.min}.json"
puts("\nI am going to look for images through #{TIMES} random URLs with the following domains: #{DOMAINS}")
puts("These URLs will use the following protocols: #{MODE}")
puts("\nI am going to look for websites through #{TIMES} random URLs (min length #{MINI} and max length #{MAXI}) with the following domains: #{DOMAINS}")
puts("These URLs will use the protocols #{MODE} and each of those URLs have #{SECOND} in 100 chance to have a second level domain.")
puts("Started at #{Time.new.hour}h#{Time.new.min}m\n")
File.open(REPORT_FILE, 'a+')