Исправлены недостатки в сведении данных из нескольких гео-баз (thanks lazybadger), изменены приоритеты баз в настройках по умолчанию

Исправлена ошибка связанная с неправильным использованием SQLite, допущенная в версии 0.53, приводящая к крешам и повреждению БД.

Исправлена опечатка версии 0.53 - при некоторых настройках не отображалось наименование провайдера в столбце "Страна" (thanks lazybadger)

Исправлена ошибка версии 0.53 - большая задержка передачи приватных сообщений вследствии добавления экспериментальной функции: активность сообщений хаба замораживалась, если вкладка хаба не выбрана (thanks Renegade, Galantic)

Добавлено меню "Предпросмотр" в очередь отдачи и в списки принятых и отданных файлов (Sleeping_agent)

При открытии окна восстановления файла magnet-ссылка автоматически подхватывается из буфера обмена (Sleeping_agent)

Буфер обмена работает с UNICODE

Обрезка слишком длинных списков скачивания/отдачи в меню "Информации о пользователе" (Flylink)

Обрезка имени файла в заголовке контекстного меню окна поиска под размер остальных пунктов меню (Forcosigan)

В список известных программе стран добавлены Гернси (GG), Остров Мэн (IM), Джерси (JE), Черногория (ME), Сен-Мартен (MF), Сербия (RS), СССР (SU) и их флаги

В связи с тем, что распакованный размер CustomLocations.zip в некоторых сборках достигает сотен мегабайт, загружается несколько минут и тратит много памяти, greylink переходит на хранение всей геоинформации в SQLite. Базы данных подключаются в виде модулей, приоритет баз и их доступность можно менять без перезапуска программы. В "Информации о пользователе" собраны гео-данные от всех сервисов (для удобного сравнения). Сейчас поддерживаются форматы:

  1. CustomLocations.zip - оригинальный формат greylink, сейчас поддерживается сайтом ipdip.org
  2. geo_files.zip - города России и Украины, страны мира без города (по данным whois), поддерживается сайтом ipgeobase.ru
  3. geo_city.db3 - города мира по данным maxmind.com, основное внимание городам США. Нет в открытом доступе, пиратская версия регулярно обновляется хабраюзером netload, скачать
  4. GeoIPCountryCSV.zip - бесплатная база от maxmind.com с низкой детализацией (только страны)
Все файлы должны располагаться в папке с exe-файлом (или в %appdata%/greylink/ в режиме installed), а не в Settings, как в предыдущих версиях. При первом запуске (а также при изменении размера) перечисленные файлы будут сконвертированы в формат SQLite3, в следующий раз не будут тратиться время и память на их обработку. Ссылки на обновления добавлены в главное меню.

Обновлён sqlite3 (до версии 3.7.9)

Переписан интерфейс с sqlite3, в соответствии с рекомендациями руководства (отказ от функций, объявленных устаревшими - замена prepare на prepare_v2 и т.п.)

Исправлена ошибка "unable to open database: :memory:", приводящая к неработоспособности клиента до перезапуска после выполнения операции сжатия базы данных.

Поддержка распределённой сети (DHT), совместимой с клиентом StrongDC++.
Создана независимая реализация, внешние отличия:
- Список пиров, участвующих в таблице роутинга и открытых соединениях, отображается в специальном окне ("Распределённая сеть"). DHT-сеть работает только когда открыто это окно. По умолчанию открывается при старте (настройка, как обычно: Окна → Открывать при запуске). Кнопку можно вынести на тулбар.
- Ограничения greylink, применимые к хабам (отдельная шара, лимиты слотов, запрет обмена скачиваемыми файлами, отсутствующими в шаре и т.п.), можно применить к DHT-юзерам, добавив в список избранных хабов псевдо-хаб с адресом “dht:” и настроив индивидуальные параметры хаба
- UDP-порт для DHT совмещён с DC++ UDP-портом (не нужна отдельная настройка NAT для DHT). По содержимому приходящих пакетов однозначно определяется их принадлежность к DHT-, ADC- или NMDC-протоколу. Нужно помнить, что это демаскирующий фактор и greylink-клиенты с работающим DHT могут быть легко обнаружены админами хаба. Дополнительный бонус - SrcPort у отправляемых UDP-пакетов (содержащих поисковые ответы), совпадает с портом, принимающим UDP-пакеты, а не назначается случайно для каждого отправляемого пакета с ответом на поисковый запрос, как у других DC-клиентов, это снижает число записей в NAT-таблицах у некоторых роутеров.
- Не существует ошибки в маршрутизации (found by vlob)
- Шара распределённой сети хранится в базе данных SQLite (а не в памяти с выгрузкой в XML-файл при закрытии клиента)
- Файлы из шары публикуются в распределённую сеть в случайном порядке (в StrongDC++ публикация всегда происходит в определённом порядке, при большой шаре и периодических перезапусках клиента до последних файлов никогда не доходит очередь)
- Если нода 3 раза не ответила на запросы PUB/SCH/INF, она удаляется из списка активных. Стандартная реализациия DHT в DC++ продолжает посылать команды PUB/SCH на ip:port ещё 2 часа после отключения ноды
- Приватный чат между DHT-узлами (не тестировалось)

Исправлена ошибка версии 0.43: программа не посылала UDP-ответы на поисковые запросы от ADC-хабов

Внутренняя память генератора случайных чисел инициализируется через Microsoft Crypto API, а не от текущего времени (важно для DHT).

Опция "Использовать TLS" (криптозащита соединений между клиентами и хабом) по умолчанию выключена, т.к. создавала нагрузку на CPU, раздражающую пользователей.

При открытии собственного файл-листа он сохраняется (если изменялся) на диск в files.xml.bz2, чтобы в дальнейшем можно было просматривать разницу между версиями своей шары (Galantic)

CDM-отладчик корректно показывает строки NMDC-протокола (в кодировке хаба). Механизмы для работы окон поиск-шпиона и CDM-отладчика оптимизированы, чтобы уменьшить нагрузку, если эти окна закрыты

Несколько мелких удобств, которые предотвращают неочевидные "проблемы" пользователей (не описаны, т.к. элементарно реализуются по описанию)

Возможность перетаскивания мышкой стартового сплеш-окна

Поддержка ссылок поисковика dc.proisk.ru (OCTAGRAM)

Поиск по открытым хабам при открытии dchub: или adc: ссылки. Если хаб уже открыт с другим url, но тем же ip+port, новое окно не открывается (OCTAGRAM)

Исправлена ошибка версии 0.45 - креш при входе на некоторые хабы при включенной опции "значок пола в чате" (thanks Frinstall for dump)

Исправлена ошибка версии 0.45 - не обрабатывались входящие UDP-датаграммы

При открытии magnet-ссылки, содержащей bt-хеш, она перенаправляется в uTorrent (возможно, будет работать и с другим torrent-клиентом, не тестировалось)

Включена библиотека OpenSSL, доступен протокол adcs

Настройки поиска вынесены на отдельную страницу

Добавлена опция "не скачивать файл-лист при нахождении источника авто-поиском, если найденный файл более N Мб" (Magnifico)

Добавлена опция "при нахождении источника авто-поиском скачивать только директорию с найденным файлом вместо полного файл-листа"

Добавлена опция "показывать значок пола перед ником в чате" (OCTAGRAM)

Исправлено: при повторном запуске окно программы не разворачивалось, если свёрнуто в трей (SonikApatity)

Исправлена недоработка в настройках прогресс-баров: в диалоге не были заблокированы опции, которым нет соответствий в конфиге. В результате пользователь мог настраивать цвета, которые нигде не использовались (TiGRpp)

Исправлена ошибка версии 0.43: при использовании фонового изображения в результатах поиска не подсвечивались ранее скачаные файлы и файлы, которые есть в своей шаре

В генераторе случайных ников длина ника ограничена до 15 символов

Улучшена работа кнопки "тест соединения" на странице сетевых настроек. Результат отображается в диалоге настроек, а не в web-браузере. При выборе нового порта не требуется закрывать диалог настроек перед проверкой порта.

Исправлена ошибка версии 0.41: программа не посылала UDP-ответы на поисковые запросы от NMDC-хабов (thanks krendel)

При переименовании файла в очереди скачивания (кнопкой F2) выделяется имя файла без расширения

Сообщения "Обнаружен флуд командой $ConnectToMe" выводятся для каждого атакуемого адреса не чаще, чем раз в 5 минут

Исправлено: служебные сообщения "Nick1 was kicked by Nick2" отображались при отключенном чате хаба (Galantic)

Добавлена опция "Дополнительно" -> "Переподключение отключенных хабов при обновлении IP по HTTP"

При вводе magnet-ссылки в строку поиска она преобразуется в TTH

Исправлено: столбцы со значком файла и флагами провайдера были нарисованы неправильно при использовании фоновой картинки в окне активных соединений

Добавлена настройка фонового изображения в окне поиска

Исправлено поведение пункта "Приоритет" -> "Авто" в контекстном меню очереди закачек (Leonkrevs)

Исправлено: команда "Сообщение на все хабы" не посылает текст на хаб, у которого в опциях отключен чат

В CustomMessages.ini можно использовать команды клиента (такие, как /winamp, /ratio)

Исправлено: не запоминались порты TCP и UDP (при старте программы выбирались новые)

Добавлена поддержка SOCKS4 для шлюзов на базе routerOS.
Известные проблемы активного режима NMDC-протокола:
1. SOCKS4-BIND требует указания ip-адреса, с которого поступает соединение, на NMDC-хабах адреса всех юзеров доступны только админам хаба.
2. Т.к. SOCKS4 не работает с UDP, нельзя отвечать на поисковые запросы активных юзеров
В пасивном режиме или при использовании ADC-хабов проблем не возникает (IP всех юзеров заранее известны, на активный поиск можно отвечать через хаб)

Добавлена поддержка хабов в домене .РФ ( хаб.смолнет.рф )

Возможность настройки фоновой картинки в окне активных соединений

Отображение параметров медиа-файлов из файл-листов flylink

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

Переписан код работы с прокси-серверами: можно вносить в список любое количество прокси и назначать их разным хабам

Возможность тестировать скорость ответа прокси-сервера

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

Исправлено: при снятии признака хаба "настроить хабу отдельную шару" бывшая шара хаба становилась глобальной (thanks mrshex)

Исправлено: не работало скачивание файлов по HTTP, если сервер не заполняет поле 'Content-Length' в заголовке ответа (DEN007)

При генерации magnet-ссылки на dcls-файл заполняется параметр dl (display length), который устанавливается равным суммарному размеру всех файлов в dcls-листе. При форматировании магнет-ссылок этот параметр имеет приоритет над xl (exact length) (OCTAGRAM)

В "Дополнительные настройки" добавлена опция "Включить dcls-файл в содержимое dcls-списка". Если включена, при генерации dcls-файла в его заголовке устанавливается xml-атрибут IncludeSelf="1". Клиент, который открывает такой список, должен добавить открываемый dcls-файл в список файлов этого dcls-списка (OCTAGRAM)

Мелкие улучшения в работе dcls

Исправлена алфавитная сортировка каталогов в окне шары (Sasha)

Подобраны более чёткие картинки флагов (thanks Sasha)

Удалена опция "Использовать SOCKS5 сервер для обработки хостов", как вызывающая много вопросов у пользователей

Оптимизация записи в лог: накопление информации за последнюю секунду и запись пачкой

Удалена опция "Послать нахуй" из-за своей неактуальности

Добавлены функции в lua api: SetSetting, GetHubSetting, SetHubSetting

Добавлен пример скрипта для выбора случайного ника из файла при каждом подключении к хабу. Для установки скрипта нужно распаковать lua.7z и scripts.7z в папку с программой и переименовать файл sample5.lua в startup.lua, чтобы этот скрипт выполнялся при каждом запуске greylink

Исправлены ошибки

Исправлено: не скачивалась картинка по http-ссылке, если ранее не скачивали картинку по magnet, т.к. http-качалка не создавала временную папку для картинок (Sasha)

Исправлена ошибка версии 0.33 - не отсылались ответы на поисковые запросы клиентам в активном режиме (thanks ValdikZZ)

Исправлено: не сохранялось состоянии опции "Отключить UDP-поиск"

Добавлена возможность вставки в чат картинки по http-ссылке ([img]http://xxx/picture.png[/img])

Исправлено: при получении магнет-ссылки из контекстного меню скачиваемого сегмента размер файла в ссылке заменялся на размер сегмента (OCTAGRAM)

Исправлено: сборки x64 неправильно показывали спам от плеера AIMP (Sasha)

Исправлено: при соединении через HTTP или SOCKS прокси вместо ip-адреса юзера выводился ip-адрес прокси

Улучшены звуковые и визуальные (всплывающие окна) оповещения о подключении/отключении от хаба. Хаб считается подключенным, если загрузился список юзеров (не менее 2 строк). Теперь при неудачной попытке входа на запароленный хаб или хаб с ограничениями по IP/шаре не появляется оповещение "подключен" и сразу "отключен" (OCTAGRAM)

На ADC-хабах учитывается опция "поиск в пассивном режиме"

Реорганизованы настройки прокси (более понятно)

Возможность входа на хабы и скачивание в пассивном режиме через HTTP (CONNECT) прокси

Авторизация на прокси по паролю пользователя (поддерживается только Basic алгоритм)

Подключение к ICQ-серверу, скачивание хаб-листов, проверка обновлений через HTTP прокси

Изменения настроек по умолчанию (определение внешнего IP через web-скрипт)

Добавлен ключ командной строки /show для разворачивания свёрнутого окна (OCTAGRAM)

Настройки подключения реорганизованы для большей гибкости и понятности (livedc.ucoz.ru/forum/2-205-1)
Настройки прокси-серверов вынесены в отдельную страницу.

Подключения к серверам ICQ через SOCKS-прокси

Добавлена работа в активном режиме через SOCKS5-прокси. (Отдельного внимания заслуживает опция "Прокси является шлюзом между сетями". SOCKS-сервер должен быть настроен так, чтобы знать интерфейс внутренней сети, откуда подключается клиент и внешней сети, где находятся хаб и пиры. Внешний адрес SOCKS-сервера клиент использует в командах $ConnectToMe / CTM. Если socks-сервер сконфигурирован без учёта разделения интерфейсов, то в операции BIND он показывает внешний адрес 0.0.0.0. Когда рассматриваемая опция выключена, greylink заменяет адрес 0.0.0.0 на адрес SOCKS во внутренней сети и пиры пробуют подключаться к тому же интерфейсу прокси-сервера, что и клиент; когда опция включена, greylink выдаст ошибку при получении внешнего адреса 0.0.0.0)

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

Добавлена проверка имени файла в магнет-ссылке, чтобы обратить внимание пользователя на перезапись уже существующего файла (Degit)

Восстановлено контекстное меню, пропавшее во фрейме ADL-поиска в версии 0.28 (Melis Farothserke)

Исправлены мелкие недоделки интерфейса (Magnifico, bbbmail)

Исправлен файловый кеш отдачи: некорректная отдача блока по смещению, не кратному 512 байт, что вызывало ошибку TTH на принимающей стороне (thanks AleXH)

Исправлена ошибка 0.25: при нажатии Ctrl+ПКМ должно появляться меню "скачать с приоритетом пауза" и исчезать меню "скачать выбранным приоритетом", но оба пункта появлялись только при нажатом Ctrl (Basilio)

Фиксы от стандартного ядра dc++:
- в некоторых случаях, если при записи сегмента происходит ошибка, сегмент всё равно помечался как скачанный
- опция прикрепления панели вкладок слева или справа
- улучшения в докачке последних сегментов
- исправлены мелкие ошибки, сделаны незначительные доработки

Исправлен захват лишней кавычки из magnet-ссылки, если регистрация обработчика ссылки настроена не опцией greylink, а внешней программой (maggot666x)

Исправлена утечка ресурсов GDI при активном использовании чата - через несколько часов работы графика программы замораживалась (thanks Про[R]аб)

Исправлено отображение иконки у ярлыка к magnet-ссылке (bomz)

Исправлено: иногда при просмотре файл-листа в дереве каталогов все папки изначально появлялись развёрнутыми

Оптимизировано поведение при большой очереди скачивания. 500.000 файлов добавляется в очередь 1,5 минуты. Переделана синхронизация потоков: запись скачаного фрагмента в файл не блокирует другие потоки скачивания и интерфейс программы, что позволяет полнее использовать ресурсы CPU и улучшить отзывчивость интерфейса при больших скоростях скачивания

Исправлена ошибка 0.22: двойной клик в окнах соединений и поиска работал как скрыть/раскрыть группу, а не запуск закачки

Дополнена документация справочник кнопок

Возможность скачивания с приоритетом "самый высокий" или "пауза" в указанную папку (см. раздел "кнопки в окне файл-листа и в окне результатов поиска" справочника кнопок)

В режиме просмотра списка файлов без группировки по каталогам заполняется столбец "путь в шаре" (Alex)

Исправлены слетевшие табуляции перед горячими кнопками в пунктах меню (в russian.xml)

Реализованы функции импорта и экспорта примечаний к TTH и отметок о загруженных TTH из базы данных в файл формата .csv

Улучшена сортировка (Sasha)

Переписано окно просмотра файл-листа. Для дерева каталогов вместо TreeView использован ListView в виртуальном режиме, что позволяет показывать данные непосредственно из объекта DirectoryListing, не копируя их в объекты CommonControls. Экономится память и время загрузки. (Возможно, какие-то функции временно перестали работать из-за глобальной переделки)

Оптимизирована загрузка больших файл-листов. Загрузка информации из базы данных вынесена в фоновый поток. Например, файл-лист в формате *.xml.bz2 размером 10Mb загружался за 17 сек в предыдущей версии. Сейчас через 2.5 сек листинг готов к просмотру и ещё через 6 секунд появляется информация из базы данных о том, какие файлы скачивались ранее.

Режим отображения файл-листа без деления на каталоги - удобно для сортировки всех файлов по дате расшаривания при поиске новых файлов (thanks Alex)

В конце ссылки в чате допустимо использовать знаки препинания без отделения их пробелом от ссылки (Alex)

Управление ограничениями скорости через web-server (Kiar)

Управление ограничениями скорости через icq-bot командой -lim

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

Обновление IP через web-сервер или UPnP выставляет его не только в главных настройках, но и в настройках избранных хабов, у которых разрешено обновление IP (thanks eheadz)

Возможность установки кодировки сообщений NMDC-протокола (страница настроек 'Совместимость'). Пригодится пользователям WINE, которые по каким-то причинам не могут настроить системную кодировку = Cyrillic (1251) в эмуляторе (ibrain.com.ua)

В очереди скачивания добавлен пункт меню "Подключиться к хабу" (Если источники файла были на хабах, которые сейчас не подключены)

Добавлен выбор приоритета скачивания в окно перехвата magnet-ссылки

Исправлен недочёт: если при переключении из пассивного режима в активный номера портов TCP/UDP остались равными 0, сейчас назначаются случайные числа

Параметры поиска в шаре запоминаются

Разные удобства в интерфейсе

Доработка интерфейса: значения из выключенных столбцов всех списков отображаются в всплывающей подсказке

Использование TeX-формул в чате с помощью библиотеки MimeTeX. TeX-выражение должно заключаться в скобки <$ ... $> Пример (thanks SAG)

Исправлена ошибка в декодировании URLEncode имени файла при добавлении закачки из Web-сервера (4e4ako)

Исправлен креш при операциях со столбцами папок в очереди закачки (KURAGE)

Исправлена работа опции 'a' команды '/fav'

Исправлены ошибки в окне соединений

Сохранение позиций сплиттеров в окнах "очередь закачки", "список файлов", "ожидающие юзеры", "трекер релизов" (thanks KURAGE)

Исправлен вылет при удалении папки в "Избранных пользователях" (thanks KURAGE)

Загрузка данных по ip-адресам из файла GeoIPCountryCSV.zip, а не GeoIPCountryWhois.zip, т.к. архив выкладывается поставщиком с этим именем (Karumo)

Исправлено затенение иконок провайдеров у неактивных подключений в WinXP/2003 (thanks GexOgen)

Исправлено - папка для файл-листов в очереди скачивания была без названия

Исправлена работа фильтра в результатах поиска (thanks unikum111)

Исправлена потеря качества иконок сетей провайдеров (thanks Sasha)

Исправлено зависание в Windows7 при открытии очереди закачки

Улучшения интерфейса очереди закачки: переименование файла/папки в списке клавишей F2, множественный выбор папок для последующей установки приоритета или для удаления, отображение размера и количества файлов в дереве каталогов скачивания

Оптимизации производительности и расхода памяти сгруппированных больших списков (например, окно результатов поиска с тысячами записей)

Экспериментальная опция на странице настроек "совместимость": убрать мерцание чата

Пользователь и хаб выводится в лог при обнаружении $ConnectToMe flood

Группировка "Избранных пользователей" в папки, установка свойств всем пользователям в папке

Используется mediainfo.dll из пакета K-Lite Codec Pack, если последний установлен в системе (zangriEAX)

Исправлены ошибки

Исправлены глюки в списке активных соединений

Исправлена ошибка 0.996 - нет флагов в чате

Исправлена ошибка 5.996 - смайлы увеличивались на один пиксель в ширину и высоту от своего изначального размера, теряя чёткость (DemonAk)

Переименовывание папки в очереди скачивания аналогично переименовыванию в дереве папок проводника Windows (hmury)

Исправлен визуальный недочёт - незначительное перекрытие вкладок для некоторых окон

Исправлены вылеты при длительной работе программы

Исправлены пустые имена файлов и другие глюки в списке текущих отдач

Числовая сортировка в дереве шары и очереди скачивания (например, папка “Часть9” выше, чем “Часть10”)

Обновлён SQLite

Исправлена ошибка - неверно определялось ожидаемое время до конца отдачи

Исправлено частичное обновление окна при смене градиента в режиме "случайный градиент" (hmury)

Из контекстного меню файла в своей шаре можно вызвать журнал скачиваний выбранного файла

Исправлено: не работало "закрыть все файл-списки" при вызове из меню закладки файл-списка (KURAGE)

Исправлено: при установке свойств Избранного пользователя неправильно отображались галочки в контекстном меню, если юзер не на хабе

Исправлена ошибка: если внутри папки, которой назначена группа шары, очистить эту группу шары для под-папки, отсутствие группы шары для подпапки не сохранялось в настройках и терялось при перезапуске программы (Galantic)

Доработки производительности фона чат-окна. В страницу настроек "совместимость" добавлена опция, включающая использование GDI+ для рисования в окне чата (работает быстрее, но не глючит только в Windows 7 и в WinXP без SP2,SP3)

Изменения в переносе папки в очереди закачек в другое место: раньше всё содержимое папки перекладывалось в новую выбранную папку, а исходное название переносимой папки исчезало, теперь папка полностью перемещается в новое место. Таким образом, исчезла возможность переименовать папку в очереди закачек.

Исправлено: путь к расшареной папке в окне настройки шары не выделялся жирным, если папки в названии содержат русские буквы (testsur)

Исправлена ошибка в отображении фоновых картинок в Windows XP SP2,SP3

Настройка фоновых изображений приватных и публичных чатов. Предусмотрены всевозможные опции для комбинирования фонового изображения и логотипа. Реализована поддержка прозрачности. На разных хабах можно сделать разные настройки (через стандартный механизм)

Исправлена ошибка ICQ-бота: не работала команда -select

Исправлены некоторые вылеты

Исправлены некоторые ошибки в списке активных соединений

Исправлены недостатки версии 5.98:
Шаманства с отрисовкой смайлов (ошибки в WinXP SP2,SP3)
Отсутствовала реакция на клик в магнет-ссылку
Не работало колесо мыши в окнах чата

Исправлены ошибки при сортировке и группировке строк окна активных соединений (возможно, они приводили к неожиданным вылетам). Добавлены новые глюки в списке соединений

Устранено мерцание анимированных смайлов. Опция "Альтернативная перерисовка смайлов" удалена

Поддержка фоновых изображений в окнах чатов (Установка картинки из файла и много других интересных опций будет доступно в версии 6.00, сейчас для тестирования каждую минуту генерируется картинка с градиентным фоном и случайными цветами)

В списке юзеров ADC-хаба добавлен столбец CID (KURAGE)

Исправлено: не работала опция "Стартовать хабы свёрнутыми" (как при автозапуске, так и новые). Опция перенесена из "Дополнительно" в раздел "Окна".

Исправлена ошибка 5.96: перестала работать посылка сообщения из LUA-скрипта

Отображение в чате флага/IP-адреса пользователя для полученных ранее сообщений при успешном определении IP-адреса (Phemmer)

Обновление CustomLocations из репозитория lazybadger
Для удобства переноса ini-файлов и картинок между папками возможно указание пути относительно ini- или map-файла, в котором записан путь
(например, Image=Netbynet.bmp равнозначно Image=ru/Netbynet.bmp или Санкт-Петербург=spb.bmp равнозначно Санкт-Петербург=ru/city/spb.bmp)
IP-диапазоны будут обновляться из этого проекта, как наиболее полного. Если нашли ошибку - пишите туда, не нам.

Расстояние между флагами страны-города-провайдера 2 пикселя для лучшей разборчивости

Исправлена ошибка 5.94: зависание при долго висящем открытом окне поиска

Исправлен вылет при загрузке пустого смайл-пака (Kenny)

Исправлено отключившееся в 5.94 выделение ников в чате

В списке Избранных юзеров работает назначение "отдельной шары" для Избранного юзера сразу для нескольких выбранных строк (Galantic)

Добавлена настройка "Альтернативный способ анимации смайлов" (смайл не вызывает сдвиг текста, если пересекает границу окна, чтобы поместиться в окне целиком, но заметно мерцание смайлов)

Игнорируются пробелы в конце строк в файлах внутри CustomLocations.zip

Добавлены флаги некоторых городов (AniNerbe, Mivit) и дополнен CustomLocations (Kevin, Kulak76, Kenny)

Возможность в city.map указать регион для города, чтобы не дублировать во всех ini-файлах

Исправлено отображение пунктирной сетки под флагом провайдера (hmury)

Команда "Окно" -> "Отправить сообщение на все подключенные хабы" (VlaSok)

Исправлена ошибка версии 5.70: отключилась раскраска и мини-изображения (значки пользователей, флаги) в списке результатов окна поиска

Не работало сокрытие "скрытых смайлов" в режиме совместимости со старыми смайл-паками

Исправлено: не отображались некоторые статичные смайлы из старых смайл-паков

Исправлено: не отображались некоторые анимированные смайлы в диалоге выбора смайла

С этого момента чётные версии - x64, нечётные - x86

Изучение программы под профайлером. Оптимизированы узкие места, нагружающие процессор.

Исправлен баг (sdc 2.x+), приводящий к излишнему потреблению времени CPU при большом количестве потоков скачивания

Переписаны классы управления памятью и синхронизации потоков, требуется тестирование под нагрузкой. Память отдаётся системе обратно, когда больше не нужна (например, StrongDC не освобождает память после закрытия нескольких больших файл-листов)

Поиск установленных программ и автоматическая настройка утилит предпросмотра, вызывается из "настроек предпросмотра"
Пока детектируются только Winamp, AviPreview.exe (установленный в одну папку с greylink.exe), Windows Media Player, Light Alloy, VideoLAN, Media Player Classic и GOM Player
При первом запуске программы (нет файла DCPlusPlus.xml) настройка происходит автоматически незаметно для пользователя

Изменён формат CustomLocations. Теперь это ZIP-архив, где иконки сетей представлены каждая отдельным bmp-файлом. ini-файлов в архиве может быть несколько (разделение по сетям, городам или провайдерам) для удобства редактирования. Страна вычисляется вычисляется отдельно от провайдера (при наличии файла GeoIPCountryWhois.csv). В новом формате у ip-диапазона можно указать город, а городу назначить флаг. В столбце "расположение" выводится от 1 до 3 флагов (настраивается). Отдельные изображения из старых CustomLocations.bmp можно забрать здесь

Добавлена страница настроек "Флаги провайдеров"

Возможность загрузки GeoIPCountryWhois.csv из ZIP-архива (GeoIPCountryWhois.zip)

Опция "статичные изображения в диалоге выбора смайла" (только для старых смайл-паков)
Допустимы уменьшенные анимированные изображения, которые описываются в смайл-паке как

 <Emoticon PasteText=":)" Image="chat.gif" Preview="small.gif"/> 
Или для загрузки из DLL
 <Emoticon PasteText=":)" Image="pack.dll" ImageIndex="1" Preview="pack.dll" PreviewIndex="2"/> 
При включении режима совместимости со старыми паками картинки для чата и диалога выбираются из атрибутов Gif и Bitmap:
 <Emoticon PasteText=":)" Bitmap="static.bmp" Gif="ani.gif"/> 

Исправлено: не подключались папки в шаре через symlinks (Vlad "vl")

Исправлена ошибка 5.90: если выключено "обновление шары при старте", то не работали и обновления через заданный интервал (VlaSok)

Настройка "Макс. слотов на хаб" может принимать значение 0, чтобы хаб не получал слоты через очередь, только бонусами

Кнопка "очистить историю" в окне поиска (по многочисленным просьбам). Небольшие изменения в расположении кнопок в окне поиска

Улучшена диагностика сетевых ошибок (чтобы помочь неопытным пользователям)

Исправлено: клиенты за прокси-сервером (M:5 в тэге) отображались как пассивные (M:P). Теперь признак "Прокси" можно использовать в условиях сортировки, раскраски и выбора значка пользователя вместе с другими признаками. Для лучшей маскировки greylink больше не устанавливает признак "Прокси" в своём тэге при использовании прокси

Исправлена ошибка 5.92: файловый кеш иногда не записывал файл на диск (thanks Tryte)

Для чтения с диска отдаваемых файлов используется свой кеш, а не кеш Windows, чтобы greylink не занимал всю память "одноразовыми" (не используемыми повторно) данными при отдачах в фоновом режиме, что делает более удобной работу с другими программами. Можно увеличить размер блока чтения, чтобы сгладить конфликты параллельных высокоскоростных отдач файлов. Кеш конфигурируется на странице настроек "совместимость"

Корректная работа с symlinks в Windows Vista (Vlad "vl")

На страницу "Слоты отдачи" добавлены настройки "Слотов на хаб, не более" и "Слотов на Избранного, не более" (могут быть заданы индивидуально для каждого Избранного хаба), чтобы регулировать число слотов по хабам и IP-диапазонам, если слот IP-диапазону выдаётся через автослот Избранного юзера с заданным диапазоном IP (VlaSok)

Опция в окне поиска: показать/скрыть результаты поиска в своей шаре (KURAGE)

Добавлен доступ к комментариям к TTH в окнах завершенных скачиванияй и отдач (Deft)

Улучшения контекстных меню некоторых вкладок

При обнаружении несоответствия TTH источник переносится в неактивные с соответствующей отметкой (AniNerbe)

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

Исправлено: ограничение скорости в Избранном пользователе было главнее ограничения шары, в результате Избранный пользователь без назначенного лимита скорости скачивал из папки шары, помеченной как "без граничений", с ограничением скорости (Rubidy)
Новая таблица ограничений выглядит так:
Ограничение ИзбранногоОграничение папки шарыРезультирующее ограничение скачивания
БезлимитлюбоеБезлимит
любоеБезлимитБезлимит
любое, кроме Нет или БАН (*)любое, кроме БезлимитИспользуется ограчение Избранного
Нет или БАН (*)любоеИспользуется ограчение папки шары
* Примечание: при наличии признака БАН в избранном пользователе или в папке шары, скачка возможна только при принудительной выдаче слота

Исправлено перекрытие окна выбора смайла панелью задач Windows

Исправлена ошибка 5.91: юзеры, у которых хаб не показал тэг, определяются как боты

Исправлен мастер создания новости: отключено ненужное ограничение на длину новости (thanks ZdezBilYa)

Исправлена ошибка 5.90: глючные версии StrongDC-sqlite, которые ошибочно выставляли признак "бот", должны принудительно определяться как не-бот

Исправлена ошибка 5.90: не сохранялось положение панелей кнопок

На странице настроек панели инструментов добавлены кнопки "вверх", "вниз" для удобства настройки

Более развёрнуто расписаны настройки по скачке уже расшаренных файлов, чтобы не возникало вопросов у пользователей, не читающих инструкции (по мотивам http://livedc.ucoz.ru/forum/4-142-1). Добавлена страница настроек "Приоритет" и часть опций перенесена, чтобы улучшить группировку

Чит "Добавка к шаре" может принимать отрицательные значения, чтобы обладатель большой шары мог затеряться среди пользователей при сортировке по размеру шары и не привлекать внимание борцов с пиратским контентом, при этом не удаляя ничего из своей шары

При включенной опции Избранного польователя "автоматически скачивать magnet-ссылки из личных сообщений" файлы скачиваются не в общую папку закачек, а в папку с ником Избранного пользователя (или IP, если Избранный добавлен по IP) (D-tox)

Исправлена загрузка смайлов из bmp-файла с альфа-каналом

Исправлена ошибка мастера создания новости: не создавалась новость без картинки или если не нажималась кнопка "предпросмотр"

Система публикации новостей (распределённый трекер релизов / система дневников / блогов). Подробнее...

Исправлено: включение опции "Запретить одновременное скачивание с одного IP", выключение "Разрешить одному юзеру качать одновременно через несколько хабов" в некоторых случаях пропускали юзеров к свободным слотам

Опция "Не обновлять шару при старте" заменена на более общую "Обновить шару через N секунд после старта (0 = не обновлять автоматически при старте)"

Запоминается дата добавления файла в шару. Если выключена маскировка greylink и включено "Отдавать дату расшаривания в своём файл-листе", то другие пользователи могут подсвечивать файлы в файл-листе по условию "расшарено за последние N дней", используя кнопку "Поиск" в окне с файл-списком. В своём списке поиск новых файлов всегда доступен, независимо от маскировки (много запросов)

Исправлено: если включена маскировка greylink, то группы шары не должно быть видно в файл-листе, даже если в настройках разрешён экспорт групп

Оптимизировано использование памяти и нагрузки на CPU на больших хабах

Колесо мыши прокручивает окно под курсором мыши, не требуя активации окна нажатием ЛКМ (thanks tka4ev)

В диалоге выбора смайла все смайлы всегда умещаются на экране независимо от их количества

В xml-смайлпак у описания смайла добавлен атрибут Hidden="1" для скрытия смайла из диалога выбора смайла. Пример - смайл :gl: в прилагаемом наборе "kolobok"

Исправлено: невозможно зайти на созданный минихаб, если в настройках подключений указан bind address на внешний интерфейс (Relaxer)

Bind-адрес для каждого хаба может быть выставлен отдельно

Улучшена работа клиента, когда хабы подключены через разные интерфейсы и у каждого хаба выставлен свой bind-адрес (у остальных dc++ клиентов в этом случае не работает активный режим на всех хабах)

Новая библиотека обработки смайлов - Microsoft GDI+ (встроена в Windows XP) вместо ImageOle.dll (thanks AOD). Допустимые форматы смайлов: BMP, ICO, GIF, TIFF, JPG, PNG. Исчезла проблема с порчей графики при большом количестве анимированных смайлов в чате. GDI+ не принимает формат bmp_v3 как формат с прозрачностью, несмотря на глубину цвета 32bpp, поэтому требуется пересохранить bmp-смайлы в bmp_v5 или в PNG

Новое окно выбора смайлов. Удалена опция "Анимировать диалог выбора смайла" - быстро работает, поэтому всегда включена. Размер смайла в диалоге выбирается исходя из самого большого смайла в паке.

Возможна загрузка изображений смайлов из ресурса DLL, чтобы весь пак разместить в двух файлах (xml и dll). Допустимый тип ресурса: ICON, BITMAP, RCDATA.

Старая библиотека cwlink больше не поддерживается, рекомендуется её удалить или не использовать. Новый официальный смайл-пак - kolobok v1 (мини-версия) включен в дистрибутив. Для сборки kolobok.dll из отдельных картинок запустите make.cmd из kolobok_src.rar (Требуется установленный Microsoft Visual Studio 2008)

Копирование из окна чата превращает смайлы обратно в текстовый вид

Для каждого окна чата может быть выбран свой смайл-пак (у избранных хабов он запоминается в настройках)

Команды минихаба для контроля пользователей операторами, управление пользователями происходит на уровне ip-адресов:
+set ip-адрес [ ban | unban | op | deop | gag | ungag ]
+info
Команды также можно передавать фунцией SendPublicMessage lua-скрипта или настроить пользовательские юзер-команды для вызова из меню

Реализовано скачивание файлов через мини-хаб - скачиваются картинки в чате. Поиск отключен, чтобы минихаб, предназначенный только для чата, не использовали как файлообменный хаб

Опция "скрывать подключения в состоянии ожидания". Скрывает строки с текстом "Скачивание / Отдача завершены, ожидание..."

Исправлены таймауты сообщений "Отключен"

Исправлен текст у настройки "Папка для временных файлов", добавлено "пусто = скачивать сразу в место назначения". По умолчанию папка для временных файлов не указана. Это понятнее пользователям, чем использование переменной %[targetdrive]

Исправлено: к юзеру не применяется авто-бан по слотам, если с хаба был передан пустой тег юзера

Исправлено: папка с логами иногда не открывалась из меню "Логи", если использовался относительный путь (.\Logs). В найстройках по умолчанию папка с логами установлена как ".\Logs", чтобы обеспечить лучшую переносимость клиента в другую папку

Добавлена защита от DoS-атаки клиента Flylink r381: клиент бесконечно пытается скачать TigerTree для файла. Поскольку отдача tth-информации происходит без очереди, сбойные клиенты могут занять значительную часть upload-канала. После нескольких отдач TigerTree для одного и того же файла юзер банится на 5 минут.

В ОС Vista (прозрачность на кнопках) новые картинки кнопок [B], [I], [U], [S] (для английской версии клиента), новые картинки включения/выключения проверки орфографии и шифрования ЛС (thanks Sasha)
При подключении Russian.xml в Vista остались русифицированные значки от AniNerbe

Исправлено: потерянная опция "Обрабатывать запрос на расширенные характеристики файла" вернулась на страницу настроек шары. Так как по умолчанию она выключена, то работала только у тех, кто включил её в момент появления.

Поддержка MediaInfo.dll: при установке DLL пользователи (greylink 5.88+) смогут получить подробную информацию о видео, аудио и графических файлах в своей или чужой шаре, если в настройках хаба не "отключены фичи, позволяющие детектировать greylink", владелец шары разрешил запрашивать с него информацию и установил MediaInfo.dll (masaykh)
Пример выводимой информации:
Path in share:  /Movie/Lost-All/LOST.S05E03.HDTV.720p.x264.AC3.RUS.ENG-Alucard.mkv
File size:      2,17 GB
TTH root:       ELP62VGDV7BMEXXDVKBJITES4A5XV3RYGF57Q5I
Last modified:  2009.03.12 16:31
MediaInfo.dll summary:  Matroska, video: 1, audio: 2, subtitles: 1, duration: 00:42:23.776
video stream:   V_MPEG4/ISO/AVC 1280x720, 23.976 fps, 6 279 Kbps, English
audio stream:   AC3 448 Kbps, 48.0 KHz, 5.1, Russian
audio stream:   AC3 448 Kbps, 48.0 KHz, 5.1, English
subtitles:      S_TEXT/ASS, English

На страницу "Дополнительно" добавлена опция "Отладочный режим в запросах к MediaInfo (даёт больше информации)"

Опция "Не показывать запросы на подключение в списке подключений (устраняет дрожание)" теперь по умолчанию включена

Исправлена ошибка 5.86: не работали команды хаба

Исправлена ошибка 5.86: случайные креши из-за некорректного вызова API SQLite

Исправлена ошибка: в окне соединений иногда строки отключенных юзеров оставались неопределённо долго

Исправлена утечка GDI-ресурсов в проверке орфографии

Добавлена настройка "Политика кеширования SQLite, устойчивая к сбоям питания" (снижает производительность)

"Отмена закрытия" окна запроса к журналу передач восстанавливает параметры запроса на момент закрытия

В "завершенные скачивания/отдачи" и "запрос к журналу передач" добавлены столбцы Filesize - полный размер файла, Transfered - сколько передано по сети

Стандартное меню пользователя добавлено в окно "запрос к журналу передач"

Исправлено: в завершённых скачиваниях иногда не заполнялся столбец "Страна"

Добавлена запись поисковых запросов избранного пользователя в файл (опция в свойствах избранного юзера). Не работает на NMDC-хабах, если неизвестен IP-адрес пользователя в активном режиме (KURAGE)

Каждые 19 минут очередь закачек сохраняется в файл Queue.xml.sav и резервируется стандартным механизмом бэкапов (см. 4.24 от 27.09.2007)
Очередь закачек можно восстановить из файла, переименовав Queue.xml.sav в Queue.xml и перезапустив программу

Исправлена интеграция с AIMP2 - переменная %[elapsed] показывала остаток времени трека, теперь время от начала трека

Настройка "Убирать недоступные папки из списка шары" по умолчанию включена, т.к. вызывает обращения к CD-ROM/FDD, которые были когда-либо расшарены. Если необходимо оставлять такие ресурсы в списке расшаренных папок до следующего обновления шары, придётся выключить эту опцию после обновления до 5.86

Исправлено: если клиент набирает более 2000 юзер-команд на всех хабах (из-за ошибки в скриптах хаба или из-за большого количества подключенных хабов), то юзер-команды замещали другие пункты меню программы (Diver)

Исправлен недостаток 5.77: кнопка "Обзор" при скачивании одиночного файла вызывала выбор папки, а не выбор файла - нельзя было дать файлу другое имя (thanks Phemmer)

Новый класс окон - запросы к базе банных журнала скачивания / отдачи (кнопку открытия можно вынести на панель кнопок)

Вызов истории закачек / отдач из меню "Информация о пользователе"

Исправлена ошибка: при включенной опции запоминания предыдущих IP были проблемы со скачиванием на ADC-хабах

В чате NMDC-хабов возможно использование любых спецсимволов из кодировки UNICODE (Kiar)

Для URL сделано преобразование в короткий вид за счёт разворачивания URL-encoding: (http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%BB%D0%B0%D0%B9%D0%B4%D0%B5%D1%80 => http://ru.wikipedia.org/wiki/Коллайдер) (D-tox)

При установке размера "истории поиска" в 0 (Настройки -> Для экспертов), текущая история поиска очищается

Исправлена ошибка версии 5.73: не рисовалась фоновая картинка, если выключен режим "растянуть" (thanks AniNerbe)

Исправлено: в Windows XP на панели кнопок в окне хаба и ЛС не было видно самую правую кнопку

Исправлено отображение темы хаба

Поправка положения окна выбора смайла, если выходит за края экрана

Добавлен справочник горячих кнопок

Вызов функций панели BB-кодов с клавиатуры (Alt+B,I,U,...)

BB-коды подчеркивания и перечёркивания не применяются к пробелам в тексте

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

Панель BB-кодов в окне приватных сообщений

Добавлена кнопка "включить/выключить проверку орфографии"

Для portable-версий в настройках файлов звука можно указывать относительные пути (.\Sounds\HubConnected.wav), такие пути всегда берутся относительно exe-файла программы. При выборе файла внутри папки с клиентом в настройки запишется относительный путь

"Специальная шара хаба" доступна из контекстного меню вкладки хаба

Возможность использовать альфа-канал в стартовой заставке клиента. Пока новый официальный логотип не готов, ищите эту возможность в других сборках (Японец)

Улучшена синхронизация потоков хеширования. Максимальное количество используемых ядер увеличено до 8. Переключение количества потоков хеширования не требует перезапуска программы. Протестировано в Windows 2003, 2 x Intel XEON E5420. 8 ядер были загружены равномерно на 25%, скорость хеширования составила 480 Мб/с (ограничена дисковой подсистемой)

Добавлена совместимость с WINE: в списке избранных хабов не работала сортировка

В список избранных хабов добавлены столбцы "кол-во пользователей", "суммарная шара" (только для подключенных хабов)

Новые значки для панели BB-кодов (thanks AniNerbe)

Исправлена ошибка 5.81: вылет при публикации картинки в чате, если картинка не была ранее расшарена или прохеширована

Кнопка "Цвет" на панели BB-кодов

Нарисованы картинки для кнопок панели BB-кодов

Исправлен маловероятный креш в контекстном меню чата (SerJo)

Изменения в дизайне окна общего чата. Панель ввода BB-кодов.

Кнопка выбора картинки для публикации в чате (картинка расшаривается автоматически)

LUA-функция SetExtraSlot

В данные пользователя добавлен "пол". Если заполнен, отображается значком в списке пользователей. Настраивается, как и все прочие признаки пользователя, связанные со значками, цветами, эффектами. Если настройки значков пользователя отличаются от стандартных, то изменений в настройке не произойдёт и, чтобы увидеть пол в списке юзеров, нужно вручную выбрать значки

Добавлена страница настроек "Совместимость", некоторые опции перекинуты на другие страницы настроек

Опции для WINE: "Некликабельный стиль ссылок", "Програмная эмуляция эффектов прозрачности", "Значок пользователя во втором столбце"

Исправлен креш в WINE (ZanKy)

Устранены подлагивания клиента при большом количестве найденных источников в начале скачивания файла (thanks Magnifico)

Исправлена ошибка 5.76: возможные глюки при просмотре своего файл-листа

Исправлена ошибка - лишний пробел в тэге клиента (thanks Corbina)

Оптимизация - в некоторых случаях событие обновления параметров юзера передавалось компонентам программы 2 раза

События lua-скрипта OnUserUpdated, OnUserDisconnected

Копирование magnet-ссылок на каталоги из окна просмотра своей шары, опция "Открыть в проводнике" папку своей шары

Улучшено контекстное меню в браузере файл-листа: "Копировать" и "Открыть в проводнике" доступны в дереве каталогов

Мультиселект в окне публичных хабов (Alessio)

LUA-интерпретатор вынесен в отдельную dll. Если не требуется запуск lua-скриптов, не устанавливайте этот пакет, чтобы сэкономить ресурсы процессора на передачу событий клиента в lua-интерпретатор.

Возможно подключение собственных расширений к LUA в виде DLL. Мини-SDK для создания расширений

В LUA SDK добавлены примеры:
- luasys - библиотека системных объектов: сокетов, потоков, объектов синхронизации
- Тестовая библиотека dcutil, содержит один метод dcutil.loadlist(filename) для загрузки файл-листа, распаковки из bz2, и преобразования списка файлов из xml-формата в lua-таблицу

В lua-функции клиента добавлены DC():GetUsers(huburl) - список UID всех онлайн-юзеров указанного хаба и DC():GetList(uid, mode) - поставить файл-лист в очередь скачивания

В lua-события клиента добавлены PreviewPublicMessage(huburl, msg) / PreviewPrivateMessage(uid, msg). Пример использования - sample4.lua

В lua-события клиента добавлены OnDownloadFinished(path, uid)

В lua-функции клиента добавлены SimPublicMessage(huburl, message) / SimPrivateMessage(uid, message)

Добавлены глобальные переменные dc_huburl и dc_uid для определения, из какого окна вызван скрипт. Переписан скрипт spam.lua - больше не требуется указывать URL хаба в параметрах функции spam(timeout, message)

Исправлено: в 5.77 потерялось меню добавления комментария к TTH

Обновление CustomLocations.ini (прислал Александр Греков)

Исправлен баг версии 5.16: вылет при скачивании большого количества файлов с нескольких источников

Исправлена ошибка 5.73: на некоторых хабах не работал игнор/отключение статусных сообщений пользователей

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

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

Функционал пунктов меню скачивания выделен в базовый класс. Теперь в окне файл-листа такие же опции скачивания в разные папки, как и в окне поиска. Также везде будут действовать полезные мелочи, ранее реализованные только в одном из меню (такие как скачивание с высоким приоритетом при удержании Shift в момент выбора "Скачать", история выбора папок, скачивание в папку по нику или ip источника и т.п.)

Исправлено: не работало "скачать всю папку" при клике на файл в окне поиска

Меню "Окно" - "Упорядочить вкладки хабов" - по количеству пользователей / по количеству источников (Phemmer)

Исправлено падение программы при входе на минихаб юзера с неполной поддержкой ADC - клиенты Apex до версии 1.0.0, FlyLink и т.п. (thanks hmury)

Доработана команда /switch. Состояние запоминается для хаба, если он добавлен в избранные

Удалена опция "показывать меню проводника" в завершенных передачах. Меню проводника вызывается нажатием Shift + правая кнопка мыши, оно не дублирует пункты стандартного меню списка завершенных передач

Быстрее открывается свой файл-лист (не делаются преобразования в XML, BZ2 и обратно)

В своём файл-листе добавлено меню проводника на файле, если он расшарен (не фейк-файл). Вызывается нажатием Shift + правая кнопка мыши.

Улучшен поиск дубликатов в своём файл-листе (путь к дубликату содержал первый файл в шаре с этим TTH и мог совпадать с самим файлом. Сейчас путь к дубликату никогда не совпадает с путём к просматриваемому файлу) В режиме поиска дубликатов столбец "Путь в шаре" заполнен только у дубликатов

Исправлены вылеты при приёме некоторых сообщений от хаба (Boromir333)

Исправлена ошибка 5.73: на ADC-хабах не приходили ЛС

Исправлена ошибка: после загрузки любого файла по magnet-ссылке из чата он пытается отобразиться в чате как картинка (thanks Diver)

Опция "Уменьшать картинки в чате до 640 пикселей в ширину" (Galantic)

Исправлена сломанная в 5.73 опция авто-скачивания magnet-ссылок у избранных пользователей

Добавлен BB-код [url=...]text[/url] (dima locman)

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

Минихаб, встроенный в клиент (передача файлов не работает, только чат). Удобно для организации чат-комнат для нескольких пользователей и приватных бесед, чтобы трафик не проходил через чужой хаб. Можно открыть любой разумное количество минихабов. Создаётся из меню "Файл" или командой /hub [порт]. Адрес созданного хаба можно скопировать из первой строки чата ("*** Соединение с adc://x.x.x.x:yyy"), чтобы раздавать его как приглашание в чат-комнату

Исправлена ошибка - вылет при получении системного сообщения от хаба

Опция отключения применения BB-кодов

BB-коды для форматирования и раскраски сообщений в чате - [b], [i], [u], [s], [color=orange], [color=#408000] (Lesh)

Если пользователь публикует magnet в общем чате, то при скачке по ссылке он сразу добавляется в источники

Публикация картинок в общем чате через BB-код [img]magnet...[/img]. На данный момент поддерживаются только manget-ссылки (http планируется); форматы изображений BMP, JPG, GIF (последний только в greylink x86). Картинка должна быть расшарена отправителем ссылки (Lesh)

Исправлено: не загружалась фоновая картинка, если в пути в ней были русские буквы

Ревизия механизмов передачи сообщений внутри клиента:
- Исправлена ошибка 5.72: "отключение чата" пропускало статус-сообщения
- Игнор пользователя действует и на его статус-сообщения
- Игнор в чате по RegEx не действует на свои сообщения (Ukito)
- Исправлена обработка /me на ADC-хабах
- Оптимизации

Начата работа по приоритетной очереди отдачи, как альтернативе "дополнительным слотам на группу файлов". Временно, для тестирования движка приоритетов, выставлен приоритет отдаче клиентам greylink новых версий (обновите версию, чтобы не стоять в очереди вместе с другими клиентами). Обоснование: greylink имеет механизмы вознаграждения за отдачу (слот тем, с кого качаю и возмещение скачаного объема автослотом при высоком ratio), поэтому выдавать слоты лучше именно этому типу клиента.

Кнопка "отменить закрытие окна" (Ctrl+B), в настройках тулбара можно вынести эту кнопку на панель инструментов(Ukito)

Версия ChatBot API 5. Дополнительные флаги для команды SEND_DL_FILELIST (yura_sys)

Возможно, исправлено переподключение ICQ-бота

Глобальное включение/выключение всплывающих сообщений (можно вынести кнопку на панель инструментов)

Всплывающее сообщение при добавлении magnet-ссылки, если выключено подтверждение добавления

Всплывающее сообщение "Все закачки завершены" (Phemmer)

Опция "Отключить главный чат" работает на ADC-хабах

Опция "Отключить главный чат" блокирует отсылку в чат сообщений и результатов команд (/pubstats, /uptime и т.п.), разрешая выполнять команды, не выдающие сообщения в чат (/stats, /slots, и т.п.)

Недокачанные файл-листы всегда имеют расширение *.xml.bz2.dctmp, это не позволяет открыть полускачанный файл-лист

В окне настроек запоминаются свёрнутые и развёрнутые разделы (Setuper)

Исправлен альфа-канал в контекстном меню назначения групп папкам шары

На хабах провайдера "Вебстрим Новосибирск" всегда используется подмена тэга (thanks Сайли Купер)

Команды icq-бота -users, -friends

Окно "Сетевая статистика" с разделением на полезный (файловый) и суммарный трафик

hunspell64.dll

Исправлено: в Windows Vista не отображались флаги пользователей в чате

Исправлены креши в WINE

Исправлен "system uptime" в /stats и /uptime (Karumo)

Настраивается список UIN-ов, с которыми общается ICQ-бот

Сообщения "пришёл/ушёл друг" передаются в icq-чат (Ukito)

Исправлена утечка памяти при загрузке файл-листа (greylink 5.65)

Оптимизированы вызовы библиотеки регулярных выражений

Ускорена загрузка GeoIpCountryWhoIs.csv при старте клиента

Исправлена ошибка в Socket: ожидание данных не проверяло отключение от сервера (thanks Х Олег)

Доработано хеширование: при наличии нескольких шар файлы хешируются только 1 раз

Исправлен глюк в окне обновления версии: нажатие ESC вызывало переход на Homepage

Удалены недокументированные опции записи/восстановления лога закачек из xml-файлов, можно загружать последние N строк из базы данных, если включены логи передач

Исправлено: при закрытии соединения icq-сервером бот зависал со 100% нагрузкой на CPU

Исправлены проблемы с приёмом сообщений от QIP 8092 (GexOgen)

Исправлено: ICQ бот не принимал unicode-сообщения (QIP Infinum)

Опция ICQ-бота "Посылать сообщения в unicode" - выключите для старых/упрощенных icq-клиентов

Исправлено: иногда исчезает подменю "копировать" в контекстном меню вкладки приватных сообщений (SinFX)

Исправлены вылеты на команде /rebuild scan

Улучшена эмуляция клиентов

Кнопка "Анализ" в диалоге очистки БД (команда /rebuild scan) для предварительной оценки размеров на диске различных структур данных

Встроенный ICQ-бот - теперь чат вашего любимого хаба доступен в любом месте (подробнее)

Исправлено: поиск на world-art.ru не работал с русскими буквами в запросах

На хабах *.olympus.ru автонастраивается тэг желаемого на этом хабе клиента (thanks Blangel)

Исправлено: не загружались словари проверки орфографии, если путь к клиенту содержал русские буквы (thanks SinFX)

Добавлен объединённый русско-английский словарь ru_en_dic.rar (thanks MultiTRON)

Любые настройки по умолчанию могут быть переопределены в ресурсе DCPlusPlus для тонкой настройки своих версий без перезаписывания пользовательских настроек. Но в сборку нельзя прошить Nick, CID и парольные данных - ключ шифрования ЛС, включение/пароли вебсервера и т.п.

При первом старте (нет файла Settings/DCPlusPlus.xml), если в Windows русский пользовательский интерфейс, автоматически подключается файл Russian.xml

Модуль очистки базы данных:
- удаление хешей файлов, которых нет в шаре;
- удаление логов передач старше N дней;
- удаление отметок "этот файл скачивался" старше N дней;
- удаление пользовательских примечаний к файлам;
- удаление запомненных IP-адресов пользователей;
- удаление RATIO пользователей;
- удаление RATIO ip-адресов;
- удаление статистики загрузок файлов из шары;
- удаление логов смены ников/ip-адресов пользователей;
- подробный отчёт будет показан в отдельном окне.

Команда /key - передача ключа шифрования ЛС с авто-занесением в свойства пользователя на принимающей стороне

API ChatBot.dll: команды скачивания файл-листа и оповещения о завершении закачки: SEND_DL_FILELIST, SEND_DL_PING, RECV_DL_FINISHED (yura_sys)

Опция "Запятая (вмето двоеточия) после имени при обращении в чате"

Исправлен вылет при нажатии хоткея "послать ЛС" в окне ЛС (Deft, averin)

Исправлена ошибка: бан по тэгу (thanks Lemon-san)
Присылайте URL злых хабов и список допустимых на них клиентов, и greylink будет сам настраиваться под ограничения хаба

Тестовая версия: плохо протестирована

Исправлено: не работала команда /limit с параметрами

Тестовая версия: плохо протестирована

Новый, более оптимальный, формат базы данных. Будет сконвертирован в файл gl2.db3 из файла gl.db3. Конвертирование базы из формата версии до 4.72 больше не поддерживается (при переходе с версии ниже 4.72 запустите greylink 4.72-5.64)

Возможности новой базы данных:
- отслеживание изменений в каталогах для пересчёта хешей каталога;
- лог закачек и отдач (пока нет интерфейса для отображения записей; в следующих версиях возможно будут списки передач по хабу, tth, юзеру, ip-адресу; сейчас это можно посмотреть sql-запросами);
- хранение очереди закачек в базе данных: быстрее старт клиента, меньше нагрузка при записи на диск изменений в очереди закачек (файл Queue.xml будет перемещён в базу данных и переименован в Queue.xml.old);
- история ip-адресов ника или ников на ip-адресе (команда /iphistory в чате);
- опции очистки базы от неиспользуемых файлов/хешей - в будущих версиях.

Альтернативный, более простой механизм создания ссылок на каталоги. Пока не работает на виртуальных (составленных объединением нескольких реальных) каталогах, шаре из загруженного файл-листа и фейк-шаре. (SerJo)

Переделаны/оптимизированы: хранение шары, поиск в шаре, хеширование. Фейк-шара не сохраняется в базу и работает значительно быстрее. Ускорен запуск клиента при большой шаре. Исправлена ошибка, приводящая к чрезмерной загрузке процессора в некоторых редких конфигурациях.

Опция "Отключить особенности клиента, которые могут привести к его детектированию", доступна при включении "подделки версии клиента". Позволяет централизованно отключить все демаскирующие особенности (приём бан-сообщений в статус закачки, авто-бан всегда становится тихим - без посылки сообщения, "информация о файле" не показывает данные AVI-файлов, в результаты поиска не отправляются комментарии и папки, найденные по хешу и т.п.)

Исправлена ошибка: потерялся значок передачи приватного файла (thanks AniNerbe)

Изменения в вызовах модуля проверки орфографии

Состояние готовности новой версии всегда можно посмотреть по ссылке

Составлен актуальный полный список команд в чате

Добавлена команда /limit upload download

Обновление CustomLocation.ini (thanks Kevin)

Добавлена проверка орфографии (поддержка русского или английского словаря). Нужно скачать и установить компонент OpenOffice hunspell32.dll

Добавлена поддержка HTTP-серверов (сервис получения внешнего IP-адреса), использующих "Transfer-Encoding: chunked" - Apache/2.2.3 (CentOS)

В настройках закладок можно задать порядок следования закладок (стандартные настройки: хабы, ЛС, файл-листы, поиск, остальные). Для отключения сортировки нужно всем типам закладок указать порядок сортировки 0.

В окне поиска в подменю "скачать в.." появились пункты [папка_скачивания]\[ник_юзера] и [папка_скачивания]\[IP_юзера] (Логин)

"Поиск альтернатив" в файл-листе становится активным, только если выбраны файлы и не выбраны папки (SerJo)

В логах скачивания/отдачи параметр %[hubURL] продублирован стандартным %[userHL] (Kevin)

Исправлен фон картинок некоторых кнопок - баг Windows Vista (thanks AniNerbe)

Если в окне перехвата magnet-ссылки отмечена опция "Сделать то же самое в следующий раз" (без открытия диалога), то программа не разворачивается из трея при добавлении magnet-ссылки в поиск или закачку (Inkobob)

Добавлена опция "Передавать свои комментарии к tth другим greylink-клиентам (в результатах поиска)". Изначально выключена

Исправлено: скачивание приватных файлов иногда посылало запросы на скачивание юзеру, написавшему последнее сообщение, а не опубликовавшему magnet-ссылку (vapa)

Исправлена ошибка 5.59: если файл не был хеширован ранее, принудительное хеширование, вызванное из диалога "Магнет-ссылка на файл" или при передаче приватного файла, не получало обратно данные от хешера.

Один из видов редких вылетов получил объяснение и исправление (thanks Deft)

Исправлена вылет 5.60 при выполнении команды "/winamp"

Исправлена ошибка: на adc-хабах не работал поиск в пассивном режиме