🚀 MARKET CONCEPT IMPLEMENTATION
Backend:
- Added /auctions/feed unified endpoint combining Pounce Direct + external auctions
- Implemented Pounce Score v2.0 with market signals (length, TLD, bids, age)
- Added vanity filter for premium domains (non-auth users)
- Integrated DomainListing model for Pounce Direct
Frontend:
- Refactored terminal/market page with Pounce Direct hierarchy
- Updated public auctions page with Pounce Exclusive section
- Added api.getMarketFeed() to API client
- Converted /market to redirect to /auctions
Documentation:
- Created MARKET_CONCEPT.md with full unicorn roadmap
- Created ZONE_FILE_ACCESS.md with Verisign access guide
- Updated todos and progress tracking
Cleanup:
- Deleted empty legacy folders (dashboard, portfolio, settings, watchlist, careers)
308 lines
11 KiB
Markdown
308 lines
11 KiB
Markdown
# 🌐 Zone File Access — Anleitung zur Datenhoheit
|
|
|
|
---
|
|
|
|
## Was sind Zone Files?
|
|
|
|
Zone Files sind die **Master-Listen** aller registrierten Domains pro TLD (Top-Level-Domain). Sie werden täglich von den Registries aktualisiert und enthalten:
|
|
|
|
- **Alle aktiven Domains** einer TLD
|
|
- **Nameserver-Informationen**
|
|
- **Keine WHOIS-Daten** (nur Domain + NS)
|
|
|
|
**Beispiel `.com` Zone File (vereinfacht):**
|
|
```
|
|
example.com. 86400 IN NS ns1.example.com.
|
|
example.com. 86400 IN NS ns2.example.com.
|
|
google.com. 86400 IN NS ns1.google.com.
|
|
...
|
|
```
|
|
|
|
---
|
|
|
|
## Warum Zone Files = Unicorn?
|
|
|
|
| Vorteil | Beschreibung |
|
|
|---------|--------------|
|
|
| **Drop Prediction** | Domains die aus der Zone verschwinden = droppen in 1-5 Tagen |
|
|
| **Exklusive Intel** | Diese Domains sind NOCH NICHT in Auktionen |
|
|
| **Früher als Konkurrenz** | Backorder setzen bevor andere es wissen |
|
|
| **Trend-Analyse** | Welche Keywords werden gerade registriert? |
|
|
| **Daten-Monopol** | Gefilterte, cleane Daten vs. Spam-Flut von ExpiredDomains |
|
|
|
|
---
|
|
|
|
## Registries und Zugang
|
|
|
|
### Tier 1: Critical TLDs (Sofort beantragen)
|
|
|
|
| Registry | TLDs | Domains | Link |
|
|
|----------|------|---------|------|
|
|
| **Verisign** | `.com`, `.net` | ~160M + 13M | [Zone File Access](https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml) |
|
|
| **PIR** | `.org` | ~10M | [Zone File Access Program](https://tld.org/zone-file-access/) |
|
|
| **Afilias** | `.info` | ~4M | Contact: registry@afilias.info |
|
|
|
|
### Tier 2: Premium TLDs (Phase 2)
|
|
|
|
| Registry | TLDs | Fokus |
|
|
|----------|------|-------|
|
|
| **CentralNIC** | `.io`, `.co` | Startups |
|
|
| **Google** | `.app`, `.dev` | Tech |
|
|
| **Donuts** | `.xyz`, `.online`, etc. | Volumen |
|
|
| **SWITCH** | `.ch` | Schweizer Markt |
|
|
|
|
---
|
|
|
|
## Bewerbungsprozess: Verisign (.com/.net)
|
|
|
|
### 1. Voraussetzungen
|
|
|
|
- Gültige Firma/Organisation
|
|
- Technische Infrastruktur für große Datenmengen (~500GB/Tag)
|
|
- Akzeptanz der Nutzungsbedingungen (keine Resale der Rohdaten)
|
|
|
|
### 2. Online-Bewerbung
|
|
|
|
1. Gehe zu: https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml
|
|
2. Klicke auf "Request Zone File Access"
|
|
3. Fülle das Formular aus:
|
|
- **Organization Name:** GenTwo AG
|
|
- **Purpose:** Domain research and analytics platform
|
|
- **Contact:** (technischer Ansprechpartner)
|
|
|
|
### 3. Wartezeit
|
|
|
|
- **Review:** 1-4 Wochen
|
|
- **Genehmigung:** Per E-Mail mit FTP/HTTPS Zugangsdaten
|
|
|
|
### 4. Kosten
|
|
|
|
- **Verisign:** Kostenlos für nicht-kommerzielle/Forschungszwecke
|
|
- **Kommerzielle Nutzung:** $10,000/Jahr (verhandelbar)
|
|
|
|
---
|
|
|
|
## Technische Integration
|
|
|
|
### Server-Anforderungen
|
|
|
|
```yaml
|
|
# Minimale Infrastruktur
|
|
CPU: 16+ Cores (parallele Verarbeitung)
|
|
RAM: 64GB+ (effizientes Set-Diffing)
|
|
Storage: 2TB SSD (Zone Files + History)
|
|
Network: 1Gbps (schneller Download)
|
|
|
|
# Geschätzte Kosten
|
|
Provider: Hetzner/OVH Dedicated
|
|
Preis: ~$300-500/Monat
|
|
```
|
|
|
|
### Processing Pipeline
|
|
|
|
```
|
|
04:00 UTC │ Zone File Download (FTP/HTTPS)
|
|
│ └─→ ~500GB komprimiert für .com/.net
|
|
│
|
|
04:30 UTC │ Decompression & Parsing
|
|
│ └─→ Extrahiere Domain-Namen
|
|
│
|
|
05:00 UTC │ Diff Analysis
|
|
│ └─→ Vergleiche mit gestern
|
|
│ └─→ NEU: Neue Registrierungen
|
|
│ └─→ WEG: Potentielle Drops
|
|
│
|
|
05:30 UTC │ Quality Scoring (Pounce Algorithm)
|
|
│ └─→ Filtere Spam raus (99%+)
|
|
│ └─→ Nur Premium-Domains durchlassen
|
|
│
|
|
06:00 UTC │ Database Update
|
|
│ └─→ PostgreSQL: pounce_zone_drops
|
|
│
|
|
06:15 UTC │ Alert Matching
|
|
│ └─→ Sniper Alerts triggern
|
|
│
|
|
06:30 UTC │ User Notifications
|
|
│ └─→ E-Mail/SMS für Tycoon-User
|
|
```
|
|
|
|
### Datenbank-Schema (geplant)
|
|
|
|
```sql
|
|
-- Zone File Drops
|
|
CREATE TABLE pounce_zone_drops (
|
|
id SERIAL PRIMARY KEY,
|
|
domain VARCHAR(255) NOT NULL,
|
|
tld VARCHAR(20) NOT NULL,
|
|
|
|
-- Analyse
|
|
pounce_score INT NOT NULL,
|
|
estimated_value DECIMAL(10,2),
|
|
|
|
-- Status
|
|
detected_at TIMESTAMP DEFAULT NOW(),
|
|
estimated_drop_date TIMESTAMP,
|
|
status VARCHAR(20) DEFAULT 'pending', -- pending, dropped, backordered, registered
|
|
|
|
-- Tracking
|
|
notified_users INT DEFAULT 0,
|
|
backorder_count INT DEFAULT 0,
|
|
|
|
UNIQUE(domain)
|
|
);
|
|
|
|
-- Index für schnelle Suche
|
|
CREATE INDEX idx_zone_drops_score ON pounce_zone_drops(pounce_score DESC);
|
|
CREATE INDEX idx_zone_drops_date ON pounce_zone_drops(estimated_drop_date);
|
|
```
|
|
|
|
---
|
|
|
|
## Der Pounce Algorithm — Zone File Edition
|
|
|
|
```python
|
|
# backend/app/services/zone_analyzer.py (ZU BAUEN)
|
|
|
|
class ZoneFileAnalyzer:
|
|
"""
|
|
Analysiert Zone Files und findet Premium-Opportunities.
|
|
|
|
Input: Raw Zone File (Millionen von Domains)
|
|
Output: Gefilterte Premium-Liste (Hunderte)
|
|
"""
|
|
|
|
async def analyze_drops(self, yesterday: set, today: set) -> list:
|
|
"""
|
|
Findet Domains die aus der Zone verschwunden sind.
|
|
Diese Domains droppen in 1-5 Tagen (Redemption Period).
|
|
"""
|
|
dropped = yesterday - today # Set-Differenz
|
|
|
|
premium_drops = []
|
|
for domain in dropped:
|
|
score = self.calculate_pounce_score(domain)
|
|
|
|
# Nur Premium durchlassen (>70 Score)
|
|
if score >= 70:
|
|
premium_drops.append({
|
|
"domain": domain,
|
|
"score": score,
|
|
"drop_date": self.estimate_drop_date(domain),
|
|
"estimated_value": self.estimate_value(domain),
|
|
})
|
|
|
|
return sorted(premium_drops, key=lambda x: x['score'], reverse=True)
|
|
|
|
def calculate_pounce_score(self, domain: str) -> int:
|
|
"""
|
|
Der Pounce Algorithm — Qualitätsfilter für Domains.
|
|
|
|
Faktoren:
|
|
- Länge (kurz = wertvoll)
|
|
- TLD (com > io > xyz)
|
|
- Keine Zahlen/Bindestriche
|
|
- Dictionary Word Bonus
|
|
"""
|
|
name = domain.rsplit('.', 1)[0]
|
|
tld = domain.rsplit('.', 1)[1]
|
|
score = 50 # Baseline
|
|
|
|
# Längen-Score (exponentiell für kurze Domains)
|
|
length_scores = {1: 50, 2: 45, 3: 40, 4: 30, 5: 20, 6: 15, 7: 10}
|
|
score += length_scores.get(len(name), max(0, 15 - len(name)))
|
|
|
|
# TLD Premium
|
|
tld_scores = {'com': 20, 'ai': 25, 'io': 18, 'co': 12, 'ch': 15, 'de': 10}
|
|
score += tld_scores.get(tld, 0)
|
|
|
|
# Penalties
|
|
if '-' in name: score -= 30
|
|
if any(c.isdigit() for c in name): score -= 20
|
|
if len(name) > 12: score -= 15
|
|
|
|
return max(0, min(100, score))
|
|
```
|
|
|
|
---
|
|
|
|
## Feature: "Drops Tomorrow" (Tycoon Exclusive)
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ 🔮 DROPS TOMORROW — Tycoon Exclusive ($29/mo) │
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ Diese Domains sind NICHT in Auktionen! │
|
|
│ Du kannst sie beim Registrar direkt registrieren. │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ Domain TLD Score Est. Value Drops In │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ pixel.com .com 95 $50,000 23h 45m │
|
|
│ swift.io .io 88 $8,000 23h 12m │
|
|
│ quantum.ai .ai 92 $25,000 22h 58m │
|
|
│ nexus.dev .dev 84 $4,500 22h 30m │
|
|
│ fusion.co .co 81 $3,200 21h 15m │
|
|
│ │
|
|
│ ───────────────────────────────────────────────────────────── │
|
|
│ │
|
|
│ 💡 Pro Tip: Setze bei deinem Registrar einen Backorder │
|
|
│ für diese Domains. Wer zuerst kommt... │
|
|
│ │
|
|
│ [🔔 Alert für "pixel.com" setzen] │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Roadmap
|
|
|
|
### Phase 1: Jetzt (Bewerbung)
|
|
- [ ] Verisign Zone File Access beantragen
|
|
- [ ] PIR (.org) Zone File Access beantragen
|
|
- [ ] Server-Infrastruktur planen
|
|
|
|
### Phase 2: 3-6 Monate (Integration)
|
|
- [ ] Download-Pipeline bauen
|
|
- [ ] Diff-Analyse implementieren
|
|
- [ ] Pounce Algorithm testen
|
|
- [ ] "Drops Tomorrow" Feature für Tycoon
|
|
|
|
### Phase 3: 6-12 Monate (Skalierung)
|
|
- [ ] Weitere TLDs (.io, .co, .ch, .de)
|
|
- [ ] Historische Trend-Analyse
|
|
- [ ] Keyword-Tracking
|
|
- [ ] Enterprise Features
|
|
|
|
---
|
|
|
|
## Risiken und Mitigierung
|
|
|
|
| Risiko | Wahrscheinlichkeit | Mitigierung |
|
|
|--------|-------------------|-------------|
|
|
| Ablehnung durch Registry | Mittel | Klare Business-Case, ggf. Partnerschaften |
|
|
| Hohe Serverkosten | Niedrig | Cloud-Skalierung, nur Premium-TLDs |
|
|
| Konkurrenz kopiert | Mittel | First-Mover-Vorteil, besserer Algorithmus |
|
|
| Datenqualität | Niedrig | Mehrere Quellen, Validierung |
|
|
|
|
---
|
|
|
|
## Nächster Schritt
|
|
|
|
**Aktion für diese Woche:**
|
|
|
|
1. **Verisign bewerben:** https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml
|
|
2. **E-Mail an PIR:** zone-file-access@pir.org
|
|
3. **Server bei Hetzner reservieren:** AX101 Dedicated (~€60/Monat)
|
|
|
|
---
|
|
|
|
## Zusammenfassung
|
|
|
|
Zone Files sind der **Schlüssel zur Datenhoheit**. Während die Konkurrenz auf Scraping setzt, werden wir die Rohdaten direkt von der Quelle haben — und mit dem Pounce Algorithm filtern, sodass nur Premium-Opportunities zu unseren Usern gelangen.
|
|
|
|
**Das ist der Unicorn-Treiber.** 🦄
|
|
|