הקדמה
במדריך הבא אסביר איך ניתן להשיג מהירות הורדה (או העלאה) מהירה יותר ב-Tor בעזרת שימוש ב-Socks מרובים בו זמנית, זה דורש גם מהאפליקצית קצה שאתם עושים בה שימוש (במקרה שלי Aria2) לתמוך בריבוי חיבורים בו זמנית.
דיאגרמה המציגה את הפתרון:
הגדרת 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 מגה ביט]):