Выбор легковесных консольных клиентов файлообменной сети DirectConnect (DC++) под ОС Linux не очень велик. Для рабочих станций с графическим X-сервером существует немалое количество приемлемых программ – это и Linux DC++, и Valknut, и ShakesPeer. Однако при желании установить DC-клиент на сервер, имеющий лишь консольный интерфейс, до недавних пор приходилось обходиться лишь устаревшим и нестабильным microdc2, либо мультипротокольным mldonkey, отличающимся просто невероятно медленной скоростью работы. Теперь же у нас появилось новое решение – на сцену выходит ncdc.
ncdc (NCurses Direct Connect) – современный консольный клиент, использующий для создания пседографического интерфейса библиотеку ncurses. Первый релиз ncdc состоялся в середине 2011 года, и с тех пор программа продолжает активно развиваться. ncdc имеет полностью открытый исходный код, скачать его можно с официального сайта разработчика – http://dev.yorhel.nl/ncdc
Основные преимущества, отличающие ncdc от microdc2 и mldonkey:
- Стабильная работа – ncdc может месяцами работать без сбоев и перезагрузок, чего мне так и не удалось добиться на microdc2;
- Низкое потребление RAM – в сравнении с microdc2, который при отдельных внутренних сбоях мог поглотить всю свободную оперативную память в системе;
- Исходный код на C – в разы выше скорость работы в сравнении с mldonkey, а также для сборки клиента не потребуется установка массы сторонних пакетов;
- Используется многопоточность – ncdc использует лишь один процесс: знакомые с microdc2 должны знать, в чем здесь преимущество;
- Хеширование недозагруженных файлов – в отличие от microdc2, ncdc корректно обрабатывает ситуации, когда происходит попытка прохешировать недозалитые на сервер файлы;
- Корректная поддержка перекодировок – ncdc работает в чистом UTF-8, а при подключении к хабам используется корректная перекодировка в локаль хаба, причем в сравнении с microdc2 более не требуется никаких плясок с бубном для регистронезависимых ответов на поисковые запросы;
- Многохабовый режим – ncdc можно настроить на заход на несколько хабов одновременно, поэтому более не нужно запускать несколько клиентов параллельно, как в случае с microdc2.
Если и этого мало, то ncdc также имеет и другие интересные возможности:
- Поддержка как классического протокола NMDC, так и современного ADC;
- Возможность загрузки файлов с нескольких источников, а также проверка загруженных файлов по TTH;
- Поддержка безопасных SSL-соединений как для хабов, так и для клиентов;
- Базовое управление полосой передачи;
- Возможность ручного обновления хэша в подкаталогах;
- Обнаружение изменений TLS-сертификате хаба;
- Эффективная раздача файлов при помощи метода sendfile();
- Объемные списки файлов открываются в фоновом потоке;
- Не засоряет кэш операционной системы (при включенной опции flush_file_cache).
Кроме того, разработчик программы охотно принимает сообщения о найденных багах, так что у них есть все шансы быть исправленными в следующих версиях клиента.
Иными словами, наконец мы обрели достойный консольный DC-клиент под Linux.
Как добавлять исключения в шарах?
К примеру, хочу расшарить каталог …/Music, но так, что бы не был расшарен каталог …/Music/iTunes.