From 69e82dcaddf075f9eb599f6926e39b38361dccc4 Mon Sep 17 00:00:00 2001 From: Sencer H Date: Sat, 11 Apr 2015 16:15:15 +0300 Subject: [PATCH 01/51] devam edecek. --- mekan1.py | 191 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 146 insertions(+), 45 deletions(-) diff --git a/mekan1.py b/mekan1.py index e299386..f741f87 100755 --- a/mekan1.py +++ b/mekan1.py @@ -1,51 +1,152 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- - """ -12.2014 izmir hackerspace +Şu anda kaç kişi burada uyguaması İzmir Hackerspace 12.2014 + +Geliştiriciler : + Ramazan Subaşı, Doğukan Güven, Sencer Hamarat """ -from __future__ import print_function -import sys -import nmap -import arrow -exceptions =[('192.168.0.1', 'Router', 'always on'), #ip, host, reason - ('192.168.0.13', 'Raspi1', "it's me"), +import getopt +import os, sys, nmap, arrow +from subprocess import Popen, PIPE + + +class GitHub(): + def __init__(self, filetopush, arguments): + self.arguments = arguments + self.filetopush = filetopush + + def shell_quote(self, arguments): + def quote(string): + return "\\'".join("'" + p + "'" for p in string.split("'")) + return " ".join(map(quote, arguments)) + + def system(self, *arguments): + return os.system(self.shell_quote(arguments)) + + def commit_and_tag(self): + self.system("git", "commit", self.filetopush, "-m", "Automatic update") + self.system("git", "push", "origin", "gh-pages") + + def answer(self, *arguments): + proc = Popen(self.shell_quote(arguments), shell=True, stdout=PIPE) + return proc.stdout.readlines() + + +class SAKKIBU(): + """ + Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve hariç tutulacak olanlar listesinde + bulunanları toplamdan düşüp, görüntülenebilir bir html dosyasına yazdıktan sonra dosyayı github_pages'de + yayınlanması için otomatik olarak github depsuna gönderir. + + Komutu konsoldan çalıştırmak için: + + # pytohn3 sakkibu.py [-h|-d|-a|-p] + + -h | --help Bu yardım dokümanını gösterir. + -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. + (Sayımı yap ve ekrana istatistikleri bas.) + -a | --all Ağdaki bütün cihazları (hariç tutulanları da) sayıma ekler. + -p | --push Scriptin normal şekilde çalışmasını sağlar. + (Sayımı yap, dosyayı hazırla ve github_pages'de yayınla.) + + + Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob oluşturabilirsiniz. + Bunun için kullanıcının crontab listesine "crontab -e" komutu ile erişi aşağıdaki 10'ar dakikalık zaman + dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: + + * * * * python3 sakkibu.py -p 2>&1 + """ + def __init__(self, argv): + self.argv = argv + self.display_all = False + self.runargs = dict() + self.hosts_count = int() + self.hosts_list = list() + self.message_text = str() + self.dtnow = arrow.now().format('DD.MM.YYYY HH:mm') + self.base_path = os.path.abspath('.') + self.html_file = os.path.join(self.base_path, 'index.html') # yerelde oluşturulup git pages'e gönderilecek index.html + try: + self.nm = nmap.PortScanner() + except nmap.PortScannerError: + print('Nmap bulunamadı', sys.exc_info()[0]) + sys.exit(2) + except: + print("Beklenmeyen hata:", sys.exc_info()[0]) + sys.exit(2) + + self.exceptional_ips = [ + # ip, host, reason + ('192.168.1.1', 'Router', 'always on'), + ('192.168.1.39', 'Raspi1', "it's me"), ] + self.exceptions_count = len(self.exceptional_ips) + + def print_stats(self, istisna=False, sistem=False): + print("-" * 80) + if (self.hosts_count - self.exceptions_count) < 1: + self.message_text = u"Şu anda kimse yok." + else: + diff_count = self.hosts_count - self.exceptions_count + for host, status in self.hosts_list: + if self.display_all: print('{} : {}'.format(host, status)) + if not sistem: + self.message_text = u"Açık, {} cihaz bağlı".format(self.hosts_count - self.exceptions_count) + else: + self.message_text = u"İstisnalar ({}) {} {} cihaz bağlı".format(self.exceptions_count, + u'dahil' if istisna else u'haric', + self.hosts_count if istisna else diff_count) + if self.display_all: print(self.message_text) + + def scan_field(self): + self.nm.scan(hosts='192.168.1.0/24', arguments=' -n -sP -PE') + self.hosts_list = [(x, self.nm[x]['status']['state']) for x in self.nm.all_hosts()] + self.hosts_count = len(self.hosts_list) + + def create_html(self, dryrun): + if dryrun: + with open(self.html_file, 'w+') as html_file: + html_file.write(u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, ''])) + if self.display_all: print(u"HTML dosyası oluşturuldu.") + else: + if self.display_all: print(u"HTML dosyası oluşturulmadı.") + pass + + def commit_and_push(self, push): + pass + + def get_args(self): + if not len(self.argv) > 1: + print("Lütfen anahtar belirtin. Yardım için -h") + sys.exit(2) + try: + opts, args = getopt.getopt(self.argv[1:], "hdap:", ["help", "dry-run", "all", "push"]) + print(getopt.getopt(self.argv[1:], "hdap:", ["help", "dry-run", "all", "push"])) + except getopt.GetoptError: + print('Anahtarlar hatalı.') + sys.exit(2) + + for opt, arg in opts: + if opt in ('-h', '--help'): + print(self.__doc__) + sys.exit() + self.display_all = True if opt in ("-a", "--all") else False + self.runargs.update({'dry-run': True if opt in ("-d", "--dry-run") else False}) + self.runargs.update({'push': True if opt in ("-p", "--push") else False}) + + def run(self): + self.get_args() + self.create_html(self.runargs['dry-run']) + self.commit_and_push(self.runargs['push']) + + # self.scan_field() + # self.print_stats(sistem=False, istisna=True) + -htmlFile = '/mnt/mekansshfs/mekan.html' # uzak sunucudaki html dosyası -try: - nm = nmap.PortScanner() -except nmap.PortScannerError: - print('Nmap not found', sys.exc_info()[0]) - sys.exit(0) -except: - print("Unexpected error:", sys.exc_info()[0]) - sys.exit(0) - -print ("izmir hackerspace wifisayar uygulaması") -print ('Scanning network for active hosts...') - -nm.scan(hosts='192.168.0.0/24', arguments=' -n -sP -PE') -hosts_list = [(x, nm[x]['status']['state']) for x in nm.all_hosts()] - -for host, status in hosts_list: - print('{0}:{1}'.format(host, status)) - -hostsCount = len(hosts_list) -dtnow = arrow.now() -exceptionsCount = len(exceptions) - -print ("İstisnalar ({}) dahil {} cihaz bağlı".format(str(exceptionsCount), str(hostsCount))) -print ("İstisnalar ({}) hariç {} cihaz bağlı".format(str(exceptionsCount), str(hostsCount -exceptionsCount))) - -if (hostsCount - exceptionsCount) < 1: - message = "Kapalı" - print (message) -else: - message = "Açık, {} cihaz bağlı".format(str(hostsCount-exceptionsCount)) - print (message) - -file = open(htmlFile,'w') -htmlBody = message + "
Güncelleme: " + dtnow.format('DD.MM.YYYY HH:mm') + "" -file.write(htmlBody) -file.close() +if __name__ == '__main__': + print(u"Şu anda kaç kişi burada uyguaması İzmir Hackerspace (2015)") + sakkibu = SAKKIBU(sys.argv) + print("-" * 80) + sakkibu.run() + sys.exit(0) \ No newline at end of file From 32871554099e778989092f08c6e7aab5cc5ccc61 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:03:57 +0300 Subject: [PATCH 02/51] gereksiz print silindi --- mekan1.py | 1 - 1 file changed, 1 deletion(-) diff --git a/mekan1.py b/mekan1.py index f741f87..e2dbd07 100755 --- a/mekan1.py +++ b/mekan1.py @@ -122,7 +122,6 @@ def get_args(self): sys.exit(2) try: opts, args = getopt.getopt(self.argv[1:], "hdap:", ["help", "dry-run", "all", "push"]) - print(getopt.getopt(self.argv[1:], "hdap:", ["help", "dry-run", "all", "push"])) except getopt.GetoptError: print('Anahtarlar hatalı.') sys.exit(2) From d5e9896f906e95632920cded9ea73d62b738f149 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:04:25 +0300 Subject: [PATCH 03/51] =?UTF-8?q?dosya=20ad=C4=B1=20de=C4=9Fi=C5=9Ftirildi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mekan1.py => sakkibu.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mekan1.py => sakkibu.py (100%) diff --git a/mekan1.py b/sakkibu.py similarity index 100% rename from mekan1.py rename to sakkibu.py From 842a38e2bf00661529c63765d3feb6f44da1f57f Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:34:37 +0300 Subject: [PATCH 04/51] Automatic update --- index.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..354d652 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:34 \ No newline at end of file From 5c7a850129eec231929d45ab4b60abaca08ff86d Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:35:43 +0300 Subject: [PATCH 05/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 354d652..1088028 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:34 \ No newline at end of file +Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 00:35 \ No newline at end of file From 76554a1be3214be5b44d496fca0ef530e9c42f20 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:42:02 +0300 Subject: [PATCH 06/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 1088028..0d72fd5 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 00:35 \ No newline at end of file +İstisnalar (2) dahil 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:42 \ No newline at end of file From 8724bbc60ee23718efc179dcc0a4cc8fff249c86 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:42:53 +0300 Subject: [PATCH 07/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 0d72fd5..135ddaf 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:42 \ No newline at end of file +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:42 \ No newline at end of file From f874496f9c95e222259aff2e683808f8af7b3f95 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:43:50 +0300 Subject: [PATCH 08/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 135ddaf..33506e3 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:42 \ No newline at end of file +İstisnalar (2) dahil 4 cihaz bağlı
Son Kontrol: 12.04.2015 00:43 \ No newline at end of file From b7c0f7d04e7683c324d6837f8b71ea04f53e259d Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:50:21 +0300 Subject: [PATCH 09/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 33506e3..b2b8c2d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 4 cihaz bağlı
Son Kontrol: 12.04.2015 00:43 \ No newline at end of file +İstisnalar (2) dahil 5 cihaz bağlı
Son Kontrol: 12.04.2015 00:50 \ No newline at end of file From 68d0cdb7284acc9016545c84c87963f234ef1736 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:51:28 +0300 Subject: [PATCH 10/51] =?UTF-8?q?script=20tamamland=C4=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 106 ++++++++++++++++++++++++++++------------------------- 1 file changed, 56 insertions(+), 50 deletions(-) diff --git a/sakkibu.py b/sakkibu.py index e2dbd07..9ca80d8 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -8,15 +8,14 @@ """ import getopt import os, sys, nmap, arrow -from subprocess import Popen, PIPE class GitHub(): - def __init__(self, filetopush, arguments): - self.arguments = arguments + def __init__(self, filetopush): self.filetopush = filetopush - def shell_quote(self, arguments): + @staticmethod + def shell_quote(arguments): def quote(string): return "\\'".join("'" + p + "'" for p in string.split("'")) return " ".join(map(quote, arguments)) @@ -28,39 +27,41 @@ def commit_and_tag(self): self.system("git", "commit", self.filetopush, "-m", "Automatic update") self.system("git", "push", "origin", "gh-pages") - def answer(self, *arguments): - proc = Popen(self.shell_quote(arguments), shell=True, stdout=PIPE) - return proc.stdout.readlines() - class SAKKIBU(): """ - Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve hariç tutulacak olanlar listesinde - bulunanları toplamdan düşüp, görüntülenebilir bir html dosyasına yazdıktan sonra dosyayı github_pages'de - yayınlanması için otomatik olarak github depsuna gönderir. +Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve +hariç tutulacak olanlar listesinde bulunanları toplamdan düşüp, görüntülenebilir +bir html dosyasına yazdıktan sonra dosyayı github_pages'de yayınlanması için +otomatik olarak github depsuna gönderir. + +Bu işlemin çalışması için öncelikle bir github hesabınızın olması gerekmektedir. +Ve ayrıca github_pages oluşturmuş olmanız ve GitHub().commit_and_tag() metodunda +hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. - Komutu konsoldan çalıştırmak için: +Komutu konsoldan çalıştırmak için: - # pytohn3 sakkibu.py [-h|-d|-a|-p] + # pytohn3 sakkibu.py -h|[-d,-a,-p] - -h | --help Bu yardım dokümanını gösterir. - -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. - (Sayımı yap ve ekrana istatistikleri bas.) - -a | --all Ağdaki bütün cihazları (hariç tutulanları da) sayıma ekler. - -p | --push Scriptin normal şekilde çalışmasını sağlar. - (Sayımı yap, dosyayı hazırla ve github_pages'de yayınla.) + -h | --help Bu yardım dokümanını gösterir. + -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. + (Sayımı yap ve ekrana istatistikleri bas.) + -a | --all Ağdaki bütün cihazları (hariç tutulanları da) sayıma ekler. + -p | --push Scriptin hazırlanan HTML'i depoya göndermesini sağlar. - Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob oluşturabilirsiniz. - Bunun için kullanıcının crontab listesine "crontab -e" komutu ile erişi aşağıdaki 10'ar dakikalık zaman - dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: +Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob +oluşturabilirsiniz. Bunun için kullanıcının crontab listesine "crontab -e" komutu +ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş +görevi ekleyebilirsiniz: - * * * * python3 sakkibu.py -p 2>&1 + * * * * python3 sakkibu.py -p 2>&1 """ def __init__(self, argv): self.argv = argv self.display_all = False - self.runargs = dict() + self.dry_run = False + self.push = False self.hosts_count = int() self.hosts_list = list() self.message_text = str() @@ -83,45 +84,51 @@ def __init__(self, argv): ] self.exceptions_count = len(self.exceptional_ips) - def print_stats(self, istisna=False, sistem=False): - print("-" * 80) + def print_stats(self, istisna=False): if (self.hosts_count - self.exceptions_count) < 1: self.message_text = u"Şu anda kimse yok." else: - diff_count = self.hosts_count - self.exceptions_count for host, status in self.hosts_list: if self.display_all: print('{} : {}'.format(host, status)) - if not sistem: + if not istisna: self.message_text = u"Açık, {} cihaz bağlı".format(self.hosts_count - self.exceptions_count) else: - self.message_text = u"İstisnalar ({}) {} {} cihaz bağlı".format(self.exceptions_count, - u'dahil' if istisna else u'haric', - self.hosts_count if istisna else diff_count) - if self.display_all: print(self.message_text) + self.message_text = u"İstisnalar ({}) dahil {} cihaz bağlı".format(self.exceptions_count, + self.hosts_count) + print(self.message_text) - def scan_field(self): + def scan_area(self): self.nm.scan(hosts='192.168.1.0/24', arguments=' -n -sP -PE') self.hosts_list = [(x, self.nm[x]['status']['state']) for x in self.nm.all_hosts()] self.hosts_count = len(self.hosts_list) - def create_html(self, dryrun): - if dryrun: + def create_html(self): + if not self.dry_run: with open(self.html_file, 'w+') as html_file: - html_file.write(u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, ''])) + html_file.write(u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, ''])) if self.display_all: print(u"HTML dosyası oluşturuldu.") else: if self.display_all: print(u"HTML dosyası oluşturulmadı.") - pass - def commit_and_push(self, push): - pass + def commit_and_push(self): + if self.push: + if self.display_all: print(u"Dosya depoya gönderiliyor.") + github = GitHub(self.html_file) + github.commit_and_tag() + if self.display_all: print(u"Dosya depoya gönderildi.") + else: + if self.display_all: print(u"Depoya herhangi bir dosya gönderilmedi.") def get_args(self): + """ + Konsoldan verilen argümanlar alınır. + :return: + """ if not len(self.argv) > 1: print("Lütfen anahtar belirtin. Yardım için -h") sys.exit(2) try: - opts, args = getopt.getopt(self.argv[1:], "hdap:", ["help", "dry-run", "all", "push"]) + opts, args = getopt.getopt(self.argv[1:], "hdap", ["help", "dry-run", "all", "push"]) except getopt.GetoptError: print('Anahtarlar hatalı.') sys.exit(2) @@ -130,22 +137,21 @@ def get_args(self): if opt in ('-h', '--help'): print(self.__doc__) sys.exit() - self.display_all = True if opt in ("-a", "--all") else False - self.runargs.update({'dry-run': True if opt in ("-d", "--dry-run") else False}) - self.runargs.update({'push': True if opt in ("-p", "--push") else False}) + if opt in ("-a", "--all"): self.display_all = True + if opt in ("-d", "--dry-run"): self.dry_run = True + if opt in ("-p", "--push"): self.push = True def run(self): self.get_args() - self.create_html(self.runargs['dry-run']) - self.commit_and_push(self.runargs['push']) - - # self.scan_field() - # self.print_stats(sistem=False, istisna=True) - + self.scan_area() + self.print_stats(istisna=self.display_all) + self.create_html() + self.commit_and_push() if __name__ == '__main__': - print(u"Şu anda kaç kişi burada uyguaması İzmir Hackerspace (2015)") + print(u"\nŞu anda kaç kişi burada uyguaması İzmir Hackerspace (2015)") sakkibu = SAKKIBU(sys.argv) print("-" * 80) sakkibu.run() + print("-" * 80) sys.exit(0) \ No newline at end of file From ae3ad1306dab11cb6261d7a30752ad4afed06b0a Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:52:12 +0300 Subject: [PATCH 11/51] gereksiz bash script silindi. --- mountsshfs.sh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100755 mountsshfs.sh diff --git a/mountsshfs.sh b/mountsshfs.sh deleted file mode 100755 index b7a325e..0000000 --- a/mountsshfs.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -rm /mnt/mekansshfs/* -sshfs -o 'IdentityFile=~/.ssh/id_rsa' -o nonempty xxx@xxxx:/srv/izmirhs.org/mekan /mnt/mekansshfs/ -/usr/bin/python /home/pi/mekanapp/mekan1.py From 6ab9e54c148049ef25c9eeda78fd3bfab027e248 Mon Sep 17 00:00:00 2001 From: "Sencer H." Date: Sun, 12 Apr 2015 00:53:56 +0300 Subject: [PATCH 12/51] Create README.md --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc14ed0 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# Şu Anda Kaç Kişi Burada (SAKKIBU) uygulaması +(İzmir Hackerspace Wifi Sayar uygulamasının forkudur.) + +## Kullanım +Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve +hariç tutulacak olanlar listesinde bulunanları toplamdan düşüp, görüntülenebilir +bir html dosyasına yazdıktan sonra dosyayı github_pages'de yayınlanması için +otomatik olarak github depsuna gönderir. + +Bu işlemin çalışması için öncelikle bir github hesabınızın olması gerekmektedir. +Ve ayrıca github_pages oluşturmuş olmanız ve GitHub().commit_and_tag() metodunda +hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. + +Komutu konsoldan çalıştırmak için: + + # pytohn3 sakkibu.py -h|[-d,-a,-p] + + -h | --help Bu yardım dokümanını gösterir. + -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. + (Sayımı yap ve ekrana istatistikleri bas.) + -a | --all Ağdaki bütün cihazları (hariç tutulanları da) sayıma ekler. + -p | --push Scriptin hazırlanan HTML'i depoya göndermesini sağlar. + + +Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob +oluşturabilirsiniz. Bunun için kullanıcının crontab listesine "crontab -e" komutu +ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş +görevi ekleyebilirsiniz: + + * * * * python3 sakkibu.py -p 2>&1 From b99799ffaa7d9bb3db075bf99a118714f58338d2 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:55:52 +0300 Subject: [PATCH 13/51] Readme eklendi. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index dc14ed0..20e74a5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# Şu Anda Kaç Kişi Burada (SAKKIBU) uygulaması +# SAKKIBU +## Şu Anda Kaç Kişi Burada uygulaması (İzmir Hackerspace Wifi Sayar uygulamasının forkudur.) ## Kullanım @@ -28,3 +29,4 @@ ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ay görevi ekleyebilirsiniz: * * * * python3 sakkibu.py -p 2>&1 + From ca7b016c8cda1da63848b31a77d39f631d65f62b Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 00:56:31 +0300 Subject: [PATCH 14/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index b2b8c2d..12d2af4 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 5 cihaz bağlı
Son Kontrol: 12.04.2015 00:50 \ No newline at end of file +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:56 \ No newline at end of file From d63158e4195c00a02297b4a5c3a8f774e6fa3856 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 01:11:13 +0300 Subject: [PATCH 15/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 20e74a5..81f1f2c 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,19 @@ ## Şu Anda Kaç Kişi Burada uygulaması (İzmir Hackerspace Wifi Sayar uygulamasının forkudur.) +## Hazırlık + +- Github hesabınıza giriş yapın. +- Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. +- https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: + - "Roll vanilla, or generate a site for your project" kısmından "Project site" seçin + - "Generate a site, or start from scratch?" kısmında "Start from scratch" seçin +- Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. +- Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: + + + # pytohn3 sakkibu.py -p + ## Kullanım Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve hariç tutulacak olanlar listesinde bulunanları toplamdan düşüp, görüntülenebilir @@ -19,7 +32,7 @@ Komutu konsoldan çalıştırmak için: -h | --help Bu yardım dokümanını gösterir. -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. (Sayımı yap ve ekrana istatistikleri bas.) - -a | --all Ağdaki bütün cihazları (hariç tutulanları da) sayıma ekler. + -a | --all Her türlü çıktıyı görüntüler. (Dikkat log dosyasını aşırı şişirebilir.) -p | --push Scriptin hazırlanan HTML'i depoya göndermesini sağlar. @@ -29,4 +42,3 @@ ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ay görevi ekleyebilirsiniz: * * * * python3 sakkibu.py -p 2>&1 - From 45d3d4f614a9cd705237afaf811a7c8a94e1322d Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 01:17:51 +0300 Subject: [PATCH 16/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 81f1f2c..b41bea7 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ - Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: - # pytohn3 sakkibu.py -p + # pytohn3 sakkibu.py -p ## Kullanım Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve @@ -32,7 +32,7 @@ Komutu konsoldan çalıştırmak için: -h | --help Bu yardım dokümanını gösterir. -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. (Sayımı yap ve ekrana istatistikleri bas.) - -a | --all Her türlü çıktıyı görüntüler. (Dikkat log dosyasını aşırı şişirebilir.) + -a | --all Her türlü çıktıyı görüntüler. (Dikkat log dosyasını şişirebilir.) -p | --push Scriptin hazırlanan HTML'i depoya göndermesini sağlar. From 17bdd0356688dfc2dcdb508af28fab309049c53e Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 01:23:40 +0300 Subject: [PATCH 17/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b41bea7..24f8d69 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,18 @@ ## Hazırlık -- Github hesabınıza giriş yapın. -- Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. -- https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: - - "Roll vanilla, or generate a site for your project" kısmından "Project site" seçin - - "Generate a site, or start from scratch?" kısmında "Start from scratch" seçin -- Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. -- Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: +Github hesabınıza giriş yapın. +Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. +https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: + +- "Roll vanilla, or generate a site for your project" kısmından "Project site" seçin +- "Generate a site, or start from scratch?" kısmında "Start from scratch" seçin + +Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. +**Gerekli:** "gh-pages" branchına bir adet boş "index.html" dosyası muhakkak gönderin. +*Seçimsel:* ya da Projenizi "gh-pages" branchına aktarın +*(Aksi takdirde "index.html" depoda olmadığından oluşturulan yeni dosya gönderilemeyecektir.)* +Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: # pytohn3 sakkibu.py -p From 87f60c3f418eb0a2a9210b53667ea1e0eacb7015 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 01:24:27 +0300 Subject: [PATCH 18/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24f8d69..4386600 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: - "Roll vanilla, or generate a site for your project" kısmından "Project site" seçin - "Generate a site, or start from scratch?" kısmında "Start from scratch" seçin + Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. **Gerekli:** "gh-pages" branchına bir adet boş "index.html" dosyası muhakkak gönderin. *Seçimsel:* ya da Projenizi "gh-pages" branchına aktarın @@ -18,7 +19,7 @@ Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluştu Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: - # pytohn3 sakkibu.py -p + # python3 sakkibu.py -p ## Kullanım Bu script nmap ile yerel ağa bağlı olan cihazların kaç tane olduğunu sayar ve @@ -32,7 +33,7 @@ hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. Komutu konsoldan çalıştırmak için: - # pytohn3 sakkibu.py -h|[-d,-a,-p] + # python3 sakkibu.py -h|[-d,-a,-p] -h | --help Bu yardım dokümanını gösterir. -d | --dry-run Scriptin dosya oluşturmadan sadece işlem çıktısı vermesini sağlar. From 2aed4bcb6a2677bc1060a09cb376b4d120363988 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 01:26:37 +0300 Subject: [PATCH 19/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4386600..b62b1d8 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,19 @@ ## Hazırlık -Github hesabınıza giriş yapın. -Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. -https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: +- Github hesabınıza giriş yapın. +- Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. +- https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: -- "Roll vanilla, or generate a site for your project" kısmından "Project site" seçin -- "Generate a site, or start from scratch?" kısmında "Start from scratch" seçin + - "Roll vanilla, or generate a site for your project" kısmından **"Project site"** seçin + - "Generate a site, or start from scratch?" kısmında **"Start from scratch"** seçin -Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. -**Gerekli:** "gh-pages" branchına bir adet boş "index.html" dosyası muhakkak gönderin. -*Seçimsel:* ya da Projenizi "gh-pages" branchına aktarın -*(Aksi takdirde "index.html" depoda olmadığından oluşturulan yeni dosya gönderilemeyecektir.)* -Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: +- Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. +- **Gerekli:** "gh-pages" branchına bir adet boş "index.html" dosyası muhakkak gönderin. +- *Seçimsel:* ya da Projenizi "gh-pages" branchına aktarın +- *(Aksi takdirde "index.html" depoda olmadığından oluşturulan yeni dosya gönderilemeyecektir.)* +- Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: # python3 sakkibu.py -p From fb415db2c06fa086334483e017969ad2185cf34b Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:37:48 +0300 Subject: [PATCH 20/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b62b1d8..cf83b94 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ ## Hazırlık - Github hesabınıza giriş yapın. +- Bu projeyi kendi hesabınıza klonlayın. - Bu scriptin çalışacağı cihazda bir id_rsa.pub dosyası oluşturun ve GitHub hesabınıza ekleyin. - https://pages.github.com/ adresine gidin ve aşağıdaki adımları takip edin: @@ -47,4 +48,4 @@ oluşturabilirsiniz. Bunun için kullanıcının crontab listesine "crontab -e" ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: - * * * * python3 sakkibu.py -p 2>&1 + */10 * * * python3 sakkibu.py -p 2>&1 From 47ced6ec587a94695e92143df37b12470aaaf60b Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:39:05 +0300 Subject: [PATCH 21/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cf83b94..537c71b 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,8 @@ otomatik olarak github depsuna gönderir. Bu işlemin çalışması için öncelikle bir github hesabınızın olması gerekmektedir. Ve ayrıca github_pages oluşturmuş olmanız ve GitHub().commit_and_tag() metodunda -hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. +**self.system("git", "push", "origin", "gh-pages")** satırındaki parametreleri +değiştirerek hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. Komutu konsoldan çalıştırmak için: From 85e11fe4aeaea53cf007627136366ac498420476 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:39:21 +0300 Subject: [PATCH 22/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 537c71b..6d21750 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ bir html dosyasına yazdıktan sonra dosyayı github_pages'de yayınlanması iç otomatik olarak github depsuna gönderir. Bu işlemin çalışması için öncelikle bir github hesabınızın olması gerekmektedir. -Ve ayrıca github_pages oluşturmuş olmanız ve GitHub().commit_and_tag() metodunda +Ve ayrıca github_pages oluşturmuş olmanız ve **GitHub().commit_and_tag()** metodunda **self.system("git", "push", "origin", "gh-pages")** satırındaki parametreleri değiştirerek hangi depoya gönderilmesi gerektiğini belirtmeniz gerekiyor. From 76701dec552e9b6b29f1f6d6207f57ea0933eefe Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:43:49 +0300 Subject: [PATCH 23/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 6d21750..73cf8e8 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,9 @@ ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ay görevi ekleyebilirsiniz: */10 * * * python3 sakkibu.py -p 2>&1 + +Şuy andan itibaren oluşturulup gönderilecek HTML'i github_pages'de görebilirsiniz. +Adres olarak github_pages'i oluştururken görmüşolduğunuz şablon kullanılır: + + + http://kullanici_adi.github.io/depo_adi/ \ No newline at end of file From e75233e5cffc48ae5ae28e2c8940c932fefd52bc Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:44:37 +0300 Subject: [PATCH 24/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 73cf8e8..854b051 100644 --- a/README.md +++ b/README.md @@ -55,4 +55,7 @@ görevi ekleyebilirsiniz: Adres olarak github_pages'i oluştururken görmüşolduğunuz şablon kullanılır: - http://kullanici_adi.github.io/depo_adi/ \ No newline at end of file + http://kullanici_adi.github.io/depo_adi/ + + +Bu adresi \ ile istediğiniz yerden çağırabilrisiniz. \ No newline at end of file From a755dcb11fad37c43c8b0489a3a11c061ed609d9 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:45:15 +0300 Subject: [PATCH 25/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 12d2af4..bed108d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 00:56 \ No newline at end of file +Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 11:45 \ No newline at end of file From 267173204aeef17eb285a9e5b41d9a13ee72a1fb Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:45:55 +0300 Subject: [PATCH 26/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index bed108d..e5adc36 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 11:45 \ No newline at end of file +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 11:45 \ No newline at end of file From 57208f0012592420817378f2b1ec46cceda61ff7 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:46:54 +0300 Subject: [PATCH 27/51] =?UTF-8?q?Readme=20geli=C5=9Ftirildi.=20Eksikler=20?= =?UTF-8?q?giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sakkibu.py b/sakkibu.py index 9ca80d8..6287216 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -79,8 +79,8 @@ def __init__(self, argv): self.exceptional_ips = [ # ip, host, reason - ('192.168.1.1', 'Router', 'always on'), - ('192.168.1.39', 'Raspi1', "it's me"), + ('192.168.0.1', 'Router', 'always on'), + ('192.168.0.250', 'Raspi1', "it's me"), ] self.exceptions_count = len(self.exceptional_ips) From e46d320ab438ed49905425383fcc4ca6a6d53c7d Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 11:51:02 +0300 Subject: [PATCH 28/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e5adc36..e6265a2 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 11:45 \ No newline at end of file +Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 11:51 \ No newline at end of file From c0897506190ae08256e6ef5916fba440f1792e87 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:45:17 +0300 Subject: [PATCH 29/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e6265a2..4c8590f 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 11:51 \ No newline at end of file +Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 20:45 \ No newline at end of file From 7fa3f230c51b25d41f9a2b04d1d3346c0879ed47 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:45:58 +0300 Subject: [PATCH 30/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 4c8590f..a941c91 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 20:45 \ No newline at end of file +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 20:45 \ No newline at end of file From 3c1278b9ca8ba3d41bc9172b651d7943b2153e88 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:47:27 +0300 Subject: [PATCH 31/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index a941c91..4421dbc 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 20:45 \ No newline at end of file +İstisnalar (2) dahil 5 cihaz bağlı
Son Kontrol: 12.04.2015 20:47 \ No newline at end of file From bc5eaba8db8056c4def2c0229bb89b93485bb4c1 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:55:09 +0300 Subject: [PATCH 32/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 4421dbc..b224c21 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 5 cihaz bağlı
Son Kontrol: 12.04.2015 20:47 \ No newline at end of file +İstisnalar (2) dahil 3 cihaz bağlı
Son Kontrol: 12.04.2015 20:55 \ No newline at end of file From 19dad387aabf0cb9fbf03d2f535319a7ca5374d0 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:58:00 +0300 Subject: [PATCH 33/51] . --- sakkibu.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index 6287216..78a555d 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -24,6 +24,7 @@ def system(self, *arguments): return os.system(self.shell_quote(arguments)) def commit_and_tag(self): + self.system("git", "checkout", "-b", "gh-pages") self.system("git", "commit", self.filetopush, "-m", "Automatic update") self.system("git", "push", "origin", "gh-pages") @@ -105,7 +106,9 @@ def scan_area(self): def create_html(self): if not self.dry_run: with open(self.html_file, 'w+') as html_file: - html_file.write(u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, ''])) + html_text = u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, '']) + html_file.write(html_text) + if self.display_all: print(html_text) if self.display_all: print(u"HTML dosyası oluşturuldu.") else: if self.display_all: print(u"HTML dosyası oluşturulmadı.") From 221e0d5da3350e31ecc737c7343ce1ff60804871 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 20:59:12 +0300 Subject: [PATCH 34/51] . --- sakkibu.py | 1 - 1 file changed, 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index 78a555d..3c2a3b1 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -24,7 +24,6 @@ def system(self, *arguments): return os.system(self.shell_quote(arguments)) def commit_and_tag(self): - self.system("git", "checkout", "-b", "gh-pages") self.system("git", "commit", self.filetopush, "-m", "Automatic update") self.system("git", "push", "origin", "gh-pages") From 67c9c9ea8fbaae552fac8381ac33641eefb2985a Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:00:10 +0300 Subject: [PATCH 35/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index b224c21..9046ed2 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 3 cihaz bağlı
Son Kontrol: 12.04.2015 20:55 \ No newline at end of file +İstisnalar (2) dahil 4 cihaz bağlı
Son Kontrol: 12.04.2015 21:00 \ No newline at end of file From 98fa3f0cf7b0cf74a1f6689fc94301a6c3391748 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:00:55 +0300 Subject: [PATCH 36/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 9046ed2..e839c0b 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -İstisnalar (2) dahil 4 cihaz bağlı
Son Kontrol: 12.04.2015 21:00 \ No newline at end of file +Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 21:00 \ No newline at end of file From 794bb0b52e4796b19f907b74813355bc8602651f Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:02:04 +0300 Subject: [PATCH 37/51] =?UTF-8?q?Git=20push=20i=C3=A7in=20belirtilen=20dep?= =?UTF-8?q?o=20isimlerindeki=20hata=20giderildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index 3c2a3b1..a87865e 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -25,7 +25,7 @@ def system(self, *arguments): def commit_and_tag(self): self.system("git", "commit", self.filetopush, "-m", "Automatic update") - self.system("git", "push", "origin", "gh-pages") + self.system("git", "push", "origin", "master:gh-pages") class SAKKIBU(): From e599f7eeed8d86c940b00eed7509232d8e26e002 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:03:45 +0300 Subject: [PATCH 38/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e839c0b..0b2cc76 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 21:00 \ No newline at end of file +Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 21:03 \ No newline at end of file From 272626c1ec6eb44bba0c30aa8f8a1c4aff4c0385 Mon Sep 17 00:00:00 2001 From: "Sencer H." Date: Sun, 12 Apr 2015 21:04:19 +0300 Subject: [PATCH 39/51] Delete index.html --- index.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 index.html diff --git a/index.html b/index.html deleted file mode 100644 index 0b2cc76..0000000 --- a/index.html +++ /dev/null @@ -1 +0,0 @@ -Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 21:03 \ No newline at end of file From d9f08c6bff2c5b53d0e6b87e29159d3faf6c20c9 Mon Sep 17 00:00:00 2001 From: "Sencer H." Date: Sun, 12 Apr 2015 21:04:35 +0300 Subject: [PATCH 40/51] Delete index.html --- index.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 index.html diff --git a/index.html b/index.html deleted file mode 100644 index e839c0b..0000000 --- a/index.html +++ /dev/null @@ -1 +0,0 @@ -Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 21:00 \ No newline at end of file From 42cbbf2693a40f95971e02deb853fb3bf8e57250 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:04:42 +0300 Subject: [PATCH 41/51] Automatic update --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 0b2cc76..a5e700e 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Açık, 1 cihaz bağlı
Son Kontrol: 12.04.2015 21:03 \ No newline at end of file +Açık, 3 cihaz bağlı
Son Kontrol: 12.04.2015 21:04 \ No newline at end of file From 67539ed15bec4be231e0adf48cd02fa2dfd549ba Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:05:06 +0300 Subject: [PATCH 42/51] . --- sakkibu.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sakkibu.py b/sakkibu.py index a87865e..6b4e2a0 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -24,6 +24,7 @@ def system(self, *arguments): return os.system(self.shell_quote(arguments)) def commit_and_tag(self): + self.system("git", "add", "-A") self.system("git", "commit", self.filetopush, "-m", "Automatic update") self.system("git", "push", "origin", "master:gh-pages") From a1576478b49383eb83a4ed8a228ccd2593e92cb7 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:09:54 +0300 Subject: [PATCH 43/51] Automatic update --- index.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..b259397 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Açık, 2 cihaz bağlı
Son Kontrol: 12.04.2015 21:09 \ No newline at end of file From 4eb11dff6db698891715a96800947cd1de53be42 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:11:45 +0300 Subject: [PATCH 44/51] =?UTF-8?q?Olu=C5=9Fturulan=20index=20dosyas=C4=B1n?= =?UTF-8?q?=C4=B1n=20otomatik=20olarak=20brancha=20eklenmesi=20sa=C4=9Flan?= =?UTF-8?q?d=C4=B1.=20=C4=B0lk=20kullan=C4=B1mda=20elle=20index.html=20dos?= =?UTF-8?q?yasy=C4=B1n=C4=B1n=20depoya=20g=C3=B6nderilmesine=20gerek=20kal?= =?UTF-8?q?mad=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 854b051..98aee12 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,6 @@ - Projenin depo sayfasına geri dönün ve "gh-pages" adında bir "Branch" oluşturun. -- **Gerekli:** "gh-pages" branchına bir adet boş "index.html" dosyası muhakkak gönderin. -- *Seçimsel:* ya da Projenizi "gh-pages" branchına aktarın -- *(Aksi takdirde "index.html" depoda olmadığından oluşturulan yeni dosya gönderilemeyecektir.)* - Son olarak SAKKIBU scriptini cihazınızda id_rsa.pub dosyası oluşturulmuş olan kullanıcı ile çalıştırın: From df58af7ab646e1590368ff26a9ad4773d585bc70 Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:13:45 +0300 Subject: [PATCH 45/51] =?UTF-8?q?Olu=C5=9Fturulan=20index=20dosyas=C4=B1n?= =?UTF-8?q?=C4=B1n=20otomatik=20olarak=20brancha=20eklenmesi=20sa=C4=9Flan?= =?UTF-8?q?d=C4=B1.=20=C4=B0lk=20kullan=C4=B1mda=20elle=20index.html=20dos?= =?UTF-8?q?yasy=C4=B1n=C4=B1n=20depoya=20g=C3=B6nderilmesine=20gerek=20kal?= =?UTF-8?q?mad=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- sakkibu.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 98aee12..202e964 100644 --- a/README.md +++ b/README.md @@ -55,4 +55,4 @@ Adres olarak github_pages'i oluştururken görmüşolduğunuz şablon kullanıl http://kullanici_adi.github.io/depo_adi/ -Bu adresi \ ile istediğiniz yerden çağırabilrisiniz. \ No newline at end of file +Bu adresi \ ile istediğiniz yerden çağırabilirsiniz. \ No newline at end of file diff --git a/sakkibu.py b/sakkibu.py index 6b4e2a0..ccecaf5 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -1,10 +1,12 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ -Şu anda kaç kişi burada uyguaması İzmir Hackerspace 12.2014 +Şu anda kaç kişi burada uygulaması İzmir Hackerspace 12.2014 Geliştiriciler : Ramazan Subaşı, Doğukan Güven, Sencer Hamarat + +Son Güncelleme: 04.2015 """ import getopt import os, sys, nmap, arrow @@ -152,7 +154,7 @@ def run(self): self.commit_and_push() if __name__ == '__main__': - print(u"\nŞu anda kaç kişi burada uyguaması İzmir Hackerspace (2015)") + print(u"\nŞu anda kaç kişi burada uygulaması İzmir Hackerspace (2015)") sakkibu = SAKKIBU(sys.argv) print("-" * 80) sakkibu.run() From 69bf7be8a82e36937245e3e7b217fa523276459e Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:23:36 +0300 Subject: [PATCH 46/51] =?UTF-8?q?Readme=20dosyas=C4=B1na=20gereksinimler?= =?UTF-8?q?=20eklendi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 202e964..0a0e3d1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,16 @@ # SAKKIBU ## Şu Anda Kaç Kişi Burada uygulaması -(İzmir Hackerspace Wifi Sayar uygulamasının forkudur.) +(İzmir Hackerspace Wifi Sayar uygulaması forkudur.) + +## Gereksinimler + +Aşağıdaki gereksinimler scriptin çalışacağı client'da kurulu olması gerekmektedir. + +- Python3 + - python-nmap + - arrow +- Nmap +- Git Client ## Hazırlık From de8f328fb85eb7563b7587c1bf909f2e07e2ee4d Mon Sep 17 00:00:00 2001 From: SencerH Date: Sun, 12 Apr 2015 21:29:51 +0300 Subject: [PATCH 47/51] =?UTF-8?q?A=C3=A7=C4=B1klama=20eklendi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index ccecaf5..75bbab1 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -26,7 +26,7 @@ def system(self, *arguments): return os.system(self.shell_quote(arguments)) def commit_and_tag(self): - self.system("git", "add", "-A") + self.system("git", "add", "-A") # Güvenlik zaafiyeti ihtimali yaratır. Kontrol altına almak gerek. self.system("git", "commit", self.filetopush, "-m", "Automatic update") self.system("git", "push", "origin", "master:gh-pages") From 9d514f00cf2bcfb50198df5aadd18a489c2bb39a Mon Sep 17 00:00:00 2001 From: Sencer H Date: Mon, 13 Apr 2015 16:39:59 +0300 Subject: [PATCH 48/51] =?UTF-8?q?docstring'deki=20crontab=20=C3=B6rne?= =?UTF-8?q?=C4=9Fi=20d=C3=BCzeltildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index 75bbab1..61ee894 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -58,7 +58,7 @@ class SAKKIBU(): ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: - * * * * python3 sakkibu.py -p 2>&1 + */10 * * * python3 sakkibu.py -p 2>&1 """ def __init__(self, argv): self.argv = argv From d608181e858b1faf1c41492f61a78bea0acad4ad Mon Sep 17 00:00:00 2001 From: Sencer H Date: Mon, 13 Apr 2015 16:40:53 +0300 Subject: [PATCH 49/51] =?UTF-8?q?docstring'deki=20crontab=20=C3=B6rne?= =?UTF-8?q?=C4=9Fi=20d=C3=BCzeltildi.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sakkibu.py b/sakkibu.py index 61ee894..36e08ad 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -55,7 +55,7 @@ class SAKKIBU(): Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob oluşturabilirsiniz. Bunun için kullanıcının crontab listesine "crontab -e" komutu -ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş +ile erişip aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: */10 * * * python3 sakkibu.py -p 2>&1 From b434320b46bc07a6a404df306659129e82bdb21c Mon Sep 17 00:00:00 2001 From: SencerH Date: Mon, 13 Apr 2015 21:54:45 +0300 Subject: [PATCH 50/51] =?UTF-8?q?arrow=20harici=20mod=C3=BCl=C3=BCnden=20a?= =?UTF-8?q?r=C4=B1nd=C4=B1r=C4=B1ld=C4=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- sakkibu.py | 119 +++++++++++++++++++++++++++-------------------------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 0a0e3d1..0ec8ab9 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@ Aşağıdaki gereksinimler scriptin çalışacağı client'da kurulu olması gerekmektedir. - Python3 - - python-nmap - - arrow +- Python-nmap - Nmap - Git Client diff --git a/sakkibu.py b/sakkibu.py index 75bbab1..cc5e18c 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -8,8 +8,11 @@ Son Güncelleme: 04.2015 """ -import getopt -import os, sys, nmap, arrow +try: + import os, sys, datetime, nmap, getopt +except Exception as e: + print(e, u"\n Gerekli modül yüklenemedi.") + sys.exit(2) class GitHub(): @@ -55,39 +58,58 @@ class SAKKIBU(): Scriptin otomatik olarak belirli aralıklar ile çalışmasını sağlamak için cronjob oluşturabilirsiniz. Bunun için kullanıcının crontab listesine "crontab -e" komutu -ile erişi aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş +ile erişip aşağıdaki 10'ar dakikalık zaman dilimlerinde yinelenmesi için ayarlanmş görevi ekleyebilirsiniz: * * * * python3 sakkibu.py -p 2>&1 """ def __init__(self, argv): self.argv = argv - self.display_all = False - self.dry_run = False - self.push = False - self.hosts_count = int() - self.hosts_list = list() self.message_text = str() - self.dtnow = arrow.now().format('DD.MM.YYYY HH:mm') - self.base_path = os.path.abspath('.') - self.html_file = os.path.join(self.base_path, 'index.html') # yerelde oluşturulup git pages'e gönderilecek index.html - try: - self.nm = nmap.PortScanner() - except nmap.PortScannerError: - print('Nmap bulunamadı', sys.exc_info()[0]) - sys.exit(2) - except: - print("Beklenmeyen hata:", sys.exc_info()[0]) - sys.exit(2) + self.hosts_list, self.hosts_count = list(), int() + self.display_all, self.dry_run, self.push = False, False, False + self.time_stamp = datetime.datetime.now().strftime("%d.%m.%Y %H:%M") + self.html_file = os.path.join(os.path.abspath('.'), 'index.html') self.exceptional_ips = [ - # ip, host, reason - ('192.168.0.1', 'Router', 'always on'), - ('192.168.0.250', 'Raspi1', "it's me"), - ] + # ip_address host_type reason + '192.168.0.1', # Router always on + '192.168.0.250', # Raspi1 it's me + ] self.exceptions_count = len(self.exceptional_ips) + try: self.nm = nmap.PortScanner() + except nmap.PortScannerError: raise Exception('Nmap modülü bulunamadı') + except: raise Exception("Beklenmeyen hata oluştu:", sys.exc_info()[0]) + + def commit_and_push(self): + """ + Hazırlanan html dosyası github_pages'e yüklenir. + """ + if self.push: + if self.display_all: print(u"Dosya depoya gönderiliyor....") + GitHub(self.html_file).commit_and_tag() + if self.display_all: print(u"Dosya depoya gönderildi.") + else: + if self.display_all: print(u"Depoya herhangi bir dosya gönderilmedi.") + + def create_html(self): + """ + github_pages'e yüklenecek html dosyanın içeriği hazırlanır ve dosyaya yazılır. + """ + if not self.dry_run: + with open(self.html_file, 'w+') as html_file: + html_text = u''.join([self.message_text, "
Son Kontrol: ", self.time_stamp, '']) + html_file.write(html_text) + if self.display_all: print(html_text) + if self.display_all: print(u"HTML dosyası oluşturuldu.") + else: + if self.display_all: print(u"HTML dosyası oluşturulmadı.") + def print_stats(self, istisna=False): + """ + İstatistiki bilgileri ekrana basar, Aynı zamanda oluşturulacak hmtl'in içeriğinin bir kısmı burada hazırlanır + """ if (self.hosts_count - self.exceptions_count) < 1: self.message_text = u"Şu anda kimse yok." else: @@ -101,47 +123,22 @@ def print_stats(self, istisna=False): print(self.message_text) def scan_area(self): + """ + Yerel ağdaki cihazları tarar ve IP adreslerini liste olarak döndürür + """ self.nm.scan(hosts='192.168.1.0/24', arguments=' -n -sP -PE') self.hosts_list = [(x, self.nm[x]['status']['state']) for x in self.nm.all_hosts()] self.hosts_count = len(self.hosts_list) - def create_html(self): - if not self.dry_run: - with open(self.html_file, 'w+') as html_file: - html_text = u''.join([self.message_text, "
Son Kontrol: ", self.dtnow, '']) - html_file.write(html_text) - if self.display_all: print(html_text) - if self.display_all: print(u"HTML dosyası oluşturuldu.") - else: - if self.display_all: print(u"HTML dosyası oluşturulmadı.") - - def commit_and_push(self): - if self.push: - if self.display_all: print(u"Dosya depoya gönderiliyor.") - github = GitHub(self.html_file) - github.commit_and_tag() - if self.display_all: print(u"Dosya depoya gönderildi.") - else: - if self.display_all: print(u"Depoya herhangi bir dosya gönderilmedi.") - def get_args(self): """ Konsoldan verilen argümanlar alınır. - :return: """ - if not len(self.argv) > 1: - print("Lütfen anahtar belirtin. Yardım için -h") - sys.exit(2) - try: - opts, args = getopt.getopt(self.argv[1:], "hdap", ["help", "dry-run", "all", "push"]) - except getopt.GetoptError: - print('Anahtarlar hatalı.') - sys.exit(2) - + if not len(self.argv) > 1: raise Exception("Lütfen anahtar belirtin. Yardım için -h") + try: opts, args = getopt.getopt(self.argv[1:], "hdap", ["help", "dry-run", "all", "push"]) + except getopt.GetoptError: raise Exception('Anahtarlar hatalı.') for opt, arg in opts: - if opt in ('-h', '--help'): - print(self.__doc__) - sys.exit() + if opt in ('-h', '--help'): raise Exception(self.__doc__) if opt in ("-a", "--all"): self.display_all = True if opt in ("-d", "--dry-run"): self.dry_run = True if opt in ("-p", "--push"): self.push = True @@ -155,8 +152,12 @@ def run(self): if __name__ == '__main__': print(u"\nŞu anda kaç kişi burada uygulaması İzmir Hackerspace (2015)") - sakkibu = SAKKIBU(sys.argv) - print("-" * 80) - sakkibu.run() print("-" * 80) - sys.exit(0) \ No newline at end of file + try: + SAKKIBU(sys.argv).run() + print("-" * 80) + sys.exit(0) + except Exception as e: + print(e) + print("-" * 80) + sys.exit(2) \ No newline at end of file From 145619d5132899a7aa35f0b626b2060c4e9a7367 Mon Sep 17 00:00:00 2001 From: SencerH Date: Mon, 13 Apr 2015 22:21:31 +0300 Subject: [PATCH 51/51] =?UTF-8?q?gereksiz=20de=C4=9Fi=C5=9Fken=20olu=C5=9F?= =?UTF-8?q?turumalardan=20ka=C3=A7=C4=B1n=C4=B1ld=C4=B1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sakkibu.py | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/sakkibu.py b/sakkibu.py index 429abcc..f4cfb2f 100755 --- a/sakkibu.py +++ b/sakkibu.py @@ -66,18 +66,17 @@ class SAKKIBU(): def __init__(self, argv): self.argv = argv self.message_text = str() - self.hosts_list, self.hosts_count = list(), int() + self.hosts_list = list() self.display_all, self.dry_run, self.push = False, False, False self.time_stamp = datetime.datetime.now().strftime("%d.%m.%Y %H:%M") self.html_file = os.path.join(os.path.abspath('.'), 'index.html') - + self.ip_block = '192.168.1.0/24' self.exceptional_ips = [ # ip_address host_type reason - '192.168.0.1', # Router always on - '192.168.0.250', # Raspi1 it's me + '192.168.1.1', # Router always on + '192.168.1.250', # Raspi1 it's me ] - self.exceptions_count = len(self.exceptional_ips) - + self.nm_args = ' -n -sP -PE' try: self.nm = nmap.PortScanner() except nmap.PortScannerError: raise Exception('Nmap modülü bulunamadı') except: raise Exception("Beklenmeyen hata oluştu:", sys.exc_info()[0]) @@ -98,11 +97,14 @@ def create_html(self): github_pages'e yüklenecek html dosyanın içeriği hazırlanır ve dosyaya yazılır. """ if not self.dry_run: - with open(self.html_file, 'w+') as html_file: - html_text = u''.join([self.message_text, "
Son Kontrol: ", self.time_stamp, '']) - html_file.write(html_text) - if self.display_all: print(html_text) - if self.display_all: print(u"HTML dosyası oluşturuldu.") + try: + with open(self.html_file, 'w+') as html_file: + html_text = u''.join([self.message_text, "
Son Kontrol: ", self.time_stamp, '']) + html_file.write(html_text) + if self.display_all: print(html_text) + if self.display_all: print(u"HTML dosyası oluşturuldu.") + except OSError as e: + raise Exception(u"{}\n{} dosyası işlenirken hata oluştu.".format(e, self.html_file)) else: if self.display_all: print(u"HTML dosyası oluşturulmadı.") @@ -110,25 +112,25 @@ def print_stats(self, istisna=False): """ İstatistiki bilgileri ekrana basar, Aynı zamanda oluşturulacak hmtl'in içeriğinin bir kısmı burada hazırlanır """ - if (self.hosts_count - self.exceptions_count) < 1: + diff = len(self.hosts_list) - len(self.exceptional_ips) + if diff < 1: self.message_text = u"Şu anda kimse yok." else: - for host, status in self.hosts_list: - if self.display_all: print('{} : {}'.format(host, status)) + for host in self.hosts_list: + if self.display_all: print(host) if not istisna: - self.message_text = u"Açık, {} cihaz bağlı".format(self.hosts_count - self.exceptions_count) + self.message_text = u"Açık, {} cihaz bağlı".format(diff) else: - self.message_text = u"İstisnalar ({}) dahil {} cihaz bağlı".format(self.exceptions_count, - self.hosts_count) + self.message_text = u"İstisnalar ({}) dahil {} cihaz bağlı".format(len(self.exceptional_ips), + len(self.hosts_list)) print(self.message_text) def scan_area(self): """ Yerel ağdaki cihazları tarar ve IP adreslerini liste olarak döndürür """ - self.nm.scan(hosts='192.168.1.0/24', arguments=' -n -sP -PE') - self.hosts_list = [(x, self.nm[x]['status']['state']) for x in self.nm.all_hosts()] - self.hosts_count = len(self.hosts_list) + self.nm.scan(hosts=self.ip_block, arguments=self.nm_args) + self.hosts_list = [x for x in self.nm.all_hosts()] def get_args(self): """ @@ -139,9 +141,9 @@ def get_args(self): except getopt.GetoptError: raise Exception('Anahtarlar hatalı.') for opt, arg in opts: if opt in ('-h', '--help'): raise Exception(self.__doc__) - if opt in ("-a", "--all"): self.display_all = True - if opt in ("-d", "--dry-run"): self.dry_run = True - if opt in ("-p", "--push"): self.push = True + if opt in ('-a', '--all'): self.display_all = True + if opt in ('-d', '--dry-run'): self.dry_run = True + if opt in ('-p', '--push'): self.push = True def run(self): self.get_args()