#DotFiDomainManager for the .FI Aftermarket
Automatisoitu, Telegram-käyttöliittymällä toimiva .fi -verkkotunnusportfolion hallintajärjestelmä.
A powerful Telegram-controlled domain portfolio manager for .fi domain aftermarket players.
Automates the full lifecycle from drop list monitoring through registration, DNS provisioning, landing page generation, sales listing updates — all operated via Telegram.
- Drop list monitoring — Ingests monthly Traficom drop lists, scores and ranks candidates, publishes top picks to Telegram
- Catch & register — Pluggable provider interface for dropcatch and registration services (bring your own)
- Auto-provisioning — After acquisition: Cloudflare zone creation, DNS template, nameserver update via EPP, landing page — fully automated
- Landing pages — Dynamic host-header-routed landers with contact forms, pricing, and plugin slots (affiliate ads, local info)
- Lead capture — Contact form submissions stored in DB, email + Telegram notifications
- Inventory management — Search, tag, price, flag super-premium or prune candidates via Telegram
- Renewal triage — Weekly review; silence = renew, explicit /prune to drop
- Legal checks — PRH trademark and YTJ company registry lookups
- Marketplace integration — Sedo listing support (optional)
- Audit & ops — Event log, Cloudflare DNS audit, cert rotation checks
See the full system architecture diagrams for detailed visuals of every component.
Telegram Bot <-> FastAPI <-> PostgreSQL
|
Cloudflare API
Traficom EPP (mTLS)
Your catch/register provider
|
Landing pages (host-header routing)
Lead capture -> Email + Telegram
| Service | Purpose |
|---|---|
| dotfi-api | FastAPI app — REST API + lander engine |
| dotfi-bot | Telegram bot (async polling) |
| dotfi-worker | Task queue worker (systemd timer, every 10 min) |
| dotfi-droplist | Monthly drop list ingest (28th of month) |
| dotfi-cfaudit | Nightly Cloudflare DNS audit |
| dotfi-renewal | Weekly renewal review |
| dotfi-certcheck | Monthly cert rotation check |
git clone https://github.com/palvimaki/DotFiDomainManager.git
cd dotfi
bash scripts/dev_bootstrap.sh
# Configure
cp .env.example .env
# Edit .env with your credentials
# Start Postgres (local dev)
docker compose up -d
# Run migrations
alembic upgrade head
# Start the API
uvicorn src.app.main:app --reload
# Start the Telegram bot (separate terminal)
python -m src.telegram.bot| Command | Description |
|---|---|
| /whois domain.fi | WHOIS lookup with scoring |
| /register domain.fi | Register an available domain |
| /catch domain.fi | Catch a dropping domain |
| /inventory [filter] | Browse portfolio |
| /search text | Search domains |
| /show domain.fi | Full domain details + scores + events |
| /price domain.fi EUR | Set asking price |
| /tag domain.fi tag1,tag2 | Set tags |
| /super domain.fi | Toggle super-premium flag |
| /prune domain.fi | Toggle do-not-renew flag |
| /drops [date] | Drop list for a date |
| /today / /tomorrow | Today's/tomorrow's drops |
| /dropweek | 7-day drop calendar |
| /ytj query | Finnish company registry search |
| /prh query | Finnish trademark search |
| /leads | View lead inquiries |
| /kanban | Task board |
| /market list domain.fi EUR | List on all configured marketplaces |
| /market show domain.fi | Check listing status across marketplaces |
| /sedo domain.fi EUR | List on Sedo marketplace (shortcut) |
See docs/03_telegram_commands.md for full documentation.
dotfi does not include a dropcatch or registration service. It provides a pluggable provider interface.
The /catch and /register Telegram commands delegate to a catch provider — a Python class that implements register() and catch() methods.
The default provider (ScriptCatchProvider) calls shell scripts that you customize:
- scripts/register.sh — called for /register
- scripts/catch.sh — called for /catch
Both scripts POST results back to the local API, which handles everything after that.
See docs/providers.md for details.
candidate -> queued -> acquired -> provisioned -> lander_ready -> core
|
probation -> prune -> sold
export DOTFI_USER=youruser
export DOTFI_DIR=/home/youruser/dotfi
export DOTFI_REPO=https://github.com/palvimaki/DotFiDomainManager.git
bash deploy/install.sh| Layer | Tech |
|---|---|
| Backend | Python 3.11, FastAPI, Uvicorn |
| Database | PostgreSQL 16, SQLAlchemy 2.0, Alembic |
| Telegram | python-telegram-bot 21.x (async) |
| DNS | Cloudflare API |
| Registry | Traficom EPP (RFC 5730-5734) over mTLS |
| WHOIS | whois -h whois.fi subprocess |
| Process mgmt | systemd services + timers |
| Drop data | Traficom OData API (public, no auth) |
MIT — see LICENSE.