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
- 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
For deployments without login and caching:
- Fork this repository
- Import to platforms like Cloudflare Page or Vercel
- Build command:
pnpm run build
- Output directory:
dist/output/public
- 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
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
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
In project root directory:
docker compose up
You can also set Environment Variables in docker-compose.yml
.
Note
Requires Node.js >= 20
corepack enable
pnpm i
pnpm dev
Refer to shared/sources
and server/source
s directories. The project provides complete type definitions and a clean architecture.
- 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.
Contributions are welcome! Feel free to submit pull requests or create issues for feature requests and bug reports.
[点击展开] 赞赏支持 ~🧧
*我非常感谢您的赞赏和支持,它们将极大地激励我继续创新,持续产生有价值的工作。*- USDT-TRC20:
TWTxUyay6QJN3K4fs4kvJTT8Zfa2mWTwDD
- TRX-TRC20:
TWTxUyay6QJN3K4fs4kvJTT8Zfa2mWTwDD
免责声明:
- 1、该项目设计和开发仅供学习、研究和安全测试目的。请于下载后 24 小时内删除, 不得用作任何商业用途, 文字、数据及图片均有所属版权, 如转载须注明来源。
- 2、使用本程序必循遵守部署服务器所在地区的法律、所在国家和用户所在国家的法律法规。对任何人或团体使用该项目时产生的任何后果由使用者承担。
- 3、作者不对使用该项目可能引起的任何直接或间接损害负责。作者保留随时更新免责声明的权利,且不另行通知。