proxysale

שפה

פרוקסי מתחלף עם רשימה שמתעדכנת מעצמה לאורך כל היום

הפרוקסי שלנו מתחלפים ברמת הרשימה. המאגר משתנה לאורך היום, ובכל פעם שהתוכנה מושכת את הקישור היא מקבלת את הכתובות שעובדות עכשיו.

תווית מחיר כחולה מול מפת עולם מנוקדת עם צמתי רשת מחוברים

החלפה ברמת הרשימה

ProxySale מחליפה פרוקסי דרך הרשימה עצמה. המאגר מאבד כתובות מתות ומקבל חדשות כל היום, ובכל פעם שהתוכנה מבקשת את הקישור היא מקבלת את הקבוצה שעובדת באותו רגע. לא מגדירים אצלנו כללי החלפה: טענו את הקישור מחדש כל 8 עד 10 דקות והרשימה נשארת עדכנית.

את השורה לכל בקשה בוחרת התוכנה. רוב הסקרייפרים וכלי ה-SEO שולפים פרוקסי אקראי בכל בקשה או עוברים לשורה אחרת אחרי שגיאה, והעומס מתפזר על אלפי כתובות.

למה פרוקסי מתחלף עוזר לסקרייפרים

מנועי חיפוש, מרקטפלייסים ואתרי השוואת מחירים סופרים בקשות לכל IP. כתובת ששולחת מאות בקשות בדקה נתקלת בקפצ׳ה או בחסימה. פזרו את אותו עומס על רשימת פרוקסי מתחלף, וכל כתובת שולחת רק מעט, כך שהיעד רואה משהו קרוב למבקרים רגילים.

ההחלפה גם מסתירה שורות מתות. בקשה שנכשלה יוצאת שוב דרך כתובת אחרת, והטעינה הבאה של הרשימה מוציאה את השורה הגרועה.

הגדרת החלפה בתוכנה

  • A-Parser ו-ZennoPoster: הוסיפו את קישור הרשימה כמקור פרוקסי עם טעינה מחדש כל 10 דקות.
  • Scrapy: טענו את הרשימה ל-downloader middleware שבוחר שורה אקראית לכל בקשה.
  • Python requests: החזיקו את הרשימה בזיכרון והעבירו שורה אקראית במילון proxies.
  • curl ב-bash: קחו שורה עם shuf -n 1 לפני כל קריאה.

השאירו את הטעינה מחדש על 8 עד 10 דקות. בקשות כל דקה מואטות אצלנו, וגם המאגר לא משתנה כל כך מהר.

אסטרטגיות החלפה

  • שורה אקראית לכל בקשה: השיטה הפשוטה ביותר, עם העומס האחיד ביותר.
  • שורה אחת לסדרה קצרה: שימושי כשאתר מצפה לכמה בקשות קשורות, כמו עמוד חיפוש ועמוד התוצאות הבא.
  • החלפה בשגיאה: להחזיק שורה כל עוד היא עונה, ולזרוק אותה אחרי קפצ׳ה, זמן קצוב או 403.
  • צינון: אחרי חסימה, להוציא את הכתובת מההחלפה ל-10 עד 15 דקות.

רוב הסקרייפרים משלבים את הראשונה ואת השלישית: שורה אקראית לכל בקשה והחלפה מיידית אחרי שגיאה. עקבו אחרי שיעור הקפצ׳ות והבקשות שנכשלו. אם הוא עולה, הוסיפו כתובות או האטו.

כמה כתובות צריך

ספרו את הבקשות בדקה ליעד הקשה ביותר וחלקו במספר שכתובת אחת יכולה לשלוח בלי בעיות. אם אתר סובל חמש בקשות בדקה מ-IP אחד ואתם צריכים 5,000, תכננו לפחות 1,000 כתובות חיות, ועוד מרווח לירידה של הלילה. משימות גדולות יותר מוסברות בעמוד פרוקסי בסיטונאות.

בחרו מאגר לפי היעד: World MIX לאתרים גלובליים, פרוקסי אירופה לחנויות ולחיפוש באיחוד, פרוקסי חבר המדינות ל-Yandex ולמרקטפלייסים אזוריים, פרוקסי סין ל-Baidu.

משימות שצריכות כתובת קבועה

יש עבודות שצריכות כתובת אחת לאורך זמן: כניסה לחשבונות, שמירת עגלת קניות, הפעלת פרופילים בדפדפני אנטידטקט. רשימה מתחלפת של חבילה מתאימה לזה רע, כי הכתובת יכולה לצאת מהמאגר. לעבודה כזאת קחו פרוקסי רזידנטיאליים מהמאגר Max: לכל שורה סשן משלה במשך של 3 דקות עד 24 שעות, כל עוד המכשיר הביתי מחובר. העמוד פרוקסי לאנטידטקט מראה איך להגדיר פרופילים.

לכל מה שקורא עמודים ציבוריים, ההחלפה מתאימה יותר ועולה פחות לבקשה.

קובץ רשימה שמתחדש כל 10 דקות

יש כלים שקוראים פרוקסי רק מקובץ. שמרו על הקובץ טרי עם סקריפט קטן שמוריד את הרשימה כל 10 דקות. כל סקריפט למטה כותב קודם לקובץ זמני ומחליף את הקובץ הראשי רק אחרי הורדה מלאה, כך שהתוכנה לעולם לא תקרא רשימה כתובה למחצה או ריקה. שימו את קישור הרשימה מהלוח במקום YOUR_LIST_LINK.

Linux: סקריפט shell ו-cron

שמרו את הסקריפט בשם /opt/proxies/update-proxies.sh, הפכו אותו לבר-הרצה עם chmod +x /opt/proxies/update-proxies.sh והריצו אותו פעם אחת ידנית. הוא מדפיס כמה פרוקסי שמר, או שגיאה אם הקישור לא עונה.

update-proxies.sh
#!/bin/sh
LIST_URL="YOUR_LIST_LINK"
DEST="/opt/proxies/proxies.txt"
TMP="$DEST.tmp"

mkdir -p "$(dirname "$DEST")"
if curl -fsS --max-time 60 -o "$TMP" "$LIST_URL" && [ -s "$TMP" ]; then
  mv "$TMP" "$DEST"
  echo "$(date '+%F %T') saved $(wc -l < "$DEST") proxies"
else
  rm -f "$TMP"
  echo "$(date '+%F %T') download failed, kept the old list" >&2
  exit 1
fi

פתחו את התזמון עם crontab -e והוסיפו את השורה למטה. cron מפעיל את הסקריפט כל 10 דקות ומוסיף את ההודעות שלו ליומן. הריצו כ-root, או שנו את שני הנתיבים לתיקייה בתיקיית הבית שלכם.

crontab
*/10 * * * * /opt/proxies/update-proxies.sh >> /var/log/update-proxies.log 2>&1

Windows: PowerShell ומתזמן המשימות

שמרו את הסקריפט בשם C:\proxies\update-proxies.ps1 והריצו אותו פעם אחת ב-PowerShell כדי לבדוק את הקישור.

update-proxies.ps1
$ListUrl = "YOUR_LIST_LINK"
$Dest = "C:\proxies\proxies.txt"
$Tmp = "$Dest.tmp"

New-Item -ItemType Directory -Force -Path (Split-Path $Dest) | Out-Null
try {
    Invoke-WebRequest -Uri $ListUrl -OutFile $Tmp -UseBasicParsing -TimeoutSec 60
    if ((Get-Item $Tmp).Length -eq 0) { throw "empty list" }
    Move-Item -Force $Tmp $Dest
    $count = (Get-Content $Dest | Measure-Object -Line).Lines
    Write-Output "$(Get-Date -Format s) saved $count proxies"
} catch {
    Remove-Item $Tmp -ErrorAction SilentlyContinue
    Write-Output "$(Get-Date -Format s) download failed, kept the old list: $($_.Exception.Message)"
    exit 1
}

רשמו משימה שמריצה את הסקריפט כל 10 דקות: הדביקו את הפקודה בשורת הפקודה או ב-PowerShell. המשימה שורדת הפעלות מחדש ומופיעה במתזמן המשימות בשם UpdateProxies. היא רצה כל עוד אתם מחוברים; כדי שתרוץ בלי הפעלה, פתחו את שורת הפקודה כמנהל והוסיפו לפקודה /RU SYSTEM.

cmd
schtasks /Create /TN "UpdateProxies" /SC MINUTE /MO 10 /F /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\proxies\update-proxies.ps1"

מעדיפים עכבר? פתחו את מתזמן המשימות, בחרו ״יצירת משימה בסיסית״, בחרו מפעיל יומי, ואז פתחו את מאפייני המשימה והגדירו חזרה כל 10 דקות למשך ״ללא הגבלה״. הפעולה מפעילה את powershell.exe עם הארגומנטים -NoProfile -ExecutionPolicy Bypass -File C:\proxies\update-proxies.ps1.

כל מערכת: Python

גרסת ה-Python רצה בלולאה ולא צריכה מתזמן. הפעילו אותה בטרמינל, בתוך screen או tmux, או כשירות. היא צריכה Python 3 ובלי חבילות נוספות.

update_proxies.py
import time
import urllib.request
from pathlib import Path

LIST_URL = "YOUR_LIST_LINK"
DEST = Path("proxies.txt")
EVERY = 600

while True:
    try:
        data = urllib.request.urlopen(LIST_URL, timeout=60).read()
        if not data.strip():
            raise ValueError("empty list")
        tmp = DEST.with_name(DEST.name + ".tmp")
        tmp.write_bytes(data)
        tmp.replace(DEST)
        print(time.strftime("%Y-%m-%dT%H:%M:%S"), "saved", len(data.split()), "proxies", flush=True)
    except Exception as error:
        print(time.strftime("%Y-%m-%dT%H:%M:%S"), "download failed, kept the old list:", error, flush=True)
    time.sleep(EVERY)

הפנו את התוכנה לקובץ השמור, והיא תמיד תקרא רשימה שלא עברו עליה יותר מ-10 דקות. השאירו את המרווח על 10 דקות: בקשות תכופות יותר מואטות אצלנו.

פרוטוקולים, מחירים ובדיקה

כל שורה מתחלפת של חבילה עובדת ב-HTTP, HTTPS, SOCKS4 ו-SOCKS5 על פורט אחד, ראו פרוקסי SOCKS5 ופרוקסי HTTP. גדלים ותקופות במחירון, ואת שעת החינם בכל חבילה נותנת התמיכה בעמוד יצירת הקשר.

תוכניות מתאימות

חבילות ללא הגבלה · חיוב לפי זמן

כתובות IPתהליכוניםשעהיום7 ימים30 יוםל-1,000 כתובות ליוםקנייה
30,000World MIXפופולרי2,500$4.20$51.00$275$990$1.70קנייה
3,000אירופהפופולרי1,000$1.70$15.50$77.00$277$5.17קנייה
1,000חבר המדינות500$1.00$10.00$52.00$187$10.00קנייה
200סין300$0.50$7.00$37.00$135$35.00קנייה

מסלולים לפי GB · חיוב לפי תעבורה

תוכנית · מחיר ל-GB1–9 GB10–49 GB50–99 GB100–499 GB500–999 GB1,000–2,000 GBקנייה
Hybrid ISPכתובות של ספקיות$1.49/ GB$1.39/ GB$1.29/ GB$1.15/ GB$1.05/ GB$0.95/ GBקנייה
Cell סלולריפופולרירשתות 4G ו-5G$3.49/ GB$3.19/ GB$2.95/ GB$2.69/ GB$2.39/ GB$2.15/ GBקנייה
Start רזידנטיאליפופולריIP ביתיים · מדינה$0.85/ GB$0.79/ GB$0.72/ GB$0.65/ GB$0.57/ GB$0.49/ GBקנייה

כל המסלולים לפי GB

שאלות

כל כמה זמן הכתובות מתחלפות?

המאגר מתעדכן כל היום. משכו את הרשימה כל 8 עד 10 דקות כדי להישאר מעודכנים.

אפשר להחזיק IP אחד לאורך סשן?

בחבילה כן, כל עוד הכתובת נשארת במאגר: התוכנה שלכם מחליטה באיזו שורה להשתמש. ל-IP עם משך חיים לבחירתכם קחו את Max הרזידנטיאלי: את משך השורה הקבועה קובעים בעצמכם, בין שלוש דקות ליממה, והמכשיר הביתי יכול לצאת מהרשת מוקדם יותר.

למה לא לטעון את הרשימה כל דקה?

בקשות תכופות יותר מפעם בכמה דקות נראות כמו הצפה ומואטות.

איך מגדירים עדכון אוטומטי של הרשימה?

תנו לתוכנה להוריד את הרשימה מהקישור כל 8–10 דקות. אם היא לא יודעת, רעננו את הקובץ בסקריפט מתוזמן: במאמר למעלה יש גרסאות מוכנות ל-cron, ל-Task Scheduler של Windows ול-Python.

במה שונה ההחלפה בחבילה מההחלפה במסלולים לפי GB?

בחבילה משתנה הרשימה עצמה: כתובות נכנסות ויוצאות, והתוכנה שלכם בוחרת שורה. במסלולים לפי GB השער מחליף: שורה מתחלפת מקבלת IP חדש לכל בקשה, ושורה קבועה מחזיקה את הכתובת לפי מזהה סשן.

למה חלק מהכתובות ברשימה לא עונות?

הרשימה משתנה במהלך היום, וכתובת יכלה לצאת מהמאגר מאז ההורדה האחרונה שלכם. הורדה טרייה כל 8–10 דקות שומרת על אחוז נמוך של שורות מתות.

התחילו בשעה או בג'יגה-בייט

בדקו חבילה בשעה חינם אחרי אימות או קנו 1 GB מכל מסלול לפי GB, הריצו עליו את התוכנה שלכם והשאירו את הפורמט שמתאים למשימה.

פתחו את לוח הבקרה