Last active
May 27, 2017 21:57
-
-
Save kamaljoshi/2cce5f6d35cd28de8f6dbb27d586f064 to your computer and use it in GitHub Desktop.
Revisions
-
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 7 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,3 +1,6 @@ # Except sqlite3 all the libraries are standard that should be present with a Ruby installation. # If you don't have sqlite3 installed. Use `gem install sqlite3` require 'fileutils' require 'sqlite3' require 'uri' @@ -11,6 +14,9 @@ sqlite_db = SQLite3::Database.new temp_location chrome_history = sqlite_db.execute('SELECT DISTINCT(url) FROM urls;').flatten; nil FileUtils.rm([temp_location]) domain_set = Set.new cloudflare_set = Set.new query_uris = Array.new @@ -32,6 +38,4 @@ end end.each(&:join); nil p cloudflare_set.to_a.sort -
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -34,4 +34,4 @@ FileUtils.rm([temp_location]) p cloudflare_set.to_a.sort -
kamaljoshi renamed this gist
Feb 24, 2017 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -32,4 +32,6 @@ end end.each(&:join); nil FileUtils.rm([temp_location]) puts cloudflare_set -
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 4 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -21,16 +21,15 @@ domain_set.add(host) end; nil uri_mutex, set_mutex, read_mutex = Mutex.new, Mutex.new, Mutex.new (1..16).map do Thread.new(query_uris, cloudflare_set) do |query_uris, cloudflare_set| while !(uri = uri_mutex.synchronize { query_uris.pop }).nil? cf_header_present = !Net::HTTP.get_response(uri)['cf-ray'].nil? rescue nil read_mutex.synchronize{ print("#{query_uris.length} remaining\r") } set_mutex.synchronize { cloudflare_set.add(uri.host) } if cf_header_present end end end.each(&:join); nil FileUtils.rm([temp_location]) -
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -31,6 +31,6 @@ end end end; nil threads.each(&:join); nil FileUtils.rm([temp_location]) -
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -10,7 +10,7 @@ FileUtils.cp(chrome_history_location, temp_location) sqlite_db = SQLite3::Database.new temp_location chrome_history = sqlite_db.execute('SELECT DISTINCT(url) FROM urls;').flatten; nil domain_set = Set.new cloudflare_set = Set.new query_uris = Array.new -
kamaljoshi revised this gist
Feb 24, 2017 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -26,7 +26,7 @@ Thread.new(query_uris, cloudflare_set) do |query_uris, cloudflare_set| while !(uri = uri_mutex.synchronize { query_uris.pop }).nil? cf_header_present = !Net::HTTP.get_response(uri)['cf-ray'].nil? rescue nil print("#{query_uris.length} remaining\r") set_mutex.synchronize { cloudflare_set.add(uri.host) } if cf_header_present end end -
kamaljoshi created this gist
Feb 24, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,36 @@ require 'fileutils' require 'sqlite3' require 'uri' require 'net/http' require 'set' require 'thread' chrome_history_location = "#{ENV['HOME']}/Library/Application\ Support/Google/Chrome/Default/History" temp_location = "/tmp/Chrome_history" FileUtils.cp(chrome_history_location, temp_location) sqlite_db = SQLite3::Database.new temp_location chrome_history = db.execute('SELECT DISTINCT(url) FROM urls;').flatten; nil domain_set = Set.new cloudflare_set = Set.new query_uris = Array.new chrome_history.each do |url| host = URI.parse(url).host rescue nil query_uris += [URI::HTTPS.build({host: host}), URI::HTTP.build({host: host})] if !domain_set.include?(host) && !host.nil? domain_set.add(host) end; nil uri_mutex, set_mutex = Mutex.new, Mutex.new threads = 16.times.map do Thread.new(query_uris, cloudflare_set) do |query_uris, cloudflare_set| while !(uri = uri_mutex.synchronize { query_uris.pop }).nil? cf_header_present = !Net::HTTP.get_response(uri)['cf-ray'].nil? rescue nil puts uri.host set_mutex.synchronize { cloudflare_set.add(uri.host) } if cf_header_present end end end; nil threads.map(&:join); nil FileUtils.rm([temp_location])