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
Or a list of IPs using HTTPS:
curl -sSL https://docs.emulator.wtf/outbound-ips.json
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.