(补充:) 输入法坏了。所以用英文
refer to: https://github.com/wappalyzer/wappalyzer
very good~
register ( no need ... )
9$ / month
github:
git clone https://github.com/wappalyzer/wappalyzer.git
cd wappalyzer
yarn install
yarn run link
usage:
node src/drivers/npm/cli.js https://somesite.me
result:
do some test: ( run as rails script )
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'production' require File.expand_path(File.dirname(__FILE__) + "/../config/environment") require 'rails' require 'rubygems' require 'httparty' require 'csv' puts "== install wappalyzer from: https://github.com/wappalyzer/wappalyzer" WAPPALYZER = "node /workspace2/coding_tools/wappalyzer/src/drivers/npm/cli.js" def run url, server command = "#{WAPPALYZER} https://#{url}" result = `#{command}` puts "== result: #{result.inspect}" puts "== result.urls: #{JSON.parse(result)['urls'].inspect}" key = JSON.parse(result)['urls'].keys[0] puts "== key is: #{key}" if JSON.parse(result)['urls'][key]['status'] < 400 server.update wappalyzer_result: result else command = "#{WAPPALYZER} http://#{url}" result = `#{command}` server.update wappalyzer_result: "https is not available,
" + result end end all_servers = Server.all.order('id desc') all_servers.each_slice(10) do |servers| threads = [] servers.each do |server| threads << Thread.new do puts "site: #{server.name}, id: #{server.id}" run server.name, server end end threads.each {|t| t.join } sleep 10 end
result looks very good:
some practice: CPU may got high if run multiple threads
caution:
it tops when executing mass tasks. ( multiple thread )
maybe because this PC only has 4 core CPU