A lightweight nCore recommended torrent tracker with Telegram notifications.
1.4K
A lightweight, self-hosted Python application that monitors nCore for recommended torrents and sends instant Telegram notifications when new ones appear.
If you often check the "Recommended" (Ajánlott) section on nCore but don't want to manually refresh the page, this tool does it for you. It remembers which torrents you've already seen and only alerts you about the brand new additions.
docker-compose.yml and fill in your credentials.docker compose up -dIf you don't want to clone the repository, just copy this content into a docker-compose.yml file or a Portainer stack:
services:
ncore-tracker:
image: ntwritecode/ncore-notifier:latest
container_name: ncore-tracker
restart: unless-stopped
environment:
- NCORE_USER=your_username
- NCORE_PASS=your_password
- NCORE_TYPES=HD_HUN,HDSER_HUN
- CRON_INTERVAL=60
- TELEGRAM_TOKEN=your_bot_token
- TELEGRAM_CHAT_ID=your_chat_id
- SILENT_FIRST_RUN=True
- ONLY_RECENT_YEARS=True
- NOTIFICATION_LINK_TYPE=both
volumes:
- ./data:/app/data
Fill in your credentials as follows:
NCORE_USER: Your nCore username.NCORE_PASS: Your nCore password.NCORE_TYPES: What you are interested in (e.g., HD_HUN,HDSER_HUN).TELEGRAM_TOKEN: Your bot's token from @BotFather.TELEGRAM_CHAT_ID: Your chat ID (you can get it from @userinfobot).SILENT_FIRST_RUN: (Optional) True to skip notifications for existing torrents on first start.ONLY_RECENT_YEARS: (Optional) True to only notify about torrents from this or the previous year.NOTIFICATION_LINK_TYPE: (Optional) both, url (details), or download.Run: Choose one of the methods below:
Method B: Local Execution (for testing)
If you want to run it without Docker using uv:
cp .env.example .env.env with your real data.uv pip install -r requirements.txt
uv run python main.py
If you are looking for something specific (e.g. a specific movie that isn't currently "recommended"), you can create a wishlist.json file in your ./data directory. The app will search for these patterns on every run.
wishlist.json Example:
[
{
"pattern": "Forrest Gump",
"type": ["HD_HUN", "HD"],
"sort_by": "SEEDERS",
"sort_order": "DECREASING"
},
{
"pattern": "Inception",
"type": "HD_HUN"
}
]
When an item is found and notified, the app will automatically add "notified": true to that item in the JSON so it doesn't alert you again.
These values apply to both the global NCORE_TYPES configuration and the wishlist.json fields.
type)| Type | Description | Type | Description |
|---|---|---|---|
HD_HUN | HD Movies (HU) | HD | HD Movies (EN) |
HDSER_HUN | HD Series (HU) | HDSER | HD Series (EN) |
SD_HUN | SD Movies (HU) | SD | SD Movies (EN) |
SDSER_HUN | SD Series (HU) | SDSER | SD Series (EN) |
DVD_HUN | DVD (HU) | DVD | DVD (EN) |
DVD9_HUN | DVD9 (HU) | DVD9 | DVD9 (EN) |
DVDSER_HUN | DVD Series (HU) | DVDSER | DVD Series (EN) |
GAME_ISO | PC Games (ISO) | GAME_RIP | PC Games (RIP) |
CONSOLE | Console Games | ISO | Other ISO |
EBOOK_HUN | E-book (HU) | EBOOK | E-book (EN) |
MP3_HUN | MP3 (HU) | MP3 | MP3 (EN) |
LOSSLESS_HUN | Lossless (HU) | LOSSLESS | Lossless (EN) |
CLIP | Music Video | MOBIL | Mobile |
MISC | Misc | ISO | Other ISO |
XXX_HD | Adult HD | XXX_DVD | Adult DVD |
XXX_SD | Adult SD | XXX_IMG | Adult Image |
ALL_OWN | All (Own) |
sort_by)| Value | Description |
|---|---|
NAME | Sort by title |
UPLOAD | Sort by upload date |
SIZE | Sort by file size |
TIMES_COMPLETED | Sort by download count |
SEEDERS | Sort by active seeders |
LEECHERS | Sort by active leechers |
sort_order)| Value | Description |
|---|---|
INCREASING | Ascending order (A-Z, oldest first) |
DECREASING | Descending order (Z-A, newest first) |
CRON_INTERVAL: Frequency of checks in minutes (default is 60).TELEGRAM_TOKEN: Your bot's token.TELEGRAM_CHAT_ID: Your Telegram chat ID.SILENT_FIRST_RUN: True to skip notifications for existing torrents on first start.ONLY_RECENT_YEARS: True to only notify about torrents from this or the previous year.NOTIFICATION_LINK_TYPE: both, url (details), or download.RETENTION_MONTHS: How many months to keep seen torrents in the database (default: 6)../data)../data in your current folder.TELEGRAM_TOKEN empty, the app will just print the new torrents to your terminal.CRON_INTERVAL.Built with ❤️ by NtWriteCode
Content type
Image
Digest
sha256:43ade1747…
Size
46.6 MB
Last updated
8 months ago
docker pull ntwritecode/ncore-notifier