FlashPoint aggregates intelligence from 53 sources across multiple platforms, providing comprehensive coverage of global geopolitical events.
| Type | Count | Update Frequency |
|---|---|---|
| RSS Feeds | 18 | Every 5 minutes |
| Telegram Channels | 25 | Real-time streaming |
| Reddit Communities | 10 | Every 1 minute |
| News APIs | 1 (GNews) | Every 10 minutes |
Total: 53 active sources
All sources are configured in data/data_sources.json:
{
"telegram_channels": [ ... ],
"reddit_subreddits": [ ... ],
"rss_feeds": [ ... ],
"news_api": { ... }
}Real-time streaming via Telethon. Bias tags indicate source perspective.
@rian_ru- RIA Novosti (Russia)@rt_russian- RT (Russia Today)@tass_agency- TASS (Russia)@mod_russia- Russian Ministry of Defense@cgtnofficial- CGTN (China)@globaltimesnews- Global Times (China)
@ukrinform- Ukrinform (Ukraine)@uniannet- UNIAN (Ukraine)@bbcnews- BBC News@reuters- Reuters@ap- Associated Press@cnnbrk- CNN Breaking News@nytimes- New York Times
@AlJazeera- Al Jazeera English@QudsNen- Al Quds News@IsraelHayom- Israel Hayom@MiddleEastEye- Middle East Eye@MEMRIReports- MEMRI
@Osinttechnical- OSINT Technical@IntelCrab- Intel Crab@sentdefender- Sentinel Defender@warmonitors- War Monitors@militarylandnet- Military Land@CIGeography- Clash Report
Polled via public JSON API (no authentication required).
r/worldnews- Global news and discussionr/geopolitics- Geopolitical analysisr/internationalnews- International reportingr/GlobalTalk- Global issues
r/UkrainianConflict- Ukraine war updatesr/ukraine- Ukrainian perspectiver/syriancivilwar- Middle East conflictsr/YemeniCrisis- Yemen coverage
r/OSINT- Open-source intelligencer/intelligence- Intelligence community
Parsed with feedparser library.
- Reuters World News -
http://feeds.reuters.com/Reuters/worldNews - BBC World -
http://feeds.bbci.co.uk/news/world/rss.xml - Al Jazeera -
https://www.aljazeera.com/xml/rss/all.xml - AP Top News -
https://apnews.com/apf-topnews - France24 World -
https://www.france24.com/en/rss
- Haaretz (Israel) -
https://www.haaretz.com/cmlink/1.628752 - Times of Israel -
https://www.timesofisrael.com/feed/ - Arab News -
https://www.arabnews.com/rss.xml - South China Morning Post -
https://www.scmp.com/rss/91/feed
- Defense News -
https://www.defensenews.com/arc/outboundfeeds/rss/ - Jane's Defence -
https://www.janes.com/feeds/defence-news - Breaking Defense -
https://breakingdefense.com/feed/
- Foreign Policy -
https://foreignpolicy.com/feed/ - War on the Rocks -
https://warontherocks.com/feed/ - The Diplomat -
https://thediplomat.com/feed/
- Syria Direct -
https://syriadirect.org/feed/ - Yemen Data Project -
https://www.yemendataproject.org/rss/ - Ukraine Crisis Media Center -
https://uacrisis.org/en/feed/
- Update Frequency: Every 10 minutes
- Query: "geopolitics OR conflict OR war OR crisis"
- Language: English
- Max Results: 10 per fetch
- API Key: Required (free tier: 100 requests/day)
Configuration in .env:
GNEWS_API_KEY=your_key_hereSources are tagged with bias indicators:
| Bias Tag | Description | Examples |
|---|---|---|
State-Media (RU) |
Russian state media | RT, TASS, RIA Novosti |
State-Media (CN) |
Chinese state media | CGTN, Global Times |
State-Media (UA) |
Ukrainian state media | Ukrinform, UNIAN |
Western/Global |
Western mainstream | BBC, Reuters, AP, NYT |
Neutral/Global |
International neutrality | Al Jazeera, France24 |
Regional |
Regional focus | Arab News, Haaretz, SCMP |
OSINT |
Open-source intelligence | OSINT Technical, Intel Crab |
Defense |
Military/defense focus | Defense News, Jane's |
- Add to
data/data_sources.json:
{
"username": "channel_name",
"bias": "Neutral",
"enabled": true
}- Restart workers:
./stop.sh && ./start.sh
- Add to
data/data_sources.json:
"reddit_subreddits": ["new_subreddit"]- Restart workers
- Add to
data/data_sources.json:
{
"url": "https://example.com/feed.xml",
"name": "Example News",
"enabled": true
}- Restart workers
- Europe (Ukraine, Russia): 12 sources
- Middle East (Israel, Syria, Yemen): 8 sources
- Asia-Pacific (China, Taiwan): 4 sources
- Global (Multi-regional): 29 sources
- Real-time (< 1 minute): Telegram (25 sources)
- Near real-time (1-5 minutes): Reddit (10 sources)
- Regular (5-10 minutes): RSS (18 sources) + GNews (1)
- English: 53 sources (100%)
- Russian (via translation): 6 sources
- Chinese (via translation): 2 sources
- Arabic (via translation): 3 sources
Method: SHA256 content hashing
Window: 24 hours
Storage: Redis with automatic expiration
This prevents:
- Duplicate processing of same content
- Cross-posting across sources
- Feed republishing same article
- Flood Wait: Auto-handled by Telethon
- Max Messages: No hard limit (streaming)
- User-Agent: FlashPoint/2.0
- Rate: 1 request/minute (30 requests/hour)
- 429 Handling: Exponential backoff
- Politeness Delay: 5 seconds between feeds
- User-Agent: FlashPoint RSS Reader
- Free Tier: 100 requests/day
- Schedule: Every 10 minutes = 144 requests/day
- Rate Limit Handling: Skip on 429, retry next cycle
View source statistics:
-- PostgreSQL query
SELECT source, COUNT(*) as event_count
FROM events
WHERE timestamp > NOW() - INTERVAL '24 hours'
GROUP BY source
ORDER BY event_count DESC;Check worker logs:
# RSS worker
tail -f logs/celery-worker.log | grep rss_worker
# Telegram worker
tail -f logs/celery-worker.log | grep telegram_worker
# Reddit worker
tail -f logs/celery-worker.log | grep reddit_worker- Check session file:
session_flashpoint.session - Verify credentials in
.env - Check logs:
grep telegram logs/celery-worker.log - Possible flood wait - check Telethon errors
- Reduce polling frequency in
celery_config.py - Check User-Agent string
- Verify no other Reddit scraping running
- Check feed URL is accessible
- Verify SSL certificate validity
- Check
feedparserparsing errors in logs - Some feeds may be geo-blocked
- Check daily usage:
https://gnews.io/ - Reduce polling frequency if hitting limit
- Consider upgrading plan or using alternative
- Tier 1 (High confidence): Reuters, AP, BBC
- Tier 2 (Medium confidence): Regional news, verified Telegram
- Tier 3 (Low confidence): Reddit, unverified social media
FlashPoint encourages cross-referencing by:
- Showing source and bias tag on each event
- Bias meter comparing narratives
- Multiple sources per event in RAG context
Last Updated: March 2026
Total Active Sources: 53