Eiskaltdc ++ - Программа обмена файлами с использованием протоколов Direct Connect
Веб -сайт: https://github.com/eiskaltdcpp/eiskaltdcpp
Источники: https://github.com/eiskaltdcpp/eiskaltdcpp
Общедоступный чат: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
Лицензия
Эта программа лицензирована по общедоступной лицензии GNU. Смотрите файл копирования для получения дополнительной информации.
Описание
Eiskaltdc ++-это кроссплатформенная программа, которая использует протоколы Direct Connect (DC AKA NMDC) и Advanced Direct Connect (ADC). Он совместим с DC ++, AIRDC ++, FlyLinkDC ++ и другими клиентами DC. Eiskaltdc ++ также взаимодействует со всеми общими программным обеспечением DC Hub.
В настоящее время поддерживаемые системы (в порядке снижения важности): GNU/Linux, MacOS, MS Windows, FreeBSD, Haiku и GNU/Hurd.
В настоящее время поддерживаемые функции (не полный список):
- Программы с графическим пользовательским интерфейсом (UI) на QT (Main) и GTK+ (альтернатива), плюс демон, который может управляться из командной строки или из веб-интерфейса (подключенным через JSON-RPC).
- Скачать многопоточную загрузку (скачать фрагменты одного файла из нескольких источников одновременно).
- Поддержка PFSR (частичный обмен файлами): пользователи могут загружать части файла друг с другом во время загрузки файлов, даже если ни у одного из них нет полностью загруженного файла.
- Поддержка DHT (позволяет искать файл по TTH и обмениваться этими файлами без подключения к какому -либо концентратору). Реализация этой функции основана на коде STROVEDC ++ и совместимо со всеми версиями STROVDDC ++, APEXDC ++, RSX ++, FlyLinkDC ++ и Pulse ++ K, где существует эта функция. (Некоторые клиенты DC отказались от поддержки этой функции в последних версиях.)
- Поддержка UPNP (упрощает конфигурацию сетевого соединения, когда пользовательский маршрутизатор Wi-Fi поддерживает эту функцию).
- Поддержка привязки к конкретному сетевому интерфейсу или адресу (в случае, если пользовательская система одновременно имеет несколько сетевых подключений).
- Поддержка автоматического обновления внешнего адреса IPv4 через Dyndns Services.
- Поддержка списков файлов, чувствительных к случаям. Эта функция чрезвычайно важна для всех поддерживаемых систем, кроме MS Windows (на самом деле даже NTFS поддерживает чувствительные к случаю имена файлов, но MS Windows не использует эту функцию.).
- Пользовательский интерфейс переводится на многие языки.
- Программы по графическим интерфейсу позволяют размещать список виджетов на боковой панели, на многослойной панели Tabbar или на однострочную Tabbar.
- Программа GUI, основанная на QT, обладает поддержкой сокрытия меню программы (она будет доступна специальной кнопкой на панели инструментов).
- Расширенный поиск с возможностью группировать результаты; черный список для результатов поиска.
- Списки загруженных и загруженных файлов; Возможность сохранять журналы загрузок.
- Списки публичных и любимых центров. Списки общественных центров имеют несколько источников; Любимые центры чрезвычайно гибки в функциях конфигурации.
- Списки любимых пользователей (они получат дополнительный слот для загрузки файлов и т. Д.).
- Список активных трансфертов (загрузки/загрузки), включая очередь пользователей, ожидающих слота (пользователь может временно предоставить дополнительный слот для них).
- Гибкие настройки для загрузки файлов (списки каталогов назначения, каталог для неполных загрузок, ограничение количества одновременных загрузок, сжатых трансфертов, проверки чеков и т. Д.).
- Индикатор свободного места на диске, где находится основной каталог загрузки.
- Поддержка IP -фильтра и основного антиспама.
- Поиск Spy (позволяет увидеть поисковые фразы, которые отправляют других пользователей, но, конечно, без идентификации пользователей).
- Поиск ADL с поддержкой регулярных выражений в стиле Perl (с использованием библиотеки PCRE).
- Гибкий фильтр (с регулярной поддержкой выражений) в списке пользователей, результатов поиска, списков общедоступных концентраторов, списков файлов и т. Д. (Используйте #1 <Regexp> String и прочитайте о синтаксисе qrtexp.)
- Полный чат (разные шрифты, раскраска ника, анализ магнитных ссылок и других ссылок, смайлики, поиск в чате, команды чата, поддержка BBCode, отключение/включение/чистое чат, проверка орфографии (Aspell используется), ключевые слова, выделяющие в чате, сепаратор для нечитанных сообщений, сохранение журналов чата, для отображения IP-адресов и стран в чате. пользователи).
- Пользовательские команды на концентраторе.
- Секретарь (позволяет вам не читать тонны бесполезных сообщений во многих чатах, чтобы найти что -то интересное, например, сообщения с магнитными ссылками или с ключевыми словами).
- Гибкие настройки сочетания клавиш.
- Текстовые и звуковые уведомления для разных событий.
- Выделение дубликатов в общих файлах.
- Гибкие настройки для хеширования файлов (скорость хеширования, фильтры для игнорирования файлов и т. Д.).
- Индикатор прогресса хэширования в строке состояния программы.
- Специальный инструмент для расчета TTH для любого файла (без необходимости поделиться этим файлом) и подготовки ссылки на магнит или ссылки Web Maget для него.
- Поддержка ограничений загрузки/загрузки (постоянная или по расписанию).
- Поддержка ограничений по размеру общих файлов. (Да, это сомнительная функция, но пользователи очень требуют.)
- Поддержка обработки магнитных ссылок, ссылок веб -магнитов и ссылок концентраторов, передаваемых через командную строку из других программ (например, из веб -браузеров).
- Поддержка файлов перетаскивать в поле для ввода сообщений (если файл присутствует в списке пользовательских файлов, будет добавлена ссылка на его магнит).
- Поддержка автоматических ответов на частные сообщения в случае отсутствия пользователя.
- Поддержка расширений пользователей в QTScript (только в графическом интерфейсе на основе QT в GNU/Linux) и на LUA (во всех поддерживаемых системах).
- Поддержка IDN2 (признание национальных доменных имен).
- Поддержка кодируемых URL строк для адресов концентраторов.
- Поддержка шифрования трафика.
История версий
См. Файл ChangeLog.txt.
Установка
Сборка из источников см. Файл установки.
Пользователи GNU/Linux и FreeBSD могут устанавливать пакеты из официальных и неофициальных репозитории, портов и т. Д.
Пользователи MacOS могут устанавливать и обновлять официальные сборки, используя Homebrew Cask:
brew install --cask eiskaltdcpp
Или загрузите пакеты приложений из Sourceforge и установите их вручную. Программа не имеет встроенного механизма обновлений, поэтому в этом случае пользователи должны контролировать обновления сами.
Пользователи Haiku могут установить официальный пакет от haikuports:
pkgman install eiskaltdcpp
Пользователи MS Windows могут загружать официальные установщики и портативные сборки из Sourceforge. Программа не имеет встроенного механизма обновлений, поэтому пользователи должны следить за обновлениями сами.
Использование
Eiskaltdc ++ предназначен в основном для опытных пользователей, которые знают, как работает DC, которые должны использоваться с их типом сетевого соединения и т. Д. Это короткое введение не предназначено для описания таких основных вещей.
Вот небольшие рекомендации для первоначальной конфигурации после первого запуска программы:
- Откройте диалоговое окно настройки и установите псевдоним (это важно!), Кодирование по умолчанию для концентраторов DC (например, Windows-1251 для российских концентраторов), тип входящих соединений (активный режим, брандмауэр с UPNP или пассивным режимом) и каталог загрузки.
- Откройте виджет публичных концентраторов и подключитесь к нескольким популярным общедоступным центрам (вы можете сортировать список по количеству пользователей или по общему количеству общих данных).
- Откройте виджет поиска и попробуйте найти любой популярный файл. (Не забудьте использовать пространства в качестве разделителя слов.)
- Добавьте несколько концентраторов в список любимых концентраторов и включите автоматическое соединение с концентраторами во время запуска программы.
- Настройки программы будут сохранены на выходе из программы.
Все программы из проекта eiskaltdc ++ ( eiskaltdcpp-qt , eiskaltdcpp-gtk и eiskaltdcpp-daemon ) используют одни и те же общие настройки. Поэтому, например, после того, как вы правильно настроили подключения в eiskaltdc ++ qt, вы можете запустить eiskaltdcpp-daemon и использовать веб-интерфейс для управления им (файлы поиска, добавить их в очередь загрузки и т. Д.).
Разработка
Во время разработки eiskaltdc ++ в прошлые годы мы использовали различные CVS (сначала подрыв, а затем GIT) и различные модели разработки. В настоящее время процесс выглядит так:
- Все разработки выполняются в
work филиалах GIT или специальных (функциях) филиалах, отделенных от work филиала. - Файл ChangeLog должен быть обновлен вместе с изменениями в исходном коде. Это может быть сделано в том же коммите GIT или в отдельном коммите GIT в зависимости от ситуации. Просто используйте здравый смысл для этого. (В прошлом не было правила обновления журнала изменений, что приводит к значительной задержке стабильных выпусков.)
- После того, как изменения от
work филиала будут готовы к использованию и созданию программы протестированы для большинства важных систем (Linux, MacOS, Windows), они могут быть объединены с master -филиалом. - Ежедневные сборки программы для тестеров, активных пользователей и просто любопытных людей должны быть сделаны из Git
master Branch. - Схема версий для сборки от моментальных снимков GIT
<patch> <minor> как <major> <major>.<minor>.<patch>-<commits>-g<hash> <major>.<minor>.<patch> - последний тег GIT (для стабильного выпуска), <commits> - количество коммитов с момента последнего тега GIT и <hash> - короткий хэш текущего GIT Commit. - После того, как появится заметное количество изменений с момента последнего стабильного выпуска или, если есть очень важные исправления ошибок, которые следует быстро доставить пользователям новый тег GIT (
v<major>.<minor>.<patch> ), и бродяги с источниками загружаются в Sourceforge. - В случае заметных изменений в ядре программы (библиотека Libeiskaltdcpp)
<major> изменить <minor> версии программы. - В случае значительных изменений (
<minor> , общий рефакторинг кода) В любой части программы <major> изменить часть версии программы. - В случае, если там, где очень мало изменений с момента последнего стабильного выпуска, но они важны и должны быть быстро доставлены пользователям, должна быть изменена часть версии
<patch> . - Нет ограничений для изменений, подходящих для новых выпусков
<patch> , если они не влияют на ядро программы: они могут содержать новые функции и заметные изменения в любой части GUI.
Во время разработки все изменения проверяются на услугах непрерывной интеграции Travis CI и Sibuserv CI.
Разработчики
Основные разработчики
- Основные разработчики eiskaltdc ++ перечислены в файле авторов.
- Программа содержит исходный код из других бесплатных и и открытых источников. Вся информация об авторском праве от них педантично задокументирована в специальном файле.
- Часть программы с GTK+ пользовательским интерфейсом содержит дополнительные файлы Cutdits.txt. (Это всего лишь список участников из проектов LinuxDC ++ и Freedc ++, не все из них являются владельцами авторских прав.)
Другие участники
Есть много людей, которые были вовлечены в развитие eiskaltdc ++. Некоторые из них перечислены в заголовках лицензий в исходных файлах, некоторые из них могут быть найдены только в истории коммитов в нашем репозитории GIT. Также есть переводчики, тестеры и просто активные пользователи. Мы благодарны всем им!
Как вы можете помочь
Отчеты об ошибках
Если вы нашли ошибку, сообщите об этом в нашем трекере ошибок.
Бета -тестирование
Вы можете использовать ежедневные сборки программы или программы, скомпилированных из источников самостоятельно (из Git master Branch) для тестирования и предложения новых функций, а также для отчетности о новых ошибках (если они произойдут).
Комментарии и пожелания
Нам нравятся конструктивные комментарии и желания функций программы. Вы можете связаться с нами в общедоступном чате для обсуждения ваших идей. Некоторые из них будут разработаны в качестве запросов функций в нашем трекере для ошибок.
Переводы
Работа переводчиков довольно обычная и скучная. Люди, которые делают это, обычно теряют интересы, а их переводы становятся неполными. Если вы видите такую ситуацию для перевода на свой родной язык, присоединяйтесь к нашей команде переводов. Это очень приветствуется!
Некоторые полезные заметки о процессе перевода, которые вы можете найти на специальной странице вики.
Графика
Есть много способов внести свой вклад в проект eiskaltdc ++, если вы думаете, что можете сделать лучшую работу с любой из графики eiskaltdc ++, то идите вперед!
Программирование
Патчи приветствуются! Свяжитесь с разработчиками eiskaltdc ++, если вы над ними работаете.
Упаковка
В настоящее время у нас есть активные активаторы пакетов для Debian и Ubuntu Distros, для MacOS и MS Windows. Если у вас есть предложения по улучшению упаковки, просто свяжитесь с ними.
Если вы хотите подготовить личные сборки eiskaltdc ++ для систем MS Windows и MacOS, это очень приветствуется! Мы можем добавить ссылки на них в нашу документацию. Стать официальным сопровождающим для этих систем более сложно, но также возможно.
Для других систем GNU/Linux и *BSD ситуация довольно ясная: просто обновляйте пакеты (PKGBuilds, EBUILD и т. Д.) В официальных репозиториях ваших любимых распределений или сделайте с собой личный архив пакета (PPA). Мы добавим ссылки на них в нашу документацию.
Пожертвования
Мы не принимаем пожертвования для проекта eiskaltdc ++ в целом, потому что нет расходов на инфраструктуру и тому подобное. (Благодаря владельцам услуг Github, Sourceforge, Transifex и Travis CI за поддержку проектов FOSS!)
Но вы можете отправлять пожертвования участникам проекта (разработчиков, сопровождающих, переводчиков и т. Д.) На личной основе. Просто свяжитесь с ними, используя контактную информацию из файла авторов.
Пакеты и установщики
- Официальный PPA для Ubuntu и Distros на основе IT (стабильные выпуски)
- Официальный PPA для Ubuntu и Distros на основе его (ежедневные сборки)
- Официальные пакеты Snap для Ubuntu и других дистрибуций (ежедневные сборки)
- Официальные сборки для Windows
- Официальные сборки для macOS
- Официальные сборки для Linux
- Официальные пакеты в Debian
- Официальные пакеты в Ubuntu
- Официальные пакеты в Федоре
- Официальные пакеты в Gentoo Linux
- Официальные пакеты в Alt Linux
- Официальные пакеты в Хайку
- Официальные пакеты в FreeBSD
- Пакеты для OpenSuse (официально и неофициально)
- Пакеты для Arch Linux (в AUR)
- Пакеты для различных дистрибутов Linux (лучший агрегатор ссылок)
- Пакеты для различных дистрибутов Linux (альтернативный агрегатор ссылок)
- Неофициальный PPA для Debian и Ubuntu (поддерживается Alex_P)
- MacPorts (macOS 10,5+)
Дополнительные ссылки
- Статистика проекта на GitHub
- Статистика проекта на OpenHub
- Project Freedc ++ (был основой eiskaltdcpp-gtk) (источники)
- Официальный веб-интерфейс для eiskaltdcpp-daemon (источники)
- Альтернативный веб-интерфейс для eiskaltdcpp-daemon (источники)
- Старые скриншоты (на английском языке)
- Старые скриншоты (на русском языке)
- Старые заметки об eiskaltdc ++ (на русском языке)
- Старые заметки о Freedc ++ (на русском языке)
- Старый FAQ о eiskaltdc ++ (на русском языке)
- Настройка перехвата магнитных ссылок из веб -браузеров (на русском языке)
- Обзор клиентов DC для Linux (на русском языке)
- DC ++ и программы, основанные на нем в Википедии (на английском языке)
- DC ++ и программы, основанные на нем в Википедии (на русском языке)
- Valknut и программы, основанные на нем в Википедии (на английском языке)
- Eiskaltdc ++ в Википедии (на русском языке)
Веселиться!