Работа с удаленными серверами новостей может стать проблемой для частого читателя USENET. Чаще всего эти серверы могут быть медленными и ненадежными. Более того, если вы слишком часто обращаетесь к бесплатным провайдерам, например с помощью АИОЕ , они могут ограничить ваше соединение и заблокировать ваш IP-адрес. Эти факторы могут сделать использование USENET для некоторых болезненным.
Читайте также: 7 лучших программ чтения USENET для Linux
Что такое Leafnode?
Листовой узел — автономный прокси-сервер для серверов USENET. Он загружает сообщения новостей с удаленного сервера новостей и обслуживает их как локальную службу в вашей системе. Он также может использовать несколько серверов USENET
Contents
- 1 Что такое Leafnode?
- 2 Как работает прокси-сервер USENET?
- 3 Установка Leafnode
- 4 Настройка Leafnode
- 5 Настройка Leafnode
- 6 Создание задания cron для обновления Leafnode
- 7 Часто задаваемые вопросы
- 7.1 Я загрузил Leafnode в Debian, но допустил ошибку в сценарии первоначальной установки. Как мне вернуться к нему?
- 7.2 Я хочу запустить Leafnode в своей локальной сети. Как мне это сделать?
- 7.3 Я хочу загрузить много сообщений при первом подключении, но не хочу, чтобы они заполняли мое дисковое пространство. Есть ли способ это сделать?
Что такое Leafnode?
ков и объединить их в один источник. Это полезно, если вы хотите подписаться на несколько групп новостей, обслуживаемых разными провайдерами.![Leafnode 01 Веб-сайт Leafnode](https://saintist.ru/wp-content/uploads/2024/05/leafnode-01-leafnode-website.jpg)
Кроме того, Leafnode позволяет пользователю иметь автономные копии отслеживаемых групп новостей. Это важно, когда подключение к Интернету не всегда доступно или если вы хотите заархивировать группы новостей, на которые подписаны. Наконец, Leafnode прост, легко настраивается и работает со всеми современными устройствами чтения USENET.
Читайте также: Как использовать Emacs в качестве программы чтения USENET с Gnus
Как работает прокси-сервер USENET?
Как мы упоминали выше, Leafnode — это прокси-сервер USENET, поэтому он по сути действует как сервер новостей для ваших читателей новостей.
![Прокси-сервер Leafnode 02](https://saintist.ru/wp-content/uploads/2024/05/leafnode-02-proxy-server.png)
Однако, в отличие от традиционного сервера USENET, Leafnode не получает полную копию всех иерархий с других серверов. Leafnode получает только те сообщения, которые вы ему разрешите, в соответствии с заданными вами условиями.
Leafnode взаимодействует с двумя программами: fetchnews и texpire.
- Fetchnews — это программа, которая сообщает Leafnode, на какие группы новостей подписаться и сколько следует получать. Он также загружает ваши новости и ответы.
- Texpire — это программа обслуживания, которая удаляет старые сообщения из групп новостей. Он также исправляет дублированные или поврежденные сообщения и обновляет общие данные сервера новостей.
Эти две программы позволяют Leafnode работать в основном без присмотра. Как только вы закончите настройку, Leafnode будет вести себя так, как будто это удаленный сервер USENET.
![Leafnode 03 Три программы](https://saintist.ru/wp-content/uploads/2024/05/leafnode-03-three-programs.png)
Это также означает, что вы можете настроить Leafnode в небольшой сети и разрешить нескольким пользователям подключаться к ней для чтения новостей. Таким образом, вы можете уменьшить пропускную с
Как работает прокси-сервер USENET?
тупа к USENET.Читайте также: 8 полезных и интересных команд Bash
Установка Leafnode
Leafnode спроектирован максимально простым. Это касается как его установки, так и обслуживания. При этом для установки Leafnode достаточно получить его из репозитория вашего дистрибутива.
Например, в Debian и Ubuntu 21.10 вы можете получить Leafnode из apt
:
sudo apt install leafnode
![Leafnode 04 Установка Leafnode](https://saintist.ru/wp-content/uploads/2024/05/leafnode-04-install-leafnode.png)
Настройка Leafnode
Во время установки Leafnode спросит вас о некоторых деталях удаленного сервера, к которому вы хотите подключиться. На первом экране вас спросят адрес удаленного сервера. Например, если вы хотите подключиться к AIOE, вам нужно поместить сюда nntp.aioe.org.
В моем случае я подключаюсь через Вечный сентябрь , поэтому добавляю адрес сюда.
![Удаленный адрес Leafnode 05](https://saintist.ru/wp-content/uploads/2024/05/leafnode-05-remote-address.png)
Настройка автоматической загрузки USENET
Оттуда установщик спросит вас о предпочитаемом вами методе получения новостей. Здесь у вас есть три варианта: PPP, постоянный и нет.
- PPP будет автоматически загружать новые сообщения при каждом подключении к Интернету.
- Постоянная будет автоматически загружать новости каждый час.
- Нет не включит автоматическое получение новостей. Вам придется запустить команду fetchnews для синхронизации с удаленным сервером.
В моем случае я не хочу, чтобы Leafnode автоматически подключался к серверу новостей без моего ведома, поэтому я выбираю «Нет».
![Тип подключения Leafnode 06](https://saintist.ru/wp-content/uploads/2024/05/leafnode-06-connection-type.png)
Включение контроля доступа
Установщик Leafnode спросит, хотите ли вы включить контроль доступа для вашего сервера.
Это актуально, если вы используете Leafnode в качестве локального сервера новостей для нескольких пользователей. Он позволяет вам использовать файл /etc/хосты для управления тем, какие клиенты могут получить доступ к серверу, а какие нет.
Например, если вы используете Leafnode в интрасети, где вы ожидаете, что каждый клиент будет
Установка Leafnode
остей, нет необходимости включать «Контроль доступа».![Leafnode 07 Контроль доступа](https://saintist.ru/wp-content/uploads/2024/05/leafnode-07-access-controls.png)
Несмотря на это, обычно рекомендуется блокировать все входящие соединения и включать только те, которые вам нужны. Кроме того, если вы используете Leafnode только в качестве локального прокси для своего компьютера, вам необходимо включить эту опцию.
В моем случае я буду использовать только этот экземпляр Leafnode на этом компьютере, поэтому я включу контроль доступа.
Первоначальная выборка для групп USENET
После этого установщик Leafnode спросит, хотите ли вы сейчас подключиться к удаленному серверу USENET. Это позволит Leafnode получить список доступных групп новостей на сервере.
![Leafnode 08: первая выборка](https://saintist.ru/wp-content/uploads/2024/05/leafnode-08-first-fetch.png)
Однако, если вы используете службу, требующую аутентификации, например, Eternal October, вам не следует получать какие-либо группы новостей, используя эту опцию. Это связано с тем, что мы еще не предоставили Leafnode информацию о нашей учетной записи, и обновление прямо сейчас не даст нам полного списка групп новостей.
В моем случае, поскольку я подключаюсь через «Вечный сент
Настройка автоматической загрузки USENET
eОттуда вы можете дополнительно настроить определенные аспекты поведения Leafnode через его файл конфигурации.
Например, существуют настройки, которые позволят вам, среди прочего, использовать учетную запись USENET для получения новостей. Вы также можете установить определенные параметры, которые будут сообщать Leafnode, какие публикации он может загружать и как долго их хранить.
![Конфигурационный файл Leafnode 09](https://saintist.ru/wp-content/uploads/2024/05/leafnode-09-config-file.png)
Расположение файла конфигурации зависит от используемого вами дистрибутива Linux. В Debian и Ubuntu он находится по адресу «/etc/news/leafnode/config».
sudo vim /etc/news/leafnode/config
Читайте также: Различия между Su, Sudo Su, Sudo -s и Sudo -i
Установка имени пользователя и пароля по умолчанию
Файл конфигурации Leafnode обширен и хорошо документирован. Каждый параметр имеет краткое описан
Включение контроля доступа
даже содержат примеры, иллюстрирующие, как его правильно настроить.Чтобы использовать учетную запись USENET в Leafnode, вам необходимо раскомментировать переменные username
и password
. Закончив, укажите в них свою информацию.
![Пропуск имени пользователя Leafnode 10](https://saintist.ru/wp-content/uploads/2024/05/leafnode-10-username-pass.png)
В моем случае я добавил информацию об учетной записи для своей учетной записи «Вечный сентябрь».
Как создавать фильтры сообщений
Одной из ключевых особенностей Leafnode является то, что вы можете управлять тем, как обрабатываются сообщения во время загрузки, либо фильтруя сообщения, либо настраивая определенные группы новостей, чтобы они не удалялись через несколько дней.
Фильтрация сообщений может осуществляться двумя способами:
- На основе общих свойств данного сообщения. Например, вы можете фильтровать по количеству строк, а также по размеру сообщения.
- На основе конкретных терминов, найденных в заголовках сообщений. Это делается путем создания списка из обычные выражения в файле фильтра.
Чтобы фильтровать по общим свойствам, включите их непосредственно из файла конфигурации. Например, вы можете установить для переменной minlines
значение 3, что позволит Leafnode не получать сообщения длиной менее трех строк.
![Глобальный фильтр Leafnode 11](https://saintist.ru/wp-content/uploads/2024/05/leafnode-11-global-filter.png)
С другой стороны, чтобы фильтровать по конкретным словам, вам необходимо включить опцию filterfile в Leafnode. Для этого раскомментируйте переменную filterfile
и укажите путь к файлу фильтра.
В моем случае я использую путь по умолчанию для файла фильтра.
![Файл фильтра Leafnode 12](https://saintist.ru/wp-content/uploads/2024/05/leafnode-12-filterfile.png)
Основной синтаксис файла фильтра выглядит примерно так:
Header-Property:^/regeПервоначальная выборка для групп USENET
файле фильтра должна указывать на определенное свойство заголовка сообщения. Например, если вы хотите отфильтровать все сообщения из почты Google, введите что-то вроде этого:^From:.*[A-Za-z0-9]*\.*[A-Za-z0-9]*\@gmail\.com$<
Читайте также: Как конвертировать Ubuntu в Regolith Linux
Как архивировать группы USENET
По умолчанию Leafnode удаляет все группы для сообщений старше 20 дней. Это позволяет Leafnode уменьшить размер файла и полезно, если вы подписаны на группы, которые видят от 100 до 200 сообщений в день.
Однако могут быть случаи, когда вы захотите заархивировать все сообщения в определенной группе новостей. Сделайте это, включив переменную
groupexpire
.Например, если я хочу заархивировать группу новостей comp.unix.misc, я добавлю в файл конфигурации следующую строку:
groupexpire comp.unix.misc = -1
Кроме того, эту переменную также можно использовать для изменения возраста сокращения по умолчанию для определенных групп новостей. Например, если я хочу удалять группу большого объема, например, misc.internet.news.discuss, каждые пять дней, я могу ввести следующую строку в свой файл конфигурации:
groupexpire misc.news.internet.discuss = 5
Как настроить несколько серверов USENET
Как мы обсуждали выше, Leafnode также позволяет своим пользователям получать сообщения с нескольких удаленных серверов. Это полезно, если вы используете считыватели USENET, которые могут подключаться только к одному серверу одновременно.
Кроме того, вы также можете установить ряд параметров, изменяющих поведение дополнительных удаленных серверов. Вы можете установить для переменной
nopost
значение 1, чтобы удаленный сервер мог только получать сообщения, а не отправлять сообщения через него.С другой стороны, вы можете установить переменную
noread
для обратного действия.Установка имени пользователя и пароля по умолчанию16-more-servers.png" alt="Leafnode: еще 16 серверов">
Например, если я хочу установить Aioe в качестве дополнительного сервера «только для чтения» для моего экземпляра Leafnode, я могу ввести в файл конфигурации следующее:
server = news.aioe.org nopost = 1
Читайте также: Как легко создавать задания Cron в Linux с помощью Zeit
Создание задания cron для обновления Leafnode
Помимо сценария автоматической загрузки, Leafnode также можно обновить с помощью cronjob . Это позволяет нам иметь больше гибкости, когда мы хотим обновить наши группы новостей. Например, мы можем сделать так, чтобы Leafnode обновлялся каждые 12 часов и при включении компьютера.
Чтобы это произошло, нам нужно отредактировать crontab пользователя новос
Как создавать фильтры сообщений
ая учетная запись, которая напрямую управляет папкой «/var/spool/news», а также работой сервера Leafnode.Чтобы отредактировать кронтаб пользователя новостей, мы можем запустить следующую команду:
sudo crontab -e -u newsТеперь мы можем вставить команду, которую мы хотим, чтобы пользователь новостей выполнял регулярно. Пример crontab для Leafnode выглядит примерно так:
* 3 * * 0 /usr/sbin/texpire * 2,14 * * * /usr/sbin/fetchnews @reboot /usr/sbin/fetchnewsЭтот crontab будет запускать программу обслуживания Leafnode, texpire, каждое воскресенье в 3 часа ночи, а также запускать программу fetchnews каждые 12 часов.
Поздравляем! Теперь у вас есть базовые знания об использовании Leafnode в качестве прокси-сервера USENET. При этом, если вы ищете программы чтения USENET для Leafnode, мы порекомендуйте эти пять вариантов .
Часто задаваемые вопросы
Я загрузил Leafnode в Debian, но допустил ошибку в сценарии первоначальной установки. Как мне вернуться к нему?
Используйте программу
dpkg-reconfigure
для повторной инициализации сценария установки Leafnode. Однако эта программа не включена в переменную PATH по умолчанию.Чтобы запустить его, вы можете ввести следующую команду:
sudo /usr/sbin/dpkg-reconfigure leafnode
Я хочу запустить Leafnode в своей локальной сети. Как мне это сделать?
Вы можете сделать это, отредактировав файлы «/etc/hosts.deny» и «/etc/hosts.allow». Это позволяет вам фильтровать все входящие подключения к вашему серверу Leafnode.
Пример файла hosts.deny выглядит примерно так:
leafnode: ALL
С другой стороны, файл hosts.allow, разрешающий локальные подключения, использующие адрес 192.168.254.*, выглядит примерно так:
leafnode: 127.0.0.1 192.168.254.0/255.255.255.0
Вам нужно будет изменить переменную
allowstrangers
, чтобы разрешитьSTRANGERS, и установить для нее значение 42.Я хочу загрузить много сообщений при первом подключении, но не хочу, чтобы они заполняли мое дисковое пространство. Есть ли способ это сделать?
раздел>Да! Для этого вам нужно знать всего две переменные:
initialfetch
иdelaybody
.Если вы хотите загрузить все сообщения из определенной группы новостей, прокомментируйте переменную
initialfetch
, чтобы сообщить Leafnode, что вы хотите получать все доступные сообщения с удаленного сервера в этой группе новостей.Однако загрузка публикаций целиком может занять много места. Вы можете уменьшить это количество, просто загрузив заголовки и тела интересующих вас сообщений. Для этого вам нужно установить для переменной
delaybody
значение 1.Как архивировать группы USENET
Как настроить несколько серверов USENET
Создание задания cron для обновления Leafnode
Часто задаваемые вопросы
Я загрузил Leafnode в Debian, но допустил ошибку в сценарии первоначальной установки. Как мне вернуться к нему?
Я хочу запустить Leafnode в своей локальной сети. Как мне это сделать?
Я хочу загрузить много сообщений при первом подключении, но не хочу, чтобы они заполняли мое дисковое пространство. Есть ли способ это сделать?