Nodejs SOCKS Kimlik Doğrulama
4
●206
- 16-09-2024, 20:07:09Merhabalar, hali hazırda geliştirilmiş Proxy Tünelleme scriptim mevcut. Kendisi örneğin 1001 portu için kullanıcı adı veya şifre ile doğrulama yapıyor. Ip izni varsa da izin veriyor ve karşı sunucunun 1001 portuna bağlanıyor. Bir nevi proxy sunucuları için tünelleme. Kötü istekler ana sunucuda değil de burada sanal sunucuda kalması için. HTTP tarafını tamamladık lakin SOCKS tarafında istemciden gönderilen kullanıcı adı ve şifreyi algılayıp ona göre doğrulama yapamıyoruz. Bu konuda ücretli destek arıyorum.
- 16-09-2024, 22:52:46bütçeniz ne kadar? böyle spesifik konuların fiyatını vermek zor ama bütçenizi söylerseniz belki yardımcı olabilirim.
- 17-09-2024, 17:38:31SOCKS proxy sunucusu tarafında kullanıcı adı ve şifre doğrulaması yapabilmek için, socks kütüphanesi bu işlevi sağlayan bir sunucu özelliği sunmadığı için manuel bir SOCKS proxy sunucusu oluşturmanız gerek
socksv5 kullanabilirsin Chatgpt basit bir örnek
const socks = require('socksv5'); // Kullanıcı doğrulama bilgileri const validUsers = { 'username': 'password', // Örnek kullanıcı adı ve şifre }; // SOCKS sunucusunu başlat const server = socks.createServer((info, accept, deny) => { console.log('Yeni bağlantı:', info); const socket = accept(true); // İstek kabul edilir ve proxy başlatılır if (socket) { socket.on('data', (data) => { console.log('Veri alındı:', data.toString()); }); } }); // Kullanıcı adı ve şifre doğrulaması server.useAuth(socks.auth.UserPassword((user, pass, callback) => { if (validUsers[user] && validUsers[user] === pass) { console.log('Doğrulama başarılı:', user); callback(true); // Doğrulama başarılı } else { console.log('Doğrulama başarısız:', user); callback(false); // Doğrulama başarısız } })); server.listen(1080, '127.0.0.1', () => { console.log('SOCKS5 sunucusu çalışıyor port: 1080'); });istemci bağlantısı
const { SocksProxyAgent } = require('socks-proxy-agent'); const https = require('https'); const socksHost = 'socks5://username:password@localhost:1080'; const targetUrl = 'https://jsonplaceholder.typicode.com/posts/1'; const agent = new SocksProxyAgent(socksHost); https.get(targetUrl, { agent }, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('Response:', data); }); }).on('error', (err) => { console.error('Error:', err); });umarım yararlı olabilimiştir
- 17-09-2024, 18:23:56Teşekkür ederim. Kesinlikle yararlı. Daha sonrasında istek farklı ağa gönderilebilir. Paketleri tek tek okumaya gerek kalmadan direkt bu şekilde yapılması güzel.Pos3idon adlı üyeden alıntı: mesajı görüntüle