راهنمای راهاندازی Smartproxy در لینوکس: چگونه از پروکسیهای مسکونی با curl، wget و Python استفاده کنیم
آموزشی دوستانه برای مبتدیان برای پیکربندی پروکسیهای مسکونی Smartproxy روی لینوکس. با احراز هویت، تنظیم متغیرهای محیطی، هدایت ترافیک curl و wget، یکپارچهسازی با Python requests و چرخش IPها برای حفظ حریم خصوصی یا اسکرپینگ آشنا شوید.
نمای کلی
Smartproxy پروکسیهای مسکونی و دیتاسنتری با پشتیبانی HTTP و SOCKS5 ارائه میدهد. این راهنما نشان میدهد چگونه Smartproxy را روی لینوکس برای ابزارهای خط فرمان و اسکریپتهای Python پیکربندی کنید. یاد میگیرید متغیرهای محیطی پروکسی در سطح سیستم را تنظیم کنید، با اعتبارنامههای خود احراز هویت کنید، اتصال را تست کنید و IPها را برای حفظ حریم خصوصی یا اسکرپینگ وب بچرخانید. این آموزش از پروکسیهای مسکونی استفاده میکند، اما مراحل برای پروکسیهای دیتاسنتری نیز کاربرد دارد.
پیشنیازها
- یک حساب Smartproxy (دوره آزمایشی رایگان یا طرح پرداختی). اگر ندارید، میتوانید در وبسایت Smartproxy ثبتنام کنید.
- یک سیستم لینوکس (روی Ubuntu 22.04 تست شده، اما روی توزیعهای دیگر هم کار میکند).
- آشنایی مقدماتی با ترمینال.
- نصب بودن
curl،wgetو Python 3 همراه باrequests. در صورت نیاز با مدیر بسته خود نصب کنید.
مرحله ۱: دریافت اعتبارنامههای پروکسی Smartproxy
- وارد داشبورد Smartproxy خود شوید.
- به بخش "Residential" یا "Datacenter" بروید و endpoint پروکسی خود (مثلاً
gateway.smartproxy.com) و پورت (مثلاً7000) را پیدا کنید. - نام کاربری و رمز عبور پروکسی خود را یادداشت کنید. Smartproxy از احراز هویت با نام کاربری/رمز عبور یا لیست سفید IP استفاده میکند. برای نام کاربری/رمز عبور، ممکن است نام کاربری شما شامل پارامترهای اضافی برای کنترل نشست باشد (مثلاً
user-session-abc123). فرمت دقیق را در داشبورد بررسی کنید. - (اختیاری) اگر لیست سفید IP را ترجیح میدهید، IP عمومی فعلی خود را به لیست مجاز در داشبورد اضافه کنید.
مرحله ۲: پیکربندی متغیرهای محیطی برای پروکسی در سطح سیستم
متغیرهای محیطی سادهترین راه برای هدایت ابزارهای CLI از طریق پروکسی هستند.
- فایل پیکربندی شل خود (مثلاً
~/.bashrcیا~/.zshrc) را در یک ویرایشگر متن باز کنید. - خطوط زیر را اضافه کنید و جاینگهدارها را با اعتبارنامهها و endpoint واقعی خود عوض کنید:
برای SOCKS5، از طرحexport HTTP_PROXY="http://username:[email protected]:7000" export HTTPS_PROXY="http://username:[email protected]:7000" export ALL_PROXY="socks5://username:[email protected]:7000"socks5://استفاده کنید. توجه داشته باشید که همه ابزارهاALL_PROXYرا رعایت نمیکنند؛ بسیاری حتی برای ترافیک HTTPS ازHTTP_PROXYوHTTPS_PROXYاستفاده میکنند. - فایل را ذخیره کنید و دوباره بارگذاری کنید:
source ~/.bashrc - بررسی کنید که متغیرها تنظیم شدهاند:
echo $HTTP_PROXY
مرحله ۳: تست پروکسی با curl
- یک درخواست ساده برای بررسی IP خود اجرا کنید:
باید یک پاسخ JSON با IP متفاوت از IP خودتان ببینید.curl -x http://username:[email protected]:7000 https://httpbin.org/ip - برای استفاده از SOCKS5، طرح پروکسی را مشخص کنید:
curl --socks5 username:[email protected]:7000 https://httpbin.org/ip - اگر متغیرهای محیطی را تنظیم کرده باشید، میتوانید پرچم
-xرا حذف کنید:curl https://httpbin.org/ip
مرحله ۴: هدایت wget از طریق پروکسی
- فایل
~/.wgetrcرا ایجاد یا ویرایش کنید و اضافه کنید:
wget بهصورت بومی از SOCKS5 پشتیبانی نمیکند؛ برای wget از پروکسی HTTP استفاده کنید.use_proxy = on http_proxy = http://username:[email protected]:7000 https_proxy = http://username:[email protected]:7000 - تست کنید با:
wget -qO- https://httpbin.org/ip
مرحله ۵: استفاده از Smartproxy با Python Requests
- اگر کتابخانه
requestsرا نصب نکردهاید، نصبش کنید:pip install requests - از قطعه کد Python زیر برای هدایت درخواستها از طریق Smartproxy استفاده کنید:
import requests proxy_url = "http://username:[email protected]:7000" proxies = { "http": proxy_url, "https": proxy_url, } response = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10) print(response.json()) - برای SOCKS5،
requests[socks]را نصب کنید و استفاده کنید:proxies = { "http": "socks5://username:[email protected]:7000", "https": "socks5://username:[email protected]:7000", }
مرحله ۶: چرخش IPها و استفاده از نشستهای چسبنده
پروکسیهای مسکونی Smartproxy بهطور پیشفرض هنگام استفاده از endpoint چرخشی، IPها را برای هر درخواست میچرخانند. برای حفظ همان IP برای چندین درخواست (نشست چسبنده)، میتوانید یک شناسه نشست به نام کاربری خود اضافه کنید.
- در داشبورد خود، فرمت کنترل نشست را بررسی کنید. معمولاً
-session-<id>را به نام کاربری خود اضافه میکنید. - برای یک نشست چسبنده، استفاده کنید:
curl -x http://username-session-abc123:[email protected]:7000 https://httpbin.org/ipabc123را با هر رشته الفبایی-عددی جایگزین کنید. همان شناسه نشست برای یک بازه (معمولاً تا ۱۰–۳۰ دقیقه) از همان IP استفاده میکند. - برای چرخش IPها، کافی است شناسه نشست را حذف کنید یا برای هر درخواست از یک شناسه نشست جدید استفاده کنید.
عیبیابی
- 407 Proxy Authentication Required: نام کاربری و رمز عبور خود را دوباره بررسی کنید. مطمئن شوید کاراکترهای خاص URL-encode شدهاند.
- Connection refused یا timeout: endpoint و پورت را بررسی کنید. تنظیمات فایروال خود را بررسی کنید. برخی شبکهها پورتهای غیراستاندارد را مسدود میکنند.
- خطاهای گواهی SSL: مطمئن شوید برای مقصدهای HTTPS از
https://استفاده میکنید و پروکسی شما از CONNECT پشتیبانی میکند (پروکسیهای HTTP پشتیبانی میکنند). برای SOCKS5، SSL بهصورت سرتاسری مدیریت میشود. - نشتی DNS: هنگام استفاده از پروکسی HTTP، ممکن است حل DNS بهصورت محلی انجام شود. برای جلوگیری از نشتی، از SOCKS5 با DNS راه دور (
socks5h://در curl) یا ابزاری مانندproxychainsاستفاده کنید. - سرعتهای پایین: پروکسیهای مسکونی میتوانند کندتر باشند. در صورت وجود، endpoint یا منطقه دیگری را امتحان کنید.
خلاصه
شما Smartproxy را روی لینوکس برای curl، wget و Python پیکربندی کردهاید. اکنون میتوانید ترافیک را از طریق پروکسیهای مسکونی یا دیتاسنتری هدایت کنید، بهصورت امن احراز هویت کنید و IPها را برای حفظ حریم خصوصی یا اسکرپینگ وب بچرخانید. به یاد داشته باشید اعتبارنامههای خود را ایمن نگه دارید و داشبورد Smartproxy را برای ویژگیهای پیشرفته مانند هدفگیری جغرافیایی و کنترل نشست بررسی کنید. برای کارهای مبتنی بر مرورگر، افزونه مرورگر Smartproxy را برای راهاندازی سادهتر در نظر بگیرید.