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
Что это такое?NewsNow — это веб-приложение с открытым исходным кодом для удобного чтения новостей в реальном времени и трендовых новостей: оно собирает популярные материалы из разных источников в один чистый и удобный для чтения интерфейс.
Это готовый сайт или его нужно размещать самому?И то и другое — есть публичная демо-версия, которой можно пользоваться сразу, а код рассчитан на самостоятельное развёртывание, что открывает вход через GitHub, синхронизацию данных и кэширование.
Как запустить собственный экземпляр?Сделайте форк репозитория и импортируйте его в Cloudflare Pages или Vercel — для базового развёртывания не нужны ни вход, ни кэширование (команда сборки: pnpm run build, каталог вывода: dist/output/public). Также поддерживается развёртывание через Docker из корня проекта.
Что нужно для полной настройки со входом и кэшированием?Для входа нужно создать GitHub OAuth App — никаких особых разрешений, достаточно Client ID и Secret. Для кэширования нужна база данных, рекомендуется Cloudflare D1. Для локальной разработки требуется Node.js >= 20.
Есть ли какие-то подводные камни?Публичная демо-версия пока поддерживает только китайский язык; полноценная версия с английским контентом и более гибкими настройками ещё впереди. Приём вкладов приостановлен, пока не будет завершена новая версия.
Насколько свежая лента новостей?Трендовые новости обновляются в реальном времени и по умолчанию кэшируются на 30 минут; вошедшие пользователи могут принудительно обновить их. Интервалы сбора данных подстраиваются под частоту обновления каждого источника (не чаще чем раз в 2 минуты), чтобы экономить ресурсы и не попасть под блокировку по IP.
Могу ли я добавить свои источники новостей?Да. Источники находятся в каталогах shared/sources и server/sources с полными описаниями типов и понятной архитектурой, а в CONTRIBUTING.md есть подробные инструкции по добавлению новых.
Зачем нужна поддержка MCP-сервера?В NewsNow есть поддержка MCP-сервера, поэтому ИИ-инструменты и агенты, совместимые с MCP, могут программно использовать его новостные данные.
Что планируется в будущем?Поддержка нескольких языков (английский, китайский и другие), персонализация — например, новости по категориям и сохранение настроек — а также больше источников, освещающих мировые новости на разных языках.
Creator
newsnext
Size
6.1 MB
Stars
22.1K
Age
2y
Commits · 90 Days