# Address Tool A small Python standard-library HTTP service with a static web UI for address/profile test-data generation. ## Contents - `server.py` — HTTP server and API proxy/fallback logic. - `index.html` — browser UI; calls the local `/api/v1/dz` endpoint. - `.env.example` — documented optional runtime environment variables. - `scripts/gen.py` — existing standalone helper for querying the fallback provider. - `docs/migration-inventory.md` — migrated content and cutover notes. - `deploy/address-tool.service.example` — example systemd unit for this repository layout. ## Requirements - Python 3.10+ (standard library only; no `pip install` required). - Network access to configured upstream services if generation is to use them. - The page currently loads the Cap.js widget from jsDelivr and uses the CAPTCHA endpoint configured in `index.html`; those remain external services, not bundled code. ## Run locally ```sh cp .env.example .env # Optional: edit .env and set FNG_API_KEY. set -a . ./.env set +a python3 server.py ``` The service listens on `0.0.0.0:${ADDRESS_TOOL_PORT:-18990}`. Open `http://127.0.0.1:18990/` on the same host. Do not expose this unauthenticated service directly to the public internet without an appropriate access-control/reverse-proxy layer. `FNG_API_KEY` is optional. When absent, the service skips the FakeNameGenerator API path and relies on the existing fallback provider. Never commit `.env` or API credentials. ## Existing deployment The currently running production unit still points to `/root/.openclaw/workspace/address_tool`. This repository is an isolated extraction and does not change or restart that service. Review and test the new copy before migrating the systemd unit. ## External services - FakeNameGenerator API (optional, when `FNG_API_KEY` is configured) - `https://www.meiguodizhi.com/api/v1/dz` fallback API - Cap.js widget/CDN configured in `index.html` Check each provider's terms, availability, and privacy requirements before production use.