ببساطة كيف يمكنك ربط تطبيق ال NodeJS مع TOR لتغيير ال IP أثناء وقت تنفيذ التطبيق

TOR هو عبارة مجموعة من الخوادم المتطوعة التي تسمح للناس لدخول للإنترنت بواسطة IP مختلفة وذلك للمحافظة على السرية وعدم تحديد معلومات عن المستخدم. حيث أصبح المبرمجون يرونها خدمة مميزة لهم لطلب الخدمات عبر IP مختلف للحفاظ على السرية أو البعد عن الحظر, ولكن قبل البدء يجب أن نحسن الإستخدام وذلك بإتباع طريقة لا تعرض الأخرين لضرر أو مشكلة.

قواعد القشط أو Scrapping

القشط أو ال Scrapping شيء ممتع , ولكن يجب أن تتأكد بأنك توافق على الإستخدام الغير مؤذي للأخرين وذلك حسب النقاط التالية:
١- تأكد من أنك تتبع المواقع حسب سياسة الإستخدام, وهذا يعني ضرورة إتباع ملف robots.txt وغيرها من القيود إن وجدت.
٢- حاول تقليل طلباتك. فكثرة القشط ممكن أن تعود بفعل سلبي, مثال يمكن أن يؤدي ذلك لنوع من هجوم ال DOS بسبب كثرة الطلبات مما يؤثر على الخدمة.
٣- كم لطيف مع الخادم. إذا كنت لا تحتاج الصور على سبيل المثال, غير القاشط بحيث لا يقوم بطلبها أو تحميلها. ضع بريدك في طلبات ال HTTP بحيث يستطيع الأدمن التواصل معك إذا كنت تسبب له المشاكل.

لذلك في هذه التدوينة أشارك معكم الخطوات التي يمكن من خلالها تشغيل تطبيق ال NodeJS الخاص بك مع ال TOR وتغيير ال IP الخاص بالتطبيق في خلال وقت تشغيل التطبيق, الأوامر الحالية تنفذ من خلال نظام تشغيل ال Ubuntu 14 فأكثر.

تحديث ال NodeJS

علينا بالبداية أن نتأكد بأن ال Node JS الخاصة بنا محدثة للنسخة ٦, وإذا كانت غير محدثة أو غير موجودة نقوم بتنفيذ الاوامر التالية

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

نتأكد من تحديث ال NPM أيضا

sudo npm install npm@latest -g

تنصيب وإعدادات ال TOR

نقوم بتنصيب الTOR عبر الأمر التالي

sudo apt-get install tor

ثم نقوم بتنصيب المكتبة لنستخدم ال TOR داخل ال Node JS Apps

sudo npm install tor-request

نقوم بتوليد كلمة مرور خاصة بال TOR  عبر الأمر التالي

tor --hash-password mypassword

سيخرج لنا نص في ال Terminal نقوم بنسخ السطر الأخير والذي يحوي الباسوورد المشفرة ونقوم بتعديل ملف الإعدادات وهو torrc, حيث نقوم بفتحه عبر الأمر

sudo nano ./etc/tor/torrc

نقوم بتحديث كلمة المرور المشفرة بلصقها في السطر كما في المثال أسفل

ControlPort 9051
HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C

TOR نقوم بإعادة تشغيل

/etc/init.d/tor restart

الان يكون قد عمل ال TOR الان يمكننا بناء التطبيق وإستخدام المكتبة التي تستعمل الت TOR لعمل طلبات ب IP مختلفة

مثال تطبيق ال NodeJS:

يمكنك في المثال التالي أن تشاهد نتيجة لل IP الأول وكيف تم تغييره من خلال التطبيق.

var tr = require('tor-request');
tr.TorControlPort.password = 'mypassword';

var printTOR_IP = function () {

  tr.request('https://api.ipify.org', function (err, res, body) {
  if (!err && res.statusCode == 200) {
      console.log("Your public (through Tor) IP is: " + body);
   }
});
};

//print current ip

 printTOR_IP();

//renew to new ip
tr.renewTorSession(function (err, msg) {
     if (msg) {
         printTOR_IP();
      }
});

دمتم بود, إلى تدوينة أخرى

شارك هذا الموضوع: