Skip to content
Beginner / 2 min read

راهنمای راه‌اندازی Smartproxy در لینوکس: چگونه از پروکسی‌های مسکونی با curl، wget و Python استفاده کنیم

آموزشی دوستانه برای مبتدیان برای پیکربندی پروکسی‌های مسکونی Smartproxy روی لینوکس. با احراز هویت، تنظیم متغیرهای محیطی، هدایت ترافیک curl و wget، یکپارچه‌سازی با Python requests و چرخش IPها برای حفظ حریم خصوصی یا اسکرپینگ آشنا شوید.

لینوکس SOCKS5 HTTP(S) حریم خصوصی/ناشناسی

نمای کلی

Smartproxy پروکسی‌های مسکونی و دیتاسنتری با پشتیبانی HTTP و SOCKS5 ارائه می‌دهد. این راهنما نشان می‌دهد چگونه Smartproxy را روی لینوکس برای ابزارهای خط فرمان و اسکریپت‌های Python پیکربندی کنید. یاد می‌گیرید متغیرهای محیطی پروکسی در سطح سیستم را تنظیم کنید، با اعتبارنامه‌های خود احراز هویت کنید، اتصال را تست کنید و IPها را برای حفظ حریم خصوصی یا اسکرپینگ وب بچرخانید. این آموزش از پروکسی‌های مسکونی استفاده می‌کند، اما مراحل برای پروکسی‌های دیتاسنتری نیز کاربرد دارد.

پیش‌نیازها

  • یک حساب Smartproxy (دوره آزمایشی رایگان یا طرح پرداختی). اگر ندارید، می‌توانید در وب‌سایت Smartproxy ثبت‌نام کنید.
  • یک سیستم لینوکس (روی Ubuntu 22.04 تست شده، اما روی توزیع‌های دیگر هم کار می‌کند).
  • آشنایی مقدماتی با ترمینال.
  • نصب بودن curl، wget و Python 3 همراه با requests. در صورت نیاز با مدیر بسته خود نصب کنید.

مرحله ۱: دریافت اعتبارنامه‌های پروکسی Smartproxy

  1. وارد داشبورد Smartproxy خود شوید.
  2. به بخش "Residential" یا "Datacenter" بروید و endpoint پروکسی خود (مثلاً gateway.smartproxy.com) و پورت (مثلاً 7000) را پیدا کنید.
  3. نام کاربری و رمز عبور پروکسی خود را یادداشت کنید. Smartproxy از احراز هویت با نام کاربری/رمز عبور یا لیست سفید IP استفاده می‌کند. برای نام کاربری/رمز عبور، ممکن است نام کاربری شما شامل پارامترهای اضافی برای کنترل نشست باشد (مثلاً user-session-abc123). فرمت دقیق را در داشبورد بررسی کنید.
  4. (اختیاری) اگر لیست سفید IP را ترجیح می‌دهید، IP عمومی فعلی خود را به لیست مجاز در داشبورد اضافه کنید.

مرحله ۲: پیکربندی متغیرهای محیطی برای پروکسی در سطح سیستم

متغیرهای محیطی ساده‌ترین راه برای هدایت ابزارهای CLI از طریق پروکسی هستند.

  1. فایل پیکربندی شل خود (مثلاً ~/.bashrc یا ~/.zshrc) را در یک ویرایشگر متن باز کنید.
  2. خطوط زیر را اضافه کنید و جای‌نگهدارها را با اعتبارنامه‌ها و endpoint واقعی خود عوض کنید:
    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، از طرح socks5:// استفاده کنید. توجه داشته باشید که همه ابزارها ALL_PROXY را رعایت نمی‌کنند؛ بسیاری حتی برای ترافیک HTTPS از HTTP_PROXY و HTTPS_PROXY استفاده می‌کنند.
  3. فایل را ذخیره کنید و دوباره بارگذاری کنید:
    source ~/.bashrc
    
  4. بررسی کنید که متغیرها تنظیم شده‌اند:
    echo $HTTP_PROXY
    

مرحله ۳: تست پروکسی با curl

  1. یک درخواست ساده برای بررسی IP خود اجرا کنید:
    curl -x http://username:[email protected]:7000 https://httpbin.org/ip
    
    باید یک پاسخ JSON با IP متفاوت از IP خودتان ببینید.
  2. برای استفاده از SOCKS5، طرح پروکسی را مشخص کنید:
    curl --socks5 username:[email protected]:7000 https://httpbin.org/ip
    
  3. اگر متغیرهای محیطی را تنظیم کرده باشید، می‌توانید پرچم -x را حذف کنید:
    curl https://httpbin.org/ip
    

مرحله ۴: هدایت wget از طریق پروکسی

  1. فایل ~/.wgetrc را ایجاد یا ویرایش کنید و اضافه کنید:
    use_proxy = on
    http_proxy = http://username:[email protected]:7000
    https_proxy = http://username:[email protected]:7000
    
    wget به‌صورت بومی از SOCKS5 پشتیبانی نمی‌کند؛ برای wget از پروکسی HTTP استفاده کنید.
  2. تست کنید با:
    wget -qO- https://httpbin.org/ip
    

مرحله ۵: استفاده از Smartproxy با Python Requests

  1. اگر کتابخانه requests را نصب نکرده‌اید، نصبش کنید:
    pip install requests
    
  2. از قطعه کد 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())
    
  3. برای SOCKS5، requests[socks] را نصب کنید و استفاده کنید:
    proxies = {
        "http": "socks5://username:[email protected]:7000",
        "https": "socks5://username:[email protected]:7000",
    }
    

مرحله ۶: چرخش IPها و استفاده از نشست‌های چسبنده

پروکسی‌های مسکونی Smartproxy به‌طور پیش‌فرض هنگام استفاده از endpoint چرخشی، IPها را برای هر درخواست می‌چرخانند. برای حفظ همان IP برای چندین درخواست (نشست چسبنده)، می‌توانید یک شناسه نشست به نام کاربری خود اضافه کنید.

  1. در داشبورد خود، فرمت کنترل نشست را بررسی کنید. معمولاً -session-<id> را به نام کاربری خود اضافه می‌کنید.
  2. برای یک نشست چسبنده، استفاده کنید:
    curl -x http://username-session-abc123:[email protected]:7000 https://httpbin.org/ip
    
    abc123 را با هر رشته الفبایی-عددی جایگزین کنید. همان شناسه نشست برای یک بازه (معمولاً تا ۱۰–۳۰ دقیقه) از همان IP استفاده می‌کند.
  3. برای چرخش 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 را برای راه‌اندازی ساده‌تر در نظر بگیرید.