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.
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+...
* Полезная опция сворачивания программы в трей при запуске:
* Полезная опция сворачивания программы в трей при нажатии на кнопку закрытия окна:
* Включить фильтрацию части спама можно так:
Ссылки с этого сайта:
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)
Заметка:
Все представленные здесь материалы можно использовать частично или полностью без указания ссылок на автора (меня) и оригинальную страницу.