Я заметил значительную разницу в полосе пропускания с разными схемами TOR. Некоторые из них достаточно быстры для потоковой передачи HD-видео, в то время как другие занимают много времени, просто загружая веб-страницы, если Javascript не отключен. Поэтому при первом запуске браузера TOR я обычно продолжаю нажимать кнопку «New Identity» (которая AFAIK создает новую схему) до тех пор, пока время загрузки определенной веб-страницы не станет достаточно коротким. В большинстве случаев это занимает 4-5 попыток. Разница в скорости может быть огромной, поэтому я всегда делаю это перед потоковой передачей мультимедиа или просмотром сайтов с большим количеством скриптов.
Можно ли автоматизировать эту процедуру запуска, т.е. запустить браузер TOR, построить схему, измерить пропускную способность, и построить новый канал, если определенный порог пропускной способности не достигнут? Можно ли это, например, сделать с помощью сценария Bash или Python?
Псевдокод:
i==0;
WHILE i < 10:
START tor_browser
DOWNLOAD https://blah.com/test.png
bw = DOWNLOAD.bandwidth()
IF bw > bw_min: #e.g. 2 Mbps
BREAK
ELSE:
QUIT tor_browser
i++1
END
С чего бы вообще начать? Есть ли у браузера TOR API, который может взаимодействовать, например, с Python? Как заставить браузер загружать файл (в отличие от использования curl
и т.п.) и как измерить пропускную способность? Это что-то вроде «TOR использует определенный порт, и существует пакет Python, который может контролировать трафик c через него»?