Gói chính thức · Tự động hóa và hạ tầng

Biến feed RSS và RSSHub thành sự kiện thời gian thực

Gửi mọi mục mới của feed RSS, Atom hoặc JSON Feed (kể cả mọi route của RSSHub) tới trình duyệt và ứng dụng đang mở ngay khi nó xuất hiện. feed-relay là một dịch vụ Go mã nguồn mở nhỏ, chạy cạnh RSSHub của bạn.

  • Mỗi mục mới trở thành một sự kiện trên kênh, một thông báo đẩy hoặc một thông báo trong hộp thư, và chỉ được gửi một lần kể cả khi khởi động lại.
  • Feed có WebSub hub, như kênh YouTube, đến trong vài giây. Các feed khác được thăm dò với ETag và Last-Modified, nên feed không đổi gần như không tốn gì.
  • Lần chạy đầu chỉ ghi nhớ các mục đã có trong feed, nên khởi động không làm người dùng bị ngập thông báo.
  • Có bảng điều khiển web để thêm, xem trước, tạm dừng và thử feed, cùng máy chủ MCP để tác tử AI quản lý feed. Mọi thay đổi đến ngay các bảng điều khiển đang mở qua ứng dụng Hibira của bạn.
Bảng điều khiển feed relay: dán github.com/vercel/next.js/releases sẽ tìm ra route RSSHub phù hợp, và phần xem trước hiển thị các bản phát hành mới nhất trước khi thêm feed.
Bảng điều khiển feed relay: dán github.com/vercel/next.js/releases sẽ tìm ra route RSSHub phù hợp, và phần xem trước hiển thị các bản phát hành mới nhất trước khi thêm feed.

Đăng nhập để xem các đoạn mã này với host cụm của riêng bạn. Đăng nhập

  1. Cài đặt

    # docker-compose.yml, with HIBIRA_APP_ID, HIBIRA_APP_KEY and HIBIRA_APP_SECRET in .env
    services:
      rsshub:
        image: diygod/rsshub:latest
      feed-relay:
        image: ghcr.io/hibira-io/feed-relay:latest
        env_file: .env   # also ADMIN_PASSWORD for the console, MCP_TOKEN for /mcp
        environment:
          RSSHUB_URL: http://rsshub:1200
        ports:
          - "8080:8080"
        volumes:
          - ./feed-relay.yaml:/config/feed-relay.yaml:ro
          - relay-data:/data
    volumes:
      relay-data:
  2. Thiết lập

    # feed-relay.yaml
    hibira:
      url: https://ws.hibira.io
      app_id: ${HIBIRA_APP_ID}
      key: ${HIBIRA_APP_KEY}
      secret: ${HIBIRA_APP_SECRET}
    feeds:
      - name: releases
        url: /github/release/hibira-io/pusher-server   # an RSSHub route
        channel: releases
      - name: go blog
        url: https://go.dev/blog/feed.atom
        channel: news
        interval: 10m
  3. Sử dụng

    import Pusher from 'pusher-js';
    
    const pusher = new Pusher('YOUR_APP_KEY', {
      cluster: 'hkg',
      wsHost: 'ws.hibira.io',
      enabledTransports: ['ws', 'wss'],
    });
    
    // { feed: { name, title }, id, title, link, summary, author, image, published }
    pusher.subscribe('releases').bind('new-item', (item) => {
      console.log(item.feed.title, item.title, item.link);
    });

Trước khi bắt đầu

  • Secret của ứng dụng chỉ hiện một lần, khi bạn tạo ứng dụng hoặc xoay vòng secret. Hãy giữ nó trên máy chủ, không bao giờ đưa vào trình duyệt hay bản build game.
  • Mỗi sự kiện được giữ dưới 3.500 byte để vừa giới hạn 4 KB của gói Free; phần tóm tắt được rút ngắn trước. Lấy toàn bộ bài viết từ item.link.
  • Không muốn tự chạy máy chủ? Trigger RSS trong n8n, Make, Activepieces hoặc Node-RED nối với node Hibira của chúng tôi cũng làm được điều tương tự, do workflow thăm dò.
  • Chỉ chuyển tiếp các feed bạn được phép dùng và tuân thủ điều khoản của từng trang nguồn.
  • Để bảng điều khiển cập nhật thời gian thực trên gói Free, hãy thêm địa chỉ của nó (ví dụ http://localhost:8080) vào danh sách nguồn được phép của ứng dụng.
  • Với gói Free, hãy thêm mọi origin mà trang của bạn tải từ đó vào Origin được phép của ứng dụng (http://localhost:3000 khi phát triển, sau đó là tên miền của bạn). "*" cần gói trả phí.

Dùng app key từ bảng điều khiển; secret chỉ để trên máy chủ của bạn. Kênh, sự kiện và endpoint xác thực hoạt động y như với Pusher. Tạo tài khoản miễn phí →