- FreshRSS là một trình tổng hợp tin tức tự lưu trữ, loại bỏ sự phụ thuộc vào các thuật toán bên ngoài và bảo vệ quyền riêng tư.
- Nó cho phép đồng bộ hóa hoàn toàn giữa các thiết bị khác nhau thông qua các API tương thích với ứng dụng di động và máy tính để bàn.
- Nó hỗ trợ nhiều phương pháp triển khai, từ container Docker đến cài đặt thủ công trên máy chủ LAMP/LEMP.
- Nó cung cấp các công cụ nâng cao như trích xuất dữ liệu web thông qua XPath để theo dõi các trang web không có RSS gốc.

Chắc hẳn bạn đã nhận thấy rằng phần lớn tin tức bạn tiếp nhận đều bị chi phối bởi các mạng xã hội. Tuy nhiên, một công nghệ gọi là RSS đã tồn tại hàng thập kỷ, cho phép chúng ta thoát khỏi các thuật toán và lựa chọn những gì mình muốn đọc. Về cơ bản, nó bao gồm việc đăng ký nhận các nguồn cấp dữ liệu XML phổ biến mà các trang web xuất bản để thông báo cho bạn về các bản cập nhật của họ, và để quản lý các nguồn cấp dữ liệu này, lý tưởng nhất là sử dụng một trình tổng hợp riêng như FreshRSS.
Việc thiết lập trình quản lý nguồn cấp tin tức riêng tại nhà không chỉ liên quan đến quyền tự chủ kỹ thuật số và quyền riêng tư; nó còn cho phép bạn có một luồng thông tin sạch sẽ, không quảng cáo và được sắp xếp đầy đủ, phù hợp với sở thích của bạn. Cho dù bạn có một chiếc Mini PC mạnh mẽ hay một chiếc Raspberry Pi khiêm tốn, FreshRSS là một lựa chọn nhẹ nhàng, thích ứng với mọi phần cứng, cho phép bạn tập trung các blog, kênh YouTube và các trang tin tức vào một bảng điều khiển duy nhất.
FreshRSS là gì và nó có những ưu điểm gì?

Chúng ta đang nói về một trình tổng hợp nguồn cấp dữ liệu RSS và Atom mã nguồn mở (giấy phép AGPLv3) mà bạn có thể tự lưu trữ trên cơ sở hạ tầng của mình. Không giống như các dịch vụ đám mây như Feedly hoặc Inoreader, thường có các điều khoản trả phí cho các tính năng cơ bản, FreshRSS hoàn toàn miễn phí và không giới hạn số lượng nguồn cấp dữ liệu hoặc danh mục. Hơn nữa, nó cực kỳ tiết kiệm tài nguyên, có khả năng xử lý hàng ngàn bài viết mà không làm chậm hệ thống.
Một trong những tính năng mạnh mẽ nhất của nó là khả năng quản lý nhiều người dùng , lý tưởng để chia sẻ máy chủ với gia đình, và khả năng nhập và xuất các đăng ký bằng định dạng OPML chuẩn. Nó cũng bao gồm các chức năng tìm kiếm, bộ lọc nâng cao để đánh dấu bài viết đã đọc dựa trên từ khóa, và khả năng tạo nguồn cấp dữ liệu thông qua việc thu thập dữ liệu nếu trang web bạn quan tâm không có nguồn cấp dữ liệu RSS hoạt động.
Yêu cầu và chuẩn bị môi trường

Để bắt đầu, phương pháp phổ biến nhất hiện nay là sử dụng môi trường Linux. Nếu bạn chọn phương pháp container, bạn cần cài đặt Docker, Docker Compose và tùy chọn Portainer để quản lý trực quan. Về phần cứng, 256 MB hoặc 512 MB RAM là quá đủ cho nhu cầu sử dụng cá nhân.
Nếu bạn muốn cài đặt thủ công trên máy chủ web, bạn sẽ cần một hệ thống LAMP hoặc LEMP (Linux, Nginx/Apache, MySQL/MariaDB và PHP 7.4 trở lên). Các tiện ích mở rộng PHP như curl, xml, mbstring và zip là cần thiết để chương trình hoạt động chính xác. Nếu bạn dự định truy cập từ bên ngoài mạng gia đình, bạn có thể cấu hình proxy ngược với Caddy hoặc Nginx Proxy Manager, hoặc sử dụng các công cụ như Tailscale để tránh để lộ máy chủ ra internet mà không cần chứng chỉ SSL phức tạp.
Hướng dẫn cài đặt từng bước bằng Docker Compose

Đây là cách nhanh nhất và đơn giản nhất. Bạn chỉ cần tạo một tệp. docker-compose.yml trong thư mục bạn muốn. Có một số ảnh hệ điều hành có sẵn, trong đó ảnh Linuxserver là một trong những ảnh đơn giản nhất. Một ví dụ cấu hình cơ bản bao gồm việc xác định ảnh hệ điều hành, múi giờ (TZ) và... lập bản đồ thể tích để dữ liệu của bạn không bị xóa khi container được khởi động lại.
Nếu bạn muốn hiệu năng vượt trội khi xử lý thư viện nguồn cấp dữ liệu khổng lồ, nên sử dụng cơ sở dữ liệu PostgreSQL thay vì SQLite. Trong tệp cấu hình, bạn sẽ thêm một dịch vụ cơ sở dữ liệu riêng biệt và cấu hình biến môi trường để FreshRSS kết nối với máy chủ cơ sở dữ liệu. Sau khi tệp đã sẵn sàng, bạn chỉ cần chạy lệnh. docker-compose up -d và hệ thống sẽ là đang chạy ngầm.
Thiết lập ban đầu và tinh chỉnh

Lần đầu tiên truy cập hệ thống bằng địa chỉ IP của máy chủ và cổng đã cấu hình (ví dụ: 8080), bạn sẽ được chào đón bằng một trình hướng dẫn web. Tại đây, bạn sẽ chọn ngôn ngữ, cấu hình tài khoản quản trị viên và chọn loại cơ sở dữ liệu . Đối với hầu hết người dùng, SQLite là quá đủ do tính đơn giản của nó, nhưng đối với các triển khai chuyên nghiệp, PostgreSQL là lựa chọn tốt hơn.
Sau khi đăng nhập, bạn có thể bắt đầu thêm nguồn cấp dữ liệu bằng cách dán URL của trang web. FreshRSS khá thông minh và thường tự động phát hiện nguồn cấp dữ liệu ngay cả khi bạn không nhìn thấy liên kết RSS ngay từ cái nhìn đầu tiên. Để giữ mọi thứ được sắp xếp gọn gàng, điều quan trọng là phải tạo các danh mục (Công nghệ, Khoa học, Giải trí) và gán mỗi nguồn cấp dữ liệu vào một trong số đó, tránh cho giao diện trở nên hỗn loạn với nhiều tin tức khác nhau.
Đồng bộ hóa với các ứng dụng trên thiết bị di động và máy tính để bàn
Giao diện web hoạt động tốt, nhưng điều kỳ diệu thực sự xảy ra khi bạn kết nối FreshRSS với các ứng dụng bên ngoài như Newsflash trên Linux, NetNewsWire trên iOS hoặc Capy Reader trên Android. Để làm điều này, bạn cần vào cài đặt hồ sơ của mình và bật quyền truy cập API , tạo một mật khẩu riêng cho mục đích này (khác với mật khẩu tài khoản của bạn).
FreshRSS tương thích với API Google Reader và API Fever. Khi cấu hình ứng dụng, bạn cần nhập URL máy chủ của mình, bao gồm cổng và đường dẫn cụ thể (ví dụ: /api/greader.phpBằng cách này, bạn sẽ đạt được đồng bộ hóa hai chiều hoàn toànNếu bạn đánh dấu một bài viết là đã đọc trên thiết bị di động, bài viết đó sẽ hiển thị là đã đọc trên máy tính của bạn và ngược lại.
Thủ thuật nâng cao: Thu thập dữ liệu và bảo trì
Khi gặp một trang web không cung cấp RSS, bạn có thể sử dụng phương pháp HTML + XPath. Phương pháp này cho phép bạn trích xuất nội dung bằng mã HTML của trang . Để làm điều này, hãy kiểm tra phần tử trong trình duyệt của bạn, sao chép XPath từ tiêu đề và nội dung bài viết, rồi dán vào cài đặt nguồn cấp dữ liệu. Hãy nhớ rằng phương pháp này không ổn định, vì nguồn cấp dữ liệu sẽ ngừng hoạt động nếu trang web thay đổi thiết kế.
Để mọi việc diễn ra suôn sẻ, đừng quên làm điều này sao lưu thường xuyên Từ thư mục dữ liệu và cơ sở dữ liệu SQLite. Ngoài ra, bạn cũng nên tối ưu hóa cơ sở dữ liệu từ menu bảo trì và cập nhật ảnh Docker bằng cách chạy lệnh. docker compose pull thỉnh thoảng.
Việc sở hữu trình đọc tin tức riêng là con đường một chiều dẫn đến sự độc lập về trí tuệ, cho phép bạn lọc thông tin mà không bị can thiệp. Bằng cách kết hợp sức mạnh của FreshRSS với tính linh hoạt của Docker và sự tiện lợi của các ứng dụng di động được đồng bộ hóa, bạn sẽ có được một hệ thống riêng tư, hiệu quả, hoàn toàn nằm trong tầm kiểm soát của mình và thay đổi cách bạn duyệt web.
