# Web News Web News — это ориентированный на конфиденциальность RSS-ридер с поддержкой автономного режима и извлечением полного текста. Он сочетает в себе реактивный интерфейс на Svelte с высокопроизводительным серверным движком на Go, доступным как в виде отдельного веб-сервера, так и в виде нативного приложения для рабочего стола. [Исходный код](https://git.quad4.io/Quad4-Software/webnews) ## Особенности - **Конфиденциальность прежде всего**: Никакого отслеживания, учетных записей или облачной синхронизации. Все данные остаются на вашем локальном устройстве. - **Сначала оффлайн**: Статьи, ленты и настройки хранятся локально с использованием IndexedDB для бесперебойного доступа в автономном режиме. - **Извлечение полного текста**: Включает специальный «Режим чтения» для извлечения чистого содержимого из любого URL-адреса одним щелчком мыши. - **Глобальный поиск**: Мощные возможности полнотекстового поиска по всей истории чтения. - **Умная лента**: Персонализированное ранжирование на основе ваших привычек чтения, обрабатываемое локально. - **Горячие клавиши в стиле Vim**: Эффективная навигация с использованием привычных элементов управления клавиатурой. - **Настраиваемый ридер**: Поддержка различных шрифтов (с засечками и без), настраиваемых размеров и высоты строк. ## Конфиденциальность и безопасность Web News построен на философии «нулевого знания», чтобы гарантировать приватность пользовательских данных: - **Суверенитет данных**: Ваш список чтения и история никогда не покидают ваше устройство. - **Анонимный доступ**: Использует 16-значные номера счетов для доступа к серверу вместо личных идентификаторов. - **Защищенный бэкенд**: Встроенная блокировка ботов, ограничение скорости и безопасная генерация токенов. ## Начало работы ### Предварительные условия - Go 1.21 или выше - Node.js 18 или выше - pnpm 9 или выше ### Сборка и запуск Чтобы собрать и запустить веб-сервер: ```bash make build ./bin/web-news ``` Для сборки настольного приложения (требуется Wails CLI): ```bash make desktop-build ``` ## Конфигурация Приложение можно настроить с помощью следующих серверных флагов: - `--auth-mode`: Установите значение `none`, `token` или `multi`. - `--port`: Порт для прослушивания (по умолчанию `8080`). - `--allow-registration`: Включить или отключить генерацию новых номеров счетов. ## Горячие клавиши - `j` / `k`: Перейти к следующей или предыдущей статье. - `r`: Отметить текущую статью как прочитанную. - `s`: Переключить статус сохранения статьи. - `x`: Переключить режим множественного выбора. - `o`: Открыть исходный URL-адрес статьи.