wmap 2.7.6 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/bin/wmap +9 -1
 - data/dicts/tlds.txt +9 -30
 - data/lib/wmap.rb +1 -0
 - data/lib/wmap/cidr_tracker.rb +3 -2
 - data/lib/wmap/site_tracker/wp_tracker.rb +2 -226
 - data/lib/wmap/url_crawler.rb +9 -21
 - data/lib/wmap/utils/domain_root.rb +1 -1
 - data/lib/wmap/utils/logger.rb +31 -34
 - data/lib/wmap/utils/url_magic.rb +37 -4
 - data/lib/wmap/utils/utils.rb +10 -12
 - data/lib/wmap/utils/wp_detect.rb +358 -0
 - data/test/cidr_tracker_test.rb +36 -0
 - data/test/utils_test.rb +51 -46
 - data/version.txt +2 -2
 - data/wmap.gemspec +1 -1
 - metadata +7 -9
 - data/bin/RHPG +0 -107
 - data/bin/wmaps +0 -23
 - data/settings/tag_signatures +0 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 2dee2577809daef8231ddc3d97a7e0abab5312700f36ab2233366ff6729ae388
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 5dee805b28f88e2ae320e6afd9b4ef7d6f25bff99a34cf46b42c32249bf7eaad
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: c78742dad1d356b88d2b45a0773527fd8f4e54cbff13c0ccb5f9fd9a228fac56cc2c26a705e8c5ce068b4d2bdf50d1fd190060501a1fc17e0a1040e583080db6
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 7eea2eaa6ee45e9ac7857eaa603177b00424a6842cdd89a200062bdcd737c1a66fa2310645e80272fce71d0193fb9ca8044f232e0dabdf20c2da453e436c84cc
         
     | 
    
        data/bin/wmap
    CHANGED
    
    | 
         @@ -13,7 +13,7 @@ parser = OptionParser.new do|opts| 
     | 
|
| 
       13 
13 
     | 
    
         
             
            	opts.on('-d', '--data_dir data_dir', 'Web Mapper local cache data directory') do |data_dir|
         
     | 
| 
       14 
14 
     | 
    
         
             
            		options[:data_dir] = data_dir;
         
     | 
| 
       15 
15 
     | 
    
         
             
            	end
         
     | 
| 
       16 
     | 
    
         
            -
            	opts.on('-t', '--target target', 'Web Mapper target') do |target|
         
     | 
| 
      
 16 
     | 
    
         
            +
            	opts.on('-t', '--target target', 'Web Mapper target / seed for discovery') do |target|
         
     | 
| 
       17 
17 
     | 
    
         
             
            		options[:target] = target;
         
     | 
| 
       18 
18 
     | 
    
         
             
            	end
         
     | 
| 
       19 
19 
     | 
    
         
             
            	opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
         
     | 
| 
         @@ -29,6 +29,10 @@ parser.parse! 
     | 
|
| 
       29 
29 
     | 
    
         
             
            # print program banner
         
     | 
| 
       30 
30 
     | 
    
         
             
            puts Wmap.banner
         
     | 
| 
       31 
31 
     | 
    
         
             
            # print_usage unless options[:target]
         
     | 
| 
      
 32 
     | 
    
         
            +
            unless options[:target]
         
     | 
| 
      
 33 
     | 
    
         
            +
            	puts "Usage:   $ wmap -h"
         
     | 
| 
      
 34 
     | 
    
         
            +
            	exit 1
         
     | 
| 
      
 35 
     | 
    
         
            +
            end
         
     | 
| 
       32 
36 
     | 
    
         | 
| 
       33 
37 
     | 
    
         
             
            # Preparing - check out the working logs directory
         
     | 
| 
       34 
38 
     | 
    
         
             
            if options[:data_dir]
         
     | 
| 
         @@ -129,6 +133,10 @@ Wmap.wlog(dis_urls.keys, "wmap", Log_dir+"discovered_urls.log") unless dis_urls. 
     | 
|
| 
       129 
133 
     | 
    
         
             
            Wmap.wlog(dis_sites.keys, "wmap", Log_dir+"discovered_sites.log") unless dis_sites.empty?
         
     | 
| 
       130 
134 
     | 
    
         
             
            #crawler.wlog(c_start.keys,Log_dir+"crawler.log")
         
     | 
| 
       131 
135 
     | 
    
         
             
            #crawler.wlog(c_done.keys,Log_dir+"crawler.log")
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
            # Save the current disovery urls only to a specific file, patched 07/23/2021
         
     | 
| 
      
 139 
     | 
    
         
            +
            crawler.save_discovered_urls(Log_dir+"cur_urls.log")
         
     | 
| 
       132 
140 
     | 
    
         
             
            crawler=nil
         
     | 
| 
       133 
141 
     | 
    
         | 
| 
       134 
142 
     | 
    
         | 
    
        data/dicts/tlds.txt
    CHANGED
    
    | 
         @@ -1,5 +1,5 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # http://data.iana.org/TLD/tlds-alpha-by-domain.txt
         
     | 
| 
       2 
     | 
    
         
            -
            # Version  
     | 
| 
      
 2 
     | 
    
         
            +
            # Version 2020033000, Last Updated Mon Mar 30 07:07:01 2020 UTC
         
     | 
| 
       3 
3 
     | 
    
         
             
            AAA
         
     | 
| 
       4 
4 
     | 
    
         
             
            AARP
         
     | 
| 
       5 
5 
     | 
    
         
             
            ABARTH
         
     | 
| 
         @@ -16,7 +16,6 @@ ACCENTURE 
     | 
|
| 
       16 
16 
     | 
    
         
             
            ACCOUNTANT
         
     | 
| 
       17 
17 
     | 
    
         
             
            ACCOUNTANTS
         
     | 
| 
       18 
18 
     | 
    
         
             
            ACO
         
     | 
| 
       19 
     | 
    
         
            -
            ACTIVE
         
     | 
| 
       20 
19 
     | 
    
         
             
            ACTOR
         
     | 
| 
       21 
20 
     | 
    
         
             
            AD
         
     | 
| 
       22 
21 
     | 
    
         
             
            ADAC
         
     | 
| 
         @@ -146,7 +145,6 @@ BIZ 
     | 
|
| 
       146 
145 
     | 
    
         
             
            BJ
         
     | 
| 
       147 
146 
     | 
    
         
             
            BLACK
         
     | 
| 
       148 
147 
     | 
    
         
             
            BLACKFRIDAY
         
     | 
| 
       149 
     | 
    
         
            -
            BLANCO
         
     | 
| 
       150 
148 
     | 
    
         
             
            BLOCKBUSTER
         
     | 
| 
       151 
149 
     | 
    
         
             
            BLOG
         
     | 
| 
       152 
150 
     | 
    
         
             
            BLOOMBERG
         
     | 
| 
         @@ -155,7 +153,6 @@ BM 
     | 
|
| 
       155 
153 
     | 
    
         
             
            BMS
         
     | 
| 
       156 
154 
     | 
    
         
             
            BMW
         
     | 
| 
       157 
155 
     | 
    
         
             
            BN
         
     | 
| 
       158 
     | 
    
         
            -
            BNL
         
     | 
| 
       159 
156 
     | 
    
         
             
            BNPPARIBAS
         
     | 
| 
       160 
157 
     | 
    
         
             
            BO
         
     | 
| 
       161 
158 
     | 
    
         
             
            BOATS
         
     | 
| 
         @@ -214,7 +211,6 @@ CARE 
     | 
|
| 
       214 
211 
     | 
    
         
             
            CAREER
         
     | 
| 
       215 
212 
     | 
    
         
             
            CAREERS
         
     | 
| 
       216 
213 
     | 
    
         
             
            CARS
         
     | 
| 
       217 
     | 
    
         
            -
            CARTIER
         
     | 
| 
       218 
214 
     | 
    
         
             
            CASA
         
     | 
| 
       219 
215 
     | 
    
         
             
            CASE
         
     | 
| 
       220 
216 
     | 
    
         
             
            CASEIH
         
     | 
| 
         @@ -247,7 +243,6 @@ CHEAP 
     | 
|
| 
       247 
243 
     | 
    
         
             
            CHINTAI
         
     | 
| 
       248 
244 
     | 
    
         
             
            CHRISTMAS
         
     | 
| 
       249 
245 
     | 
    
         
             
            CHROME
         
     | 
| 
       250 
     | 
    
         
            -
            CHRYSLER
         
     | 
| 
       251 
246 
     | 
    
         
             
            CHURCH
         
     | 
| 
       252 
247 
     | 
    
         
             
            CI
         
     | 
| 
       253 
248 
     | 
    
         
             
            CIPRIANI
         
     | 
| 
         @@ -299,6 +294,7 @@ COUNTRY 
     | 
|
| 
       299 
294 
     | 
    
         
             
            COUPON
         
     | 
| 
       300 
295 
     | 
    
         
             
            COUPONS
         
     | 
| 
       301 
296 
     | 
    
         
             
            COURSES
         
     | 
| 
      
 297 
     | 
    
         
            +
            CPA
         
     | 
| 
       302 
298 
     | 
    
         
             
            CR
         
     | 
| 
       303 
299 
     | 
    
         
             
            CREDIT
         
     | 
| 
       304 
300 
     | 
    
         
             
            CREDITCARD
         
     | 
| 
         @@ -360,9 +356,7 @@ DNP 
     | 
|
| 
       360 
356 
     | 
    
         
             
            DO
         
     | 
| 
       361 
357 
     | 
    
         
             
            DOCS
         
     | 
| 
       362 
358 
     | 
    
         
             
            DOCTOR
         
     | 
| 
       363 
     | 
    
         
            -
            DODGE
         
     | 
| 
       364 
359 
     | 
    
         
             
            DOG
         
     | 
| 
       365 
     | 
    
         
            -
            DOHA
         
     | 
| 
       366 
360 
     | 
    
         
             
            DOMAINS
         
     | 
| 
       367 
361 
     | 
    
         
             
            DOT
         
     | 
| 
       368 
362 
     | 
    
         
             
            DOWNLOAD
         
     | 
| 
         @@ -371,7 +365,6 @@ DTV 
     | 
|
| 
       371 
365 
     | 
    
         
             
            DUBAI
         
     | 
| 
       372 
366 
     | 
    
         
             
            DUCK
         
     | 
| 
       373 
367 
     | 
    
         
             
            DUNLOP
         
     | 
| 
       374 
     | 
    
         
            -
            DUNS
         
     | 
| 
       375 
368 
     | 
    
         
             
            DUPONT
         
     | 
| 
       376 
369 
     | 
    
         
             
            DURBAN
         
     | 
| 
       377 
370 
     | 
    
         
             
            DVAG
         
     | 
| 
         @@ -392,7 +385,6 @@ ENERGY 
     | 
|
| 
       392 
385 
     | 
    
         
             
            ENGINEER
         
     | 
| 
       393 
386 
     | 
    
         
             
            ENGINEERING
         
     | 
| 
       394 
387 
     | 
    
         
             
            ENTERPRISES
         
     | 
| 
       395 
     | 
    
         
            -
            EPOST
         
     | 
| 
       396 
388 
     | 
    
         
             
            EPSON
         
     | 
| 
       397 
389 
     | 
    
         
             
            EQUIPMENT
         
     | 
| 
       398 
390 
     | 
    
         
             
            ER
         
     | 
| 
         @@ -408,7 +400,6 @@ EU 
     | 
|
| 
       408 
400 
     | 
    
         
             
            EUROVISION
         
     | 
| 
       409 
401 
     | 
    
         
             
            EUS
         
     | 
| 
       410 
402 
     | 
    
         
             
            EVENTS
         
     | 
| 
       411 
     | 
    
         
            -
            EVERBANK
         
     | 
| 
       412 
403 
     | 
    
         
             
            EXCHANGE
         
     | 
| 
       413 
404 
     | 
    
         
             
            EXPERT
         
     | 
| 
       414 
405 
     | 
    
         
             
            EXPOSED
         
     | 
| 
         @@ -488,6 +479,7 @@ GAME 
     | 
|
| 
       488 
479 
     | 
    
         
             
            GAMES
         
     | 
| 
       489 
480 
     | 
    
         
             
            GAP
         
     | 
| 
       490 
481 
     | 
    
         
             
            GARDEN
         
     | 
| 
      
 482 
     | 
    
         
            +
            GAY
         
     | 
| 
       491 
483 
     | 
    
         
             
            GB
         
     | 
| 
       492 
484 
     | 
    
         
             
            GBIZ
         
     | 
| 
       493 
485 
     | 
    
         
             
            GD
         
     | 
| 
         @@ -580,7 +572,6 @@ HOMEGOODS 
     | 
|
| 
       580 
572 
     | 
    
         
             
            HOMES
         
     | 
| 
       581 
573 
     | 
    
         
             
            HOMESENSE
         
     | 
| 
       582 
574 
     | 
    
         
             
            HONDA
         
     | 
| 
       583 
     | 
    
         
            -
            HONEYWELL
         
     | 
| 
       584 
575 
     | 
    
         
             
            HORSE
         
     | 
| 
       585 
576 
     | 
    
         
             
            HOSPITAL
         
     | 
| 
       586 
577 
     | 
    
         
             
            HOST
         
     | 
| 
         @@ -634,7 +625,6 @@ IQ 
     | 
|
| 
       634 
625 
     | 
    
         
             
            IR
         
     | 
| 
       635 
626 
     | 
    
         
             
            IRISH
         
     | 
| 
       636 
627 
     | 
    
         
             
            IS
         
     | 
| 
       637 
     | 
    
         
            -
            ISELECT
         
     | 
| 
       638 
628 
     | 
    
         
             
            ISMAILI
         
     | 
| 
       639 
629 
     | 
    
         
             
            IST
         
     | 
| 
       640 
630 
     | 
    
         
             
            ISTANBUL
         
     | 
| 
         @@ -699,12 +689,10 @@ KYOTO 
     | 
|
| 
       699 
689 
     | 
    
         
             
            KZ
         
     | 
| 
       700 
690 
     | 
    
         
             
            LA
         
     | 
| 
       701 
691 
     | 
    
         
             
            LACAIXA
         
     | 
| 
       702 
     | 
    
         
            -
            LADBROKES
         
     | 
| 
       703 
692 
     | 
    
         
             
            LAMBORGHINI
         
     | 
| 
       704 
693 
     | 
    
         
             
            LAMER
         
     | 
| 
       705 
694 
     | 
    
         
             
            LANCASTER
         
     | 
| 
       706 
695 
     | 
    
         
             
            LANCIA
         
     | 
| 
       707 
     | 
    
         
            -
            LANCOME
         
     | 
| 
       708 
696 
     | 
    
         
             
            LAND
         
     | 
| 
       709 
697 
     | 
    
         
             
            LANDROVER
         
     | 
| 
       710 
698 
     | 
    
         
             
            LANXESS
         
     | 
| 
         @@ -725,7 +713,6 @@ LEGO 
     | 
|
| 
       725 
713 
     | 
    
         
             
            LEXUS
         
     | 
| 
       726 
714 
     | 
    
         
             
            LGBT
         
     | 
| 
       727 
715 
     | 
    
         
             
            LI
         
     | 
| 
       728 
     | 
    
         
            -
            LIAISON
         
     | 
| 
       729 
716 
     | 
    
         
             
            LIDL
         
     | 
| 
       730 
717 
     | 
    
         
             
            LIFE
         
     | 
| 
       731 
718 
     | 
    
         
             
            LIFEINSURANCE
         
     | 
| 
         @@ -744,6 +731,7 @@ LIVING 
     | 
|
| 
       744 
731 
     | 
    
         
             
            LIXIL
         
     | 
| 
       745 
732 
     | 
    
         
             
            LK
         
     | 
| 
       746 
733 
     | 
    
         
             
            LLC
         
     | 
| 
      
 734 
     | 
    
         
            +
            LLP
         
     | 
| 
       747 
735 
     | 
    
         
             
            LOAN
         
     | 
| 
       748 
736 
     | 
    
         
             
            LOANS
         
     | 
| 
       749 
737 
     | 
    
         
             
            LOCKER
         
     | 
| 
         @@ -819,7 +807,6 @@ MN 
     | 
|
| 
       819 
807 
     | 
    
         
             
            MO
         
     | 
| 
       820 
808 
     | 
    
         
             
            MOBI
         
     | 
| 
       821 
809 
     | 
    
         
             
            MOBILE
         
     | 
| 
       822 
     | 
    
         
            -
            MOBILY
         
     | 
| 
       823 
810 
     | 
    
         
             
            MODA
         
     | 
| 
       824 
811 
     | 
    
         
             
            MOE
         
     | 
| 
       825 
812 
     | 
    
         
             
            MOI
         
     | 
| 
         @@ -827,7 +814,6 @@ MOM 
     | 
|
| 
       827 
814 
     | 
    
         
             
            MONASH
         
     | 
| 
       828 
815 
     | 
    
         
             
            MONEY
         
     | 
| 
       829 
816 
     | 
    
         
             
            MONSTER
         
     | 
| 
       830 
     | 
    
         
            -
            MOPAR
         
     | 
| 
       831 
817 
     | 
    
         
             
            MORMON
         
     | 
| 
       832 
818 
     | 
    
         
             
            MORTGAGE
         
     | 
| 
       833 
819 
     | 
    
         
             
            MOSCOW
         
     | 
| 
         @@ -835,7 +821,6 @@ MOTO 
     | 
|
| 
       835 
821 
     | 
    
         
             
            MOTORCYCLES
         
     | 
| 
       836 
822 
     | 
    
         
             
            MOV
         
     | 
| 
       837 
823 
     | 
    
         
             
            MOVIE
         
     | 
| 
       838 
     | 
    
         
            -
            MOVISTAR
         
     | 
| 
       839 
824 
     | 
    
         
             
            MP
         
     | 
| 
       840 
825 
     | 
    
         
             
            MQ
         
     | 
| 
       841 
826 
     | 
    
         
             
            MR
         
     | 
| 
         @@ -854,7 +839,6 @@ MY 
     | 
|
| 
       854 
839 
     | 
    
         
             
            MZ
         
     | 
| 
       855 
840 
     | 
    
         
             
            NA
         
     | 
| 
       856 
841 
     | 
    
         
             
            NAB
         
     | 
| 
       857 
     | 
    
         
            -
            NADEX
         
     | 
| 
       858 
842 
     | 
    
         
             
            NAGOYA
         
     | 
| 
       859 
843 
     | 
    
         
             
            NAME
         
     | 
| 
       860 
844 
     | 
    
         
             
            NATIONWIDE
         
     | 
| 
         @@ -955,7 +939,6 @@ PHOTO 
     | 
|
| 
       955 
939 
     | 
    
         
             
            PHOTOGRAPHY
         
     | 
| 
       956 
940 
     | 
    
         
             
            PHOTOS
         
     | 
| 
       957 
941 
     | 
    
         
             
            PHYSIO
         
     | 
| 
       958 
     | 
    
         
            -
            PIAGET
         
     | 
| 
       959 
942 
     | 
    
         
             
            PICS
         
     | 
| 
       960 
943 
     | 
    
         
             
            PICTET
         
     | 
| 
       961 
944 
     | 
    
         
             
            PICTURES
         
     | 
| 
         @@ -1152,18 +1135,16 @@ SONG 
     | 
|
| 
       1152 
1135 
     | 
    
         
             
            SONY
         
     | 
| 
       1153 
1136 
     | 
    
         
             
            SOY
         
     | 
| 
       1154 
1137 
     | 
    
         
             
            SPACE
         
     | 
| 
       1155 
     | 
    
         
            -
            SPIEGEL
         
     | 
| 
       1156 
1138 
     | 
    
         
             
            SPORT
         
     | 
| 
       1157 
1139 
     | 
    
         
             
            SPOT
         
     | 
| 
       1158 
1140 
     | 
    
         
             
            SPREADBETTING
         
     | 
| 
       1159 
1141 
     | 
    
         
             
            SR
         
     | 
| 
       1160 
1142 
     | 
    
         
             
            SRL
         
     | 
| 
       1161 
     | 
    
         
            -
             
     | 
| 
      
 1143 
     | 
    
         
            +
            SS
         
     | 
| 
       1162 
1144 
     | 
    
         
             
            ST
         
     | 
| 
       1163 
1145 
     | 
    
         
             
            STADA
         
     | 
| 
       1164 
1146 
     | 
    
         
             
            STAPLES
         
     | 
| 
       1165 
1147 
     | 
    
         
             
            STAR
         
     | 
| 
       1166 
     | 
    
         
            -
            STARHUB
         
     | 
| 
       1167 
1148 
     | 
    
         
             
            STATEBANK
         
     | 
| 
       1168 
1149 
     | 
    
         
             
            STATEFARM
         
     | 
| 
       1169 
1150 
     | 
    
         
             
            STC
         
     | 
| 
         @@ -1211,7 +1192,6 @@ TEAM 
     | 
|
| 
       1211 
1192 
     | 
    
         
             
            TECH
         
     | 
| 
       1212 
1193 
     | 
    
         
             
            TECHNOLOGY
         
     | 
| 
       1213 
1194 
     | 
    
         
             
            TEL
         
     | 
| 
       1214 
     | 
    
         
            -
            TELEFONICA
         
     | 
| 
       1215 
1195 
     | 
    
         
             
            TEMASEK
         
     | 
| 
       1216 
1196 
     | 
    
         
             
            TENNIS
         
     | 
| 
       1217 
1197 
     | 
    
         
             
            TEVA
         
     | 
| 
         @@ -1271,7 +1251,6 @@ TZ 
     | 
|
| 
       1271 
1251 
     | 
    
         
             
            UA
         
     | 
| 
       1272 
1252 
     | 
    
         
             
            UBANK
         
     | 
| 
       1273 
1253 
     | 
    
         
             
            UBS
         
     | 
| 
       1274 
     | 
    
         
            -
            UCONNECT
         
     | 
| 
       1275 
1254 
     | 
    
         
             
            UG
         
     | 
| 
       1276 
1255 
     | 
    
         
             
            UK
         
     | 
| 
       1277 
1256 
     | 
    
         
             
            UNICOM
         
     | 
| 
         @@ -1305,7 +1284,6 @@ VIP 
     | 
|
| 
       1305 
1284 
     | 
    
         
             
            VIRGIN
         
     | 
| 
       1306 
1285 
     | 
    
         
             
            VISA
         
     | 
| 
       1307 
1286 
     | 
    
         
             
            VISION
         
     | 
| 
       1308 
     | 
    
         
            -
            VISTAPRINT
         
     | 
| 
       1309 
1287 
     | 
    
         
             
            VIVA
         
     | 
| 
       1310 
1288 
     | 
    
         
             
            VIVO
         
     | 
| 
       1311 
1289 
     | 
    
         
             
            VLAANDEREN
         
     | 
| 
         @@ -1324,7 +1302,6 @@ WALMART 
     | 
|
| 
       1324 
1302 
     | 
    
         
             
            WALTER
         
     | 
| 
       1325 
1303 
     | 
    
         
             
            WANG
         
     | 
| 
       1326 
1304 
     | 
    
         
             
            WANGGOU
         
     | 
| 
       1327 
     | 
    
         
            -
            WARMAN
         
     | 
| 
       1328 
1305 
     | 
    
         
             
            WATCH
         
     | 
| 
       1329 
1306 
     | 
    
         
             
            WATCHES
         
     | 
| 
       1330 
1307 
     | 
    
         
             
            WEATHER
         
     | 
| 
         @@ -1452,13 +1429,14 @@ XN--MGBA7C0BBN0A 
     | 
|
| 
       1452 
1429 
     | 
    
         
             
            XN--MGBAAKC7DVF
         
     | 
| 
       1453 
1430 
     | 
    
         
             
            XN--MGBAAM7A8H
         
     | 
| 
       1454 
1431 
     | 
    
         
             
            XN--MGBAB2BD
         
     | 
| 
      
 1432 
     | 
    
         
            +
            XN--MGBAH1A3HJKRD
         
     | 
| 
       1455 
1433 
     | 
    
         
             
            XN--MGBAI9AZGQP6J
         
     | 
| 
       1456 
1434 
     | 
    
         
             
            XN--MGBAYH7GPA
         
     | 
| 
       1457 
     | 
    
         
            -
            XN--MGBB9FBPOB
         
     | 
| 
       1458 
1435 
     | 
    
         
             
            XN--MGBBH1A
         
     | 
| 
       1459 
1436 
     | 
    
         
             
            XN--MGBBH1A71E
         
     | 
| 
       1460 
1437 
     | 
    
         
             
            XN--MGBC0A9AZCG
         
     | 
| 
       1461 
1438 
     | 
    
         
             
            XN--MGBCA7DZDO
         
     | 
| 
      
 1439 
     | 
    
         
            +
            XN--MGBCPQ6GPA1A
         
     | 
| 
       1462 
1440 
     | 
    
         
             
            XN--MGBERP4A5D4AR
         
     | 
| 
       1463 
1441 
     | 
    
         
             
            XN--MGBGU82A
         
     | 
| 
       1464 
1442 
     | 
    
         
             
            XN--MGBI4ECEXP
         
     | 
| 
         @@ -1484,8 +1462,10 @@ XN--P1AI 
     | 
|
| 
       1484 
1462 
     | 
    
         
             
            XN--PBT977C
         
     | 
| 
       1485 
1463 
     | 
    
         
             
            XN--PGBS0DH
         
     | 
| 
       1486 
1464 
     | 
    
         
             
            XN--PSSY2U
         
     | 
| 
      
 1465 
     | 
    
         
            +
            XN--Q7CE6A
         
     | 
| 
       1487 
1466 
     | 
    
         
             
            XN--Q9JYB4C
         
     | 
| 
       1488 
1467 
     | 
    
         
             
            XN--QCKA1PMC
         
     | 
| 
      
 1468 
     | 
    
         
            +
            XN--QXA6A
         
     | 
| 
       1489 
1469 
     | 
    
         
             
            XN--QXAM
         
     | 
| 
       1490 
1470 
     | 
    
         
             
            XN--RHQV96G
         
     | 
| 
       1491 
1471 
     | 
    
         
             
            XN--ROVU88B
         
     | 
| 
         @@ -1530,7 +1510,6 @@ ZAPPOS 
     | 
|
| 
       1530 
1510 
     | 
    
         
             
            ZARA
         
     | 
| 
       1531 
1511 
     | 
    
         
             
            ZERO
         
     | 
| 
       1532 
1512 
     | 
    
         
             
            ZIP
         
     | 
| 
       1533 
     | 
    
         
            -
            ZIPPO
         
     | 
| 
       1534 
1513 
     | 
    
         
             
            ZM
         
     | 
| 
       1535 
1514 
     | 
    
         
             
            ZONE
         
     | 
| 
       1536 
1515 
     | 
    
         
             
            ZUERICH
         
     | 
    
        data/lib/wmap.rb
    CHANGED
    
    
    
        data/lib/wmap/cidr_tracker.rb
    CHANGED
    
    | 
         @@ -99,8 +99,8 @@ class Wmap::CidrTracker 
     | 
|
| 
       99 
99 
     | 
    
         
             
            		#@known_cidr_blks_asce_index=NetAddr.sort(@known_cidr_blks.keys, :Desc=>false)
         
     | 
| 
       100 
100 
     | 
    
         
             
            		@known_cidr_blks_asce_index=@known_cidr_blks.keys.sort
         
     | 
| 
       101 
101 
     | 
    
         
             
            		@known_cidr_blks_desc_index=@known_cidr_blks_asce_index.reverse
         
     | 
| 
       102 
     | 
    
         
            -
            	 
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
      
 102 
     | 
    
         
            +
            	rescue => ee
         
     | 
| 
      
 103 
     | 
    
         
            +
            		puts "Exception on method #{__method__}: #{ee}" # if @verbose
         
     | 
| 
       104 
104 
     | 
    
         
             
            	end
         
     | 
| 
       105 
105 
     | 
    
         | 
| 
       106 
106 
     | 
    
         
             
            	# 'setter' to remove an entry to CIDR store @known_cidr_blks
         
     | 
| 
         @@ -167,6 +167,7 @@ class Wmap::CidrTracker 
     | 
|
| 
       167 
167 
     | 
    
         
             
            			known = cidr4.contains?(ip+'/32')
         
     | 
| 
       168 
168 
     | 
    
         
             
            			break if known
         
     | 
| 
       169 
169 
     | 
    
         
             
            		end
         
     | 
| 
      
 170 
     | 
    
         
            +
            		return known
         
     | 
| 
       170 
171 
     | 
    
         
             
            	rescue => ee
         
     | 
| 
       171 
172 
     | 
    
         
             
            		puts "Exception on method #{__method__}: #{ee}" if @verbose
         
     | 
| 
       172 
173 
     | 
    
         
             
            		return false
         
     | 
| 
         @@ -7,16 +7,14 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
            #++
         
     | 
| 
       8 
8 
     | 
    
         
             
            require "parallel"
         
     | 
| 
       9 
9 
     | 
    
         
             
            #require "singleton"
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            require "open_uri_redirections"
         
     | 
| 
       12 
     | 
    
         
            -
            require "nokogiri"
         
     | 
| 
       13 
     | 
    
         
            -
            require "css_parser"
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       14 
11 
     | 
    
         | 
| 
       15 
12 
     | 
    
         
             
            module Wmap
         
     | 
| 
       16 
13 
     | 
    
         
             
            class SiteTracker
         
     | 
| 
       17 
14 
     | 
    
         | 
| 
       18 
15 
     | 
    
         
             
            class WpTracker < Wmap::SiteTracker
         
     | 
| 
       19 
16 
     | 
    
         
             
            	include Wmap::Utils
         
     | 
| 
      
 17 
     | 
    
         
            +
            	include Wmap::Utils::WpDetect
         
     | 
| 
       20 
18 
     | 
    
         
             
            	#include Singleton
         
     | 
| 
       21 
19 
     | 
    
         | 
| 
       22 
20 
     | 
    
         
             
            	attr_accessor :http_timeout, :max_parallel, :verbose, :sites_wp, :data_dir
         
     | 
| 
         @@ -152,27 +150,6 @@ class WpTracker < Wmap::SiteTracker 
     | 
|
| 
       152 
150 
     | 
    
         
             
            	end
         
     | 
| 
       153 
151 
     | 
    
         
             
            	alias_method :adds, :bulk_add
         
     | 
| 
       154 
152 
     | 
    
         | 
| 
       155 
     | 
    
         
            -
              # logic to determin if it's a wordpress site
         
     | 
| 
       156 
     | 
    
         
            -
              def is_wp?(url)
         
     | 
| 
       157 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       158 
     | 
    
         
            -
            		if wp_readme?(site)
         
     | 
| 
       159 
     | 
    
         
            -
            			found=true
         
     | 
| 
       160 
     | 
    
         
            -
            		elsif wp_css?(site)
         
     | 
| 
       161 
     | 
    
         
            -
            			found=true
         
     | 
| 
       162 
     | 
    
         
            -
            		elsif wp_meta?(site)
         
     | 
| 
       163 
     | 
    
         
            -
            			found=true
         
     | 
| 
       164 
     | 
    
         
            -
            		elsif wp_login?(site)
         
     | 
| 
       165 
     | 
    
         
            -
            			found=true
         
     | 
| 
       166 
     | 
    
         
            -
            		elsif wp_rpc?(site)
         
     | 
| 
       167 
     | 
    
         
            -
            			found=true
         
     | 
| 
       168 
     | 
    
         
            -
            		else
         
     | 
| 
       169 
     | 
    
         
            -
            			found=false
         
     | 
| 
       170 
     | 
    
         
            -
            		end
         
     | 
| 
       171 
     | 
    
         
            -
            		return found
         
     | 
| 
       172 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       173 
     | 
    
         
            -
            		puts "Exception on method #{__method__}: #{ee}: #{url}" if @verbose
         
     | 
| 
       174 
     | 
    
         
            -
            	end
         
     | 
| 
       175 
     | 
    
         
            -
             
     | 
| 
       176 
153 
     | 
    
         
             
            	# Refresh one site entry then update the instance variable (cache)
         
     | 
| 
       177 
154 
     | 
    
         
             
            	def refresh (target,use_cache=false)
         
     | 
| 
       178 
155 
     | 
    
         
             
            		return add(target,use_cache)
         
     | 
| 
         @@ -209,207 +186,6 @@ class WpTracker < Wmap::SiteTracker 
     | 
|
| 
       209 
186 
     | 
    
         
             
            	#	return Hash.new
         
     | 
| 
       210 
187 
     | 
    
         
             
            	end
         
     | 
| 
       211 
188 
     | 
    
         | 
| 
       212 
     | 
    
         
            -
              # Wordpress detection checkpoint - readme.html
         
     | 
| 
       213 
     | 
    
         
            -
              def wp_readme?(url)
         
     | 
| 
       214 
     | 
    
         
            -
            		site = url_2_site(url)
         
     | 
| 
       215 
     | 
    
         
            -
                readme_url=site + "readme.html"
         
     | 
| 
       216 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       217 
     | 
    
         
            -
                if k.response_code(readme_url) == 200
         
     | 
| 
       218 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       219 
     | 
    
         
            -
                  doc=open_page(readme_url)
         
     | 
| 
       220 
     | 
    
         
            -
                  title=doc.css('title')
         
     | 
| 
       221 
     | 
    
         
            -
                  if title.to_s =~ /wordpress/i
         
     | 
| 
       222 
     | 
    
         
            -
                    return true
         
     | 
| 
       223 
     | 
    
         
            -
                  else
         
     | 
| 
       224 
     | 
    
         
            -
                    return false
         
     | 
| 
       225 
     | 
    
         
            -
                  end
         
     | 
| 
       226 
     | 
    
         
            -
                else
         
     | 
| 
       227 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       228 
     | 
    
         
            -
                  return false
         
     | 
| 
       229 
     | 
    
         
            -
                end
         
     | 
| 
       230 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       231 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for site #{url}: #{ee}" if @verbose
         
     | 
| 
       232 
     | 
    
         
            -
            		return false
         
     | 
| 
       233 
     | 
    
         
            -
              end
         
     | 
| 
       234 
     | 
    
         
            -
             
     | 
| 
       235 
     | 
    
         
            -
              # Wordpress detection checkpoint - install.css
         
     | 
| 
       236 
     | 
    
         
            -
              def wp_css?(url)
         
     | 
| 
       237 
     | 
    
         
            -
            		site = url_2_site(url)
         
     | 
| 
       238 
     | 
    
         
            -
                css_url = site + "wp-admin/css/install.css"
         
     | 
| 
       239 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       240 
     | 
    
         
            -
                if k.response_code(css_url) == 200
         
     | 
| 
       241 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       242 
     | 
    
         
            -
                  parser = CssParser::Parser.new
         
     | 
| 
       243 
     | 
    
         
            -
                  parser.load_uri!(css_url)
         
     | 
| 
       244 
     | 
    
         
            -
                  rule = parser.find_by_selector('#logo a')
         
     | 
| 
       245 
     | 
    
         
            -
                  if rule.length >0
         
     | 
| 
       246 
     | 
    
         
            -
                    if rule[0] =~ /wordpress/i
         
     | 
| 
       247 
     | 
    
         
            -
                      return true
         
     | 
| 
       248 
     | 
    
         
            -
                    end
         
     | 
| 
       249 
     | 
    
         
            -
                  end
         
     | 
| 
       250 
     | 
    
         
            -
                else
         
     | 
| 
       251 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       252 
     | 
    
         
            -
                  return false
         
     | 
| 
       253 
     | 
    
         
            -
                end
         
     | 
| 
       254 
     | 
    
         
            -
                return false
         
     | 
| 
       255 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       256 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for site #{url}: #{ee}" if @verbose
         
     | 
| 
       257 
     | 
    
         
            -
            		return false
         
     | 
| 
       258 
     | 
    
         
            -
              end
         
     | 
| 
       259 
     | 
    
         
            -
             
     | 
| 
       260 
     | 
    
         
            -
              # Wordpress detection checkpoint - meta generator
         
     | 
| 
       261 
     | 
    
         
            -
              def wp_meta?(url)
         
     | 
| 
       262 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       263 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       264 
     | 
    
         
            -
                if k.response_code(site) == 200
         
     | 
| 
       265 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       266 
     | 
    
         
            -
                  doc=open_page(site)
         
     | 
| 
       267 
     | 
    
         
            -
                  meta=doc.css('meta')
         
     | 
| 
       268 
     | 
    
         
            -
                  if meta.to_s =~ /wordpress/i
         
     | 
| 
       269 
     | 
    
         
            -
                    return true
         
     | 
| 
       270 
     | 
    
         
            -
                  else
         
     | 
| 
       271 
     | 
    
         
            -
                    return false
         
     | 
| 
       272 
     | 
    
         
            -
                  end
         
     | 
| 
       273 
     | 
    
         
            -
                end
         
     | 
| 
       274 
     | 
    
         
            -
            		return false
         
     | 
| 
       275 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       276 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       277 
     | 
    
         
            -
            		return false
         
     | 
| 
       278 
     | 
    
         
            -
              end
         
     | 
| 
       279 
     | 
    
         
            -
             
     | 
| 
       280 
     | 
    
         
            -
            	# Wordpress detection checkpoint - wp-login
         
     | 
| 
       281 
     | 
    
         
            -
              def wp_login?(url)
         
     | 
| 
       282 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       283 
     | 
    
         
            -
            		login_url=site + "wp-login.php"
         
     | 
| 
       284 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       285 
     | 
    
         
            -
                if k.response_code(login_url) == 200
         
     | 
| 
       286 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       287 
     | 
    
         
            -
                  doc=open_page(login_url)
         
     | 
| 
       288 
     | 
    
         
            -
                  links=doc.css('link')
         
     | 
| 
       289 
     | 
    
         
            -
                  if links.to_s =~ /login.min.css/i
         
     | 
| 
       290 
     | 
    
         
            -
                    return true
         
     | 
| 
       291 
     | 
    
         
            -
                  else
         
     | 
| 
       292 
     | 
    
         
            -
                    return false
         
     | 
| 
       293 
     | 
    
         
            -
                  end
         
     | 
| 
       294 
     | 
    
         
            -
                end
         
     | 
| 
       295 
     | 
    
         
            -
            		return false
         
     | 
| 
       296 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       297 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       298 
     | 
    
         
            -
            		return false
         
     | 
| 
       299 
     | 
    
         
            -
              end
         
     | 
| 
       300 
     | 
    
         
            -
             
     | 
| 
       301 
     | 
    
         
            -
            	# Wordpress detection checkpoint - xml-rpc
         
     | 
| 
       302 
     | 
    
         
            -
              def wp_rpc?(url)
         
     | 
| 
       303 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       304 
     | 
    
         
            -
            		rpc_url=site + "xmlrpc.php"
         
     | 
| 
       305 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       306 
     | 
    
         
            -
            		#puts "res code", k.response_code(rpc_url)
         
     | 
| 
       307 
     | 
    
         
            -
                if k.response_code(rpc_url) == 405 # method not allowed
         
     | 
| 
       308 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       309 
     | 
    
         
            -
                  return true
         
     | 
| 
       310 
     | 
    
         
            -
                end
         
     | 
| 
       311 
     | 
    
         
            -
            		return false
         
     | 
| 
       312 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       313 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       314 
     | 
    
         
            -
            		return false
         
     | 
| 
       315 
     | 
    
         
            -
              end
         
     | 
| 
       316 
     | 
    
         
            -
             
     | 
| 
       317 
     | 
    
         
            -
            	# Extract the WordPress version
         
     | 
| 
       318 
     | 
    
         
            -
            	def wp_ver(url)
         
     | 
| 
       319 
     | 
    
         
            -
            		if !wp_ver_readme(url).nil?
         
     | 
| 
       320 
     | 
    
         
            -
            			puts "WordPress version found by wp_ver_readme method. " if @verbose
         
     | 
| 
       321 
     | 
    
         
            -
            			return wp_ver_readme(url)
         
     | 
| 
       322 
     | 
    
         
            -
            		elsif !wp_ver_login(url,"login.min.css").nil?
         
     | 
| 
       323 
     | 
    
         
            -
            			puts "WordPress version found by login.min.css file. " if @verbose
         
     | 
| 
       324 
     | 
    
         
            -
            			return wp_ver_login(url,"login.min.css")
         
     | 
| 
       325 
     | 
    
         
            -
            		elsif !wp_ver_login(url,"buttons.min.css").nil?
         
     | 
| 
       326 
     | 
    
         
            -
            			puts "WordPress version found by buttons.min.css file. " if @verbose
         
     | 
| 
       327 
     | 
    
         
            -
            			return wp_ver_login(url,"buttons.min.css")
         
     | 
| 
       328 
     | 
    
         
            -
            		elsif !wp_ver_login(url,"wp-admin.min.css").nil?
         
     | 
| 
       329 
     | 
    
         
            -
            			puts "WordPress version found by wp-admin.min.css file. " if @verbose
         
     | 
| 
       330 
     | 
    
         
            -
            			return wp_ver_login(url,"wp-admin.min.css")
         
     | 
| 
       331 
     | 
    
         
            -
            		elsif !wp_ver_meta(url).nil?
         
     | 
| 
       332 
     | 
    
         
            -
            			puts "WordPress version found by wp_ver_meta method. " if @verbose
         
     | 
| 
       333 
     | 
    
         
            -
            			return wp_ver_meta(url)
         
     | 
| 
       334 
     | 
    
         
            -
            		else
         
     | 
| 
       335 
     | 
    
         
            -
            			return nil
         
     | 
| 
       336 
     | 
    
         
            -
            		end
         
     | 
| 
       337 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       338 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       339 
     | 
    
         
            -
            		return nil
         
     | 
| 
       340 
     | 
    
         
            -
            	end
         
     | 
| 
       341 
     | 
    
         
            -
             
     | 
| 
       342 
     | 
    
         
            -
            	# Identify wordpress version through the login page
         
     | 
| 
       343 
     | 
    
         
            -
              def wp_ver_login(url,pattern)
         
     | 
| 
       344 
     | 
    
         
            -
            		puts "Check for #{pattern}" if @verbose
         
     | 
| 
       345 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       346 
     | 
    
         
            -
            		login_url=site + "wp-login.php"
         
     | 
| 
       347 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       348 
     | 
    
         
            -
            		#puts "Res code: #{k.response_code(login_url)}" if @verbose
         
     | 
| 
       349 
     | 
    
         
            -
                if k.response_code(login_url) == 200
         
     | 
| 
       350 
     | 
    
         
            -
                  doc=open_page(login_url)
         
     | 
| 
       351 
     | 
    
         
            -
            			#puts doc.inspect
         
     | 
| 
       352 
     | 
    
         
            -
                  links=doc.css('link')
         
     | 
| 
       353 
     | 
    
         
            -
            			#puts links.inspect if @verbose
         
     | 
| 
       354 
     | 
    
         
            -
            			links.each do |tag|
         
     | 
| 
       355 
     | 
    
         
            -
            	      if tag.to_s.include?(pattern)
         
     | 
| 
       356 
     | 
    
         
            -
            					puts tag.to_s if @verbose
         
     | 
| 
       357 
     | 
    
         
            -
            					k=nil
         
     | 
| 
       358 
     | 
    
         
            -
            	        return tag.to_s.scan(/[\d+\.]+\d+/).first
         
     | 
| 
       359 
     | 
    
         
            -
            	      end
         
     | 
| 
       360 
     | 
    
         
            -
            			end
         
     | 
| 
       361 
     | 
    
         
            -
                end
         
     | 
| 
       362 
     | 
    
         
            -
                k=nil
         
     | 
| 
       363 
     | 
    
         
            -
                return nil
         
     | 
| 
       364 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       365 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       366 
     | 
    
         
            -
            		return nil
         
     | 
| 
       367 
     | 
    
         
            -
              end
         
     | 
| 
       368 
     | 
    
         
            -
             
     | 
| 
       369 
     | 
    
         
            -
            	# Identify wordpress version through the meta link
         
     | 
| 
       370 
     | 
    
         
            -
              def wp_ver_meta(url)
         
     | 
| 
       371 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       372 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       373 
     | 
    
         
            -
                if k.response_code(site) == 200
         
     | 
| 
       374 
     | 
    
         
            -
                  doc=open_page(site)
         
     | 
| 
       375 
     | 
    
         
            -
            			#puts doc.inspect
         
     | 
| 
       376 
     | 
    
         
            -
                  meta=doc.css('meta')
         
     | 
| 
       377 
     | 
    
         
            -
            			#puts meta.inspect
         
     | 
| 
       378 
     | 
    
         
            -
            			meta.each do |tag|
         
     | 
| 
       379 
     | 
    
         
            -
            	      if tag['content'].to_s =~ /wordpress/i
         
     | 
| 
       380 
     | 
    
         
            -
            					#puts tag.to_s
         
     | 
| 
       381 
     | 
    
         
            -
            					k=nil
         
     | 
| 
       382 
     | 
    
         
            -
            	        return tag['content'].to_s.scan(/[\d+\.]+\d+/).first
         
     | 
| 
       383 
     | 
    
         
            -
            	      end
         
     | 
| 
       384 
     | 
    
         
            -
            			end
         
     | 
| 
       385 
     | 
    
         
            -
                end
         
     | 
| 
       386 
     | 
    
         
            -
                k=nil
         
     | 
| 
       387 
     | 
    
         
            -
                return nil
         
     | 
| 
       388 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       389 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       390 
     | 
    
         
            -
            		return nil
         
     | 
| 
       391 
     | 
    
         
            -
              end
         
     | 
| 
       392 
     | 
    
         
            -
             
     | 
| 
       393 
     | 
    
         
            -
            	# Wordpress version detection via - readme.html
         
     | 
| 
       394 
     | 
    
         
            -
              def wp_ver_readme(url)
         
     | 
| 
       395 
     | 
    
         
            -
            		site=url_2_site(url)
         
     | 
| 
       396 
     | 
    
         
            -
                readme_url=site + "readme.html"
         
     | 
| 
       397 
     | 
    
         
            -
                k=Wmap::UrlChecker.new
         
     | 
| 
       398 
     | 
    
         
            -
            		puts "Res code: #{k.response_code(readme_url)}" if @verbose
         
     | 
| 
       399 
     | 
    
         
            -
                if k.response_code(readme_url) == 200
         
     | 
| 
       400 
     | 
    
         
            -
                  k=nil
         
     | 
| 
       401 
     | 
    
         
            -
                  doc=open_page(readme_url)
         
     | 
| 
       402 
     | 
    
         
            -
            			puts doc if @verbose
         
     | 
| 
       403 
     | 
    
         
            -
                  logo=doc.css('h1#logo')[0]
         
     | 
| 
       404 
     | 
    
         
            -
                  puts logo.inspect if @verbose
         
     | 
| 
       405 
     | 
    
         
            -
            			return logo.to_s.scan(/[\d+\.]+\d+/).first
         
     | 
| 
       406 
     | 
    
         
            -
                end
         
     | 
| 
       407 
     | 
    
         
            -
                k=nil
         
     | 
| 
       408 
     | 
    
         
            -
                return nil
         
     | 
| 
       409 
     | 
    
         
            -
            	rescue => ee
         
     | 
| 
       410 
     | 
    
         
            -
            		puts "Exception on method #{__method__} for url #{url}: #{ee}" if @verbose
         
     | 
| 
       411 
     | 
    
         
            -
            		return nil
         
     | 
| 
       412 
     | 
    
         
            -
            	end
         
     | 
| 
       413 
189 
     | 
    
         | 
| 
       414 
190 
     | 
    
         
             
            end
         
     | 
| 
       415 
191 
     | 
    
         
             
            end
         
     |