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/dzendpoint..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 installrequired). - 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
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_KEYis configured) https://www.meiguodizhi.com/api/v1/dzfallback API- Cap.js widget/CDN configured in
index.html
Check each provider's terms, availability, and privacy requirements before production use.