radyofon Posted September 14, 2011 Share Posted September 14, 2011 İyi Çalışmalar!... Malum Türk Telekomun DNS yasaklamaları nedeniyle Google Earth çalışmıyor. Fakat hosts dosyasının içerisine eklemeler yaparak çalışması sağlanabiliyor. Bunun için yazılmış hazır AutoIt kodları var mı acaba? Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 14, 2011 Share Posted September 14, 2011 @radyofon Text içerikli bir dosyaya veri ekleyeceğin zaman; 1 - Ilgili dosyanın konumunu farklı sistemlere göre bir değişkene ata. 2 - Dosyayı oku ve yazacağın verinin olup, daha önce yazılıp yazılmadığını kontrol et. 3 - Gerekiyorsa verini filewrite komutuyla yaz. Kısacası yapmak istediğin çok kolay bir şey... Yapamaz isen, yazılacak satırları burdan yazarsın... Quote Link to comment Share on other sites More sharing options...
radyofon Posted September 14, 2011 Author Share Posted September 14, 2011 [quote name='blue_life' date='14 September 2011 - 09:59 ' timestamp='1315983597' post='1079059'] @radyofon Text içerikli bir dosyaya veri ekleyeceğin zaman; 1 - Ilgili dosyanın konumunu farklı sistemlere göre bir değişkene ata. 2 - Dosyayı oku ve yazacağın verinin olup, daha önce yazılıp yazılmadığını kontrol et. 3 - Gerekiyorsa verini filewrite komutuyla yaz. Kısacası yapmak istediğin çok kolay bir şey... Yapamaz isen, yazılacak satırları burdan yazarsın... [/quote] Teşekkürler üstad!.... Şöyle bir sorun var: Ben google earth ve youtube için gerekli host ayarlarını aldım ve notpad içine yazdım. Yapmam gereken Windows\Sytem32\drivers\etc altındaki hosts dosyasının son satırından sonra yeni bir satır ile başlayıp kopyalamam gerekiyor. Mevcut host dosyasını değiştirsem sorun değil ama mevcut dosyasının son satırından sonra bunları eklemem gerekiyor. Yani mevcut hosts dosyasını bozmamalıyım. Quote Link to comment Share on other sites More sharing options...
Mehmet Posted September 14, 2011 Share Posted September 14, 2011 @radyofon etc nin içerisine eklemek istediklerin satırları yazarsan sana yardımcı olabilirim belki Quote Link to comment Share on other sites More sharing options...
radyofon Posted September 14, 2011 Author Share Posted September 14, 2011 [code] 74.125.43.103 youtube.com 74.125.43.103 [url="http://www.youtube.com"]www.youtube.com[/url] 74.125.43.103 [url="http://www.docs.google.com"]www.docs.google.com[/url] 74.125.43.103 [url="http://www.clients1.google.com.tr"]www.clients1.google.com.tr[/url] 74.125.43.103 [url="http://www.translate.google.com.tr"]www.translate.google.com.tr[/url] 74.125.43.103 docs.google.com 74.125.43.103 clients1.google.com.tr 74.125.43.103 translate.google.com.tr 74.125.43.105 [url="http://www.google-analytics.com"]www.google-analytics.com[/url] 74.125.43.105 google-analytics.com 66.102.9.106 youtube.com 66.102.9.106 [url="http://www.youtube.com"]www.youtube.com[/url] 66.102.9.106 docs.google.com 209.85.229.99 youtube.com 209.85.229.99 [url="http://www.youtube.com"]www.youtube.com[/url] 209.85.227.101 translate.google.com 209.85.227.105 maps.google.com 209.85.227.113 pages.google.com 209.85.227.100 video.google.com 209.85.227.138 docs.google.com 209.85.227.101 sites.google.com 209.85.227.100 books.google.com 209.85.227.101 chrome.google.com 209.85.227.113 sketchup.google.com 209.85.227.102 froogle.google.com 209.85.227.102 labs.google.com 209.85.227.102 mars.google.com 209.85.227.139 moon.google.com 209.85.227.113 notebook.google.com 209.85.227.101 toolbar.google.com 209.85.227.102 catalog.google.com 209.85.227.113 codesearch.google.com 209.85.227.113 dir.google.com 209.85.227.138 earth.google.com 209.85.227.139 groups.google.com 209.85.227.100 groups.google.com.tr 209.85.227.139 shopping.google.com 209.85.227.138 sky.google.com 209.85.227.139 support.google.com 209.85.227.139 tools.google.com 209.85.227.102 wap.google.com 209.85.227.100 answers.google.com 209.85.227.112 adwords.google.com 74.125.47.100 code.google.com 74.125.47.101 code.google.com 74.125.47.102 code.google.com 74.125.47.113 code.google.com 74.125.47.138 code.google.com 74.125.47.139 code.google.com 209.85.225.136 picasaweb.google.com 209.85.225.190 picasaweb.google.com 209.85.225.91 picasaweb.google.com 209.85.225.93 picasaweb.google.com 209.85.225.103 maps.gstatic.com 209.85.225.104 maps.gstatic.com 209.85.225.105 maps.gstatic.com 209.85.225.106 maps.gstatic.com 209.85.225.147 maps.gstatic.com 209.85.225.99 maps.gstatic.com 74.125.43.103 maps-api-ssl.google.com 74.125.43.103 maps.google.com 74.125.43.103 gg.google.com 74.125.43.103 chart.apis.google.com 74.125.43.103 clients1.google.com 74.125.43.103 mt0.google.com 74.125.43.103 mt1.google.com 74.125.43.103 khm.google.com 74.125.43.103 khm0.google.com 74.125.43.103 khm1.google.com 74.125.43.103 lh1.ggpht.com 74.125.43.103 lh2.ggpht.com 74.125.43.103 lh3.ggpht.com 74.125.43.103 lh4.ggpht.com 74.125.43.103 lh5.ggpht.com 74.125.43.103 lh6.ggpht.com 74.125.43.103 lh7.ggpht.com 74.125.43.103 lh8.ggpht.com 74.125.43.103 lh9.ggpht.com 74.125.43.103 ggpht.com 74.125.43.103 [url="http://www.google.com"]www.google.com[/url] 74.125.43.103 google.com 74.125.43.103 [url="http://www.google.com.tr"]www.google.com.tr[/url] 74.125.43.103 google.com.tr 72.14.213.93 kh.google.com 72.14.213.103 maps.google.com 72.14.213.113 auth.keyhole.com 74.125.43.103 code.google.com 74.125.43.103 translate.google.com.tr 74.125.43.103 browsersync.google.com 74.125.43.103 google-analystics.com 74.125.53.139 gg.google.com 209.85.229.99 dl.google.com 72.14.204.100 earth.google.com 72.14.204.101 earth.google.com 72.14.204.102 earth.google.com 72.14.204.113 earth.google.com 72.14.204.100 mars.google.com 72.14.204.101 mars.google.com 72.14.204.102 mars.google.com 72.14.204.113 mars.google.com 72.14.204.100 moon.google.com 72.14.204.101 moon.google.com 72.14.204.102 moon.google.com 72.14.204.113 moon.google.com 72.14.204.91 dl.google.com 72.14.204.93 dl.google.com 72.14.204.136 dl.google.com 72.14.204.190 dl.google.com 72.14.204.91 dl-ssl.google.com 72.14.204.93 dl-ssl.google.com 72.14.204.136 dl-ssl.google.com 72.14.204.190 dl-ssl.google.com 64.233.169.91 kh.google.com 64.233.169.93 kh.google.com 64.233.169.136 kh.google.com 64.233.169.190 kh.google.com 72.14.204.99 maps.google.com 72.14.204.103 maps.google.com 72.14.204.104 maps.google.com 72.14.204.147 maps.google.com 64.233.169.91 mt0.google.com 64.233.169.93 mt0.google.com 64.233.169.136 mt0.google.com 64.233.169.190 mt0.google.com 64.233.169.91 mt1.google.com 64.233.169.93 mt1.google.com 64.233.169.136 mt1.google.com 64.233.169.190 mt1.google.com 72.14.204.100 auth.keyhole.com 72.14.204.101 auth.keyhole.com 72.14.204.102 auth.keyhole.com 72.14.204.113 auth.keyhole.com 72.14.204.99 google.com 72.14.204.103 google.com 72.14.204.104 google.com 72.14.204.147 google.com 72.14.204.17 mail.google.com 72.14.204.18 mail.google.com 72.14.204.19 mail.google.com 72.14.204.83 mail.google.com 74.125.93.100 tools.google.com 74.125.93.101 tools.google.com 74.125.93.102 tools.google.com 74.125.93.113 tools.google.com 74.125.93.138 tools.google.com 74.125.93.139 tools.google.com 72.14.204.17 googlemail.l.google.com 72.14.204.99 google-analytics.com 72.14.204.103 google-analytics.com 72.14.204.104 google-analytics.com 72.14.204.147 google-analytics.com 74.125.95.93 youtube.com 74.125.127.93 youtube.com 74.125.43.105 suggestqueries.google.com 74.125.65.118 img.youtube.com 74.125.159.138 www3.l.google.com 74.125.159.139 youtube-ui.l.google.com 216.239.32.10 ns1.google.com 216.239.34.10 ns2.google.com 216.239.36.10 ns3.google.com 216.239.38.10 ns4.google.com 74.125.79.100 uk.youtube.com 74.125.79.100 de.youtube.com 74.125.79.100 translate.google.com 209.85.129.138 suggestqueries.google.com 74.125.159.138 earth.google.com 74.125.159.138 books.google.com 74.125.159.139 code.google.com 74.125.159.139 code.l.google.com [/code] Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 14, 2011 Share Posted September 14, 2011 Ben daha önce host dosysıyla ilgili ufak programlar yaptığımdan, ilgili satırları direk yazdırmanın sorunlu olacağını biliyorum. Misal host dosyasında daha önceden ilgili siteye ait bir ip girilmiş ise, ve siz sonradan alt satırlara ilgili site için yeni ip girerseniz, haliyle önceki ilk ip geçerli olacaktır. Bu nedenle önce host dosyasını okuyup, sonra eklemek istediğiniz verinin olup olmadığına bakmak zorundasınız. Önceden ilgili domaine ait ip adresi varsa haliyle bunu yeni ip adresi ile değiştirmeniz gerekiyor. Neyse fazla uzatmayalım. Ben az önce bir karalama yaptım. Tabi karalamadaki bazı kodları çok çok önce yazmıştım. [codebox];Writeted by BlueLife #RequireAdmin #NoTrayIcon ;Rahat kullanabilmek için dosyanın konumu bir değişkene atıyoruz. Local $HostFile = @WindowsDir & "\System32\drivers\etc\hosts" ;Dosyayı okuyoruz. Local $BlueReadFile = _Blue_FileRead_To_Array($HostFile, False) ;Ilgili içerikte domainin olup olmadığına bakıyoruz, yoksa alt satıra ekliyoruz. _Blue_Host_Adline($BlueReadFile, "74.125.43.103", "youtube.com") _Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.youtube.com") _Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.docs.google.com") _Blue_Host_Adline($BlueReadFile, "74.125.43.103", "www.clients1.google.com.tr") ; .... Bu şekilde devam edecek ; .... Bu şekilde devam edecek ;Değiştirdiğimiz içeriği yazıyoruz. _Blue_Host_Write($BlueReadFile, $HostFile) If @error = 0 Then MsgBox(64, "", "Işlem başarılı!") Else MsgBox(64, "", "Işlem hatalı!") EndIf Func _Blue_Host_Adline(ByRef $ArrayList, $IP, $Domain) Local $Find_Domain, $BLUE_LINE, $BL_Instr For $I = 1 To $ArrayList[0] $BLUE_LINE = StringStripWS($ArrayList[$I], 3) If StringIsDigit(StringLeft($BLUE_LINE, 1)) = 0 Then ContinueLoop $BL_Instr = StringInStr($BLUE_LINE, Chr(32)) If $BL_Instr = 0 Then $BL_Instr = StringInStr($BLUE_LINE, @TAB) If $BL_Instr = 0 Then ContinueLoop $Find_Domain = StringStripWS(StringTrimLeft($BLUE_LINE, $BL_Instr), 3) If $Find_Domain = $Domain Then $ArrayList[$I] = $IP & " " & $Domain Return 1 EndIf Next If UBound($ArrayList) >= $ArrayList[0] Then ReDim $ArrayList[$ArrayList[0] + 100] $ArrayList[0] += 1 $ArrayList[$ArrayList[0]] = $IP & " " & $Domain Return 1 EndFunc ;==>_Blue_Host_Adline Func _Blue_Host_Write(ByRef $ArrayList, $TARGET_FILE) Local $Return = True, $Blue_Write FileSetAttrib($TARGET_FILE, "-RSH") Local $File_hwnd = FileOpen($TARGET_FILE, 2) If $File_hwnd = -1 Then $Return = False Else For $I = 1 To $ArrayList[0] $Blue_Write &= $ArrayList[$I] & @CRLF Next If FileWrite($TARGET_FILE, $Blue_Write) = 0 Then $Return = False EndIf FileSetAttrib($TARGET_FILE, "+RSH") If $Return = False Then Return SetError(1, 0, 0) Return 1 EndFunc ;==>_Blue_Host_Write Func _Blue_FileRead_To_Array($TARGET_FILE, $SStripWS = True) ;Dosya|Fazla enterleri silmek Local $Return_Array[1] = [0] Local $FileGetSize = FileGetSize($TARGET_FILE) If $TARGET_FILE = "" Or FileExists($TARGET_FILE) = 0 Or $FileGetSize = 0 Then Return SetError(1, 0, $Return_Array) Local $File_hwnd = FileOpen($TARGET_FILE, 0) If $File_hwnd = -1 Then Return SetError(2, 0, $Return_Array) Local $File_Read = FileRead($File_hwnd, $FileGetSize) FileClose($File_hwnd) If StringLen($File_Read) < 1 Then Return SetError(3, 0, $Return_Array) If StringInStr($File_Read, @LF) Then $File_Read = StringStripCR($File_Read) ElseIf StringInStr($File_Read, @CR) Then $File_Read = StringReplace($File_Read, @CR, @LF) EndIf If $SStripWS = True Then Do $File_Read = StringReplace($File_Read, @LF & @LF, @LF) Until @extended = 0 $File_Read = StringStripWS($File_Read, 3) EndIf $Return_Array = StringSplit($File_Read, @LF) Return $Return_Array EndFunc ;==>_Blue_FileRead_To_Array[/codebox] Quote Link to comment Share on other sites More sharing options...
radyofon Posted September 14, 2011 Author Share Posted September 14, 2011 @blue_life Ellerine sağlık. Çok detaylıymış. Bu kadar uzun kodlar yazılması gerektiğini beklemiyordum doğrusu. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 15, 2011 Share Posted September 15, 2011 @radyofon Abi aslında daha kısa kodlama ile de yapılırdı ama, işte malum kontrolleri yapmaz isem sorunlu bir çalışma olacaktı. Yukarıdaki yazdığım koddaki amacım, tüm satırları sisteme fazla yüklenmeden kontrol etmekti. Bu yüzden biraz satırlar uzattık. Ya bazende fazla kaptırıyorum işte Quote Link to comment Share on other sites More sharing options...
radyofon Posted September 16, 2011 Author Share Posted September 16, 2011 (edited) @blue_life<BR><BR>Üstad program çalıştı ama hosts dosyası yerinden uçtu. <BR><BR>Edit<BR>------<BR>Başka yerden kopyala yapıştır dediğimde salt okunur bir hosts dosyası var diyor ama gizli dosyaları göster dediğim halde göstermiyor. Edited September 16, 2011 by radyofon Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 16, 2011 Share Posted September 16, 2011 @radyofon Uçma gibi bir şey söz konusu deyildir! Için rahat olsun. Ilgili dosya sistem dosyası olarak işaretlendiğinden göremiyorsundur. Klasör seçeneklerinde, sistem dosyalarını gizle şeklinde bir seçenek vardır. Onun tıkını da kaldırmalısın! Quote Link to comment Share on other sites More sharing options...
radyofon Posted September 16, 2011 Author Share Posted September 16, 2011 (edited) @blue_life Dediğin değil ama "Korunan işletim sistemi dosyalarını gizle" seçeneğinindeki tiki kaldırınca görünüyor fakat böyle olmaması lazım. Dosya normal bir dosya halindeki iken AutoIt kodlarını çalıştırınca bu hale dönüşüyor. Özelliklerini olduğu gibi koruması lazım değil mi? Edit ------ Sorun 227.satırdaki FileSetAttrib($TARGET_FILE, "+RSH") kodunda. +RSH yerine -RSH olmalı. Edited September 16, 2011 by radyofon Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 16, 2011 Share Posted September 16, 2011 @radyofon Ilgili dosyayı koruma amaçlı, salt okunur ve sistem dosyası olarak işaretliyoruz genelde! Sen istdiğin gibi kullanabilirsin.... Quote Link to comment Share on other sites More sharing options...
Mehmet Posted October 22, 2011 Share Posted October 22, 2011 (edited) @blue_life hosts dosyasını daha önceden satırlarını yazıpda masa üstüne bir yere koyup bu şekildede yapılmazmı acaba [codebox] #RequireAdmin FileInstall("C:\Documents and Settings\user\Desktop\hosts",@HomeDrive & "\WINDOWS\system32\drivers\etc\hosts") veya #RequireAdmin FileInstall("C:\Documents and Settings\user\Desktop\hosts",@WindowsDir & "\WINDOWS\system32\drivers\etc\hosts") [/codebox] Edited October 22, 2011 by MeHMeTBeN Quote Link to comment Share on other sites More sharing options...
MostWanted Posted October 23, 2011 Share Posted October 23, 2011 (edited) Ama o zaman adamın önceki yaptığı kayıtları silebilirsin. Edited October 23, 2011 by MostWanted Quote Link to comment Share on other sites More sharing options...
Mehmet Posted October 23, 2011 Share Posted October 23, 2011 komple değiştirmek istesek yani daha önceki kayıtlarıda silip temiz bir host dosyası atayım dedim bu yukarıda verdiğim kodlarla birtürlü değişmedi Quote Link to comment Share on other sites More sharing options...
MostWanted Posted October 23, 2011 Share Posted October 23, 2011 FileInstall("C:\Documents and Settings\user\Desktop\hosts",@HomeDrive & "\WINDOWS\system32\drivers\etc\hosts",1) komutunu kullanmalısın.Sonundaki eğer çıkarıldığı yerde dosya varsa üstüne yaz anlamına geliyor. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.