главная | описание | подробности | скачать | установить | комманды | вопросы | термины | контакты | тестирование

Подробности


Расскажите, как происходит передача данных?

Хм... А мой компьютер не будет тормозить?
И сколько интернет трафика потребляет эта программа?

Ну! А может вы хотите взломать мой компьютер и украсть мои личные данные?

Как программа будет обновляться?

Я люблю золото и серебро! Что мне будет, если я установлю программу?

Почти готово? Когда же вы планируете запустить проект в массы?

А как бы мне связаться с этими парнями?

А у меня есть еще вопрос по поводу ...


Как программа взаимодействует с сетью

Любое взаимодействие с другими компьютерами происходит путем приема - передачи шифрованных пакетов. Пакет подготавливается и передается одному из транспортов. Каждый из них может передавать и принимать файлы по конкретному протоколу.

Пока что у нас готовы и включены только три протокола, по которым пакеты передаются от пользователя к пользователю: tcp, http и q2q. Но есть готовый код для ssh, email и skype, но они сейчас выключены. Просто чтобы не создавать лишних сложностей на этапе тестирования.

transport_tcp - простой tcp/ip сервер на порту 7771 по умолчанию.
Что бы послать файл на другой компьютер - соединяемся с адресом tcp://[user ip]:[user port]/.
Это самый хороший случай, когда у пользователя есть свой собственный внешний IP и входящие соединения идут напрямую к его компьютеру.
Возможно, потребуется настройка роутера для переадресации портов.
Мы используем утилиту miniupnpc для автоматической настройки UPnP устройств.

transport_ssh - тоже самое но висит на порту 5022 по умолчанию. Добавлено шифрование открытым-закрытым ключом. Это дает дополнительную защиту вашим данным. Только определенные пользователи смогут посылать вам пакеты, а не все подряд.

transport_q2q - другая очень интересная тема. Здесь было описание на английском. В данный момент, правда, их сайт не доступен. Похоже они просто переехали на launchpad.
Суть в том, что для связи одного пользователя с другим используется сторонний сервер, который и обеспечивает соединение и создание канала для данных. Пользователи регистрируются на сервере и получают уникальные логины типа veselin@q2q-server.com. Я глубоко не вникал, но вроде бы это работает по udp. Как я понял, канал между пользователем и q2q сервером - поддерживается открытым.
Мы выполняем команды: register veselin@q2q-server.com, authorize veselin@q2q-server.com. после них можно уже делать reсeive veselin@q2q-server.com или send putin@q2q-server.com или send obama@q2q-in-white-house.us - серверов может быть много - q2q это распределенная сеть.
Главное преимущество - можно поддерживать связь даже если соединение с интернет ограничено. Скорость передачи меньше чем у transport_tcp.

Для тех, у кого нету внешнего IP и соединение с интернет еще сильнее ограничено и q2q не помогает, программа автоматически переключится на transport_http. Суть его в следующем.
Пользователь может иметь очень ограниченное подключение к интернету. Например если он подключается с помощьью мобильного телефона через GPRS/EDGE/3G. Но он может просматривать вэб странички (например, www.google.ru) - и данные каким то образом приходят на его компьютер. А приходят они, потому что это пользователь начинает соединение (посылает запрос) к www.google.ru, а не наоборот.
Вместе с посылкой запроса создается канал, который удерживается пока передается web страничка от www.google.ru к пользователю, transport_http делает тоже самое.
Вместо того чтобы ждать пока саплайер или кастомер пошлет нам пакет - мы сами будем спрашивать у них - "Эй ты? Есть для нас пакеты?" и, если есть новые пакеты, то по тому же каналу пакет будет передан нам. Но нужно чтобы другие пользователи включили на своих компьютерах этот http сервер. По умолчанию он включается на порту 9786, а запросы происходят не чаще чем раз в 5 секунд (по умолчанию). Если нету обмена пакетами - то постепенно запросы будут производиться все реже и реже.
Недостатки следующие: медленная скорость и 2 пользователя, у которых нету внешних IP, по transport_http все равно не могут соединиться.

transport_email - передача пакетов осуществляется по email. Очень медленно, зато надежно!. Я знаю, что иногда у людей нету интернета вообще, зато почта работает.

transport_skype. Да. Это серьезно. Skype - это очень мощная штука, и даже при очень ограниченном соединении c Интернетом Skype может работать. Они открыли свой API и предоставили документацию. Люди могут писать приложения, которые взаимодействуют со Skype.
Проблема только в том, что это не работает под Linux. И еще они сделали Skype платным :-(


Обновление программы

Под Windows главный процесс dhnmain.exe (который вы будете видеть в Task Manager) запускается через вспомогательный процесс dhnstarter.exe. Стартер нужен для обновления софта. Он проверит все бинарные файлы и скачает с нашего сервера более свежие версии.
Мы только начинаем и я пришел к такому решению под Windows, так как на этапе тестирования код будет часто меняться.

"dhnstarter.exe" использует GNU Wget чтобы скачивать файлы (wget.exe который лежит в той же папке). При перезагрузке компьютера, если доступна новая версия ПО, будет скачан файлик info.txt ~ 33 Кб, который хранит версии всех бинарных файлов. После этого стартер определит какие файлы изменились и докачает их с сервера.
Все бинарники занимают около 30 Мегабайт. Если убрать dll и другие файлы, которые никогда не будут меняться (и поэтому никогда не будут скачаны), то останется около 500кб-600кб - это весь наш код. :-) На практике будет меняться всего несколько файлов за раз. Файлы .pyo - скомпилированные Python скрипты - каждый из них максимум десятки киллобайт. В общем и целом - трафик при обновлении минимальный!

Под Linux будет deb файл и планируется обновляться через репозиторий. Под MacOSX - пока не знаю.


Системные требования и особенности

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

Устанавливается простым копированием файлов - никаких записей в реестре, создание сервисов и т.д. Файл, что вы скачали - простой sfx архив (WinRar).
Чтобы удалить программу DataHaven.NET просто удалите папку "C:\Documents and Settings\[имя пользователя]\Application Data\DataHaven.Net\" и ярлык из Автозапуска.

Программа занимает около 23-27 мб в оперативной памяти. Donated space (предоставляемое пространство), которые вы указали при регистрации - это МАКСИМАЛЬНЫЙ размер, который вы готовы отдать другим пользователям. Укажите меньший размер если хотите. Мне сейчас важно не колличество места а колличество пользователей. На самом деле программа будет занимать совсем мало места на диске, так как просто некому делать бэкапы.
И вообще! Мне важно отладить систему, а не забирать ваше пространство! :-)))


Что Мы узнаем про Вас?

Программа DataHaven.NET, при каждом запуске, соединяется с нашим центральным сервером (Central server). Центральный сервер собирает статистику по всем пользователям, необходимую для определения их рейтинга. Нам станут известные следующие сведения:

  • Ваш IP адрес,
  • Ваш user name,
  • Мы будем знать когда ваш копьютер работает, а когда выключен.

Статистика пользователей доступна здесь: identity.datahaven.net/statistics/

Если Вы не согласны с этими условиями - просим прощения за Ваше беспокойство. Но к сожалению совершенно невозможно отказаться от этого.

Ваши личные файлы, пароли, номера кредитных карточек, и т.д. меня не интересуют! Во Вселенной есть вещи и поинтереснее! :-)


Как можно заработать вместе с нами?

Первая возможность это усчаствовать в бэта-тестировании проекта, мы готовы заплатить тем кто поможет нам. Вам нужно установить и использовать программу в течении года минимум и вы получите 50 долларов США или 1 унцию серебра в виде монеты. Читать далее.

Кроме того мы собираемся организовать соревнование для наших пользователей. Призами будут золотые и серебрянные монеты. Но сперва нам бы хотелось собрать достаточное колличество пользователей что бы соревнование было действительно интересным и имело смысл.

Но самая интересное это то что вы сможете продавать пространство на свое жестком диске другим пользователям. В данный момент вы можете только положить деньги на ваш личный счет в DataHaven.NET. В будущем мы планируем добавить возможность вывода средств с вашего счета в реальные деньги.


Copyright DataHaven.NET LTD. Ангилья, 2006-2011 гг. Все права защищены.

посетителей.