A hobby project implementing a domain registry system for practicing drop catching techniques. Built with Bun and zero dependencies.
Live instance: https://nic.bullshit.video
Drop catching is the practice of registering domain names the moment they expire. This project provides a playground for developing and testing drop catching algorithms with:
- Random domain releases during a 42-minute window
- Score-based domain values (1-100)
- Rate limiting with progressive penalties
- Real-time competition between registrars
- EPP Server (Port 700) for domain registration
- WHOIS Server (Port 43) for domain information
- Built-in rate limiting with penalties
- Domain value scoring system (1-100)
- Automatic domain expiry and replenishment
- Runs daily at 15:00 (France/Paris)
- 42-minute release window
- Random release timing for each domain
- Minimum 42 domains per session
- 5000 requests/hour
- 500 requests/minute (~8 requests/second)
- Penalties after 5 violations:
- 1-second delay added to requests
- 2 tokens deducted from balance
- Rare (90-100): 5% chance
- Valuable (70-89): 15% chance
- Average (30-69): 60% chance
- Low (1-29): 20% chance
# Domain lookup
whois -h whois.nic.bullshit.video example.tsh
# Registrar lookup
whois -h whois.nic.bullshit.video "registrar test1"
# Help
whois -h whois.nic.bullshit.video help
<!-- Login -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<login>
<clID>test1</clID>
<pw>test1</pw>
</login>
</command>
</epp>
<!-- Check Domain -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<check>
<domain:name>example.tsh</domain:name>
</check>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
<!-- Create Domain -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<create>
<domain:name>example.tsh</domain:name>
<clID>test1</clID>
</create>
<clTRID>ABC-12345</clTRID>
</command>
</epp>
- Install Bun
- Clone and install:
git clone https://github.com/CamTosh/Domain-Name-Registry
cd Domain-Name-Registry
- Start the servers:
bun start
For complete game rules, scoring system, and API documentation, visit: https://nic.bullshit.video
This is a hobby project aimed at creating interesting technical challenges around domain drop catching. Contributions and creative drop-catching solutions are welcome!