newsnow README

The project's README from github.com/newsnext/newsnow. As one markdown file: README.md.

English | 简体中文 | 日本語

[!NOTE] This is a demo version currently supporting Chinese only. A full-featured version with better customization and English content support will be released later.

Elegant reading of real-time and hottest news

Features

{
  "mcpServers": {
    "newsnow": {
      "command": "npx",
      "args": [
        "-y",
        "newsnow-mcp-server"
      ],
      "env": {
        "BASE_URL": "https://newsnow.busiyi.world"
      }
    }
  }
}

You can change the BASE_URL to your own domain.

Deployment

Basic Deployment

For deployments without login and caching:

  1. Fork this repository
  2. Import to platforms like Cloudflare Page or Vercel

Cloudflare Page Configuration

GitHub OAuth Setup

  1. Create a GitHub App
  2. No special permissions required
  3. Set callback URL to: https://your-domain.com/api/oauth/github (replace your-domain with your actual domain)
  4. Obtain Client ID and Client Secret

Environment Variables

Refer to example.env.server. For local development, rename it to .env.server and configure:

# Github Client ID
G_CLIENT_ID=
# Github Client Secret
G_CLIENT_SECRET=
# JWT Secret, usually the same as Client Secret
JWT_SECRET=
# Initialize database, must be set to true on first run, can be turned off afterward
INIT_TABLE=true
# Whether to enable cache
ENABLE_CACHE=true

Database Support

Supported database connectors: https://db0.unjs.io/connectors Cloudflare D1 Database is recommended.

  1. Create D1 database in Cloudflare Worker dashboard
  2. Configure database_id and database_name in wrangler.toml
  3. If wrangler.toml doesn't exist, rename example.wrangler.toml and modify configurations
  4. Changes will take effect on next deployment

Docker Deployment

In project root directory:

docker compose up

You can also set Environment Variables in docker-compose.yml.

Development

[!Note] Requires Node.js >= 20

corepack enable
pnpm i
pnpm dev

Adding Data Sources

Refer to shared/sources and server/sources directories. The project provides complete type definitions and a clean architecture.

For detailed instructions on how to add new sources, see CONTRIBUTING.md.

Roadmap

release when ready

Contributing

Contributions are welcome! Feel free to submit pull requests or create issues for feature requests and bug reports.

The new version is coming soon and we will no longer accept contributions

See CONTRIBUTING.md for detailed guidelines on how to contribute, especially for adding new data sources.

License

MIT © ourongxing

Sponsorship

If you rely on this service, sponsorship is welcome to help it run for the long term. If you need customization or other help, you can also use the contact method below and include a note.

newsnow (newsnext/newsnow)

Searching Database…

22.1K ·GitHub
What is this?NewsNow is an open-source web app for elegantly reading real-time and trending news, aggregating hot stories from multiple sources into one clean, readable interface.
Is this a ready-made website or something I have to host myself?Both — there is a public demo you can use right away, and the codebase is built for self-deployment, which unlocks GitHub login, data synchronization and caching.
How do I get my own instance running?Fork the repository and import it to Cloudflare Pages or Vercel — a basic deployment needs no login or caching (build command: pnpm run build, output directory: dist/output/public). Docker deployment from the project root is also supported.
What does a full setup with login and caching require?Login needs a GitHub OAuth App — no special permissions, just a Client ID and Secret. Caching needs a database, with Cloudflare D1 recommended. Local development requires Node.js >= 20.
Any catch I should know about?The public demo supports Chinese only for now; a full-featured version with English content and better customization is still to come. Contributions are paused while the new version is being finished.
How fresh is the news feed?Trending news updates in real time and is cached for 30 minutes by default; logged-in users can force a refresh. Scraping intervals adapt to each source's update frequency (minimum every 2 minutes) to save resources and avoid IP bans.
Can I add my own news sources?Yes. Sources live in the shared/sources and server/sources directories with complete type definitions and a clean architecture, and CONTRIBUTING.md has detailed instructions for adding new ones.
What does the MCP server support do?NewsNow includes MCP server support, so MCP-compatible AI tools and agents can consume its news data programmatically.
What's on the roadmap?Multi-language support (English, Chinese and more), personalization options like category-based news and saved preferences, and more data sources covering global news in multiple languages.
Creator
newsnext
Size
6.1 MB
Stars
22.1K
Age
2y
Commits · 90 Days