Skip to content

Instantly share code, notes, and snippets.

@Konstantinusz
Created May 1, 2015 22:57
Show Gist options
  • Save Konstantinusz/e53b11a915bae54b67a4 to your computer and use it in GitHub Desktop.
Save Konstantinusz/e53b11a915bae54b67a4 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
now_a=Time.now
require "cgi"
require "set"
require "json"
Code={"AD"=>"Andorra", "AE"=>"Egyesült Arab Emirátusok", "AF"=>"Afganisztán",
"AG"=>"Antigua és Barbuda", "AI"=>"Anguilla", "AL"=>"Albánia", "AM"=>"Örményország",
"AN"=>"Holland Antillák", "AO"=>"Angola", "AQ"=>"Antarktisz", "AR"=>"Argentína",
"AS"=>"Amerikai Szamoa", "AT"=>"Ausztria", "AU"=>"Ausztrália", "AW"=>"Aruba",
"AZ"=>"Azerbajdzsán", "BA"=>"Bosznia és Hercegovina", "BB"=>"Barbados",
"BD"=>"Banglades", "BE"=>"Belgium", "BF"=>"Burkina Faso", "BG"=>"Bulgaria",
"BH"=>"Bahrain", "BI"=>"Burundi", "BJ"=>"Benin", "BM"=>"Bermuda",
"BN"=>"Brunei Szultánság", "BO"=>"Bolívia", "BR"=>"Brazília", "BS"=>"Bahama-szigetek",
"BT"=>"Bhután", "BV"=>"Bouvet-Sziget", "BW"=>"Botswana",
"BY"=>"Fehéroroszország (Belorusszia)", "BZ"=>"Belize", "CA"=>"Kanada",
"CC"=>"Cocos-szigetek", "CF"=>"Közép-Afrikai Köztársaság", "CG"=>"Kongó",
"CH"=>"Svájc", "CI"=>"Elefántcsontpart", "CK"=>"Cook-szigetek", "CL"=>"Chile",
"CM"=>"Kamerun", "CN"=>"Kína", "CO"=>"Kolumbia", "CR"=>"Costa Rica",
"CS"=>"a korábbi Csehszlovákia", "CU"=>"Kuba", "CV"=>"Cape Verde",
"CX"=>"Karácsony-Sziget", "CY"=>"Ciprus", "CZ"=>"Cseh Köztársaság",
"DE"=>"Németország", "DJ"=>"Dzsibuti", "DK"=>"Dánia", "DM"=>"Dominika",
"DO"=>"Dominikai Köztársaság", "DZ"=>"Algéria", "EC"=>"Ecuador", "EE"=>"Észtország",
"EG"=>"Egyiptom", "EH"=>"Szahara", "ER"=>"Eritrea", "ES"=>"Spanyolország",
"ET"=>"Etiópia", "FI"=>"Finnország", "FJ"=>"Fidzsi-szigetek",
"FK"=>"Falkland-szigetek (Malvinas)", "FM"=>"Mikornézia", "FO"=>"Faroe-szigetek",
"FR"=>"Franciaország", "FX"=>"Franciaország - fõvárosi", "GA"=>"Gabon",
"GB"=>"Nagy-Britannia (UK)", "GD"=>"Grenada", "GE"=>"Grúzia", "GF"=>"Fracia Guyana",
"GH"=>"Ghána", "GI"=>"Gibraltár", "GL"=>"Grönland", "GM"=>"Gambia", "GN"=>"Guinea",
"GP"=>"Guadeloupe", "GQ"=>"Egyenlítõi Guinea", "GR"=>"Görögország",
"GS"=>"St. Georgia és St. Sandwich Szigetek", "GT"=>"Guatemala", "GU"=>"Guam",
"GW"=>"Guinea-Bissau", "GY"=>"Guyana", "HK"=>"Hong Kong",
"HM"=>"Heard és McDonald-szigetek", "HN"=>"Honduras", "HR"=>"Horvátország",
"HT"=>"Haiti", "HU"=>"Magyarország", "ID"=>"Indonézia", "IE"=>"Írország",
"IL"=>"Izrael", "IN"=>"India", "IO"=>"Brit Indiai-óceáni Területek", "IQ"=>"Irak",
"IR"=>"Irán", "IS"=>"Izland", "IT"=>"Olaszország", "JM"=>"Jamaika",
"JO"=>"Jordánia", "JP"=>"Japán", "KE"=>"Kenya", "KG"=>"Kirgízia",
"KH"=>"Kambodzsa", "KI"=>"Kiribati", "KM"=>"Comore-Szigetek",
"KN"=>"Szent Kitts és Nevis", "KP"=>"Észak Korea", "KR"=>"Dél Korea",
"KW"=>"Kuvait", "KY"=>"Kajmán-Szigetek", "KZ"=>"Kazahsztán", "LA"=>"Laosz",
"LB"=>"Libanon", "LC"=>"Saint Lucia", "LI"=>"Lichtenstein", "LK"=>"Srí Lanka",
"LR"=>"Libéria", "LS"=>"Lesotho", "LT"=>"Litvánia", "LU"=>"Luxemburg",
"LV"=>"Lettország", "LY"=>"Líbia", "MA"=>"Marokkó", "MC"=>"Monaco",
"MD"=>"Moldova", "MG"=>"Madagaszkár", "MH"=>"Marshall-szigetek",
"MK"=>"Makedónia", "ML"=>"Mali", "MM"=>"Myanmar", "MN"=>"Mongólia",
"MO"=>"Macau", "MP"=>"Északi Mariana-szigetek", "MQ"=>"Martinique",
"MR"=>"Mauritánia", "MS"=>"Monserrat", "MT"=>"Málta", "MU"=>"Mauritius",
"MV"=>"Maldív-szigetek", "MW"=>"Malawi", "MX"=>"Mexikó", "MY"=>"Malajzia",
"MZ"=>"Mozambik", "NA"=>"Namíbia", "NC"=>"Új Kaledónia", "NE"=>"Niger",
"NF"=>"Norfolk-szigetek", "NG"=>"Nigéria", "NI"=>"Nicaragua", "NL"=>"Hollandia",
"NO"=>"Norvégia", "NP"=>"Nepál", "NR"=>"Nauru", "NT"=>"Semleges Zóna (Neutral Zone)",
"NU"=>"Niue", "NZ"=>"Új Zéland", "OM"=>"Omán", "PA"=>"Panama", "PE"=>"Peru",
"PF"=>"Francia Polinézia", "PG"=>"Pápua Új Guinea", "PH"=>"Fülöp-szigetek",
"PK"=>"Pakisztán", "PL"=>"Lengyelország", "PM"=>"Szt. Pierre és Miquelon",
"PN"=>"Pitcairn-szigetek", "PR"=>"Puerto Rico", "PT"=>"Portugália",
"PW"=>"Palau-szigetek", "PY"=>"Paraguay", "QA"=>"Katar", "RE"=>"Reunion",
"RO"=>"Románia", "RU"=>"Orosz Föderáció", "RW"=>"Ruanda", "SA"=>"Szaúd-Arábia",
"SB"=>"Salamon-szigetek", "SC"=>"Seychelle-szigetek", "SD"=>"Szudán",
"SE"=>"Svédország", "SG"=>"Szingapúr", "SH"=>"St. Helena", "SI"=>"Szlovénia",
"SJ"=>"Svalbard (Spitzbergák)", "SK"=>"Szlovák Köztársaság", "SL"=>"Sierra Leone",
"SM"=>"San Marino", "SN"=>"Szenegál", "SO"=>"Szomália", "SR"=>"Suriname",
"ST"=>"São Tomé és Príncipe", "SU"=>"a korábbi Szovjetúnió", "SV"=>"Salvador",
"SY"=>"Szíria", "SZ"=>"Szváziföld", "TC"=>"Turks- és Caicos-szigetek",
"TD"=>"Csád", "TF"=>"Francia Polinézia", "TG"=>"Togo", "TH"=>"Thaiföld",
"TJ"=>"Tadzsikisztán", "TK"=>"Tokelau-szigetek", "TM"=>"Türkmenisztán",
"TN"=>"Tunézia", "TO"=>"Tonga", "TP"=>"Kelet-Timor", "TR"=>"Törökország",
"TT"=>"Trinidad és Tobago", "TV"=>"Tuvalu", "TW"=>"Tajvan", "TZ"=>"Tanzánia",
"UA"=>"Ukrajna", "UG"=>"Uganda", "UK"=>"Egyesült Királyság",
"UM"=>"Egyesült Államok külterületi szigetek", "US"=>"Amerikai Egyesült Államok",
"UY"=>"Uruguay", "UZ"=>"Üzbegisztán", "VA"=>"Vatikán", "VC"=>"Saint Vincent és Grenada",
"VE"=>"Venezuela", "VG"=>"Virgin-szigetek (brit)", "VI"=>"Virgin-szigetek (amerikai)",
"VN"=>"Vietnám", "VU"=>"Vanuatu", "WF"=>"Wallis és Futuna", "WS"=>"Szamoa",
"YE"=>"Jemen", "YT"=>"Mayotte ", "YU"=>"Jugoszlávia", "ZA"=>"Dél-Afrikai Köztársaság",
"ZM"=>"Zambia", "ZR"=>"Zaire", "ZW"=>"Zimbabwe", "RS"=>"Szerbia"}
Code.default="Ország ismeretlen"
my_ips=Set.new ["84.1.119.178","37.227.45.119"]
def ip_to_location(ip)
ret=%x{curl -s ipinfo.io/#{ip}}.force_encoding("utf-8").encode("utf-8")
js=JSON.load(ret)
js.merge!("orszag"=>Code[js["country"]])
if js["city"]=="" then
js["city"]="N/A"
end
if js["region"]=="" then
js["region"]="N/A"
end
return js #"#{js["city"]=="" ? "N/A" : js["city"]}; #{js["orszag"]}; #{js["hostname"]}; #{js["org"]}"
end
cgi=CGI.new(:accept_charset => "UTF-8")
puts "Content-Type: image/jpeg;\n\n"
puts open("image.jpg","r"){|f| f.read}
if not (my_ips.include? cgi.remote_addr) then
js=ip_to_location(cgi.remote_addr)
open("stat.txt","a"){|f| f.puts "#{Time.now.to_s} -> #{cgi.remote_addr.ljust(15)} -> #{js["city"]} - #{js["region"]}: #{js["orszag"]} -> #{cgi.referer} -> #{cgi.user_agent} -> #{js["hostname"]} -> #{js["org"]} -> #{Time.now-now_a}"}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment