Skip to content

bruceblink/LatestNews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Latest News

优雅地阅读实时热门新闻

Note

当前版本为 DEMO,仅支持中文。正式版将提供更好的定制化功能和英文内容支持。 当前项目是基于newsnow,不得不承认原项目是一个优秀的项目, 但是也有许多小问题,我会修复它们。由于我的个人风格和审美和原作者的差异比较大,我想基于个人想法开发出一个新的项目,并加入一些其他的功能和技术。

功能特性

  • 优雅的阅读界面设计,实时获取最新热点新闻
  • 支持 GitHub 登录及数据同步
  • 默认缓存时长为 30 分钟,登录用户可强制刷新获取最新数据
  • 登录用户支持同步用户关注的内容
  • 根据内容源更新频率动态调整抓取间隔(最快每 2 分钟),避免频繁抓取导致 IP 被封禁
  • 支持使用第三方鉴权和授权服务,使用方式可以参考ani-updater中的auth
  • 支持 MCP server
{
  "mcpServers": {
    "newsnow": {
      "command": "npx",
      "args": [
        "-y",
        "newsnow-mcp-server"
      ],
      "env": {
        "BASE_URL": "https://news.likanug.top"
      }
    }
  }
}

你可以将 BASE_URL 修改为你的域名。

部署指南

基础部署

无需登录和缓存功能时,可直接部署至 Cloudflare Pages 或 Vercel:

  1. Fork 本仓库
  2. 导入至目标平台

Cloudflare Pages 配置(必须按如下配置)

  • 构建命令:pnpm run build
  • 输出目录:dist/output/public

GitHub OAuth 配置

  1. 创建 GitHub App
  2. 无需特殊权限
  3. 回调 URL 设置为:https://your-domain.com/api/oauth/github(替换 your-domain 为实际域名)
  4. 获取 Client ID 和 Client Secret

环境变量配置

参考 example.env.server 文件,本地运行时重命名为 .env 并填写以下配置:

# JWT Secret, 通常就用 Clien Secret
JWT_SECRET=
# 初始化数据库, 首次运行必须设置为 true,之后可以将其关闭
INIT_TABLE=true
# 是否启用缓存
ENABLE_CACHE=true

数据库支持

本项目主推 Cloudflare Pages 以及 Docker 部署, ~~~Vercel 需要你自行搞定数据库( 尝试了很多种方式vercel上部署,数据库的问题无法解决,如果需要完整功能推荐使用Cloudflare Pages)~~ ,其他支持的数据库可以查看 https://db0.unjs.io/connectors

  1. 在 Cloudflare Worker 控制面板创建 D1 数据库
  2. wrangler.toml 中配置 database_iddatabase_name
  3. 若无 wrangler.toml ,可将 example.wrangler.toml 重命名并修改配置
  4. 重新部署生效

Docker 部署

对于 Docker 部署,只需要项目根目录 docker-compose.yaml 文件,同一目录下执行

  docker compose up

同样可以通过 docker-compose.yaml 配置环境变量。

开发

Note

需要 Node.js >= 22

启动应用

  npm install -g pnpm
  pnpm i
  pnpm dev

你可能想要添加数据源,请关注 shared/sources server/sources,项目类型完备,结构简单,请自行探索。

路线图

  • 添加 多语言支持(英语、中文,更多语言即将推出)
  • 改进 个性化选项(基于分类的新闻、保存的偏好设置)
  • 扩展 数据源 以涵盖多种语言的全球新闻

贡献指南

欢迎贡献代码!您可以提交 pull request 或创建 issue 来提出功能请求和报告 bug

License

MIT

About

一个实时的新闻聚合web app

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages