dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
ScamSafe is a mobile-first React frontend for a Malaysia-focused scam-awareness product. This README is intentionally based on the current codebase, not earlier proposal notes, so it only documents behavior, copy, routes, and data sources that are actually present in the frontend.
ScamSafe can still be described as a project aligned with UN Goal 16, especially its themes of ethical technology, safety, and accessible digital participation. That higher-level framing is valid to keep in the README as project context.README 전문 보기 ↗ScamSafe is a mobile-first React frontend for a Malaysia-focused scam-awareness product. This README is intentionally based on the current codebase, not earlier proposal notes, so it only documents behavior, copy, routes, and data sources that are actually present in the frontend.
ScamSafe can still be described as a project aligned with UN Goal 16, especially its themes of ethical technology, safety, and accessible digital participation. That higher-level framing is valid to keep in the README as project context.
At the same time, this README treats the frontend codebase as the source of truth for implementation details. In other words:
ScamSafe is designed as an AI-assisted scam-awareness product for older adults in Malaysia. The broader project direction emphasizes accessible protection, low cognitive load, and practical support for users who may be more vulnerable to online fraud because of limited digital confidence, urgency-based scam tactics, and trust in official-looking messages.
The broader project goal is to help users:
One project persona used during design is:
Name: Feng TanAge: 65Location: Cheras, Kuala Lumpur, MalaysiaBackground: retired secondary school teacher with stable financial resourcesThis persona is background design context, not live application state.
These sources can remain in the README as project research context. They are not all directly consumed by the frontend at runtime.
Scam CheckerAI Scam ChatTest YourselfScam NewsGet HelpAbout Us, Data Sources, and Risk GuideThe homepage and footer copy lives in src/lib/i18n/provider.tsx. The current English product description used by the frontend is:
ScamSafe is a simple website that helps older adults in Malaysia check suspicious messages and stay safer online.
The current homepage stats shown in the UI are:
SMS/calls — Telecommunication scamsRM255.37m — Elderly fraud losses27.9% — Elderly online fraud cases44% — Losses involving age 50+If these values change in the UI, update both src/lib/i18n/provider.tsx and this README.
| Route | Page file | Purpose |
|---|---|---|
#/ | src/pages/home/HomePage.tsx | Landing page and feature launcher |
#/scam-detection | src/pages/scam-detection/ScamDetectionPage.tsx | Scam Checker text-analysis flow |
#/scam-simulation | src/pages/scam-simulation/ScamSimulationPage.tsx | AI Scam Chat practice flow |
#/study-center | src/pages/study-center/StudyCenterPage.tsx | Quiz and progress flow |
#/knowledge-hub | src/pages/knowledge-hub/KnowledgeHubPage.tsx | Scam news list and detail flow |
#/post-scam-support | src/pages/post-scam-support/PostScamSupportPage.tsx | Post-scam recovery guidance |
#/notification-reveal | src/pages/notification-reveal/NotificationRevealPage.tsx | Notification-result learning page |
#/data-sources | src/pages/footer-info/FooterInfoPage.tsx | Footer data-sources page |
#/about-us | src/pages/footer-info/FooterInfoPage.tsx | Footer about page |
#/risk-guide | src/pages/footer-info/FooterInfoPage.tsx | Footer risk-guide page |
Route constants and hash parsing live in src/app/routes.ts.
src/pages/scam-detection/ScamDetectionPage.tsxsrc/services/scamDetection.ts500 word limitPOST /api/detectsrc/pages/scam-simulation/ScamSimulationPage.tsxsrc/services/scamSimulation.tsPOST /api/simulate/startPOST /api/simulate/messagePOST /api/simulate/quitlocalStorageSpeechRecognition or webkitSpeechRecognition is availablesrc/pages/study-center/StudyCenterPage.tsxsrc/services/studyCenterQuiz.ts6 questions by defaultGET /api/quiz/:slug/questionslocalStoragesrc/services/studyCenterBackendAdapter.ts for backend explanation-field alignmentsrc/pages/knowledge-hub/KnowledgeHubPage.tsxsrc/services/scamNews.tsGET /api/scam/newsGET /api/scam/news/:idsrc/pages/post-scam-support/PostScamSupportPage.tsxsrc/hooks/useNotificationTraining.tssrc/pages/notification-reveal/NotificationRevealPage.tsxsrc/services/notificationTraining.tssrc/lib/notification-training/storage.tssessionStoragesrc/pages/footer-info/FooterInfoPage.tsxsrc/lib/i18n/provider.tsxAbout ScamSafeData sourcesRisk level guideThe frontend currently depends on these backend endpoints:
POST /api/detectPOST /api/simulate/startPOST /api/simulate/messagePOST /api/simulate/quitGET /api/quiz/:slug/questionsGET /api/scam/newsGET /api/scam/news/:idGET /api/notifications/randomGET /api/notifications/:idsrc/lib/env.ts reads VITE_API_BASE_URL. If it is empty, local development can rely on same-origin /api/... requests through the Vite dev proxy in vite.config.ts.
localStorage
scamsafe_languagescamsafe_simulation_performance_v1scamsafe_study_center_sessions_v1scamsafe_study_center_points_v1sessionStorage
scamsafe_notification_training_last_scenario_v1There is currently no account-based sync for these progress records. Clearing site data or switching browser/device resets them.
Notification API for notification training when supportedSpeechRecognition / webkitSpeechRecognition for optional AI Scam Chat voice inputmatchMedia via src/hooks/useMediaQuery.ts for responsive behaviorThe footer Data Sources page currently references these services and sources in the UI:
GROQNeonNewsAPICall Transcripts Scam Determinations datasetSMS Spam Collection DatasetSMS Spam DatasetNew Straits TimesMalay MailThe StarNFCC / NSRCThese entries are assembled in src/pages/footer-info/FooterInfoPage.tsx and translated in src/lib/i18n/provider.tsx.
public/
apple-touch-icon.png
favicon.png
icon-192.png
icon-512.png
site.webmanifest
src/
app/
AppProviders.tsx React provider extension point
AppShell.tsx Shared shell, header, hero, footer, nav
routes.ts Hash routes and navigation constants
assets/ Images used by the UI
components/ui/ Shared buttons, cards, pills, icons
hooks/
useMediaQuery.ts
useNotificationTraining.ts
lib/
env.ts Environment access
i18n/ Language provider, strings, and hooks
notification-training/ Notification training types and storage
pages/
footer-info/
home/
knowledge-hub/
notification-reveal/
post-scam-support/
scam-detection/
scam-simulation/
study-center/
services/
notificationTraining.ts
scamDetection.ts
scamNews.ts
scamSimulation.ts
studyCenterBackendAdapter.ts
studyCenterQuiz.ts
styles/ Global and page-level CSS
types/ Shared TypeScript models
App.tsx App composition root
main.tsx Browser entry point
eslint.config.js ESLint config
index.html Vite HTML entry
package.json Scripts and dependencies
vercel.json Static-host rewrite config
vite.config.ts Alias and dev proxy config
npm install
npm run dev
Open http://127.0.0.1:5173/
npm run build
npm run preview
npm run lint
npm run format
npm run typecheck
/api requests to http://localhost:8000VITE_API_BASE_URLindex.htmlnxmhis README was rechecked against the current frontend code on 2026-05-19. If UI copy, routes, stats, storage keys, or page ownership change, update this file to match the codebase in the same PR.