Collection & Reconnaissance Of TikTok โ Discovery, Analysis, Logging, And Monitoring
Enterprise-grade TikTok OSINT platform with CAPTCHA bypass, anti-detection,
real-time monitoring, and tactical command center GUI. No API keys required.
- โจ Features
- ๐ Quick Start
- ๐ฅ๏ธ GUI Dashboard
- โก CLI Usage
- ๐ก๏ธ Anti-Detection
- ๐ Risk Analysis
- ๐ Architecture
- ๐ง How It Works
- ๐ Output Files
- โ๏ธ Configuration
- ๐ค Contributing
- ๐ License
|
|
|
|
- Python 3.10+
- Chromium (installed via Playwright)
# Clone the repository
git clone https://github.com/Masriyan/CrotDalam.git
cd CrotDalam
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
# (Optional) Install yt-dlp for video downloads
pip install yt-dlp# CLI Mode - Quick search
python -m crot_dalam.cli search "undian berhadiah" --mode quick --limit 10
# GUI Mode - Launch dashboard
python -m crot_dalam.cli guiThe modern web GUI provides a complete investigation management interface.
python -m crot_dalam.cli gui --port 5000Then open http://localhost:5000 in your browser.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ CROT DALAM Dashboard โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ New Investigation โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ Keywords: undian berhadiah, giveaway โผ โโ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Mode: [Deep โผ] Limit: [60] Locale: [en-US โผ] โ โ
โ โ โ Anti-Detection โ Screenshots โ Downloads โ โ
โ โ [๐ Start] โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ 45 โ โ 12 โ โ 8 โ โ 2m 35s โ โ
โ โ Videos โ โ HighRisk โ โ MedRisk โ โ Duration โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Video ID โ Description โ Risk โ Engagement โ ...โ โ
โ โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโผโโโโโโโโโโโโโผโโโโโค โ
โ โ 73829... โ Transfer dulu... โ 8 โ โค๏ธ 12K โ ...โ โ
โ โ 82910... โ Hadiah gratis... โ 5 โ โค๏ธ 8.2K โ ...โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The dashboard uses WebSocket for live progress updates:
- Progress bar with percentage
- Live status messages
- Instant results on completion
# Single keyword search
python -m crot_dalam.cli search "crypto giveaway" --limit 50
# Multiple keywords
python -m crot_dalam.cli search "undian" "hadiah gratis" --limit 30 --locale id-ID
# Deep investigation mode
python -m crot_dalam.cli search "transfer dulu" --mode deep --limit 100| Mode | Screenshots | Comments | Downloads | Archive | Pivot |
|---|---|---|---|---|---|
quick |
โ | โ | โ | โ | โ |
moderate |
โ | 5 | โ | โ | โ |
deep |
โ | 15 | โ | โ | 3 |
deeper |
โ | 30 | โ | โ | 5 |
python -m crot_dalam.cli search "keyword" \
--mode deep \
--limit 100 \
--locale id-ID \
--headless \
--screenshot \
--download \
--archive \
--comments 20 \
--pivot-hashtags 5 \
--antidetect \
--aggressive \
--proxy "http://user:pass@host:port" \
--out "out/investigation_001"# Analyze text for risk indicators
python -m crot_dalam.cli analyze "Transfer dulu untuk klaim hadiah undian berhadiah"
# Output:
# Risk Score: 8
# Risk Level: HIGH
# Matches:
# โข transfer dulu (financial_scam, indonesian)
# โข undian berhadiah (financial_scam, indonesian)
# โข hadiah (financial_scam, indonesian)CROT DALAM implements comprehensive anti-detection to reduce TikTok bot detection.
flowchart LR
subgraph AntiDetect["๐ก๏ธ Anti-Detection System"]
A[Human Delays] --> B[Mouse Curves]
B --> C[Fingerprint Rotation]
C --> D[Proxy Rotation]
D --> E[Session Persistence]
end
User --> AntiDetect --> TikTok
| Feature | Description |
|---|---|
| Human Delays | Log-normal distributed timing (0.5-3.0s) |
| Bezier Mouse | Natural curved mouse movements |
| Natural Scroll | Variable speed with reading pauses |
| Fingerprint Rotation | Random viewport, timezone, WebGL, UA |
| Proxy Pool | Health-checked rotating proxies |
| Session Cookies | Persistent login state |
# Standard anti-detection
python -m crot_dalam.cli search "keyword" --antidetect
# Aggressive mode (slower but stealthier)
python -m crot_dalam.cli search "keyword" --antidetect --aggressive
โ ๏ธ Note: Anti-detection reduces but cannot guarantee 100% evasion. TikTok may still detect automated access.
| Language | Categories | Example Terms |
|---|---|---|
| ๐ฎ๐ฉ Indonesian | 7 | undian berhadiah, transfer dulu, slot gacor |
| ๐บ๐ธ English | 5 | seed phrase, crypto double, verify wallet |
| ๐ฒ๐พ Malay | 2 | hadiah percuma, bayar dahulu |
| ๐ป๐ณ Vietnamese | 2 | trรบng thฦฐแปng, ฤแบงu tฦฐ sinh lแปi |
| ๐น๐ญ Thai | 2 | เธเธนเธเธฃเธฒเธเธงเธฑเธฅ, เธชเธฅเนเธญเธเนเธงเนเธเธเธฃเธ |
| ๐ต๐ญ Filipino | 2 | libre Regalo, bayad muna |
- Financial Scam โ Fake giveaways, lottery scams
- Investment Fraud โ Crypto scams, fake ROI promises
- Gambling โ Illegal online gambling promotion
- Loan Scam โ Predatory lending, fake loans
- Job Scam โ Work-from-home fraud
- Contact Urgency โ Pressure to contact "admin"
The tool automatically extracts:
- ๐ฑ Phone numbers (Indonesian, international)
- ๐ณ Crypto wallets (BTC, ETH, TRX)
- ๐ง Email addresses
- ๐ฌ Telegram/WhatsApp links
- ๐ Shortened URLs (bit.ly, etc.)
CrotDalam/
โโโ crot_dalam/
โ โโโ __init__.py # Package init, version
โ โโโ cli.py # Typer CLI commands
โ โโโ core/
โ โ โโโ antidetect.py # Anti-detection system
โ โ โโโ scraper.py # Playwright scraper
โ โ โโโ risk_analyzer.py # Multi-language risk detection
โ โ โโโ exporters.py # JSONL/CSV/HTML export
โ โโโ gui/
โ โ โโโ app.py # Flask + WebSocket server
โ โ โโโ static/ # Frontend assets
โ โโโ models/
โ โ โโโ data.py # Dataclasses & schemas
โ โโโ utils/
โ โโโ config.py # Configuration management
โ โโโ helpers.py # Utility functions
โโโ assets/
โ โโโ banner.png # Project banner
โโโ requirements.txt
โโโ README.md
โโโ CONTRIBUTING.md
โโโ SECURITY.md
โโโ CHANGELOG.md
โโโ LICENSE
flowchart TD
A[๐ฏ Start Investigation] --> B{Mode Selection}
B --> |CLI| C[Parse Arguments]
B --> |GUI| D[Flask Dashboard]
C --> E[Configure Scan]
D --> E
E --> F[๐ Launch Browser]
F --> G[Apply Anti-Detection]
G --> H[Accept Cookies]
H --> I[Search Keywords]
I --> J[Scroll & Collect URLs]
J --> K{For Each Video}
K --> L[Extract Metadata]
L --> M[Analyze Risk]
M --> N[Collect Comments]
N --> O{Evidence Options}
O --> |Screenshot| P[๐ธ Capture]
O --> |Download| Q[๐ฅ yt-dlp]
O --> |Archive| R[๐๏ธ Archive.today]
P --> S[Next Video]
Q --> S
R --> S
S --> K
K --> |Done| T[Export Results]
T --> U[๐ JSONL]
T --> V[๐ CSV]
T --> W[๐ HTML Report]
W --> X[โ
Complete]
sequenceDiagram
autonumber
participant U as User
participant CLI as CLI/GUI
participant AD as AntiDetect
participant PW as Playwright
participant TT as TikTok
U->>CLI: search "keyword" --mode deep
CLI->>AD: Initialize anti-detection
AD->>AD: Generate fingerprint
CLI->>PW: Launch browser
loop For each keyword
PW->>TT: GET /search?q=...
AD->>PW: Human delay
AD->>PW: Natural scroll
PW-->>CLI: Video URLs
end
loop For each video
PW->>TT: GET /video/...
AD->>PW: Bezier mouse move
PW-->>CLI: Metadata
CLI->>CLI: Risk analysis
opt Evidence
PW->>PW: Screenshot
CLI->>CLI: yt-dlp download
end
end
CLI-->>U: Export JSONL, CSV, HTML
out/
โโโ crot_dalam.jsonl # Structured JSON Lines
โโโ crot_dalam.csv # Flat table for Excel/Sheets
โโโ crot_dalam.html # Styled investigation report
โโโ screenshots/ # Full-page PNGs
โ โโโ 7382918273.png
โ โโโ 8291038271.png
โโโ videos/ # Downloaded videos
โโโ 7382918273.mp4
โโโ 8291038271.mp4
The HTML report features:
- ๐ Dark theme with glassmorphism
- ๐ Statistics cards (total, high/medium/low risk)
- ๐ Sortable results table
- ๐ Clickable video links
- ๐ท๏ธ Risk level badges
- ๐ฑ Responsive design
| Variable | Description | Default |
|---|---|---|
CROT_DEBUG |
Enable debug mode | false |
CROT_HEADLESS |
Run headless browser | true |
CROT_LOCALE |
Browser locale | en-US |
CROT_LIMIT |
Default video limit | 60 |
CROT_ANTIDETECT |
Enable anti-detection | true |
CROT_PROXY_LIST |
Comma-separated proxies | โ |
CROT_GUI_PORT |
GUI server port | 5000 |
Create ~/.config/crot_dalam/config.json:
{
"headless": true,
"locale": "id-ID",
"default_limit": 100,
"antidetect_enabled": true,
"antidetect_aggressive": false,
"proxy_list": ["http://proxy1:8080", "http://proxy2:8080"]
}We welcome contributions! See CONTRIBUTING.md for guidelines.
# Fork & clone
git clone https://github.com/Masriyan/CrotDalam.git
cd CrotDalam
# Create branch
git checkout -b feature/my-feature
# Make changes, test, commit
git commit -m "Add my feature"
# Push & create PR
git push origin feature/my-feature- ๐ Additional language risk terms
- ๐ง Improved TikTok selectors
- ๐ New export formats
- ๐งช Test coverage
- ๐ Documentation
See SECURITY.md for full policy.
โ ๏ธ IMPORTANT: This tool is for legitimate OSINT research only. Use responsibly and respect:
- TikTok Terms of Service
- Local laws and regulations
- Privacy of individuals
MIT License โ see LICENSE for details.
Made with โค๏ธ by sudo3rs
For the security research community
