DownVid
This supports 1000+ websites, with a clean interface, across macOS / Windows / Linux.
AI translation
One place to browse the latest headlines from Prothom Alo, The Daily Star and more Bangladeshi newspapers. Every story links to the original publisher.
MediaJavaScript · CSSGitHub @NoobMamunOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A news discovery portal: pick a newspaper, browse its latest headlines from your chosen sections, search, and open the original article on the publisher's site. Currently: Prothom Alo (Bangla), The Daily Star, The Guardian and The New York Times (English).
npm install
npm start # http://localhost:3000
npm test
server/
newspapers/ one config file per paper + index.js registry <- the only place to touch to add a paper
lib/rss.js RSS 2.0 parsing + normalisation into a common Article shape
lib/text.js sanitising (tags stripped, entities decoded, only https URLs kept)
lib/service.js fetch all feeds of a paper, merge, de-duplicate, cache (5 min), serve stale on failure
sections.js canonical sections (Bangladesh, Politics, World, …) with Bangla/English labels
index.js Express: GET /api/newspapers, GET /api/news/:id[?refresh=1], static files, CSP
lib/images.js og:image lookup for feeds without images (cached, throttled)
public/ no-build ES-module frontend (components/card.js = NewsCard, components/views.js, app.js)
The browser only talks to /api/* — newspaper sites are fetched server-side (no CORS issues, one shared cache, one place to sanitise). No API keys are needed or present.
server/newspapers/ittefaq.js:export default {
id: 'ittefaq', name: 'Ittefaq', nativeName: 'ইত্তেফাক', language: 'bn',
monogram: 'ই', brandColor: '#1b7f4b', logo: null, homepage: 'https://www.ittefaq.com.bd',
feeds: [
{ url: 'https://…/politics/rss.xml', section: 'politics' }, // section fixed per feed, or…
{ url: 'https://…/rss.xml' }, // …derived via sectionByPath (see prothom-alo.js)
],
// optional: sectionByPath
};
newspapers array in server/newspapers/index.js.The header tab, section navigation, search, caching, refresh and error handling all pick it up automatically. A paper whose feed isn't standard RSS 2.0 would need a small custom parser added to lib/rss.js.
GET /api/news returns all papers in one request; one failing paper doesn't hide the rest). Category chips (Bangladesh, Politics, World, Business, Opinion) filter it, and the By source toggle groups it per newspaper. Cards show source, category, exact time and a 1–2 sentence summary.#/daily-star/sports) is shareable.media:content / enclosure; the widest one) or, for The Daily Star (no images in its RSS), from the article's og:image tag (fetched politely: 3 at a time, cached 24 h, only for stories shown). Images are hot-linked from the publisher (referrerpolicy="no-referrer"), never copied or stored; a branded placeholder with the source initials is used when an image is missing or fails to load. They remain the publishers' copyright, so keep the link-back to the original article.sections allowlist in its config (Prothom Alo: politics + economy; The Daily Star: Bangladesh + opinion; The Guardian: Bangladesh, world, business, opinion; The New York Times: world, business, opinion). Everything else is dropped on the server, so the feed, search and Telegram alerts only cover those sections. Stories are sorted newest first and de-duplicated; up to 30 per section are kept (maxPerSection). Prothom Alo combines its RSS feed (summaries) with its official news sitemap (news_sitemap.xml, advertised in its robots.txt; ~600 recent stories, no summaries), so its sections have 20–30 stories each. Telegram alerts ignore stories older than 6 hours.While the server runs, it checks every paper every 3 minutes and sends each newly published headline (title, section, source, link; text only) to a Telegram chat.
/newbot → copy the bot token..env.example to .env, paste the token as TELEGRAM_BOT_TOKEN=.npm run telegram:chatid, paste the printed id as TELEGRAM_CHAT_ID= in .env.npm run telegram:test (you should get a message), then restart npm start.Notes: the first run only records current stories (no flood of old news); at most 8 alerts per paper per round; a paper can opt out with notify: false in its config (The Guardian and The New York Times do); seen stories are remembered in data/seen.json so restarts don't repeat alerts. Alerts only run while the server is running. .env is git-ignored and never sent to the browser.