Pos3idon adlı üyeden alıntı: mesajı görüntüle
SOCKS 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
Teş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.