איך להשיג מהירות גבוהה יותר ב-Tor

הקדמה

במדריך הבא אסביר איך ניתן להשיג מהירות הורדה (או העלאה) מהירה יותר ב-Tor בעזרת שימוש ב-Socks מרובים בו זמנית, זה דורש גם מהאפליקצית קצה שאתם עושים בה שימוש (במקרה שלי Aria2) לתמוך בריבוי חיבורים בו זמנית.

דיאגרמה המציגה את הפתרון:

multisockstor

הגדרת Tor

אני אתחיל מהסוף ואלך להתחלה. אני אשער שאתם מריצים את Tor כ-Standalone ולא חלק מהבנאדל. תערכו את הקובץ torrc והוסיפו אליו את השורות הבאות:

.
.
.
SOCKSPort 127.0.0.1:9050
SOCKSPort 127.0.0.1:9051
SOCKSPort 127.0.0.1:9052
SOCKSPort 127.0.0.1:9053
SOCKSPort 127.0.0.1:9054
SOCKSPort 127.0.0.1:9055
SOCKSPort 127.0.0.1:9056
SOCKSPort 127.0.0.1:9057
SOCKSPort 127.0.0.1:9058
SOCKSPort 127.0.0.1:9059
.
.
.

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

ConnLimit 4000
NumCPUs 4
AvoidDiskWrites 1

שימו לב שברגע שהוספתם יותר מ-SOCKPort אחד, אתם נדרשים להריץ את השירות כ-Daemon. אז הפסיקו את ה-Service, והריצו את Tor ידנית.

/usr/bin/tor --runasdaemon 1 -f /etc/tor/torrc

Haproxy

אני אשער שמותקן לכם כבר Haproxy, תערכו את הקובץ הגדרות שלו, שצריך להראות כך:

.
.
.
listen socks5
    bind 127.0.0.1:9049
    mode tcp
    balance roundrobin
    server tor0 127.0.0.1:9050
    server tor1 127.0.0.1:9051
    server tor2 127.0.0.1:9052
    server tor3 127.0.0.1:9053
    server tor4 127.0.0.1:9054
    server tor5 127.0.0.1:9055
    server tor6 127.0.0.1:9056
    server tor7 127.0.0.1:9057
    server tor8 127.0.0.1:9058
    server tor9 127.0.0.1:9059
.
.
.

אם השתמשתם ב-SOCKSPort נוספים ב-Tor, הוסיפו אותם לקונפיגורציה. אל תשכחו לאתחל את Haproxy עם ההגדרות החדשות.

Tinyproxy

רגע, אבל למה בכלל צריך את Tinyproxy? התשובה היא בגלל ש-Aria2 לא תומך בפורקסי מסוג SOCKS. אם האפליקציה שלכם תומכת, אתם יכולים לעצור כאן, ולכוון אותה על פורט 9049. אבל זה לא המקרה שלנו.

אשער שכבר מותקן לך Tinyproxy, תערוך את הקובץ הגדרות שלו tinyproxy.conf:

Upstream socks5 127.0.0.1:9049

אפשר לשקול להגדיל את MaxClients ל-1024, לשיקולך. אל תשכח לאתחל את השירות.

בדיקה

תוכל לבדוק את המהירות על-ידי הורדת קובץ גדול (אפשר מה-Clearnet או כתובת Onion, מומלץ האחרון) עם הפרמטרים:

aria2c --continue=true --min-split-size=1M \
  -j 16 -x 16 --http-proxy="http://127.0.0.1:8888" \
  [DOWNLOAD_URL]

להלן התוצאות שלי (בממוצע 2.7 מגה בית [כ-20 מגה ביט]):

קריאה נוספת

https://dft.wiki/?p=3336

לייק 1