dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
프라이버시 중심 브라우저 지문 검사와 공개 IP 위험 분석, CreepJS가 감시 가능한 신호 확인
Run a privacy-first browser fingerprint check, inspect your public IP risk context, and learn which signals websites can observe with CreepJS.
보안TypeScript · JavaScriptGitHub @taoyadev온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Educational browser fingerprinting platform with privacy-first approach
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Privacy-first browser fingerprinting platform built as a SaaS service for developers
Live Demo: https://creepjs.org | API Docs: https://creepjs.org/docs | Playground: https://creepjs.org/playground
CreepJS 2.0 is an educational, privacy-first browser fingerprinting platform designed to help developers understand and implement browser fingerprinting technology responsibly. It provides:
"3-minute browser fingerprint API integration - Developer-friendly, privacy-first"
docs/PERFORMANCE.md)POST /v1/fingerprint for fingerprint generationimport { getFingerprint } from '@creepjs/sdk';
const result = await getFingerprint({
token: 'cfp_your_token',
});
console.log(result.fingerprintId); // "a1b2c3d4e5f6..."
Features:
The core engine now exposes 40+ entropy sources, spanning:
Each collector is optional in the final payload so you can consume only the signals you need.
Need deeper tuning? Check out
docs/PERFORMANCE.mdfor concurrency, profiling, and troubleshooting tips.
Frontend (apps/web)
├── Next.js 15 (App Router)
├── React 19
├── TypeScript 5.7
├── Tailwind CSS + shadcn/ui
└── Deployed on: Cloudflare Pages
Backend API (apps/api)
├── Hono.js (Lightweight framework)
├── Cloudflare Workers (V8 Isolates)
├── Cloudflare KV (Storage)
└── <50ms response time globally
Core Engine (packages/core)
├── 40+ fingerprint collectors
├── MurmurHash3 + Base62 encoding
├── TypeScript
└── Modular design
SDK (packages/sdk)
├── Vanilla JavaScript
├── TypeScript support
├── UMD/ESM builds
└── <15KB gzipped
| Benefit | Description |
|---|---|
| Zero Cold Start | V8 Isolates ensure instant response |
| Global Coverage | 300+ edge locations worldwide |
| Free Tier | 100K requests/day on Workers free plan |
| Low Latency | <50ms p95 response time |
| Easy Scaling | Seamlessly scales to millions of requests |
creepjs/
├── apps/
│ ├── web/ # Next.js 15 web application
│ │ ├── app/
│ │ │ ├── page.tsx # Home page
│ │ │ ├── demo/ # Live demo
│ │ │ ├── docs/ # Documentation center
│ │ │ ├── playground/ # API playground
│ │ │ └── fingerprint/[type]/ # Individual fingerprint pages
│ │ ├── components/ # React components
│ │ │ └── ui/ # shadcn/ui components
│ │ └── public/ # Static assets
│ │
│ └── api/ # Cloudflare Workers API
│ ├── src/
│ │ ├── index.ts # Main entry point
│ │ ├── routes/ # API routes
│ │ ├── middleware/ # Auth, CORS, rate limiting
│ │ └── utils/ # Validation, helpers
│ └── wrangler.toml # Cloudflare configuration
│
├── packages/
│ ├── core/ # Core fingerprinting engine
│ │ ├── src/
│ │ │ ├── collectors/ # 40+ fingerprint collectors
│ │ │ └── utils/ # Hashing, async helpers
│ │ └── tests/ # Unit tests
│ │
│ └── sdk/ # JavaScript SDK
│ ├── src/
│ │ └── index.ts # SDK entry point
│ └── rollup.config.js # UMD/ESM build config
│
├── docs/ # Documentation
│ ├── ARCHITECTURE.md # Technical architecture
│ ├── API.md # API reference
│ ├── SDK.md # SDK guide
│ ├── DEPLOYMENT.md # Deployment instructions
│ └── SECURITY.md # Security and privacy
│
├── .github/
│ └── workflows/ # GitHub Actions CI/CD
│
├── package.json # Monorepo root config
├── turbo.json # Turborepo configuration
├── pnpm-workspace.yaml # pnpm workspace config
└── README.md # This file
# Clone the repository
git clone https://github.com/taoyadev/creepjs.git
cd creepjs
# Install dependencies (MUST use pnpm)
pnpm install
# Start development server
pnpm dev
# This will start:
# - Next.js on http://localhost:3000
# - Wrangler (Workers) on http://localhost:8787
# Build all packages
pnpm turbo run build
# Build specific app
pnpm --filter @creepjs/web build
pnpm --filter @creepjs/api build
# Run all tests
pnpm turbo run test
# Test specific package
pnpm --filter @creepjs/core test
pnpm --filter @creepjs/api test
Installation (script tag — recommended):
<script src="https://creepjs.org/sdk.js"></script>
An npm package (@creepjs/sdk) is planned but not yet published.
Basic Usage (works today via the script tag):
The bundle exposes a global CreepJS namespace:
<script src="https://creepjs.org/sdk.js"></script>
<script>
const client = new CreepJS.CreepJS({
token: 'cfp_your_token',
fullBundleUrl: 'https://creepjs.org/sdk.full.js',
});
client.getFingerprint().then((result) => {
console.log('Fingerprint ID:', result.fingerprintId);
});
</script>
ES Modules (after the npm package ships):
import { getFingerprint } from '@creepjs/sdk';
// Get fingerprint with API token
const result = await getFingerprint({
token: 'cfp_your_token',
endpoint: 'https://api.creepjs.org/v1/fingerprint', // optional
cache: true, // Enable localStorage caching
cacheTtl: 3600, // Cache TTL in seconds (default 86400, max 7 days)
});
console.log(result);
// { fingerprintId, confidence, coverage, timestamp, cached, ... }
Get API Token:
curl -X POST https://api.creepjs.org/v1/token \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'
Generate Fingerprint:
curl -X POST https://api.creepjs.org/v1/fingerprint \
-H "Content-Type: application/json" \
-H "X-API-Token: cfp_your_token" \
-d '{
"components": {
"canvas": "...",
"webgl": "...",
"navigator": "..."
}
}'
See API Documentation for complete reference.
1. Deploy Workers (API):
cd apps/api
# Login to Cloudflare
npx wrangler login
# Create KV namespace
npx wrangler kv namespace create CREEPJS_TOKENS
# Deploy
npx wrangler deploy
2. Deploy Pages (Frontend):
# Build the project
pnpm turbo run build --filter=@creepjs/web
# Deploy to Cloudflare Pages
cd apps/web
npx wrangler pages deploy .next --project-name=creepjs
3. GitHub Actions (Automatic):
Set these secrets in GitHub repository settings:
CLOUDFLARE_API_TOKEN - Your Cloudflare API tokenCLOUDFLARE_ACCOUNT_ID - Your Cloudflare account IDPush to main branch to trigger automatic deployment.
See DEPLOYMENT.md for detailed instructions.
# Run all tests
pnpm turbo run test
# Watch mode
pnpm --filter @creepjs/core test --watch
# Test with Cloudflare Workers test environment
pnpm --filter @creepjs/api test
# Run E2E tests
pnpm --filter @creepjs/web test:e2e
| Metric | Target | Current |
|---|---|---|
| API Response Time (p95) | <100ms | ~50ms |
| SDK Bundle Size (gzipped) | <15KB | ~12KB |
| Lighthouse Score | >95 | 98 |
| Uptime | >99.9% | 99.95% |
See SECURITY.md for details.
See LAUNCH_PLAN.md for the execution source of truth.
We welcome contributions from the community! Please read our Contributing Guide before submitting PRs.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)See LICENSE for details.
Special thanks to Abraham Juliot for developing the excellent open-source CreepJS project, which serves as the technical foundation for this platform.