SOCKS کی صلاحیت رکھنے والا ایجنٹ Node کے بنیادی HTTPS کلائنٹ کے لیے منزل کا کنکشن قائم کر سکتا ہے۔ جب ایپلیکیشن میں socks-proxy-agent موجود ہو:

const https = require('node:https');
const { SocksProxyAgent } = require('socks-proxy-agent');

const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const request = https.get('https://www.example.com/', {
  agent,
  signal: AbortSignal.timeout(15000),
}, (response) => {
  console.log(response.statusCode);
  response.on('error', console.error);
  response.resume();
});
request.on('error', console.error);

اس عوامی HTTPS درخواست کے لیے مثال کے اینڈ پوائنٹ کو SOCKS5 پراکسی فہرست سے کسی غیر تصدیق شدہ امیدوار سے بدلیں۔ کال بیک اسٹیٹس پرنٹ کرنے کے بعد جواب خالی کر دیتا ہے؛ اگر ایپلیکیشن کو ضرورت ہو تو وہیں باڈی استعمال کریں۔ ایجنٹ کو اس کے تفویض کردہ کاموں کے لیے دوبارہ استعمال کریں، پھر جب وہ کلائنٹ پالیسی ہٹائی جائے اور اس کا کام مکمل ہو جائے تو اسے تباہ کر دیں۔

منتخب کریں کہ منزل کا نام کہاں حل ہو

socks-proxy-agent کی URL ہینڈلنگ میں، socks5h منزل کے ہوسٹ نام کا حل پراکسی راستے پر چھوڑ دیتا ہے؛ socks5 اسے مقامی طور پر حل کرتا ہے۔ یہ اہم ہے جب نام صرف پراکسی کے نیٹ ورک پر دستیاب ہو۔

HTTPS URL ویب سائٹ کی شناخت برقرار رکھتا ہے۔ ایجنٹ SOCKS گفت و شنید کرتا ہے اس سے پہلے کہ Node اس سائٹ کی طرف TLS شروع کرے۔

صارف نام/پاس ورڈ والی سروس کے لیے، محفوظ حروف کے لیے URI-جزو انکوڈنگ استعمال کرتے ہوئے پراکسی URL میں اسناد رکھیں۔ مکمل URL کو لاگز سے باہر رکھیں۔ منزل کے Authorization ہیڈر ویب سائٹ کے اکاؤنٹ کے ہیں۔

یہ ایجنٹ Node کے بنیادی HTTP/HTTPS درخواست API کے ساتھ کام کرتا ہے۔ Node کا fetch dispatcher انٹرفیس استعمال کرتا ہے، اس لیے اس کلائنٹ کا معاون SOCKS انضمام الگ سے ترتیب دیں۔

متعلقہ مضامین