Docs
Blog Status Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Networking

The emulators are connected to the internet via IPv4.

Outbound IP addresses

All traffic originating from the emulators comes from the following IP addresses:

  • 176.34.140.8
  • 78.46.71.232
  • 65.109.57.21
  • 148.251.127.216
  • 65.109.54.236
  • 135.181.209.62

Machine-readable outbound IP list

You can obtain the list of outbound IP addresses either via DNS:

dig a outbound.ips.emulator.wtf +short
$ dig a outbound.ips.emulator.wtf +short
176.34.140.8
78.46.71.232
65.109.57.21
148.251.127.216
65.109.54.236
135.181.209.62

Or a list of IPs using HTTPS:

curl -sSL https://docs.emulator.wtf/outbound-ips.json
$ curl -sSL https://docs.emulator.wtf/outbound-ips.json
{
  "emulators": [
    "176.34.140.8",
    "78.46.71.232",
    "65.109.57.21",
    "148.251.127.216",
    "65.109.54.236",
    "135.181.209.62"
  ]
}

Egress tunnel

Egress tunnel is currently in closed alpha.

Contact us at support@emulator.wtf if you’re interested in trying it out!

The --egress-tunnel flag will create a wireguard tunnel between ew-cli and the emulator instance. This tunnel will be used to send internet traffic originating from the emulator (egress) through ew-cli - it’ll be as if you were running the emulator locally.

You can also use the tunnel to expose locally running services, like backends, to the emulator with --egress-localhost-fwd-ip [ipv4-address] - this will rebind the local loopback address of the ew-cli host to the given ipv4-address on the emulator end. For example, if you wanted to expose a local backend service running on port 8080 for some integration tests, you could use --egress-localhost-fwd-ip 192.168.200.1 and then whatever services is running at localhost:8080 becomes available as 192.168.200.1 to the emulator.

The IP you use for forwarding the localhost IP should be from one of the RFC1918 private ranges.

DNS

The emulators use a public DNS service by default. If you want to access internal resources using your internal DNS server then you can set dns ipv4 addresses using the --dns-server option. The servers don’t need to be world-readable, with an egress tunnel they can be any DNS server your CI machine has access to.