DownVid
1000개 이상의 사이트를 지원하고, 인터페이스가 간결하며 macOS·Windows·Linux에서 모두 사용 가능
Prothom Alo·The Daily Star 등 방글라데시 주요 신문의 최신 헤드라인을 한 곳에서 원본 링크와 함께 제공
One place to browse the latest headlines from Prothom Alo, The Daily Star and more Bangladeshi newspapers. Every story links to the original publisher.
미디어JavaScript · CSSGitHub @NoobMamun온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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.