dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗CorePOS installs on a single Windows 10/11 PC in the shop and runs fully offline. Each install is activated with a product key. Keys are created and revoked from your own license server on Vercel.
COREPOS/
├── backend/ Laravel 12 API (desktop edition: SQLite, pos:install command)
├── frontend/ React app (universal POS screens)
├── desktop/ Electron shell + Windows installer (bundles PHP 8.4 + the app)
├── license-server/ Next.js app for Vercel: admin panel, activate/validate/revoke API
└── public_html/ Old Hostinger deployment (left untouched; contains live DB password)
The owner runs CorePOS-Setup-x.y.z.exe. It installs to Program Files, plus the VC++ runtime.
On first launch, CorePOS asks for a product key. That needs internet once.
The setup wizard asks for the shop name, phone, address and the owner's login
(email and password). There are no default [email protected] / password accounts.
CorePOS starts a private PHP server on 127.0.0.1 and opens the POS in its own window.
All data lives in %APPDATA%\CorePOS\:
database\corepos.sqlitebackups\ (one automatic backup per day, the last 30 are kept)Reinstalling or updating never deletes it.
Licensing:
lease_days (default 10) after the last successful check.Menu:
See license-server/README.md. Summary:
cd license-server
npm install
npm run gen-keys # prints LICENSE_PRIVATE_KEY, LICENSE_PUBLIC_KEY, ADMIN_SESSION_SECRET
Then, in Vercel:
LICENSE_PRIVATE_KEY, LICENSE_PUBLIC_KEY, ADMIN_SESSION_SECRET,
ADMIN_PASSWORD and optionally DOWNLOAD_URL.Keep LICENSE_PRIVATE_KEY secret and never change it. Changing it invalidates every installed shop.
Edit desktop/app.config.json:
{
"licenseServerUrl": "https://your-project.vercel.app",
"licensePublicKey": "<LICENSE_PUBLIC_KEY from step 1>",
"supportEmail": "[email protected]"
}
cd desktop
npm install
npm run release # on a Mac: all installers below, put in "Version <x.y.z>"
npm run dist:all # the same installers, left in desktop/dist
npm run dist:windows # Windows only
npm run dist:mac # Mac only
npm run dist:linux # Linux only
Output in desktop/dist/, one installer per system:
| File | Runs on |
|---|---|
CorePOS-Setup-<version>-Windows.exe | Windows 7, 8, 8.1, 10, 11, 32-bit and 64-bit (the installer picks the right one) |
CorePOS-<version>-Mac.dmg | every Mac, Intel and Apple Silicon (Universal), macOS 12 Monterey or newer |
CorePOS-<version>-Linux-x86_64.AppImage | 64-bit Linux PCs (Ubuntu, Mint, Fedora…) |
CorePOS-<version>-Linux-arm64.AppImage | ARM Linux (Raspberry Pi 4/5 and similar) |
The Windows installer uses Electron 22 and PHP 8.2 because they are the last versions that
still run on Windows 7/8. Upload the files wherever shops download them
(your website, Google Drive, and so on) and put that link in DOWNLOAD_URL.
Before giving out a new version, run the printing tests (desktop folder):
npm run test:print # print code: printer options, failures, time-outs
npm run prepare:app && npm run test:print:e2e
test:print:e2e starts the bundled engine with a brand-new shop (like a fresh
install), sells an item, takes payment and prints the bill, reprints an old
bill, prints test pages on 80 mm and 58 mm rolls, recovers from an offline
printer and prints barcode stickers on A4 sheets and on a sticker roll. Each
printout is saved as a PDF and checked: right printer, only the bill on the
paper, full roll width, sticker bars on whole printer dots.
npm run prepare (part of dist:*) does the following:
backend/ and builds frontend/ into desktop/resources/https://your-project.vercel.app/admin, then Create key. Enter the shop name,
phone, city, plan, number of PCs, and an optional expiry date for subscriptions.lease_days at most.
version in desktop/package.json.backend/database/migrations. They run automatically on
the shop PC at the next launch, and the daily backup is taken first..exe. Installing over the old version keeps all the data.A React 19 + Vite 6 + Tailwind app built for every kind of shop: grocery/karyana, clothing, shoes, electronics/mobile, hardware, pharmacy, cosmetics, restaurant, auto parts and books.
npm run dev in frontend/ proxies /api to a backend on 127.0.0.1:8766 (override with BACKEND_URL).
The desktop build (desktop/scripts/prepare-app.mjs) builds this folder with VITE_API_URL=/api/v1 and
puts the output in Laravel's public/ folder.
# backend + desktop shell on a Mac, with a portable PHP 8.4 (static-php.dev):
cd desktop && npm run prepare:app
COREPOS_PHP=/path/to/php \
COREPOS_LICENSE_SERVER=http://localhost:3000 COREPOS_LICENSE_PUBLIC_KEY=<from license-server/.env.local> \
npx electron .
# (if launched from a VS Code terminal: `unset ELECTRON_RUN_AS_NODE` first)
npm run test:license # desktop licensing unit tests (mock server)
cd ../license-server && npm run smoke-test -- http://localhost:3000