EiskaltDC++ — пакеты для Debian GNU/Linux и Ubuntu

Создано: 2010-02-11

Обновлено: 2012-01-09

Описание:

EiskaltDC++ (не путать с EiskaltDC) — это наследник EiskaltDC лишь формально, код полностью переписан. Программа кроссплатформенная: поддерживаются сборки под Linux, FreeBSD, Mac OS X, MS Windows и Haiku-OS.

Зимой 2009/2010 возникла потребность в миграции на ядро dcpp. Код клиента был полностью переписан, интерфейс основан на Qt4 и внешне максимально приближен к оригинальным клиентам DC++, название было изменено с EiskaltDC на EiskaltDC++. Библиотека dclib была выкинута на помойку, по причине ущербности своей архитектуры, а EiskaltDC++ стал графической оболочкой на Qt4 для слегка модифицированного ядра DC++. Так же как LinuxDC++ и его форк FreeDC++ — графические оболочки на GTK+. Подавляющее большинство клиентов под MS Windows (оригинальный DC++, StrongDC++, ApexDC++, PelinkDC++, FlyLinkDC, Greylink и другие) тоже основаны на ядре DC++. Благодаря переходу на эту библиотеку, EiskaltDC++ теперь поддерживает не только протокол Direct Connect (en), но и протокол ADC (en). Минимальное количество патчей в ядро DC++ упрощает его обновление до новых версий и гарантирует совместимость с другими клиентами. К сожалению, в последнее время число дополнительных патчей растет...

Начиная с версии 2.1.0 в клиенте дополнительно поддерживается Gtk интерфейс (на основе FreeDC++ и LinuxDC++).

Начиная с версии 2.2.2 EiskaltDC++ Qt доступен в виде плагина для проекта LeechCraft.

Журналы изменений: ChangeLog.txt, ChangeLog_ru.txt и ChangeLog_uk.txt.
Активность разработки (графики): network, impact, punch_card.
Активность разработки (коммиты): master, 2.2.x
Активность в багтрекере: updates.
eiskaltdcpp-qt_search.png     eiskaltdcpp-gtk_search.png
EiskaltDC++ 2.1 (beta3). в Debian GNU/Linux (Sid), графическая среда — KDE-4.4.5
Для Qt-интерфейса (слева) и для Gtk-интерфейса (справа) используется тема QtCurve

Информация о разработке:

Основное обсуждение ведется в jabber конференции: eiskaltdc@conference.gentoo.ru (логи: календарь, каталог)
Список участников проекта: на code.google.com и на github.com
Список авторов программы: authors
Главный разработчик: dein.negativ
Блог проекта на Open-Life.org
Так же, у проекта есть git-зеркало на gitorious.org и отдельная страница на qt-apps.org

Вы можете использовать RSS для наблюдения за некоторыми изменениями. Например, в разделе Downloads.

Внимание: разработка программы переведена на github.com

Получить последние версии исходников можно так:
* git clone --depth 1 git://github.com/negativ/eiskaltdcpp.git
* wget -4 http://nodeload.github.com/negativ/eiskaltdcpp/tarball/master
* svn export http://svn.github.com/negativ/eiskaltdcpp/ eiskaltdcpp

Главная страница проекта, багтрекер и wiki по прежнему будут размещаться на code.google.com.

Выход стабильного релиза EiskaltDC++ 2.2.5 состоялся 25 декабря 2011 года. Следующий релиз EiskaltDC++ 2.2.6 запланирован на 5 февраля 2012.

Информация об изменениях (en, uk):

Общие изменения
* Реорганизовано дерево исходников.
* В ядро добавлена поддержка ZLIF.
* Добавлены опции ядра: UseADLOnlyOnOwnList, AllowUploadOverMultiHubs, AllowSimUploads.
* Добавлена возможность сборки с miniupnpc версии 1.6. Поддержка версии 1.5 сохранена. Локальная копия miniupnpc обновлена до версии 1.6.
* Исправлено падение программы при использовании измененного значения IpTOSValue (по умолчанию -1) без прав суперпользователя.
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++: битрейты аудио, видео и разрешение.
* Чистка кода, мелкие оптимизации.
* Небольшие улучшения поддержки Lua-скриптов в MS Windows.
* Исправлена сборка с Boost >= 1.48.
* Для работы переводчиков теперь используется веб-сервис Transifex.

eiskaltdcpp-qt
* Рефакторинг исходного кода. Возможны регрессии.
* Теперь для сборки требуется GCC >= 4.5.0. (Используются возможности C++11)
* Исправлена сборка в Haiku OS. Задействован системный алгоритм проверки запуска лишь одного экземпляра программы.
* Множество новых методов теперь доступно через QtScript. См.: Scripting, Scripting_QtScript_Example_Scripts, Scripting_Working_With_QtScript. [Спасибо OmegaPhil за обновленную документацию]
* Горячая перезагрузка скриптов (QtScript), когда они изменяются.
* Диалог работы со скриптами (QtScript) существенно улучшен.
* Улучшен способ сортировки в виджете поискового шпиона. [Спасибо Mikhail Krasikau]
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++: битрейты аудио, видео и разрешение. Информация отображается в тултипе для файла.
* Добавлена возможность очистки поисковой истории и истории каталогов загрузки при выходе или вручную.
* Добавлены некоторые опции в диалог настроек: ALLOW_SIM_UPLOADS (разрешить одновременную загрузку пользователем с разных хабов), search-history-items-number, download-directory-history-items-number, memorize-tth-search-phrases
* Добавлены кнопки для навигации в виджете просмотра списка файлов: назад, вперед, вверх.
* Освобождение разделяемой памяти при падении программы по сигналу SIGSEGV. Без этого программа запускалась лишь со второго раза. Актуально для unix-подобных систем, в MS Windows баг отсутствовал.
* Исправлена одновременная работа программы от нескольких пользователей. В unix-подобных системах используется переменная окружения LOGNAME для идентификации текущего пользователя, в MS Windows используется GetUserNameA.
* Исправлен поиск альтернатив для раздач.
* Исправлено контекстное меню в чатах на ADC хабах.

eiskaltdcpp-gtk
* Поддержка сборки с Gtk < 2.24 прекращена.
* Добавлена возможность сборки с Gtk3 (опция -DUSE_GTK3 для cmake). Это экспериментальный режим. Возможны различные недоработки.
* Добавлено распознавание дополнительных полей из файл-листов FlylinkDC++: битрейты аудио, видео и разрешение. Информация отображается в дополнительных столбцах.
* Исправлена команда чата /ws.
* Существенно переработан виджет поиска.
* В главное окно добавлен индикатор свободного места.
* Добавлены опции: use-native-back-color-for-text, show-transfers.

eiskaltdcpp-daemon
* Добавлены опции командной строки: --verbose, --ip, --port, --rpclog, --uripath
* Добавлен JSON-RPC интерфейс. Подробнее: JSONRPC

eiskaltdcpp-cli
* Добавлен простой консольный интерфейс для управления демоном через JSON-RPC.

В грядущих релизах запланировано (TODO):
* IPv6 в ядре DC++
* Улучшение поддержки Lua-скриптов

Как видно из журнала изменений, начиная с релиза 2.2.5 прекращена поддержка версий Ubuntu < 11.04 (Natty Narwhal) и Debian < 7.0 (Wheezy). Это связано с невозможностью сборки Qt и Gtk интерфейсов. Но вы можете самостоятельно собрать демона или использовать интерфейс командной строки при необходимости.

В моем PPA появились новые пакеты: eiskaltdcpp-qt-mini-unstable и eiskaltdcpp-gtk3-unstable. Пакет с консольным интерфейсом (cli) появится заметно позже, т.к. сперва мне нужно опакетить недостающий перловый модуль. Но при желании, вы уже можете достать cli скрипт из исходников, доустановить необходимые модули вручную, и управлять демоном из пакета, т.к. он собран с поддержкой JSON-RPC.

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

Достаточно подробный список с возможностями программы можно найти в соответствующей статье на Википедии (en).

См. так же часто задаваемые вопросы про EiskaltDC++.

К сожалению, автор FreeDC++ отказался от объединения с EiskaltDC++. Это его право. Мы сделали форк. В настоящий момент EiskaltDC++ Gtk существенно отличается от оригинала: был добавлен дополнительный функционал, а так же исправлены различные баги.
Мои deb-пакеты:
Собранные пакеты можно скачать здесь. Они подходят для Debian GNU/Linux версии >= 7.0 (Wheezy) и для Ubuntu версии >= 11.04 (Natty Narwhal). Там же доступны исходники.

Чтобы подключить мой архив пакетов в Debian GNU/Linux Wheezy или Sid выполните:
echo "deb http://ppa.launchpad.net/tehnick/tehnick/ubuntu precise main" | sudo tee /etc/apt/sources.list.d/tehnick.list
Импорт ключа:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 437276613F6729E2
Пользователи Ubuntu >= 11.04 (Natty Narwhal) могут добавить мой PPA, используя стандартную утилиту add-apt-repository:
sudo add-apt-repository ppa:tehnick/tehnick
Обновление списка доступных пакетов:
sudo apt-get update
Установка eiskaltdcpp:
sudo apt-get install eiskaltdcpp
Если вам нужен только интерфейс на Qt:
sudo apt-get install eiskaltdcpp-qt
Если вам нужен только интерфейс на Gtk:
sudo apt-get install eiskaltdcpp-gtk
Так же установите дополнительные пакеты:
sudo apt-get install eiskaltdcpp-emoticons eiskaltdcpp-scripts eiskaltdcpp-sounds
Или вы можете установить eiskaltdcpp-unstable (ежедневные сборки):
sudo apt-get install eiskaltdcpp-unstable
Если вам нужен только интерфейс на Qt:
sudo apt-get install eiskaltdcpp-qt-unstable
Если вам нужен только интерфейс на Gtk:
sudo apt-get install eiskaltdcpp-gtk-unstable
Так же установите дополнительные пакеты:
sudo apt-get install eiskaltdcpp-emoticons-unstable eiskaltdcpp-scripts-unstable eiskaltdcpp-sounds-unstable
Пакеты, связанные с eiskaltdcpp-unstable, обновляются атоматически из git репозитория программы. Cкрипт для обновления выглядит примерно так.

Сообщения об ошибках в deb-пакетах пишите мне. Багрепорты и пожелания к программе оставляйте здесь и следите за изменениями. Как написать хороший багрепорт написано (en) на wiki проекта.

Пакет eiskaltdcpp теперь доступен в официальных репозиториях Debian >= 6.0 (Squeeze) и Ubuntu >= 10.10 (Maverick Meerkat).

Благодаря Alex_P так же доступны неофициальные сборки пакетов eiskaltdcpp для Debian (wheezy, sid) и Ubuntu (natty, oneiric).
Полный список доступных на лаунчпаде стабильных пакетов:
* eiskaltdcpp — EiskaltDC++ meta-package
* eiskaltdcpp-common — common files for EiskaltDC++
* eiskaltdcpp-emoticons — emoticons for EiskaltDC++
* eiskaltdcpp-scripts — scripts examples for EiskaltDC++
* eiskaltdcpp-sounds — sound files for EiskaltDC++
* eiskaltdcpp-qt-data — data files for EiskaltDC++ Qt
* eiskaltdcpp-qt — EiskaltDC++ GUI on Qt
* eiskaltdcpp-qt-dbg — EiskaltDC++ GUI on Qt (debug symbols)
* eiskaltdcpp-gtk-data — data files for EiskaltDC++ Gtk
* eiskaltdcpp-gtk — EiskaltDC++ GUI on Gtk
* eiskaltdcpp-gtk-dbg — EiskaltDC++ GUI on Gtk (debug symbols)
* eiskaltdcpp-daemon — EiskaltDC++ daemon
* eiskaltdcpp-daemon-dbg — EiskaltDC++ daemon (debug symbols)
* libeiskaltdcpp2.2 — DC++ kernel from EiskaltDC++
* libeiskaltdcpp2.2-dbg — DC++ kernel from EiskaltDC++ (debug symbols)

Полный список доступных на лаунчпаде пакетов с ежедневными сборками:
* eiskaltdcpp-unstable — EiskaltDC++ meta-package
* eiskaltdcpp-common-unstable — common files for EiskaltDC++
* eiskaltdcpp-emoticons-unstable — emoticons for EiskaltDC++
* eiskaltdcpp-scripts-unstable — scripts examples for EiskaltDC++
* eiskaltdcpp-sounds-unstable — sound files for EiskaltDC++
* eiskaltdcpp-qt-data-unstable — data files for EiskaltDC++ Qt
* eiskaltdcpp-qt-unstable — EiskaltDC++ GUI on Qt
* eiskaltdcpp-qt-unstable-dbg — EiskaltDC++ GUI on Qt (debug symbols)
* eiskaltdcpp-qt-mini-unstable — EiskaltDC++ GUI on Qt (stripped-down version)
* eiskaltdcpp-qt-mini-unstable-dbg — EiskaltDC++ GUI on Qt (stripped-down version) (debug symbols)
* eiskaltdcpp-gtk-data-unstable — data files for EiskaltDC++ Gtk
* eiskaltdcpp-gtk-unstable — EiskaltDC++ GUI on Gtk
* eiskaltdcpp-gtk-unstable-dbg — EiskaltDC++ GUI on Gtk (debug symbols)
* eiskaltdcpp-gtk3-unstable — EiskaltDC++ GUI on Gtk3
* eiskaltdcpp-gtk3-unstable-dbg — EiskaltDC++ GUI on Gtk3 (debug symbols)
* eiskaltdcpp-daemon-unstable — EiskaltDC++ daemon
* eiskaltdcpp-daemon-unstable-dbg — EiskaltDC++ daemon (debug symbols)
* libeiskaltdcpp2.2-unstable — DC++ kernel from EiskaltDC++
* libeiskaltdcpp2.2-unstable-dbg — DC++ kernel from EiskaltDC++ (debug symbols)

Немного полезной информации:

* Настройка перехвата magnet-ссылок

* В зависимости от ваших локальный настроек и опций сборки программы путь для файлов конфигурации программы может быть: ~/.eiskaltdc++ (для версии ≤ 2.0.2), ~/.config/eiskaltdc++/ (по умолчанию) или $XDG_CONFIG_HOME/eiskaltdc++/ (опционально)
Основные настройки по-прежнему совместимы с настройками других dc клиентов на ядре DC++.
Перенести настройки из LinuxDC++ или FreeDC++ можно просто скопировав файлы:
cp -ra ~/.dc++ ~/.config/eiskaltdc++/

Советы для EiskaltDC++ Qt:

* Начиная с самых ранних ревизий, в программе имеются такие полезные опции для избранных хабов:
1) Замена родного тега EiskaltDC++ на теги других клиентов (StrongDC, ApexDC, Flylink, DC++).
2) Указание IP-адреса, который нужно отправить данному хабу.

* Чтобы временно отключить все отдачи можно в IP-фильтр добавить правило: !/0.
Теперь кратко про ip-фильтр. Пусть у нас есть три правила:
93.188.80.0/21
94.228.112.0/20
!0.0.0.0/0
Направление: входящие и исходящие соединения.
Первые два правила разрешают соединения из соответствующих подсетей, последнее блокирует соединения с любого адреса. Правила обходятся с первого до последнего или до !0.0.0.0/0, если оно присутствует.
В итоге: передача данных возможна только с адресами подходящими под первые две записи.

* В настройках имеется возможность ограничить скорость хеширования (в МиБ/c), что может избавить вас от подтормаживания системы.

* Двойной щелчок по индикатору прогресса хэширования вызывает диалог хэширования.

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

* У тулбара есть редактор, где можно убрать лишние действия. Вызывается правой кнопкой мыши на тулбаре.

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

* Эти и другие советы можно найти на wiki проекта. Там же доступна актуальная информация по использованию QtScript.

Советы для EiskaltDC++ Gtk:

* Быстрый поиск определенного ника в списке юзеров возможен, если кликнуть в окне на список юзеров и начать вводить искомый ник. Это стандартная возможность в программах на GTK+...
eiskaltdcpp-gtk__filter_in_file-list.png     eiskaltdcpp-gtk__filter_in_file-list.png

* Полезная опция сворачивания программы в трей при запуске:
eiskaltdcpp-gtk_settings_hide_window_at_startup.png     eiskaltdcpp-gtk_settings_hide_window_at_startup.png

* Полезная опция сворачивания программы в трей при нажатии на кнопку закрытия окна:
eiskaltdcpp-gtk_settings_hide_window.png     eiskaltdcpp-gtk_settings_hide_window.png

* Включить фильтрацию части спама можно так:
eiskaltdcpp-gtk_settings_ignore_spam.png     eiskaltdcpp-gtk_settings_ignore_spam.png
Ссылки с этого сайта:
DC клиенты для Linux
Настройка перехвата magnet-ссылок
EiskaltDC++ — Screenshots
EiskaltDC++ — Часто задаваемые вопросы
FreeDC++ — пакеты для Debian GNU/Linux и Ubuntu
uHub — пакеты для Debian GNU/Linux и Ubuntu

Внешние ссылки:
Создание и тестирование p2p клиентов: EiskaltDC и EiskaltDC++ (end)
Активная тема про EiskaltDC++ на форуме Ubuntu (end)
Старая тема про EiskaltDC++ на форуме Ubuntu
Статистика проекта EiskaltDC++ на ohloh.net
PKGBUILD'ы для Arch Linux в AUR
Пакет eiskaltdcpp в репозитории ALT Linux
Порты для FreeBSD

Лицензия: Public Domain (ru, en)
Заметка: Все представленные здесь материалы можно использовать частично или полностью без указания ссылок на автора (меня) и оригинальную страницу.
.
Besucherzahler foreign brides
счетчик посещений
. . . Счетчик посещений Counter.CO.KZ - бесплатный счетчик на любой вкус!

Tehnick © 2009-2012