在这个信息爆炸的时代,我们每天都要在微博、知乎、抖音、头条等多个平台间来回切换,追踪热点、关注趋势。每个平台都有自己独特的热搜榜单,分散的信息源不仅浪费我们的时间,还可能导致重要信息的遗漏。今天我要向大家推荐一款开源新闻聚合工具——NewsNow,它能优雅地解决这些问题,让你在一个界面中便捷地获取所有平台的热点和实时资讯。

NewsNow项目简介

NewsNow是由开发者ourongxing创建的一款开源新闻聚合工具,GitHub上已获得4.5k星标。它通过整合多源新闻API(如NewsAPI、GNews等)和实时抓取各大平台的热榜信息,将全球热点、行业动态、政策解读等分类呈现。

核心特性

NewsNow安装教程

NewsNow支持多种部署方式,包括Docker、Cloudflare Pages、Vercel等。下面重点介绍最常用的Docker部署方法。

1. Docker环境准备

首先确保你的系统已安装以下工具:

Windows用户安装步骤

  1. 启用WSL2:在PowerShell中执行 wsl --install1
  2. 从Docker官网下载安装Docker Desktop
  3. 验证安装:执行 docker --versiondocker-compose --version查看版本

2. 获取NewsNow源代码

有两种方式获取代码:

bash

复制

下载

# 方式一:使用Git克隆
git clone https://github.com/ourongxing/newsnow.git

# 方式二:直接到GitHub下载ZIP包并解压

3. 配置环境变量

在项目根目录下:

  1. 找到 example.env.server文件
  2. 重命名为 .env.server
  3. 编辑文件内容如下:

env

复制

下载

# Github Client ID(可选)
G_CLIENT_ID=your_github_client_id

# Github Client Secret(可选)
G_CLIENT_SECRET=your_github_client_secret

# JWT Secret
JWT_SECRET=your_jwt_secret

# 首次运行设为true
INIT_TABLE=true

# 启用缓存
ENABLE_CACHE=true

提示:如果不配置GitHub登录功能,G_CLIENT_ID和G_CLIENT_SECRET可留空,但体验会受限

4. 启动服务

在项目根目录执行:

bash

复制

下载

docker-compose up -d

首次运行会自动拉取所需镜像并构建容器。完成后,默认可通过 http://localhost:4444访问。

群晖NAS部署方案

对于NAS用户,NewsNow同样友好:

  1. 在FileStation中新建 newsnow文件夹
  2. 创建 docker-compose.yml文件并上传,内容如下:

yaml

复制

下载

version: '3'

services:
  newsnow:
    image: ghcr.io/ourongxing/newsnow:latest
    container_name: newsnow
    restart: always
    ports:
      - '4444:4444'
    environment:
      - G_CLIENT_ID=
      - G_CLIENT_SECRET=
      - JWT_SECRET=
      - INIT_TABLE=true
      - ENABLE_CACHE=true
  1. 在Container Manager中新建项目,选择该文件路径

使用技巧

  1. 个性化新闻流:在"更多"页面点星标关注喜欢的平台,在"关注"页查看定制内容
  2. GitHub登录配置:如需公网部署,建议配置GitHub OAuth应用:
    • 应用名称:newsnow-login
    • 主页URL:http://localhost:4444
    • 回调URL:[http://localhost:4444/api/auth/callback/github:cite1]
  3. 数据库初始化:首次运行后,将 INIT_TABLE改为 false避免重复初始化
  4. 移动端适配:NewsNow在手机浏览器上也有优秀的表现

项目优势与价值

NewsNow不仅仅是一个技术项目,正如开发者ourongxing在代码注释中所写:"我们不是在过滤信息,而是在雕刻时间。" 在算法推荐沦为流量工具的今天,NewsNow用开源精神证明:技术可以既有温度又有态度。

对于开发者而言,NewsNow采用TypeScript编写,是学习现代Web开发的优秀范例;对于普通用户,它提供了清爽高效的新闻阅读体验,告别信息过载的困扰。