C# Otomatik Proxy Değiştirici Sorunu

mehmetx93

Uzman üye
2 Eyl 2010
1,395
1
C# Otomatik Proxy Değiştirici Sorunu [Çözüldü]

Kendi yapmış olduğum otomatik proxy değiştirme programında proxyleri regedit aracılığıyla başarı ile değiştiriyorum. İnternet seçenekleridne de değiştiği görülüyor.

Fakat değişen proxy aşağıdaki resimdeki gibi proxy ayarlarına girip tamam a tıklayıp çıkmadıkça aktifleşmiyor.

Daha önceden bu durumu yaşayan, sebebini veya çözüm yolunu bilen veya programımı başka işletim sistemlerinde deneyip durumu yazan olursa sevinirim. Ben win10 da denedim bu sorunla karşılaştım.

Problem Görseli:

Program Linki:Link

Virustotal Linki: Link


Önemli Not: Konuyu okumadan "Yeri yanlış" , "Eline sağlık" , "Kapat aç düzelir" gibi alakasız cevaplar vermezseniz çok sevinirim :)
 
Son düzenleme:

xenceri

Uzman üye
16 Ağu 2010
1,948
0
İstanbul
Hocam aslında proxynin aktif olması lazım ama şöyle de bir olay var ki, sen tarayıcıyı kapatıp tekrar açmadan bu proxy aktif olmuyor. En azından regedit kullanırken böyle. Çünkü tarayıcı sadece ilk açıldığında regeditten proxy değerlerini okur. Sürekli okumaz. Anlık proxy değiştirmek için winapi kullanmalısın.
 

mehmetx93

Uzman üye
2 Eyl 2010
1,395
1
Hocam aslında proxynin aktif olması lazım ama şöyle de bir olay var ki, sen tarayıcıyı kapatıp tekrar açmadan bu proxy aktif olmuyor. En azından regedit kullanırken böyle. Çünkü tarayıcı sadece ilk açıldığında regeditten proxy değerlerini okur. Sürekli okumaz. Anlık proxy değiştirmek için winapi kullanmalısın.

Öncelikle cevabınız için teşekkür ederim.

Aynı durumu bende düşünmüştüm ama işin ilginç olan yönü program aracılığıyla proxy değiştirdiğimde tarayıcıyı kapatıp açsam da proxy değişmemiş oluyor.

Veya tarayıcıyı kapatıp açmasamda internet seçenekleri/Bağlantılar/Yerel Ağ ayarları başlığı altına girip tamam-tamam diyerek çıkınca proxy değişmiş oluyor.

(internet seçenekleri/Bağlantılar/Yerel Ağ ayarları başlığı altına girince herhangi bir değişiklik yapmıyorum sadece tamam diyerek kapatıyorum ve değişmiş oluyor. Yoksa değişmiyor)

Bununla ilgili bir fikriniz varmı acaba ?

Saygılar.
 

xenceri

Uzman üye
16 Ağu 2010
1,948
0
İstanbul
Açıkçası hiçbir fikrim yok :D Dediğiniz gibi win10 ile ilgili bir sorun da olabilir belki. Ek olarak da
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(key, true);
yolunu değiştirdiniz değil mi?
RegKey.SetValue("ProxyServer", Proxy);
RegKey.SetValue("ProxyEnable", 1); //Burda da proxyi aktif etmek için ProxyEnable anahtarı 1 yapılmalı da onu da yapmışsınızdır zaten :) Valla açıkçası karşılaştığım bir sorun değil.
 

mehmetx93

Uzman üye
2 Eyl 2010
1,395
1
Açıkçası hiçbir fikrim yok :D Dediğiniz gibi win10 ile ilgili bir sorun da olabilir belki. Ek olarak da
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(key, true);
yolunu değiştirdiniz değil mi?
RegKey.SetValue("ProxyServer", Proxy);
RegKey.SetValue("ProxyEnable", 1); //Burda da proxyi aktif etmek için ProxyEnable anahtarı 1 yapılmalı da onu da yapmışsınızdır zaten :) Valla açıkçası karşılaştığım bir sorun değil.

:)
Evet dediklerinizi zaten yapmış olmama rağmen ne yazık ki onlarla ilgili bir problem yok.

Uğraştım tasarım falan yaptım programın en sonunda böyle bir problem oluştuğunu farkettim :) Neyse bi bilen çıkana kadar projeyi rafa kaldırmakta fayda var gibi :)

İlginiz için teşekkürler.
 

xenceri

Uzman üye
16 Ağu 2010
1,948
0
İstanbul
:)
Evet dediklerinizi zaten yapmış olmama rağmen ne yazık ki onlarla ilgili bir problem yok.

Uğraştım tasarım falan yaptım programın en sonunda böyle bir problem oluştuğunu farkettim :) Neyse bi bilen çıkana kadar projeyi rafa kaldırmakta fayda var gibi :)

İlginiz için teşekkürler.
Rica ederim dediğim gibi bu çok da normal bir hata değil aslında :) Dün C#ta TOR ağına otomatik bağlanacak bir program yaptım ve tabi bağlandıktan sonra tor'un yerel proxy sini tarayıcıya ataması lazım ve ben de senin gibi fazla uğraşmak istemediğim için regeditle yaptım ama bende dediğiniz gibi bir sorun çıkmadı. En sağlıklısı win api ile proxy değiştirmenizdir. Eski bir projem vardı, bulursam kodları size öm atarım.
 

mehmetx93

Uzman üye
2 Eyl 2010
1,395
1
Rica ederim dediğim gibi bu çok da normal bir hata değil aslında :) Dün C#ta TOR ağına otomatik bağlanacak bir program yaptım ve tabi bağlandıktan sonra tor'un yerel proxy sini tarayıcıya ataması lazım ve ben de senin gibi fazla uğraşmak istemediğim için regeditle yaptım ama bende dediğiniz gibi bir sorun çıkmadı. En sağlıklısı win api ile proxy değiştirmenizdir. Eski bir projem vardı, bulursam kodları size öm atarım.

Tmmdır denk gelirse atarsanız sevinirim :RpS_smile:
 

xenceri

Uzman üye
16 Ağu 2010
1,948
0
İstanbul
Tmmdır denk gelirse atarsanız sevinirim :RpS_smile:

Bu kod hem winapi ile anlık proxy değiştirir(Yani webbrowserda proxyin anında değişir) hem de regeditte değiştirir ve büyük ihtimalle bu senin sorununu da çözecektir.
Kod:
        [DllImport("wininet.dll")]
        public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
        public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
        public const int INTERNET_OPTION_******* = 37;


        static **** setProxy(string proxyhost, bool proxyEnabled)
        {
            const string userRoot = "HKEY_CURRENT_USER";
            const string subkey = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
            const string keyName = userRoot + "\\" + subkey;

            Registry.SetValue(keyName, "ProxyServer", proxyhost);
            Registry.SetValue(keyName, "ProxyEnable", proxyEnabled ? "1" : "0");

            // These lines implement the Interface in the beginning of program 
            // They cause the OS to ******* the settings, causing IP to realy update
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
            InternetSetOption(IntPtr.Zero, INTERNET_OPTION_*******, IntPtr.Zero, 0);
        }

Yıldızların ilki V.oid ikincisi REFR.....ESH (yani ingilizcedeki yenileme anlıma gelen kelime. Yine sansürlenmişse artık :D )
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.