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.878.46.71.23265.109.57.21148.251.127.21665.109.54.236135.181.209.6265.109.17.17765.109.17.164116.202.238.239168.119.95.36
Machine-readable outbound IP list
You can obtain the list of outbound IP addresses either via DNS:
dig a outbound.ips.emulator.wtf +short
Or a list of IPs using HTTPS:
curl -sSL https://docs.emulator.wtf/outbound-ips.json
Egress tunnel
InfoEgress 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.