# ports.io Reference documentation > Millions of ethically sourced, consented residential proxies from around the world, without the reseller’s markup. How to use these docs: - Every page below is a Markdown file. Fetch only the pages the task needs. - Configure a client from two environment variables: `PORTS_PROXY_URL`, the proxy URL assigned to the account (scheme, hostname and port), and `PORTS_PROXY_KEY`, the full `rp1_...` key. Never invent a proxy hostname or port. - The proxy username is a routing instruction, such as `v1_rotate` or `v1_sticky_session_job-42_countries_US`. The key is the password. - SOCKS5 requires username/password authentication and destination hostnames. Use `socks5h://` for remote DNS with curl or Requests; follow the JavaScript guide for its hostname-preserving agent configuration. - Keep the assigned port. A standard `socks5h://` connection uses plaintext TCP to the proxy and cannot be sent directly to a TLS-only proxy port. - Rotation picks an exit for each new connection, not for each request sent over a reused one. - Keep TLS verification on, and keep keys out of prompts, logs and browser code. ## Routing reference - [Proxy authentication](https://ports.io/docs/reference/authentication.md): Authenticate HTTP or SOCKS5 with a routing username and your key as the password. - [Username reference](https://ports.io/docs/reference/username-reference.md): The complete grammar, its clauses, and the validation rules. - [Geographic targeting](https://ports.io/docs/reference/targeting.md): Filter exits by country or by region. - [Sessions and rotation](https://ports.io/docs/reference/sessions.md): Rotate exits, or keep related connections on one. ## Account and operations - [Manage proxy keys](https://ports.io/docs/reference/key-lifecycle.md): Create, rename, replace, and revoke keys. - [Protocols and limits](https://ports.io/docs/reference/protocols-and-limits.md): HTTP and SOCKS5 support, remote DNS, size limits, and deadlines. - [Errors and troubleshooting](https://ports.io/docs/reference/troubleshooting.md): Diagnose HTTP proxy errors and SOCKS5 handshake or tunnel failures. ## Optional - [All reference pages in one file](https://ports.io/docs/reference/llms-full.txt) - [Page manifest](https://ports.io/docs/docs.json): titles, summaries and addresses as JSON - [Every page](https://ports.io/llms.txt): the index of all the documentation