Youtube ip adreslerinin erişime engellenmesi ve bu ip adreslerinin Google'ın başka servislerinde de kullanılıyor olması nedeniyle, blogger'ı kendi alan adı ile kullanan bloglara yaklaşık 2 haftadır erişilemiyordu. Bu arada ne kadar acı bir durumdur ki ben kendi bloguma erişilemediğini olaydan bir hafta sonra farkettim. Bunun nedeni de google dnslerini kullanıyor olmammış. Google dns'leri dışındaki dns leri kullanan kişiler bu sorunla daha erken karşılaştı sanırım. Her neyse sorunun çözümünü baya bir araştırdıktan sonra şu blogda çözüme ulaştım. //Anlatım Godaddy içindir. Yapmanız gereken Godaddy panelinizde "Total DNS Control" kısmından önceden eklediğiniz "www" yi işaret eden "ghs.google.com" adresli "CNAME" kaydını silip onun yerine "www" ve "@" işaretli 2 tane "A" kaydı eklemektir. Yeni ayarlarınız aşağıdaki şekilde olmalıdır. (Not "cs" i işaret eden adres counter-strike serverımızın adresidir. Siz onu görmezden gelebilirsiniz.)
*24 Haziran 2010 Perşembe
Blogger Özel Etki Alan Adı Erişememe Sorunu
Etiketler:
alan adı,
blog,
blogger,
dedelere selam,
dns sorunu,
yasakçı zihniyet,
özel etki
*22 Haziran 2010 Salı
Conky ile rhythmbox bilgilerini göstermek
Conky nedir diyecek olursanız Ubuntu-tr Wiki'den bir alıntı yapayım.
Conky adlı program ile masaüstünüzde text tabanlı olarak sisteminiz hakkında her türlü bilgiye , hatta daha gelişmiş özelliklere (hava durumu, şimdi çalınıyor gibi özellikler) sahip olabilirsiniz..
Bu script sayesinde masaüstünüzde faydalı olabilecek pek çok özelliği ekleyebilirsiniz. özelleştirilebilir olması sayesinde tamamen istediğiniz şekle sokabilirsiniz...
Bu ufak bilginin ardından size Conky ile nasıl Rhythmbox'da şarkı bilgilerini alacağımızı göstereyim. Sol üst kısımda gördüğünüz resim aşağıdaki kodların ekran görüntüsüdür.
${color #DF5720}${font size=1}${alignc}Music${font}
${color 9ACD32}Artist:
${color a4a4a4}${execi 1 rhythmbox-client --no-start --print-playing-format %ta}
${color 9ACD32}Title:
${color a4a4a4}${execi 1 rhythmbox-client --no-start --print-playing-format %tt}
${color 9ACD32}Album:
${color a4a4a4}${execi 1 rhythmbox-client --no-start --print-playing-format %at}
${color a4a4a4}${execi 0.8 rhythmbox-client --no-start --print-playing-format %te}${alignr}${execi 1 rhythmbox-client --no-start --print-playing-format %td}
Bu kodları .conkyrc dosyamızda gereken bölüme yapıştırıyoruz. Eğer conkyrc dosyasını nasıl düzenleyeceğinizi bilmiyorsanız gerek ubuntu-tr forumlarında gerekse ubuntunun resmi forumlarında kullanıcıların örnek conkyrc dosyalarını paylaştıkları konular var.
Ek olarak yararlanabileceğiniz kaynaklar.
*http://wiki.ubuntu-tr.org/index.php/Conky_Nedir%3F_Nas%C4%B1l_Kullan%C4%B1l%C4%B1r%3F
*http://conky.sourceforge.net/documentation.html
*http://ubuntuforums.org/showthread.php?t=281865
*Örnek Conky screenshot'ları
*20 Haziran 2010 Pazar
Compiz Fusion Screenshot Plugin - Imageshack Uploader Bash Script
Eğer Linux'nuzda Compiz Fusion yüklü ise gerçekten işletim sisteminizin yapabildiklerine git gide hayranlık duyuyorsunuz. Compiz'in gerçekten çok hoş özellikleri var. Bunlardan birisi de "Screenshot" aracı. "Compiz Config Settings Manager" da screenshot yazdıktan sonra screenshot'ın yanındaki kutucuğa "tick" koyarak etkinleştirebilirsiniz.Etkinleştirdikten sonra screenshot'ın üzerine tıklayarak ayarlar kısmına gelelim.
Bu kısımda ilk kutuya resimlerin kaydedileceği dizini giriyoruz.
"/home/h4ckinger/resimler/screenshots"gibi
İkinci kısım ise ekran görüntüsü kaydedildikten sonra dosya yolunun argüman olarak verileceği uygulama için kullanılıyor. Şimdi gelelim fasulyanın nimetlerine. Ben bu güzel Compiz aracı için ufak bir bash script yazdım. Script ekran görüntüsü alındıktan sonra dosyayı "imageshack.us" sitesine upload edip bize direk link şeklinde veriyor. Ayrıca linki otomatik olarak clipboarda alıyor ve bize resmi browserda açmasını isteyip istemediğimizi soruyor. Hehe. Çok kullanışlı oldu benim için. Sizlerle de paylaşmak istedim. Düzenleme:Bu arada betiği nautilus scriptlerine ekleyebilirsiniz. Böylece bilgisayarınızda varolan bir resme sağ tıklayarak upload edebilirsiniz.mv h4-upload /home/kullaniciadi/.gnome2/nautilus-scripts chmod +x /home/kullaniciadi/.gnome2/nautilus-scripts/h4-upload#!/bin/bash # imageshack uploader bash script # Kodlayan h4ckinger # wwww.h4ckinger.org # h4ckinger gmail com # Otomatik Clipboarda alır ve isterseniz upload edilen resmi browserda açar # Compiz Fusion Screenshot aracı ile kullanarak en iyi verimi alırsınız. # Betiğin çalışması için curl,xclip ve zenity paketlerinin yüklü olmaları gereklidir. # Yüklü değil ise betik otomatik olarak yüklemeyi dener. # ./h4-upload.sh /home/h4ckinger/resim.jpg şeklinde kullanılır #################################### #zenity varmı bak VARMI=`which zenity` if [ "$VARMI" = "" ] ; then echo "uygulamanın çalışabilmesi için zenity programının yüklü olması gerekmektedir" sudo apt-get install zenity fi ### #xsel varmı bak VARMI=`which curl` if [ "$VARMI" = "" ] ; then echo "uygulamanın çalışabilmesi için curl programının yüklü olması gerekmektedir" sudo apt-get install curl fi ### #xsel varmı bak VARMI=`which xclip` if [ "$VARMI" = "" ] ; then echo "uygulamanın çalışabilmesi için xclip programının yüklü olması gerekmektedir" sudo apt-get install xclip fi ### linkver () { SORU=$(zenity --width 450 --height 100 --entry --entry-text="$1" \ --title="Resim linki"\ --text="Browserda açmak için tamam'a basın") if [ "$?" -eq 0 ] ; then `gconftool -g /desktop/gnome/applications/browser/exec` "$1" fi } upload () { out=upl.tmp.`date +%s` echo "Upload ediliyor: $1" curl -H Expect: -F fileupload="@$1" -F xml=yes -# "http://www.imageshack.us/index.php" > /tmp/$out 2>&1 if [ `cat /tmp/$out | grep image_link | wc -l` -lt 1 ] then echo "Error: $1" else linkimiz=`cat /tmp/$out | tr -d " " | grep image_link | grep -o http[^\<]*` echo "$linkimiz" | xclip -selection clipboard linkver "$linkimiz" fi rm /tmp/$out } if [ -z "$1" ] then echo "Kullanım: `basename $0` [resim.jpg]" exit $E_NOARGS else upload "$1" fi
Etiketler:
compiz fusion,
imageshack
*14 Haziran 2010 Pazartesi
Kaliteli orospu çocukları
Gözleriyle sevişenlere "namussuz" damgası vuran ey güzel memleketimin güzel insanları! Hepinize selam eder bu genç.
*1 Haziran 2010 Salı
Python - Dosya Bulucu Betik
Ubuntu kullanmaya başlayalı 2 hafta kadar oldu. Bu dönemde MS yazılımlarına elveda ediyorum.
Ubuntu kullanmaya başladığımdan beri çok hoş bir dil olan Python öğrenmeye başladım. Syntax'ı oldukça güzel. Çoğunuzun da bildiği gibi python düzenli bir syntaxa sahip. Düzenli syntaxtan kastım "{}" ve ";" işaretlerinin yerine girinti çıkıntı kullanma zorunluluğudur. Bu da kod okunurluğunu artırıyor. El alışınca da hakikaten yazdığınız kodlardan büyük haz alıyorsunuz(En azından benim için öyle :) ).
Bence bir dil üzerinde kendinizi geliştirmenin en kolay yolu gerçekten işe yarayabilecek uygulamalar yazmaktır. Bu sayede algoritma ve akış diyagramlarını ne şekilde nerelerde kullanacağınızı daha fazla düşünme fırsatınız oluyor. Ben de bu şekilde 2-3 günde bir ufak betikler yazmaya başladım.
Betiğimiz verilen regex(Düzenli ifade)'i, verdiğiniz dizin içerisindeki verdiğiniz uzantıyla eşleşen dosyalarda(alt klasörler dahil) arıyor. Eğer dosya içerisinde verilen regexp bulunmuşsa hangi satırda ve hangi karakterler arasında bulunduğunu söylüyor. Ve istenilirse sonuçlar log dosyasına yazdırıyor. Betiğimizde multithread kullandım. MultiThread kullanımı için çok güzel bir örnek oldu sanıyorum. Betikten bir görüntü.![]()
#!/usr/bin/env python # -*- coding: utf-8 -*- #Coded by h4ckinger #Blog :h4ckinger.org #Contact:h4ckinger gmail com import os,re,sys from threading import Thread from optparse import OptionParser log=None class calistir(Thread): def __init__(self,anaklasor,dosyalistesi,aranacak): Thread.__init__(self) self.dosyalistesi =dosyalistesi #file list self.anaklasor =anaklasor #current scanning dir self.aranacak =aranacak #regex pattern def run(self): logmsg("\n\n[+] Current dir -> %s" % self.anaklasor) for dosyamiz in self.dosyalistesi: if not os.access(os.path.join(self.anaklasor,dosyamiz),os.R_OK): logmsg("\n[-]%s doesnt have permissions to read %s" % (os.getenv("USERNAME"),dosyamiz)) continue fp=open(os.path.join(self.anaklasor,dosyamiz),"r+") satirlar=map(lambda line:line.rstrip(),fp.readlines()) #[x.rstrip() for x in opener.readlines()] say=1 for tek_satir in satirlar: bul=re.search(self.aranacak,tek_satir) if bul: logmsg("[+] Found in %s line %d [char = %s] - string:%s" % (dosyamiz,say,str(bul.span()),bul.group(0))) say+=1 fp.close() def about(): return """#Python Example Projects - Project 3 - Multi Threaded File Content Scanner #Coded by h4ckinger """ def clear(): sil="clear" if (sys.platform == 'linux-i386' or sys.platform == 'linux2' or sys.platform == 'darwin') else "cls" os.system(sil) def list_dirs(klasor,uzanti): dosyalar=[] for root, dirs, files in os.walk(klasor): for x in files: if x.endswith(tuple(uzanti.split(","))): dosyalar.append([root,x]) return dosyalar def logmsg(msg): global log print msg if log: log.write(msg+os.linesep) def main(): global log kullanim="python %prog [options]\n\n./%prog -p /home/"+os.getenv("USERNAME")+" -r [0-9a-f]{32} -e .html,.php -o scan.txt\n\nExample search md5 pattern in html and php files.\nAfter scan save output to scanlog.txt" optparser = OptionParser(description=about(),usage=kullanim,version="%prog version 1.0") optparser.add_option("-p", "--path",type="string",action="store",dest="path",help="Define root path to scan", metavar="/path/to/scan") optparser.add_option("-r", "--regex",type="string",action="store", dest="regex",help="Define regex pattern to search",metavar="Regular Expression") optparser.add_option("-e", "--extensions",type="string",action="store", dest="extensions",help="Define extension which will be scanned(would be more than one seperate with \",\")",metavar=".html,.php,.txt") optparser.add_option("-o", "--output",type="string",action="store", dest="output",help="Save results log file(OPTIONAL)",metavar="FILE") (options, args) = optparser.parse_args() if not options.path or not options.regex or not options.extensions: clear() optparser.print_help() sys.exit(0) if not os.path.isdir(options.path): print "[-]%s is not valid path" % options.path sys.exit(0) if not os.access(options.path,os.R_OK): print "[-]%s doesnt have permission on that directory" % os.getenv("USERNAME") sys.exit(0) if options.output: log=open(options.output,"w") tara=options.path #path ara=options.regex #regex uzantilar=options.extensions#extensions logmsg("[+] Listing files in root directory -> %s" % tara) sozluk=list_dirs(tara,uzantilar) logmsg("[+] Listing finished. Creating threads") ilk_klasor=sozluk[0][0] fazlami=any([True for x in range(len(sozluk)) if sozluk[x][0]!=sozluk[0][0]])# birden fazla klasor varmi threadlist=[] tmpdosyalar=[] logmsg("[+] Scanning content in files") for k in sozluk: dizin,adi=k tmpdosyalar.append(adi) if not fazlami and k==sozluk[len(sozluk)-1]: tek_baslat=calistir(ilk_klasor,tmpdosyalar,ara) tek_baslat.start() if ilk_klasor!=dizin: tek_thread=calistir(ilk_klasor,tmpdosyalar,ara) tek_thread.start() threadlist.append(tek_thread) tmpdosyalar=[] ilk_klasor=dizin for thr in threadlist: thr.join() if __name__ == '__main__': main()
Etiketler:
dosya ara,
dosya bulucu,
gnu,
python,
regex,
regular expression,
scanner,
yeni yetme linuxcu
Kaydol:
Kayıtlar (Atom)






