← All work
Tooling · 2018–19

Romanian.ro Domain WHOIS & Registry Automation Client

Romanian .ro domain-auction / registry tooling

Overview

A Go client for the Romanian .ro domain registry / auction tooling effort. It performs bulk WHOIS lookups against the national registry’s WHOIS service and drives the registry’s authenticated REST API to automate domain-related operations and contact management.

The Challenge

Working with a national domain registry means dealing with a raw WHOIS endpoint (rate-limited, single-socket) and a digest-authenticated REST API. Doing this at any volume requires careful connection handling, source-IP rotation to avoid throttling, and robust parsing of free-form WHOIS responses.

What We Built

A set of Go modules: a WHOIS querier that dials the registry’s WHOIS host on its dedicated port with per-request timeouts and a configurable local source IP (enabling rotation across a pool of addresses, sourced from ips*.txt lists); a registry REST client issuing HTTP Digest-authenticated POST requests via libcurl; and supporting logic for parsing responses, tracking contacts, and reading domain lists from flat files. WHOIS parsing leans on whois-go / whois-parser-go.

Technologies & Approach

Go for a single static binary and precise control over network dialing; andelf/go-curl for digest authentication against the REST endpoint; explicit net.Dialer with LocalAddr for multi-IP egress; flat-file inputs for portability. The design favors resilience against the registry’s rate limits.

Outcome / Impact

Demonstrated end-to-end automation against a national domain registry, both its legacy WHOIS interface and its modern authenticated API, including the network-level techniques needed to operate reliably at volume. An early-career systems/networking project, now archived.

Capabilities Demonstrated

  • Low-level network programming in Go (custom dialing, source-IP rotation, timeouts)
  • WHOIS protocol handling and structured parsing of registry responses
  • HTTP Digest authentication against a registry REST API
  • Batch domain/contact automation from flat-file inputs
More work See all →