3 điểm bởi GN⁺ 2026-01-16 | 1 bình luận | Chia sẻ qua WhatsApp
  • Công cụ mã nguồn mở chuyển đổi dữ liệu từ các nền tảng như Reddit, Voat, Ruqqus thành kho lưu trữ HTML dựa trên PostgreSQL
  • Xử lý cục bộ 2,38 tỷ bài đăng Reddit (bao gồm hơn 40 nghìn subreddit), đồng thời cung cấp thiết kế thân thiện với di độnggiao diện không cần JavaScript
  • Trong bối cảnh quyền truy cập Reddit API gần như bị chặn và ứng dụng bên thứ ba cùng quyền truy cập dữ liệu bị ngăn cản, đây là nỗ lực tận dụng bộ dữ liệu Pushshift sẵn có để chuyển đổi thành quyền sở hữu cá nhân đối với kho lưu trữ Reddit hoàn chỉnh
  • Hoạt động bằng HTML tĩnh không có JavaScript, không yêu cầu ngoài, không theo dõi, có thể vận hành dưới nhiều hình thức như ngoại tuyến, môi trường air-gap, USB, Raspberry Pi, máy chủ LAN
  • Hỗ trợ phân tích và truy vấn quy mô lớn nhờ tìm kiếm toàn văn PostgreSQL (FTS), hơn 30 REST API, và máy chủ MCP (29 công cụ) để tích hợp với công cụ AI

Thay đổi trong môi trường truy cập dữ liệu Reddit

  • Reddit API trên thực tế đã chuyển sang trạng thái gần như không thể dùng cho mục đích lưu trữ
  • Hệ sinh thái ứng dụng bên thứ ba sụp đổ và các mối đe dọa chặn quyền truy cập bộ dữ liệu Pushshift lặp đi lặp lại
    • Bộ dữ liệu Pushshift là một kho lưu trữ quy mô lớn, được tích lũy qua thời gian bằng cách thu thập bài đăng và bình luận công khai trên Reddit, bao gồm hàng tỷ bản ghi văn bản
    • Đây là dữ liệu snapshot từ các thời điểm trong quá khứ được thu thập thông qua API chính thức của Reddit, nên có thể sử dụng mà không cần truy cập máy chủ hoặc API Reddit hiện tại
    • Sau các thay đổi chính sách API và hạn chế truy cập dữ liệu, nó đang được sử dụng như nguồn dữ liệu công khai cuối cùng trên thực tế để bảo tồn lịch sử Reddit và phân tích quy mô lớn
  • Thông qua Pushshift, toàn bộ bản ghi Reddit trong quá khứ đã được công khai dưới dạng torrent

Tổng quan dự án Redd-Archiver

  • Redd-Archiver v1.0 chuyển đổi các bản dump dữ liệu công khai của Reddit, Voat, Ruqqus để tạo ra kho lưu trữ HTML có thể duyệt được
  • Sử dụng backend PostgreSQL để xử lý các bộ dữ liệu lớn với mức bộ nhớ cố định (4GB), đồng thời cung cấp tìm kiếm nhanh bằng FTS dựa trên chỉ mục GIN
  • Đầu ra HTML cho phép sắp xếp, phân trang và duyệt cây bình luận ngay cả khi ngoại tuyến

Cấu trúc cốt lõi của công cụ lưu trữ Redd-Archiver

  • Sử dụng các bản dump Reddit (.zst), Voat (SQL), Ruqqus (.7z) làm đầu vào
    • Tích hợp đa nền tảng: kết hợp 3 nền tảng thành một kho lưu trữ duy nhất. Hỗ trợ tự động nhận diện nền tảng và tìm kiếm hợp nhất
    • Cung cấp hệ thống đường dẫn /r/, /v/, /g/ bằng cờ CLI và tiền tố URL
  • Tạo file HTML tĩnh để loại bỏ phụ thuộc vào máy chủ
  • Chỉ cần mở index.html là có thể duyệt, không cần mạng bên ngoài
    • Bố cục responsive ưu tiên di động và điều hướng thân thiện với cảm ứng
    • Cung cấp chỉ mục sắp xếp theo điểm số, bình luận, ngày tháng và phân trang
    • Tương tác dựa trên CSS, không cần JavaScript
  • Cấu hình PostgreSQL FTS hỗ trợ tìm kiếm toàn văn hợp nhất giữa các nền tảng
    • Lọc theo từ khóa, tác giả, ngày tháng, điểm số, v.v.
  • Cung cấp REST API bao gồm truy vấn bài đăng, bình luận, người dùng, subreddit và truy vấn tổng hợp
  • Bao gồm máy chủ MCP cho phép truy vấn trực tiếp kho lưu trữ từ công cụ AI
    • Có thể truy vấn bài đăng, bình luận, người dùng và tìm kiếm từ Claude Desktop hoặc Claude Code
  • Có thể xử lý hàng chục triệu bài đăng trên mỗi instance
  • Nhờ cấu trúc PostgreSQL, mức sử dụng bộ nhớ giữ ổn định bất kể kích thước dữ liệu
  • Với toàn bộ 2,38B bài đăng, khuyến nghị phân tán vận hành thành nhiều instance theo chủ đề
  • Được triển khai dựa trên Python, PostgreSQL, Jinja2, Docker (đồng thời tận dụng Claude Code như công cụ hỗ trợ phát triển tổng thể)

Kịch bản triển khai và vận hành

  • Hỗ trợ duyệt ngoại tuyến bằng ổ USB hoặc thư mục cục bộ
  • Local/homelab: chạy trong môi trường HTTP hoặc Tor chỉ với một lệnh
  • HTTPS production: tự động thiết lập chứng chỉ Let’s Encrypt (khoảng 5 phút)
  • Tor hidden service: truy cập qua địa chỉ .onion mà không cần port forwarding
  • Static hosting: có thể tải lên GitHub Pages hoặc Codeberg Pages (không bao gồm chức năng tìm kiếm)
  • Triển khai bằng Docker: cấu hình tự động hoàn chỉnh bao gồm PostgreSQL
    • Hỗ trợ đồng thời duyệt ngoại tuyến, máy chủ tìm kiếm cục bộ và chế độ Tor/HTTPS

Thông tin công khai

1 bình luận

 
GN⁺ 2026-01-16
Ý kiến trên Hacker News
  • Đây là một cách rất hay để self-host kho lưu trữ
    Cá nhân tôi ước gì có một plugin tự động khôi phục bình luận đã bị xóa hoặc bị bot ghi đè về bản gốc
    Một phần lý do khiến Reddit bây giờ khó dùng là vì một nửa các liên kết cũ đã biến thành những bình luận vô nghĩa do bị ghi đè để phản đối
    Trớ trêu là bản gốc vẫn còn trong các kho lưu trữ phục vụ huấn luyện AI, nhưng từ góc độ người dùng thì lại không thể tìm được những thứ như cách sửa lỗi driver máy in từ 2 năm trước

    • Thực ra đó không hẳn là điều mỉa mai. Phần lớn các đợt xóa bình luận quy mô lớn không phải vì phản đối việc huấn luyện LLM, mà là để tẩy chay việc Reddit chặn API
      Việc làm cho trang web kém hữu ích hơn chính là mục tiêu của họ, và cốt lõi của cuộc phản đối là khiến người dùng rời đi
    • Chia sẻ liên kết đến dự án liên quan reddit-uncensored
    • Tôi cũng thường thấy bình luận biến mất, nhưng nếu tác giả không còn muốn tham gia thảo luận công khai nữa thì tôi tôn trọng lựa chọn đó
      Tôi không muốn lục lại kho lưu trữ để vô hiệu hóa quyết định ấy. Cứ bỏ qua và tiếp tục thôi
  • Có thể nhận dữ liệu qua torrent
    Liên kết: kho lưu trữ redd-archiver

    • Họ cũng công khai thống kê và profiling của các sub theo từng nền tảng
      Điều này giúp quyết định nên ưu tiên bảo tồn cộng đồng nào
  • Đây là một dự án thực sự tuyệt vời
    Ngoài PushShift còn có các kho lưu trữ khác — chẳng hạn như Arctic Shift hay PullPush cung cấp các bộ dữ liệu khác nhau
    Tùy theo phạm vi yêu cầu xóa, các bài đăng hoặc bình luận được bao gồm có thể khác nhau

  • Tôi tự hỏi liệu có thể dùng dữ liệu này để seed lại một mạng xã hội phi tập trung mới không
    Kiểu như fork một dự án vậy

    • Họ đã tạo sẵn tooling cho instance registry và bảng xếp hạng theo nhóm
      API cũng hỗ trợ việc này để có thể cùng nhau host kho lưu trữ theo mô hình phi tập trung
  • Dự án này thật sự rất thú vị
    Điều tôi thắc mắc là liệu bộ dữ liệu Pushshift có được cập nhật định kỳ hay chỉ là ảnh chụp tại một thời điểm nhất định
    Nếu self-host thì không biết có cần tải lại dữ liệu mới theo chu kỳ hay không

    • Dữ liệu đến tháng 12/2025 đã được công bố, và thường có bản phát hành mới mỗi tháng
      watchful1 đang chia nhỏ và xử lý lại dữ liệu, và trong tương lai dự kiến sẽ lấy dump Arctic Shift để hỗ trợ cập nhật hàng tháng
      Liên kết liên quan:
  • Tôi cũng đang làm một dự án tương tự và đã tải dữ liệu Pushshift Reddit lên Hugging Face Datasets
    Khi seed torrent yếu, có thể tải trực tiếp từng tệp tại huggingface.co/datasets/nick007x/pushshift-reddit
    Hữu ích cho những ai muốn thử dữ liệu theo tháng hoặc chỉ một subreddit cụ thể

  • Tôi đã thử dựng môi trường cục bộ bằng Docker Compose nhưng thất bại
    Không có tệp .env.example, và ngay cả khi tự đặt biến môi trường thủ công thì vẫn phát sinh vấn đề đường dẫn volume
    Có vẻ vẫn cần được hoàn thiện thêm

    • Cảm ơn phản hồi, họ đã bổ sung các tệp ví dụ bị thiếu và cập nhật thêm bước mkdir trong tài liệu
      Commit liên quan: 0bb1039, c3754ea
  • Tôi tò mò liệu có thể tích hợp với ứng dụng Apollo đã chết để khôi phục lại Reddit của một thời điểm trong quá khứ không

    • API hỗ trợ nhiều kiểu tích hợp khác nhau nên có khả năng làm được
  • Tôi không muốn lưu toàn bộ Reddit trên máy tính của mình
    Sẽ tốt hơn nếu có thể chọn chỉ một subreddit cụ thể

    • Torrent bao gồm dữ liệu của 40.000 subreddit hàng đầu
      watchful1 đã tách dữ liệu theo từng subreddit nên có thể chỉ tải phần mình muốn
  • Tôi muốn biết có cách nào kiểm tra xem những subreddit đã chuyển sang riêng tư từ 2–3 năm trước có nằm trong dump dữ liệu hay không

    • Họ đã bao gồm dump metadata của mọi subreddit
      Có thể kiểm tra trạng thái riêng tư trong trường trạng thái, và còn có nhiều chi tiết khác