ourongxing/newsnow
Fork: 3283 Star: 11348 (更新于 2025-06-21 20:18:10)
license: MIT
Language: TypeScript .
Elegant reading of real-time and hottest news
最后发布版本: v0.0.30 ( 2025-05-11 00:56:20)
NewsNow
[!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
- Clean and elegant UI design for optimal reading experience
- Real-time updates on trending news
- GitHub OAuth login with data synchronization
- 30-minute default cache duration (logged-in users can force refresh)
- Adaptive scraping interval (minimum 2 minutes) based on source update frequency to optimize resource usage and prevent IP bans
- support MCP server
{
"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:
- Fork this repository
- Import to platforms like Cloudflare Page or Vercel
Cloudflare Page Configuration
- Build command:
pnpm run build
- Output directory:
dist/output/public
GitHub OAuth Setup
- Create a GitHub App
- No special permissions required
- Set callback URL to:
https://your-domain.com/api/oauth/github
(replaceyour-domain
with your actual domain) - 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.
- Create D1 database in Cloudflare Worker dashboard
- Configure database_id and database_name in wrangler.toml
- If wrangler.toml doesn't exist, rename example.wrangler.toml and modify configurations
- 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
- Add multi-language support (English, Chinese, more to come).
- Improve personalization options (category-based news, saved preferences).
- Expand data sources to cover global news in multiple languages.
release when ready
Contributing
Contributions are welcome! Feel free to submit pull requests or create issues for feature requests and bug reports.
See CONTRIBUTING.md for detailed guidelines on how to contribute, especially for adding new data sources.
License
MIT © ourongxing
最近版本更新:(数据更新于 2025-06-21 20:18:08)
2025-05-11 00:56:20 v0.0.30
2025-05-10 18:34:55 v0.0.29
2025-04-28 16:19:37 v0.0.28
2025-04-26 18:18:57 v0.0.27
2025-04-07 01:05:27 v0.0.26
2025-03-27 20:15:43 v0.0.25
2025-03-15 13:15:01 v0.0.24
2025-03-04 13:33:28 v0.0.23
2025-03-01 12:09:39 v0.0.22
2025-01-19 18:47:11 v0.0.21
主题(topics):
elegant, news
ourongxing/newsnow同语言 TypeScript最近更新仓库
2025-06-25 00:03:42 LLOneBot/LLOneBot
2025-06-24 15:18:09 1600822305/AetherLink
2025-06-24 12:40:29 Effect-TS/effect
2025-06-24 10:37:04 x-extends/vxe-table
2025-06-24 00:11:00 nocobase/nocobase
2025-06-23 23:40:18 lobehub/lobe-chat