id: Гость   вход   регистрация
текущее время 09:16 26/04/2024
создать
просмотр
ссылки

Voice over TOR


Предлагаю для тестирования кипто VOIP-утилиту для работы через TOR (в режимах TOR -> доменное имя и TOR->скрытый сервис). Переделал с старого PGPFone: заменил транспорт на TCP и добавил адаптивный буфер для компенсации высокого jitter в TOR-туннеле. Также добавил обмен сообщениями и файлами.


Win98-XP-7-8. Полностью портируема. Работает peer-to-peer (звонить на доменное имя или TOR-hidden service). Использует DH4096+3DES.


Приветствуются замечания и пожелания.
Сайт проекта http://torfone.org (англ./рус.), там же доступны исходники (Visual C 6).


 
На страницу: 1, ... , 26, 27, 28, 29, 30, ... , 50 След.
Комментарии
— gegel (01/05/2014 19:53, исправлен 01/05/2014 19:59)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
А почему не работает с 64битными

Скомпилированный бинар работает. При компиляции на 64 бит-платформе (сам не пробовал, с чужих слов) собирается, но генерирует адресные ошибки в библиотеках. Если надо, разберемся. Но не на этом этапе.


Выложи исходники на github

Выложу, конечно. Просто это первая сырая альфа, выложил тут для узкого круга. Пока попробуйте бинарник (хоть на LiveCD), прежде чем "причесывать" проект, надо хоть немного убедиться в его адекватности.


А Ваши эти '!', '$' вначале – это плохо. Там что, нет возможности определить, ip addr/или доменное имя/или у доменного имени суфикс .onion?

Онион-ссылку, конечно, можно определить по суффиксу, и инициировать соединение через Tor. Но в случае обычного домена или IP как понять, хочет ли пользователь соединиться напрямую по UDP, напрямую по ТСР или по ТСР через Tor? Конечно, можно оставить только Tor, но тогда теряется гибкость.


Как torchat сделан все видели, там в коробке маленький Tor, сразу запиливается в него, и не нужны никакие слушания на raw ip, с пробросами через router.

Моя ошибка – нельзя в описании все мешать в одну кучу, учту.
Проброс порта в роутере нужен для приема прямого соединения по домену или IP-адресу. Это не имеет никакого отношения к работе через Tor.


Т.е. программа может работать в таких режимах:


– устанавливать прямые UDP-соединения
– устанавливать прямые TCP-соединения
– устанавливать TCP-соединения через Tor (на заданный IP, домен или HS, нужен запущенный Tor)


– принимать прямые UDP-соединения (нужен проброс UDP-порта на роутере)
– принимать TCP-соединения (прямые или с Tor-exit, нужен проброс TCP-порта на роутере)
– принимать соединения через свой Tor-HS (нужен запущенный Tor c натроенным HS)


Перечисленные режимы абсолютно независимы. Например, если вы используете прямые соединения, вам вовсе не нужен Tor, а если используете соединения к HS, то не нужно пробрасывать порты на роутере.


По поводу "маленького Tor в коробке" – его уже исключили из коробки, т.к. Tor обновляется, и лучше, если пользователь сам подбросит свежую версию. Можете распаковать последний TBB и скопировать с него Tor в папку с программой. Если тяжело будет запускать отдельно, может добавить в start. Для моей программы не важно, будет ли запущен Tor в составе TBB, TorChat или отдельно – вводим в конфиге действующий SOCKS5-интерфейс и работаем.


такую же прикалюху в Tor-сети

Это очень амбициозная и объемная (хотя и реальная) задача.
По поводу видео через Tor я уже писал: надо разбивать поток на куски и передавать их через множество независимых Tor-цепочек, постоянно контролируя их латентность, отсеивая медленные и дублируя сомнительные. На приемной стороне все собирать обратно. Это потребует локальных ресурсов (что при современных процессорах не проблема), но обеспечит приемлемую латентность транспорта.
Я бы хотел заняться таким проектом, но это на порядки выше onionphone и не для одного хобби-разработчика: нужна команда и финансирование.


Придётся вероятно отдельную башню поднимать

Вот это как раз и не надо. Башня сразу попадет под контроль. По аналогии с TorChat прекрасно справится децентрализованная структура. Вот только с баном будут проблемы, но можно решить путем раздачи организатором канала отзываемых ключей-инвайтов.

— Гость (01/05/2014 21:03)   <#>


Нужно делать так. Одну кнопку нажал – всё работает. Лучше Tor Browser Bundle(Windows) – его хавает пипл. Или например, tails – всё в коробке, его буквально рекламируют все подряд специ по безопасности, например Шнайер.
А когда там всё по кусочкам, часами собирается, люди либо запилят баш скрипт, который опять всё превратит в одну кнопку, либо уйдут в проект где всё проще.



Я вот про такую директорию говорю: http://3eocs2e3bwdd4zdv.onion

Если в самой программе допилить эту диру как базу для chatroullete, то можно получить тысячи пользователей-тестеров мгновенно.


Потом главным конкурентом будет лишь Skype.

Вы как разработку ведёте? Как Satoshi или как все?
— gegel (02/05/2014 10:29)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
Вы как разработку ведёте? Как Satoshi или как все?

А это как?
— SATtva (02/05/2014 10:45)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
А Ваши эти '!', '$' вначале – это плохо. Там что, нет возможности определить, ip addr/или доменное имя/или у доменного имени суфикс .onion?

Онион-ссылку, конечно, можно определить по суффиксу, и инициировать соединение через Tor. Но в случае обычного домена или IP как понять, хочет ли пользователь соединиться напрямую по UDP, напрямую по ТСР или по ТСР через Tor? Конечно, можно оставить только Tor, но тогда теряется гибкость.

Символы ! и $ имеют в консоли особое значение, их надо экранировать или брать адрес в одинарные кавычки, что неудобно. Вообще, для указания протокола общепринято использовать опции типа -T или -U (для Tor можно принять, скажем, -O).
— gegel (02/05/2014 12:55, исправлен 02/05/2014 13:03)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
Символы! и $ имеют в консоли особое значение

Просветите поподробнее, у меня нет особого опыта работы с консолью. Но в процессе разработки и тестирования я не заметил никакого отличия этих символов от других в процессе ввода (чтения из stdin) как в Win32-консоли, так и в Linux. Они вводятся с клавиатуры, как обычно, включаются в C-строку, ищутся strchr и т.д.


Или имеется в виду, что традиционно в самой консоли они используются как общепринятые управляющие, и их не стоит использовать в качестве нестандартных модификаторов, чтобы не конфузить пользователей?


ПС: данные символы не используются в командной строке и т.п. Они используются как модификатор адреса дозвона при его интерактивном вводе в уже запущенной программе.


В любом случае нет проблем поменять на предложенный Вами вариант.

— SATtva (02/05/2014 13:21)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Или имеется в виду, что традиционно в самой консоли они используются как общепринятые управляющие, и их не стоит использовать в качестве нестандартных модификаторов, чтобы не конфузить пользователей?

Именно так.
— gegel (02/05/2014 13:45)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
OK, принято.
Если есть желание, можно попробовать соединиться со мной:
на адресе !iyrqp2pt7qfrw6xu.onion висит текущая linux-версия,
на адресе !gegelcy5fw7dsnsn.onion висит Win32-версия и Торчат
на прямом адресе $gegelcopy.dyndns.org – Win32 версия

Для проверки звука достаточно просто запустить ./start, ввести последний адрес и нажать ввод – будет выплнено прямое соединение.
Оставлю включенным до вечера.
— unknown (02/05/2014 15:16, исправлен 02/05/2014 15:17)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Одно дело для заказчика кодить, за деньги, а не для сообщества, то тогда конечно правильный код писать вредно для прибыли. Надо просто взять и сделать, заказчику пофиг, ему главное, чтобы работало.


Есть масса всевозможных гласных и негласных стандартов кодинга, которые хорошо бы проштудировать, прежде чем за что-то браться. Даже уже не знаю, нужно ли показывать общепринято минимально правильные вещи, или лучше не стОит — пусть уж будет виден весь изначальный подход невооружённым глазом.

— Гость (02/05/2014 18:51)   <#>
Gegel, трудяга ты наш неутомимый, огромное спасибо! :) Неужто кроха лайтов так подействовала? :))) Шучу, шучу!
Щас потестирую. И сразу вопрос – если у одного абонента Linux, у второго Windows – можно ли как-то состыковать Unix-версию SpeakFrealy7.6 со старым виндовым TorFone?
Или какой-то еще вариант, чтобы линуксоид мог разговариваить с виндузятником...
— gegel (02/05/2014 21:21, исправлен 02/05/2014 21:25)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
или лучше не стОит

Наверное, действительно не стоит, по крайней мере так будет честно.
Тогда лучше не считать этот проект GNU, а еще лучше – вовсе не считать проектом. Просто экперимент.


Надо просто взять и сделать ... главное, чтобы работало.

Золотые слова, и вообщем-то я и не скрываю, что привык к такому подходу. Хороший пример – китайцы. Пока отечественные разработчики философствуют на electonix.ru, соображая грандиозный проект на 10 лет вперед, китайцы делают его за ночь, открыто используя ломанный Windows XP, ломанный ARM-компилятор и слямзенные куски лицензионного кода. Отечественный разработчик нервно курит и продолжает философию, а отечественный пользователь рад реально работающему китайскому продукту.


а не для сообщества

А оно вобще нужно сообществу? Мне кажется, единственный, кто решил потестировать, имеет к сообществу весьма косвенное отношение (прошу прощения, если ошибаюсь). Код работает на нижнем уровне, написан не мной и очень давно, есть много вопросов в частности к звуковому интерфейсу в современных ОС. Я задавал эти вопросы линуксоидам, но кроме пространственных рассуждений, ничего не услышал. Осталось впечатление, что там больше условностей и традиций, чем прагматики, практицизма и реальных знаний. Надеяться не на кого, но я привык: протестирую и выкручусь сам, не в первый раз.


Для себя я нарисовал следующую концепцию: самодостаточный статически линкуемый, компактный, простой и хорошо комментированный С-код без специфических системных библиотек (в том числе крипто: референс-коды и тест-вектора включены в код), с минимальным использованием системных вызовов, работающий на нижнем уровне (с сокетами, звуком), в идеале в одном потоке, в терминале с удобным интерактивным интерфейсом. И уже в последнюю очередь – соответствующий гласным и негласным стандартам.


Неужто кроха лайтов так подействовала?

Не дай бог так изголодать :)


Или какой-то еще вариант, чтобы линуксоид мог разговариваить с виндузятником...

Нет проблем: http://torfone.org/spfr.html под Win32 и filehttp://torfone.org/download/sf76_01a.tar.gz под Linux, использовать кодек GSM или LPC10. Именно так и тестирую сам с собой, т.к. у меня один маленький нетбук с Ubuntu+GNOME для тестов, остальные 5 компов под Win32 во всех ее вариантах.
С Торфоном пока совместимости нет.

— Гость (03/05/2014 03:36)   <#>



https://en.bitcoin.it/wiki/Satoshi_Nakamoto
— Гость (03/05/2014 03:43)   <#>
http://www.electonix.ru/

Server not found

Firefox can't find the server at www.electonix.ru.
— gegel (03/05/2014 11:09, исправлен 03/05/2014 11:16)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0

Извините, опечатка. Собственно, это для примера писал, и не выделял как url. имелся в виду http://electronix.ru/forum/: портал инженеров-электронщиков и embedded-программистов.
Некоторые темы там тоже имеют отношение к проблемам безопасности. На вскидку: http://electronix.ru/forum/ind.....howtopic=119428&st=0

— Отечественный_пользователь (03/05/2014 14:46)   <#>

Я, например, отнюдь не рад вездесущей «китайчатине» быстро и дёшево (для производителя) стяпляпанной, но работающей «почти всегда».
— Гость (03/05/2014 15:41)   <#>
И что, этот SpeakFrealy обеспечивает такую же криптозащиту, как и TorFone? Или может даже лучше? ;)

И еще вопрос: откуда у вас взялась его версия 7.6, если на офсайте максимальный релиз только 7.2?
На страницу: 1, ... , 26, 27, 28, 29, 30, ... , 50 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3