Проект Tor | История
Tor Project, Inc. стал некоммерческой организацией 501(c)(3) в 2006 году, но идея «луковой маршрутизации» возникла в середине 1990-х годов.
Разработчики, исследователи, доноры. Все, кто сделал возможным работу Tor – очень разные. Но мы объединены общей идеей: люди должны пользоваться интернетом без цензуры, а их приватность нужно уважать.
В 90-е годы прошлого столетия стало ясно, что интернет небезопасен, что его можно использовать для слежки за людьми. В 1995 году Дэвид Голдшлаг (David Goldschlag), Майк Рид (Mike Reed) и Пол Сиверсон (Paul Syverson) из Военно-морской исследовательской лаборатории США (NRL) задались вопросом: можно ли создать такие интернет-коммуникации, которые бы не раскрывали, кто с кем общается, даже если кто-то целенаправленно ведет слежку? Ответом стало создание и применение первых набросков и прототипов «луковой» маршрутизации.
Целью «луковой» маршрутизации было использовать интернет максимально приватно, насколько это возможно.
В начале 2000-х годов Роджер Дингледин (Roger Dingledine), недавний выпускник Массачусетского технологического института (MIT), вместе с Полом Сиверсоном начал работать в NRL над проектом «луковой» маршрутизации. Чтобы выделить свой проект на фоне других разработок «луковой маршрутизации», которые начали появляться тут и там, Роджер назвал его Tor (The Onion Routing). Вскоре к проекту присоединился Ник Мэтьюсон (Nick Mathewson), который учился в MIT вместе с Роджером.
С момента своего появления в 1990-х годах луковая маршрутизация была задумана как децентрализованная сеть. Сеть должна была управляться организациями с различными интересами и предположениями о доверии, а программное обеспечение должно было быть свободным и открытым, чтобы обеспечить максимальную прозрачность и децентрализацию. Когда в октябре 2002 года сеть Tor начала работать, ее код был опубликован с бесплатной и открытой лицензией.
К концу 2003 года в сети насчитывалось около десятка добровольных узлов в США и один в Германии.Признавая пользу Tor для цифровых прав, Electronic Frontier Foundation (EFF) начал финансировать работу Роджера и Ника над Tor в 2004 году. В 2006 году была основана некоммерческая организация Tor Project, Inc., 501(c)(3), чтобы поддерживать развитие Tor.
В 2007 году организация начала разработку мостов для сети Tor. Мосты были призваны решить проблему цензуры, например, государственных блокировок. Всякий пользователь должен был иметь возможность пользоваться Tor.
Tor стал набирать популярность среди активистов и технически подкованных пользователей, заинтересованных в приватности. Однако людям без технических познаний было по-прежнему трудно его использовать. В 2005 году началась разработка дополнительных инструментов. Разработка Tor Browser началась в 2008 году.
Сегодня интернет-пользователи и активисты ежедневно используют Tor Browser. Так было, например, во время «арабской весны», начавшейся в конце 2010-х годов. Tor не только защищал информацию о людях онлайн, но и позволял им получать доступ к важным ресурсам, социальным сетям и сайтам, которые были заблокированы.
Свидетельства Эдуарда Сноудена 2013 года подстегнули интерес пользователей к инструментам защиты от массовой слежки и вывели тему в топ. Tor сыграл важную роль в сноуденовских разоблачениях. Кроме того, фактически подтвердилось, что на тот момент Tor было невозможно взломать.
Хотя люди стали больше знать о слежке и цензуре, эти негативные явления в интернете тоже выросли. Сегодня волонтеры поддерживают тысячи узлов Tor. Сетью пользуются миллионы людей по всему миру. Такое разнообразие обеспечивает безопасность пользователей.
Команда Tor Project каждый день борется за доступ к интернету без цензуры для каждого. Tor стал самым мощным в мире средством обеспечения приватности и свободы в сети.
Tor – больше, чем программа. В него вложили душу люди со всего мира, верящие в ценность прав человека. Проект Tor предан идее прозрачности и безопасности пользователей.
Чем вам помочь? | Tor Project
При поиске узла мы показываем янтарную точку рядом с ником узла, если он перегружен. Это означает, что сработала одна или несколько из следующих метрик нагрузки:
- Любой вызов Tor OOM из-за нехватки памяти
- Любые ntor onionskins (луковые оболочки) сброшены
- Исчерпание TCP-порта
Обратите внимание, что если узел достигает перегруженного состояния, мы выводим сигнал перегрузки в течение 72 часов после восстановления узла.
Если Вы заметили, что Ваш узел перегружен, пожалуйста:
Проверьте https://status.torproject.org/ на наличие выявленных проблем в категории «Tor network».
Рассмотрите возможность настройки
sysctl
вашей системы для сети, памяти и загрузки ЦП.Рассмотрите возможность включения ‘MetricsPort’, чтобы понять, что происходит.
Настройка ‘sysctl’ для сети, памяти и загрузки процессора
Исчерпание TCP-порта
В случае исчерпания TCP-порта рассмотрите возможность расширения диапазона локальных портов. Это можно сделать с помощью
# sysctl -w net.ipv4.ip_local_port_range="15000 64000"
или
# echo 15000 64000 > /proc/sys/net/ipv4/ip_local_port_range
Имейте в виду, что приведенная выше настройка sysctl
не является постоянной и будет утрачена при перезапуске.
Чтобы сделать ее постоянной, Вам следует добавить конфигурацию в /etc/sysctl.conf
или в файл /etc/sysctl.d/
.
MetricsPort
Чтобы понять состояние узла Tor и сети Tor, жизненно важно предоставить и иметь доступ к метрикам узла. Информация о перегрузке узла была добавлена в дескрипторы узла с версии 0.4.6+, но только после tor >= 0.4.7.1-alpha был доступен интерфейс к базовым метрикам ретрансляции: порт метрик.
Включение MetricsPort
Tor предоставляет доступ к порту метрик через опцию конфигурации torrc под названием MetricsPort
.
Важно понимать, что публичное раскрытие MetricsPort tor опасно для пользователей сети Tor, поэтому этот порт не включен по умолчанию, и его доступ должен регулироваться политикой доступа. Пожалуйста, примите дополнительные меры предосторожности при открытии этого порта и закройте его при завершении отладки.
Предположим, что вы единственный пользователь на сервере, на котором запущен узел Tor. Вы можете включить порт метрик, добавив это в файл torrc:
MetricsPort 127.0.0.1:9035 MetricsPortPolicy accept 127.0.0.1
И тогда вы сможете легко получить метрики с помощью:
# curl http://127.0.0.1:9035/metrics
в формате Prometheus по умолчанию.
Примечание: Каждый пользователь на этом сервере сможет получить доступ к этим метрикам узла в приведенном выше примере.
В общем, установите очень строгую политику доступа с помощью MetricsPortPolicy
и рассмотрите возможность использования функций брандмауэра ваших операционных систем для глубокой защиты.
Для более подробного объяснения о MetricsPort
и MetricsPortPolicy
см. справочную страницу tor.
Выходные данные MetricsPort
Here is an example of what output enabling MetricsPort
will produce (we omitted any congestion control related metrics as we still need to stabilize that interface):
# HELP tor_relay_connections Total number of opened connections # TYPE tor_relay_connections gauge tor_relay_connections{type="OR listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="OR listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="OR listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="OR listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="OR",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="OR",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="OR",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="OR",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Exit",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Exit",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Exit",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Exit",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Socks listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Socks listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Socks listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Socks listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Socks",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Socks",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Socks",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Socks",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Directory listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Directory listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Directory listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Directory listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Directory",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Directory",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Directory",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Directory",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Control listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Control listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Control listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Control listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Control",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Control",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Control",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Control",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Transparent natd listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Transparent natd listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Transparent natd listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Transparent natd listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="DNS listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="DNS listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="DNS listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="DNS listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Extended OR",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Extended OR",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Extended OR",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Extended OR",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Extended OR listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Extended OR listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Extended OR listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Extended OR listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="HTTP tunnel listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="HTTP tunnel listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Metrics listener",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Metrics listener",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Metrics listener",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Metrics listener",direction="received",state="opened",family="ipv6"} 0 tor_relay_connections{type="Metrics",direction="initiated",state="opened",family="ipv4"} 0 tor_relay_connections{type="Metrics",direction="initiated",state="opened",family="ipv6"} 0 tor_relay_connections{type="Metrics",direction="received",state="opened",family="ipv4"} 0 tor_relay_connections{type="Metrics",direction="received",state="opened",family="ipv6"} 0 # HELP tor_relay_connections_total Total number of created/rejected connections # TYPE tor_relay_connections_total counter tor_relay_connections_total{type="OR listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="OR listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="OR listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="OR listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="OR listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="OR listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="OR",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="OR",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="OR",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="OR",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="OR",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="OR",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Exit",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Exit",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Exit",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Exit",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Exit",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Exit",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Socks listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Socks listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Socks listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Socks listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Socks listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Socks listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Socks",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Socks",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Socks",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Socks",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Socks",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Socks",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Directory listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Directory listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Directory listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Directory listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Directory listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Directory listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Directory",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Directory",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Directory",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Directory",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Directory",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Directory",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Control listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Control listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Control listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Control listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Control listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Control listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Control",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Control",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Control",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Control",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Control",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Control",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Transparent natd listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="DNS listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="DNS listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="DNS listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="DNS listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="DNS listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="DNS listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Extended OR listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Extended OR listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Metrics listener",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Metrics listener",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Metrics listener",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Metrics listener",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Metrics listener",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Metrics listener",direction="received",state="rejected",family="ipv6"} 0 tor_relay_connections_total{type="Metrics",direction="initiated",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Metrics",direction="initiated",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Metrics",direction="received",state="created",family="ipv4"} 0 tor_relay_connections_total{type="Metrics",direction="received",state="created",family="ipv6"} 0 tor_relay_connections_total{type="Metrics",direction="received",state="rejected",family="ipv4"} 0 tor_relay_connections_total{type="Metrics",direction="received",state="rejected",family="ipv6"} 0 # HELP tor_relay_flag Relay flags from consensus # TYPE tor_relay_flag gauge tor_relay_flag{type="Fast"} 0 tor_relay_flag{type="Exit"} 0 tor_relay_flag{type="Authority"} 0 tor_relay_flag{type="Stable"} 0 tor_relay_flag{type="HSDir"} 0 tor_relay_flag{type="Running"} 0 tor_relay_flag{type="V2Dir"} 0 tor_relay_flag{type="Sybil"} 0 tor_relay_flag{type="Guard"} 0 # HELP tor_relay_circuits_total Total number of circuits # TYPE tor_relay_circuits_total gauge tor_relay_circuits_total{state="opened"} 0 # HELP tor_relay_streams_total Total number of streams # TYPE tor_relay_streams_total counter tor_relay_streams_total{type="BEGIN"} 0 tor_relay_streams_total{type="BEGIN_DIR"} 0 tor_relay_streams_total{type="RESOLVE"} 0 # HELP tor_relay_traffic_bytes Traffic related counters # TYPE tor_relay_traffic_bytes counter tor_relay_traffic_bytes{direction="read"} 0 tor_relay_traffic_bytes{direction="written"} 0 # HELP tor_relay_dos_total Denial of Service defenses related counters # TYPE tor_relay_dos_total counter tor_relay_dos_total{type="circuit_rejected"} 0 tor_relay_dos_total{type="circuit_killed_max_cell"} 0 tor_relay_dos_total{type="circuit_killed_max_cell_outq"} 0 tor_relay_dos_total{type="marked_address"} 0 tor_relay_dos_total{type="marked_address_maxq"} 0 tor_relay_dos_total{type="conn_rejected"} 0 tor_relay_dos_total{type="concurrent_conn_rejected"} 0 tor_relay_dos_total{type="single_hop_refused"} 0 tor_relay_dos_total{type="introduce2_rejected"} 0 # HELP tor_relay_load_onionskins_total Total number of onionskins handled # TYPE tor_relay_load_onionskins_total counter tor_relay_load_onionskins_total{type="tap",action="processed"} 0 tor_relay_load_onionskins_total{type="tap",action="dropped"} 0 tor_relay_load_onionskins_total{type="fast",action="processed"} 0 tor_relay_load_onionskins_total{type="fast",action="dropped"} 0 tor_relay_load_onionskins_total{type="ntor",action="processed"} 0 tor_relay_load_onionskins_total{type="ntor",action="dropped"} 0 tor_relay_load_onionskins_total{type="ntor_v3",action="processed"} 0 tor_relay_load_onionskins_total{type="ntor_v3",action="dropped"} 0 # HELP tor_relay_exit_dns_query_total Total number of DNS queries done by this relay # TYPE tor_relay_exit_dns_query_total counter tor_relay_exit_dns_query_total 0 # HELP tor_relay_exit_dns_error_total Total number of DNS errors encountered by this relay # TYPE tor_relay_exit_dns_error_total counter tor_relay_exit_dns_error_total{reason="success"} 0 tor_relay_exit_dns_error_total{reason="format"} 0 tor_relay_exit_dns_error_total{reason="serverfailed"} 0 tor_relay_exit_dns_error_total{reason="notexist"} 0 tor_relay_exit_dns_error_total{reason="notimpl"} 0 tor_relay_exit_dns_error_total{reason="refused"} 0 tor_relay_exit_dns_error_total{reason="truncated"} 0 tor_relay_exit_dns_error_total{reason="unknown"} 0 tor_relay_exit_dns_error_total{reason="tor_timeout"} 0 tor_relay_exit_dns_error_total{reason="shutdown"} 0 tor_relay_exit_dns_error_total{reason="cancel"} 0 tor_relay_exit_dns_error_total{reason="nodata"} 0 # HELP tor_relay_load_oom_bytes_total Total number of bytes the OOM has freed by subsystem # TYPE tor_relay_load_oom_bytes_total counter tor_relay_load_oom_bytes_total{subsys="cell"} 0 tor_relay_load_oom_bytes_total{subsys="dns"} 0 tor_relay_load_oom_bytes_total{subsys="geoip"} 0 tor_relay_load_oom_bytes_total{subsys="hsdir"} 0 # HELP tor_relay_load_socket_total Total number of sockets # TYPE tor_relay_load_socket_total gauge tor_relay_load_socket_total{state="opened"} 0 tor_relay_load_socket_total 0 # HELP tor_relay_load_tcp_exhaustion_total Total number of times we ran out of TCP ports # TYPE tor_relay_load_tcp_exhaustion_total counter tor_relay_load_tcp_exhaustion_total 0 # HELP tor_relay_load_global_rate_limit_reached_total Total number of global connection bucket limit reached # TYPE tor_relay_load_global_rate_limit_reached_total counter tor_relay_load_global_rate_limit_reached_total{side="read"} 0 tor_relay_load_global_rate_limit_reached_total{side="write"} 0
Давайте выясним, что на самом деле означают некоторые из этих строк:
tor_relay_load_onionskins_total{type=»ntor»,action=»dropped»} 0
Когда узел начинает видеть «dropped», обычно это проблема ЦП/ОЗУ.
Tor, к сожалению, является однопоточным,за исключением случаев, когда обрабатываются «луковые оболочки». «Onion skins» (луковые оболочки) — это криптографическая работа, которая должна быть выполнена на знаменитых «onion layers» (луковых слоях) в каждой цепи.
Когда tor обрабатывает слои, мы используем пул потоков и передаем всю эту работу этому пулу. Может случиться так, что этот пул начнет сбоить из-за нагрузки на память или на процессор, и это вызовет состояние перегрузки.
Это, скорее всего, будет выявлено, если ваш сервер работает на полную мощность.
The ntor and ntor_v3 values will be the same at the moment which is a bug we need to fix.
tor_relay_exit_dns_error_total{…}
Any counter in the «*_dns_error_total» realm (apart from the one for successful queries) indicates a potential DNS related problem. Однако в процессе выпуска релиза 0.4.7 мы поняли, что ошибки DNS слишком зашумлены и содержат много ложных срабатываний, чтобы быть полезными для целей отчетности о перегрузке. Поэтому мы больше не используем их для этой цели, начиная с релизов 0.4.6.9 и 0.4.7.4-alpha. Тем не менее, мы по-прежнему сохраняем метрики DNS, чтобы дать оператору узла представление о том, что происходит с его узлом.
Проблемы и ошибки с тайм-аутом DNS относятся только к выходным узлам.
tor_relay_load_oom_bytes_total{…}
Вызов Out-Of-Memory указывает на проблему с RAM. Узлу требуется больше RAM или имеется утечка памяти. Если вы заметили, что в процессе tor присутствует утечка памяти, пожалуйста, сообщите о проблеме либо через Tor gitLab, либо отправив электронное письмо в список рассылки tor-relays.
Tor имеет свой собственный обработчик OOM, и он запускается в случае, если достигнуто 75% от общей памяти, которую tor считает доступной. Таким образом, предположим, что tor думает, что ему доступно в общей сложности 2 ГБ памяти, тогда при использовании 1,5 ГБ памяти он начнет её освобождать. Это считается состоянием перегрузки.
Чтобы оценить объем доступной памяти, при запуске tor будет использовать MaxMemInQueues или, если он не установлен, посмотрит на общую RAM, доступную в системе, и применит следующий алгоритм:
if RAM >= 8GB { memory = RAM * 40% } else { memory = RAM * 75% } /* Capped. */ memory = min(memory, 8GB) -> [8GB on 64bit and 2GB on 32bit) /* Minimum value. */ memory = max(250MB, memory)
Чтобы избежать состояния перегрузки, мы рекомендуем запускать узел с объёмом RAM более 2 ГБ на 64bit. Рекомендуется 4 ГБ, хотя, конечно, не помешает добавить больше RAM, если у вас имеется такая возможность.
Важно заметить, что сам tor может быть завершён обработчиком OOM ОС. Поскольку tor использует всю доступную ему в системе память при запуске, в случае, если в общей системе запущено много других приложений, работающих с использованием RAM, он в конечном итоге потребляет слишком много памяти. В этом случае обработчик OOM ОС могла бы завершить tor, даже при отсутствии перегрузки памяти tor.
tor_relay_load_socket_total
If the number of opened sockets is close to or the same as total sockets available then this indicates the relay is running out of sockets.
Решение заключается в том, чтобы увеличить ulimit -n
для процесса tor.
tor_relay_load_tcp_exhaustion_total
Эти строки указывают на то, что у узла заканчиваются TCP-порты.
Попробуйте настроить sysctl
как описано выше.
tor_relay_load_global_rate_limit_reached_total
Если этот счетчик увеличивается на некоторое заметное значение за короткий промежуток времени, то узел перегружен. Скорее всего, он используется в качестве сторожа большим onion-ресурсом или для осуществляемой DDoS в сети.
Если ваш узел по-прежнему перегружен и вы не знаете почему, свяжитесь с [email protected]. Вы можете зашифровать свою электронную почту с помощью ключа network-report OpenPGP.
- Редактировать этот элемент — Отправить отзыв — Постоянная ссылка
Tor | Скачать Tor
РАСШИРИТЬ СЕТЬ
Скачать Tor
Источник Tor
Пакет Tor Expert
Экспертный пакет tor содержит двоичные файлы tor и подключаемых транспортов, строки моста и данные геоIP, используемые в Tor Browser. Две показанные версии указывают версию браузера Tor, для которой были созданы эти конкретные двоичные файлы, и версию содержащегося в них демона tor. Эти пакеты предназначены для разработчиков, которым необходимо связать Tor со своими приложениями.
ОС (архитектура) | Стабильный | Альфа |
---|---|---|
Windows (i686) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
Windows (x86_64) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
macOS (x86_64) | 12.0.1 (до 0.4.7.12) (подпись) | 12. 5a1 (тор 0.4.7.12) (подпись) |
macOS (aarch64) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
GNU/Linux (i686) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
GNU/Linux (x86_64) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
Android (x86) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
Android (x86_64) | 12. 0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) | Android (armv7) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
Android (aarch64) | 12.0.1 (до 0.4.7.12) (подпись) | 12.5a1 (тор 0.4.7.12) (подпись) |
Загрузите Tor Browser
Загрузите Tor Browser, чтобы пользоваться настоящим приватным просмотром без отслеживания, слежки или цензуры.
Скачать Tor Browser
Наша миссия:
Продвигать права и свободы человека, создавая и внедряя бесплатные технологии анонимности и конфиденциальности с открытым исходным кодом, поддерживая их неограниченную доступность и использование, а также способствуя их научному и популярному пониманию.
Подпишитесь на нашу рассылку новостей
Получайте ежемесячные обновления и возможности от проекта Tor:
Зарегистрируйтесь
Товарный знак, уведомления об авторских правах и правила использования третьими лицами можно найти в нашем Часто задаваемые вопросы .
Проект Tor — Open Collective
Вклад
Станьте спонсором.
Финансовые взносы
Рецидив. спонсируйте за $100.00 в месяц и поддержите нас
От 100 долларов США в месяц
Индивидуальный взнос
Пожертвование
Сделайте индивидуализированный разовый или регулярный взнос.
Последняя активность
Крипто-вклад
Крипто-вклад
Сделать крипто-вклад.
Ведущие финансовые вкладчики
Физические лица
Incognito
675 долларов США с ноября 2020 года
Incognito
350 долларов США с ноября 2021 года
Джейкоб Колвин
$ 300 USD с мая 2021 г.
Hrittik
$ 245 USD с января 2022 г.
Бен Абрам
$ 150 с июня 2020
DNULL
$ 90 USD с 2022
DNULL
$ 90 USD с 2022
DNULL
700″ font-size=»10px» letter-spacing=»-0.4px»> долл.Роберт Коулман
75 долларов США с июля 2019 года
Лахлан Канг
75 долларов США с июля 2019 года
Клод Ришу
75 долларов США с августа 2019 года
0005
$3,502.75 USD since Jun 2021
Triplebyte
$620 USD since Jul 2019
Renuo AG
$440 USD since Apr 2021
DigitalOcean
$345 USD since Sep 2020
Reset
4px»> $215 USD since Jul 2020Algolia
207 долларов США с декабря 2019 года
StarApps Ltd
165 долларов США с февраля 2020 года
neuland — Büro für Informatik
68,54 долларов США с февраля 2022 года Tor is all us0008
Наши участники 72
Спасибо за поддержку проекта Tor.
Эл Смит
Администратор
70 долларов США
Спасибо за поддержку Tor! 💜💚
Susan Abt
[email protected]
Fund OSS
$3,503 USD
Incognito
backer
$675 USD
Triplebyte
$620 USD
4px»> Renuo AGbacker
440 долларов США 9 долларов США0005
Incognito
backer
$350 USD
DigitalOcean
$345 USD
Jacob Colvin
backer
$300 USD
4px»> Hrittik$245 USD
🚀🚀🚀
Budget
Transparent and открытые финансы.
Ежемесячный финансовый взнос в проект Tor
Кредит от Incognito для проекта Tor •
+25 долларов США
долларов СШАзавершен
взнос № 600229
Ежемесячный финансовый вклад в проект TOR
Кредит от EFREM SARMAZOV до проекта TOR •
+$ 2,0055
. вклад в проект Tor (спонсор)
Кредит от Бобби Мосса для проекта Tor • 024Z»> 2 января 2023 г.
+5 долларов США
Завершено
Вклад № 596544
$
Today’s balance
$2,013.02 USD
Total raised
$6,701.90 USD
Total disbursed
$4,688.88 USD
Estimated annual budget
$2,249.99 USD
Connect
Let’s get the ball rolling!
Новости проекта Tor
Новости о нашей деятельности и прогрессе.
Конфиденциальность — это право человека
Каждый год некоммерческая организация 501(c)(3), которая создает и распространяет технологию, лежащую в основе сети Tor и браузера Tor, проводит…
Подробнее
Опубликовано 29 октября 2021 г., Эл Смит
Фонд борьбы с ошибками, год 2: достигнутый прогресс
Подробнее
Опубликовано 3 марта 2021 г. Элом Смитом
Фонд Tor’s Bug Smash Fund: прогресс на данный момент
04:00 Фонд по борьбе с ошибками.
Подробнее
Опубликовано 1 апреля 2020 г. Элом Смитом
Tor Project, Inc. стала некоммерческой организацией 501(c)3 в 2006 г., но идея «луковой маршрутизации» зародилась в середине 1990-х.
Как и пользователи Tor, разработчики, исследователи и основатели, сделавшие Tor возможным, представляют собой разнородную группу людей. Но всех людей, которые были вовлечены в Tor, объединяет общее убеждение: интернет-пользователи должны иметь частный доступ к сети без цензуры.
В 1990-х годах отсутствие безопасности в Интернете и его способность использоваться для отслеживания и наблюдения становились очевидными, и в 1995 году Дэвид Гольдшлаг, Майк Рид и Пол Сайверсон из Исследовательской лаборатории ВМС США (NRL) задали вопрос: себя, если бы существовал способ создания интернет-соединений, которые не показывают, кто с кем разговаривает, даже для того, кто следит за сетью. Их ответом было создание и развертывание первых исследовательских проектов и прототипов луковой маршрутизации.
Цель луковой маршрутизации заключалась в том, чтобы использовать Интернет с максимально возможной конфиденциальностью, и идея заключалась в том, чтобы направлять трафик через несколько серверов и шифровать его на каждом этапе пути. Это все еще простое объяснение того, как Tor работает сегодня.
В начале 2000-х годов Роджер Динглдайн, недавний выпускник Массачусетского технологического института (MIT), вместе с Полом Сайверсоном начал работать над проектом луковой маршрутизации NRL. Чтобы отличить эту оригинальную работу в NRL от других попыток луковой маршрутизации, которые начали появляться в других местах, Роджер назвал проект Tor, что расшифровывалось как «луковая маршрутизация». Вскоре к проекту присоединился Ник Мэтьюсон, однокурсник Роджера по Массачусетскому технологическому институту.
С момента своего появления в 1990-х годах луковая маршрутизация была задумана с опорой на децентрализованную сеть. Сеть должна эксплуатироваться субъектами с различными интересами и предположениями о доверии, а программное обеспечение должно быть бесплатным и открытым для максимальной прозрачности и разделения. Вот почему в октябре 2002 года, когда сеть Tor была первоначально развернута, ее код был выпущен под свободной и открытой лицензией на программное обеспечение. К концу 2003 года в сети было около дюжины добровольческих узлов, в основном в США, плюс один в Германии.
Признавая преимущества Tor для цифровых прав, в 2004 году Electronic Frontier Foundation (EFF) начал финансировать работу Роджера и Ника над Tor. В 2006 году была основана Tor Project, Inc., некоммерческая организация 501(c)3. поддерживать развитие Tor.
В 2007 году организация начала разрабатывать мосты к сети Tor для устранения цензуры, например, необходимости обойти правительственные брандмауэры, чтобы ее пользователи могли получить доступ к открытой сети.
Tor начал набирать популярность среди активистов и технически подкованных пользователей, заинтересованных в конфиденциальности, но менее технически подкованным людям по-прежнему было трудно использовать его, поэтому, начиная с 2005 года, началась разработка инструментов, помимо прокси-сервера Tor. Разработка Tor Browser началась в 2008 году.
Благодаря тому, что браузер Tor сделал Tor более доступным для обычных интернет-пользователей и активистов, Tor стал важным инструментом во время «арабской весны», начавшейся в конце 2010 года. Он не только защищал личность людей в Интернете, но и позволял им получать доступ к важнейшим ресурсам, социальным сетям, и веб-сайты, которые были заблокированы.
Потребность в инструментах для защиты от массовой слежки стала главной проблемой благодаря разоблачениям Сноудена в 2013 году. Tor не только сыграл важную роль в разоблачении Сноудена, но и содержание документов также подтверждало заверения, что в то время Tor нельзя было взломать. .
Осведомленность людей об отслеживании, слежке и цензуре, возможно, возросла, но также увеличилась распространенность этих препятствий на пути к свободе Интернета. Сегодня в сети есть тысячи реле, которыми управляют добровольцы, и миллионы пользователей по всему миру. И именно это разнообразие обеспечивает безопасность пользователей Tor.
Мы в Tor Project каждый день боремся за то, чтобы у каждого был частный доступ к Интернету без цензуры, и Tor стал самым мощным в мире инструментом для обеспечения конфиденциальности и свободы в Интернете.