הקדמה
במדריך הבא אסביר איך ניתן להשיג מהירות הורדה (או העלאה) מהירה יותר ב-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 מגה ביט]):

