mirror of
https://github.com/pradt2/always-online-stun.git
synced 2025-12-24 13:08:29 +08:00
Merge branch 'master' into behind-nat-testing
This commit is contained in:
62
.github/workflows/run-hourly-check.yml
vendored
Normal file
62
.github/workflows/run-hourly-check.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Hourly check
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# Minute zero of every hour
|
||||
- cron: '0 * * * *'
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
IS_BEHIND_NAT: true
|
||||
RUST_LOG: info
|
||||
IPGEOLOCATIONIO_API_KEY: ${{ secrets.IPGEOLOCATIONIO_API_KEY }}
|
||||
WG_IFACE_PRIVATE_KEY: ${{ secrets.WG_IFACE_PRIVATE_KEY }}
|
||||
WG_IFACE_ADDRESS: ${{ secrets.WG_IFACE_ADDRESS }}
|
||||
WG_PEER_PUBLIC_KEY: ${{ secrets.WG_PEER_PUBLIC_KEY }}
|
||||
WG_PEER_ENDPOINT: ${{ secrets.WG_PEER_ENDPOINT }}
|
||||
WG_PEER_ALLOWED_IPS: ${{ secrets.WG_PEER_ALLOWED_IPS }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Git checkout
|
||||
uses: actions/checkout@v3
|
||||
- name: Set up system dependencies
|
||||
run: sudo apt-get update && sudo apt-get install resolvconf wireguard wireguard-tools
|
||||
- name: Enable build cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/bin/
|
||||
~/.cargo/registry/index/
|
||||
~/.cargo/registry/cache/
|
||||
~/.cargo/git/db/
|
||||
target/
|
||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
||||
- name: Build executable
|
||||
run: cargo build
|
||||
- name: Set up WireGuard
|
||||
run: |
|
||||
echo "[Interface]" >> /tmp/wg0.conf
|
||||
echo "PrivateKey = $WG_IFACE_PRIVATE_KEY" >> /tmp/wg0.conf
|
||||
echo "Address = $WG_IFACE_ADDRESS" >> /tmp/wg0.conf
|
||||
echo "DNS = 1.1.1.1" >> /tmp/wg0.conf
|
||||
echo "[Peer]" >> /tmp/wg0.conf
|
||||
echo "PublicKey = $WG_PEER_PUBLIC_KEY" >> /tmp/wg0.conf
|
||||
echo "Endpoint = $WG_PEER_ENDPOINT" >> /tmp/wg0.conf
|
||||
echo "AllowedIPs = $WG_PEER_ALLOWED_IPS" >> /tmp/wg0.conf
|
||||
sudo wg-quick up /tmp/wg0.conf
|
||||
- name: Ensure IPv4 and IPv6 connectivity
|
||||
run: curl google.com && curl -6 google.com
|
||||
- name: Run executable
|
||||
run: cargo run
|
||||
- name: Create timestamp
|
||||
id: create-timestamp
|
||||
run: echo "::set-output name=timestamp::$(echo $(date --utc))"
|
||||
- name: Git commit & push
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Check ${{ steps.create-timestamp.outputs.timestamp }}
|
||||
36
Cargo.lock
generated
36
Cargo.lock
generated
@@ -15,6 +15,7 @@ dependencies = [
|
||||
name = "always-online-stun"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"clap",
|
||||
"futures",
|
||||
"log",
|
||||
@@ -33,6 +34,17 @@ version = "1.0.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee10e43ae4a853c0a3591d4e2ada1719e553be18199d9da9d4a83f5927c2f5c7"
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
@@ -611,11 +623,11 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.32"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43"
|
||||
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -874,13 +886,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.81"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966"
|
||||
checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1044,6 +1056,12 @@ version = "0.3.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
version = "0.1.19"
|
||||
@@ -1053,12 +1071,6 @@ dependencies = [
|
||||
"tinyvec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||
|
||||
[[package]]
|
||||
name = "untrusted"
|
||||
version = "0.7.1"
|
||||
|
||||
@@ -6,6 +6,7 @@ edition = "2018"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
async-trait = { version = "0.1.56", default-features = false }
|
||||
clap = { version = "3.2.5", default-features = false, features = ["color", "derive", "env", "std", "suggestions"] }
|
||||
futures = { version = "0.3.17" }
|
||||
log = { version = "0.4.16" }
|
||||
|
||||
@@ -247,6 +247,10 @@
|
||||
37.4224,
|
||||
-122.08421
|
||||
],
|
||||
"173.194.77.127": [
|
||||
37.4224,
|
||||
-122.08421
|
||||
],
|
||||
"173.255.200.200": [
|
||||
32.96074,
|
||||
-96.73297
|
||||
@@ -471,6 +475,10 @@
|
||||
38.65514,
|
||||
-121.06952
|
||||
],
|
||||
"192.210.11.250": [
|
||||
25.76704,
|
||||
-80.19486
|
||||
],
|
||||
"192.76.120.66": [
|
||||
41.89534,
|
||||
-87.63628
|
||||
@@ -535,6 +543,10 @@
|
||||
50.47914,
|
||||
12.33547
|
||||
],
|
||||
"195.201.59.50": [
|
||||
50.47914,
|
||||
12.33547
|
||||
],
|
||||
"195.201.86.186": [
|
||||
50.47914,
|
||||
12.33547
|
||||
@@ -879,6 +891,10 @@
|
||||
33.50943,
|
||||
-112.00933
|
||||
],
|
||||
"2607:f8b0:4023:401::7f": [
|
||||
37.4224,
|
||||
-122.08421
|
||||
],
|
||||
"27.111.15.93": [
|
||||
51.51155,
|
||||
-0.00292
|
||||
@@ -911,6 +927,10 @@
|
||||
49.12483,
|
||||
10.78052
|
||||
],
|
||||
"2a01:4f8:13b:705::1234": [
|
||||
49.12483,
|
||||
10.78052
|
||||
],
|
||||
"2a01:4f8:1c0c:6374::1": [
|
||||
49.12483,
|
||||
10.78052
|
||||
|
||||
161
src/geoip.rs
161
src/geoip.rs
@@ -5,6 +5,23 @@ use std::io::ErrorKind::Other;
|
||||
use std::net::IpAddr;
|
||||
use std::path::PathBuf;
|
||||
use std::time::Duration;
|
||||
use async_trait::async_trait;
|
||||
use serde_json::Value;
|
||||
|
||||
type GeoIpData = (f32, f32);
|
||||
|
||||
#[async_trait]
|
||||
pub(crate) trait GeoIpClient {
|
||||
async fn get_hostname_geoip_info(&self, hostname: &str) -> io::Result<GeoIpData> {
|
||||
self.get_geoip_info(hostname).await
|
||||
}
|
||||
|
||||
async fn get_ip_geoip_info(&self, ip: IpAddr) -> io::Result<GeoIpData> {
|
||||
self.get_geoip_info(ip.to_string().as_str()).await
|
||||
}
|
||||
|
||||
async fn get_geoip_info(&self, hostname_or_ip: &str) -> io::Result<GeoIpData>;
|
||||
}
|
||||
|
||||
pub(crate) struct IpGeolocationIoClient {
|
||||
api_key: String,
|
||||
@@ -12,25 +29,79 @@ pub(crate) struct IpGeolocationIoClient {
|
||||
client: reqwest::Client,
|
||||
}
|
||||
|
||||
type GeoIpData = (f32, f32);
|
||||
|
||||
impl IpGeolocationIoClient {
|
||||
pub(crate) fn new(api_key: String) -> IpGeolocationIoClient {
|
||||
IpGeolocationIoClient {
|
||||
pub(crate) fn new(api_key: String) -> Self {
|
||||
Self {
|
||||
api_key,
|
||||
url: String::from("https://api.ipgeolocation.io/ipgeo"),
|
||||
client: reqwest::Client::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn default() -> IpGeolocationIoClient {
|
||||
IpGeolocationIoClient::new(std::env::var("IPGEOLOCATIONIO_API_KEY")
|
||||
impl Default for IpGeolocationIoClient {
|
||||
fn default() -> Self {
|
||||
Self::new(std::env::var("IPGEOLOCATIONIO_API_KEY")
|
||||
.expect("Env var IPGEOLOCATIONIO_API_KEY required. Get a free API key at https://ipgeolocation.io"))
|
||||
}
|
||||
}
|
||||
|
||||
impl IpGeolocationIoClient {
|
||||
pub(crate) async fn get_hostname_geoip_info(&self, hostname: &str) -> io::Result<GeoIpData> {
|
||||
#[async_trait]
|
||||
impl GeoIpClient for IpGeolocationIoClient {
|
||||
|
||||
async fn get_geoip_info(&self, hostname_or_ip: &str) -> io::Result<GeoIpData> {
|
||||
let response = self.client.get(self.url.as_str())
|
||||
.query(&[("apiKey", self.api_key.as_str())])
|
||||
.query(&[("ip", hostname_or_ip)])
|
||||
.query(&[("fields", "latitude,longitude")])
|
||||
.timeout(Duration::from_secs(5))
|
||||
.send()
|
||||
.await
|
||||
.map_err(|err| io::Error::new(ErrorKind::Other, err))?
|
||||
.json::<Value>()
|
||||
.await
|
||||
.map_err(|err| io::Error::new(ErrorKind::Other, err))?;
|
||||
|
||||
let lat = response
|
||||
.get("latitude")
|
||||
.map(|v| v.as_str().unwrap_or("0"))
|
||||
.map(|s| s.parse().unwrap_or(0 as f32))
|
||||
.unwrap_or(0 as f32);
|
||||
|
||||
let lon = response
|
||||
.get("longitude")
|
||||
.map(|v| v.as_str().unwrap_or("0"))
|
||||
.map(|s| s.parse().unwrap_or(0 as f32))
|
||||
.unwrap_or(0 as f32);
|
||||
|
||||
Ok((lat, lon))
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct GeolocationDbClient {
|
||||
url: String,
|
||||
client: reqwest::Client,
|
||||
}
|
||||
|
||||
impl Default for GeolocationDbClient {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
url: String::from("https://geolocation-db.com/json"),
|
||||
client: reqwest::Client::builder()
|
||||
.build()
|
||||
.unwrap(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct GeolocationDbClientResponse {
|
||||
latitude: Option<f32>,
|
||||
longitude: Option<f32>,
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl GeoIpClient for GeolocationDbClient {
|
||||
async fn get_hostname_geoip_info(&self, hostname: &str) -> io::Result<GeoIpData> {
|
||||
self.get_geoip_info(hostname).await
|
||||
}
|
||||
|
||||
@@ -39,56 +110,51 @@ impl IpGeolocationIoClient {
|
||||
}
|
||||
|
||||
async fn get_geoip_info(&self, hostname_or_ip: &str) -> io::Result<GeoIpData> {
|
||||
let response = self.client.get(self.url.as_str())
|
||||
.query(&[("apiKey", self.api_key.as_str())])
|
||||
.query(&[("ip", hostname_or_ip)])
|
||||
.query(&[("fields", "latitude,longitude")])
|
||||
.timeout(Duration::from_secs(1))
|
||||
let url = self.url.clone() + "/" + hostname_or_ip;
|
||||
|
||||
let response = self.client.get(url)
|
||||
.timeout(Duration::from_secs(5))
|
||||
.send()
|
||||
.await
|
||||
.map_err(|err| io::Error::new(ErrorKind::Other, err))?
|
||||
.json::<HashMap<String, String>>()
|
||||
.json::<Value>()
|
||||
.await
|
||||
.map_err(|err| io::Error::new(ErrorKind::Other, err))?;
|
||||
|
||||
let lat = response.get("latitude")
|
||||
.cloned()
|
||||
.map(|lat_str| lat_str.parse().unwrap())
|
||||
.unwrap_or(0 as f32);
|
||||
let lat = response
|
||||
.get("latitude")
|
||||
.map(|v| v.as_f64().unwrap_or(0 as f64))
|
||||
.unwrap_or(0 as f64) as f32;
|
||||
|
||||
let lon = response.get("longitude")
|
||||
.cloned()
|
||||
.map(|lon_str| lon_str.parse().unwrap())
|
||||
.unwrap_or(0 as f32);
|
||||
let lon = response
|
||||
.get("longitude")
|
||||
.map(|v| v.as_f64().unwrap_or(0 as f64))
|
||||
.unwrap_or(0 as f64) as f32;
|
||||
|
||||
Ok((lat, lon))
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct CachedIpGeolocationIpClient {
|
||||
path: PathBuf,
|
||||
client: IpGeolocationIoClient,
|
||||
pub(crate) struct CachedIpGeolocationIpClient<T: GeoIpClient + Default> {
|
||||
cachefile_path: PathBuf,
|
||||
client_impl: T,
|
||||
map: BTreeMap<String, GeoIpData>,
|
||||
}
|
||||
|
||||
impl CachedIpGeolocationIpClient {
|
||||
pub(crate) async fn new(filename: PathBuf) -> io::Result<CachedIpGeolocationIpClient> {
|
||||
let cache_str = tokio::fs::read_to_string(&filename).await?;
|
||||
impl <T: GeoIpClient + Default> CachedIpGeolocationIpClient<T> {
|
||||
pub(crate) async fn new(cachefile_path: PathBuf) -> io::Result<Self> {
|
||||
let cache_str = tokio::fs::read_to_string(&cachefile_path).await?;
|
||||
|
||||
let map: BTreeMap<String, GeoIpData> = serde_json::de::from_str(cache_str.as_str())
|
||||
.map_err(|err| io::Error::new(Other, err))?;
|
||||
|
||||
let client = CachedIpGeolocationIpClient {
|
||||
path: filename,
|
||||
client: IpGeolocationIoClient::default(),
|
||||
let client_impl = T::default();
|
||||
|
||||
Ok(Self {
|
||||
cachefile_path,
|
||||
client_impl,
|
||||
map
|
||||
};
|
||||
|
||||
Ok(client)
|
||||
}
|
||||
|
||||
pub(crate) async fn default(filepath: PathBuf) -> io::Result<CachedIpGeolocationIpClient> {
|
||||
CachedIpGeolocationIpClient::new(filepath).await
|
||||
})
|
||||
}
|
||||
|
||||
pub(crate) async fn get_hostname_geoip_info(&mut self, hostname: &str) -> io::Result<GeoIpData> {
|
||||
@@ -102,15 +168,30 @@ impl CachedIpGeolocationIpClient {
|
||||
pub(crate) async fn save(&self) -> io::Result<()> {
|
||||
let str = serde_json::ser::to_string_pretty(&self.map)
|
||||
.map_err(|err| io::Error::new(Other, err))?;
|
||||
tokio::fs::write(&self.path, str).await
|
||||
tokio::fs::write(&self.cachefile_path, str).await
|
||||
}
|
||||
|
||||
async fn get_geoip_info(&mut self, hostname_or_ip: &str) -> io::Result<GeoIpData> {
|
||||
if let Some(geo_ip_data) = self.map.get(hostname_or_ip).cloned() {
|
||||
return Ok(geo_ip_data)
|
||||
}
|
||||
let geo_ip_data = self.client.get_geoip_info(hostname_or_ip).await?;
|
||||
let geo_ip_data = self.client_impl.get_geoip_info(hostname_or_ip).await?;
|
||||
self.map.insert(String::from(hostname_or_ip), geo_ip_data.clone());
|
||||
Ok(geo_ip_data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::net::Ipv4Addr;
|
||||
use super::*;
|
||||
|
||||
#[tokio::test]
|
||||
async fn geolocation_db_client() {
|
||||
let (lat, lon) = GeolocationDbClient::default()
|
||||
.get_ip_geoip_info(IpAddr::V4(Ipv4Addr::from([1,1,1,1]))).await.unwrap();
|
||||
assert_ne!(0 as f32, lat);
|
||||
assert_ne!(0 as f32, lon);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ use futures::StreamExt;
|
||||
use tokio::time::Instant;
|
||||
use clap::Parser;
|
||||
|
||||
use crate::geoip::GeolocationDbClient;
|
||||
use crate::utils::join_all_with_semaphore;
|
||||
use crate::outputs::{ValidHosts, ValidIpV4s, ValidIpV6s};
|
||||
use crate::servers::StunServer;
|
||||
@@ -66,7 +67,7 @@ async fn main() -> io::Result<()> {
|
||||
|
||||
let cli: Cli = Cli::parse();
|
||||
|
||||
let client = Rc::new(RefCell::new(geoip::CachedIpGeolocationIpClient::default(cli.geoip_cache_file).await?));
|
||||
let client = Rc::new(RefCell::new(geoip::CachedIpGeolocationIpClient::<GeolocationDbClient>::new(cli.candidates_file).await?));
|
||||
|
||||
let stun_servers = servers::get_stun_servers(cli.candidates_file).await?;
|
||||
|
||||
|
||||
21
src/stun.rs
21
src/stun.rs
@@ -1,5 +1,6 @@
|
||||
use std::net::{SocketAddr};
|
||||
use std::time::{Duration, Instant};
|
||||
use stunclient::Error;
|
||||
use tokio::net::UdpSocket;
|
||||
use crate::utils::join_all_with_semaphore;
|
||||
use crate::StunServer;
|
||||
@@ -105,7 +106,9 @@ pub(crate) async fn test_udp_stun_server(
|
||||
let socket_addrs = tokio::net::lookup_host(format!("{}:{}", server.hostname, server.port)).await;
|
||||
|
||||
if socket_addrs.is_err() {
|
||||
if socket_addrs.as_ref().err().unwrap().to_string() != "failed to lookup address information: Name or service not known" {
|
||||
let err_str = socket_addrs.as_ref().err().unwrap().to_string();
|
||||
if err_str.contains("Name or service not known") ||
|
||||
err_str.contains("No address associated with hostname") {} else {
|
||||
warn!("{:<21} -> Unexpected DNS failure: {}", server.hostname, socket_addrs.as_ref().err().unwrap().to_string());
|
||||
}
|
||||
return StunServerTestResult {
|
||||
@@ -177,12 +180,18 @@ async fn test_socket_addr_against_trusted_party(
|
||||
}
|
||||
}).expect("Trusted party must provide IPv4 and v6 connectivity");
|
||||
|
||||
let mut client = stunclient::StunClient::new(trusted_party_addr);
|
||||
let deadline = Duration::from_secs(5);
|
||||
client.set_timeout(deadline);
|
||||
let mut local_socket_mapping = None;
|
||||
for _ in 0..3 {
|
||||
let mut client = stunclient::StunClient::new(trusted_party_addr);
|
||||
let deadline = Duration::from_secs(5);
|
||||
client.set_timeout(deadline);
|
||||
match client.query_external_address_async(&local_socket).await {
|
||||
Ok(addr) => {local_socket_mapping = Some(addr); break},
|
||||
Err(_) => continue
|
||||
}
|
||||
};
|
||||
|
||||
let local_socket_mapping = client.query_external_address_async(&local_socket).await
|
||||
.expect("Trusted party must provide a valid mapping");
|
||||
let local_socket_mapping = local_socket_mapping.expect("Trusted party must provide a valid mapping");
|
||||
|
||||
test_socket(hostname, socket_addr, local_socket_mapping, &local_socket).await
|
||||
}
|
||||
|
||||
756
valid_hosts.txt
756
valid_hosts.txt
@@ -1,385 +1,383 @@
|
||||
stun.miwifi.com:3478
|
||||
stun.voipplanet.nl:3478
|
||||
stun.futurasp.es:3478
|
||||
stun.f.haeder.net:3478
|
||||
stun.srce.hr:3478
|
||||
stun.wemag.com:3478
|
||||
stun.internetcalls.com:3478
|
||||
stun.ctafauni.it:3478
|
||||
stun.beebeetle.com:3478
|
||||
stun.taxsee.com:3478
|
||||
stun.lleida.net:3478
|
||||
stun.studio71.it:3478
|
||||
stun.syncthing.net:3478
|
||||
stun.alpirsbacher.de:3478
|
||||
stun3.l.google.com:19302
|
||||
stun.odr.de:3478
|
||||
stun.kaseya.com:3478
|
||||
stun.m-online.net:3478
|
||||
stun.zepter.ru:3478
|
||||
stun.telnyx.com:3478
|
||||
relay.webwormhole.io:3478
|
||||
stun.3deluxe.de:3478
|
||||
stun.irishvoip.com:3478
|
||||
stun.voipdiscount.com:3478
|
||||
stun.onthenet.com.au:3478
|
||||
stun.freecall.com:3478
|
||||
stun.mywatson.it:3478
|
||||
stun.peeters.com:3478
|
||||
stun.waterpolopalermo.it:3478
|
||||
stun.godatenow.com:3478
|
||||
stun.rackco.com:3478
|
||||
stun.steinbeis-smi.de:3478
|
||||
stun4.l.google.com:19305
|
||||
stun.commpeak.com:3478
|
||||
stun.goldener-internetpreis.de:3478
|
||||
stun.vomessen.de:3478
|
||||
stun.grazertrinkwasseringefahr.at:3478
|
||||
stun.linphone.org:3478
|
||||
stun.megatel.si:3478
|
||||
stun.easycall.pl:3478
|
||||
stun.next-gen.ro:3478
|
||||
stun.wia.cz:3478
|
||||
stun.vozelia.com:3478
|
||||
stun.allflac.com:3478
|
||||
stun.planetarium.com.br:3478
|
||||
stun.muoversi.net:3478
|
||||
stun.leonde.org:3478
|
||||
stun.highfidelity.io:3478
|
||||
stun.voipwise.com:3478
|
||||
stun.callwithus.com:3478
|
||||
stun.meowsbox.com:3478
|
||||
stun.nextcloud.com:3478
|
||||
stun.url.net.au:3478
|
||||
stun.coffee-sen.com:3478
|
||||
stun.globalmeet.com:3478
|
||||
stun1.l.google.com:19305
|
||||
stun.voicetech.se:3478
|
||||
stun.sparvoip.de:3478
|
||||
stun.wtfismyip.com:3478
|
||||
stun.cloopen.com:3478
|
||||
stun.verbo.be:3478
|
||||
stun.voip.blackberry.com:3478
|
||||
stun.soho66.co.uk:3478
|
||||
stun.nextcloud.com:443
|
||||
stun.qcol.net:3478
|
||||
stun.genymotion.com:3478
|
||||
stun.bau-ha.us:3478
|
||||
stun.zadarma.com:3478
|
||||
stun2.l.google.com:19302
|
||||
stun.voipraider.com:3478
|
||||
stun.l.google.com:19305
|
||||
stun.dls.net:3478
|
||||
stun.easter-eggs.com:3478
|
||||
stun.nstelcom.com:3478
|
||||
stun.piratenbrandenburg.de:3478
|
||||
stun.sipthor.net:3478
|
||||
stun.vavadating.com:3478
|
||||
stun.istitutogramscisiciliano.it:3478
|
||||
stun.gigaset.net:3478
|
||||
stun.hot-chilli.net:3478
|
||||
stun.eoni.com:3478
|
||||
stun.gmx.net:3478
|
||||
stun.sky.od.ua:3478
|
||||
stun.sewan.fr:3478
|
||||
stun.jowisoftware.de:3478
|
||||
stun.leucotron.com.br:3478
|
||||
stun.netappel.com:3478
|
||||
stun.h4v.eu:3478
|
||||
stun.smslisto.com:3478
|
||||
stun.mit.de:3478
|
||||
stun.medvc.eu:3478
|
||||
stun.nexphone.ch:3478
|
||||
stun.fitauto.ru:3478
|
||||
stun.totalcom.info:3478
|
||||
stun3.l.google.com:19305
|
||||
stun.webmatrix.com.br:3478
|
||||
stun.londonweb.net:3478
|
||||
stun.l.google.com:19302
|
||||
stun.oncloud7.ch:3478
|
||||
stun.kedr.io:3478
|
||||
stun.hoiio.com:3478
|
||||
stun.3wayint.com:3478
|
||||
stun.jabbim.cz:3478
|
||||
stun.uabrides.com:3478
|
||||
stun.imp.ch:3478
|
||||
stun.ukh.de:3478
|
||||
stun.logic.ky:3478
|
||||
stun.voicetrading.com:3478
|
||||
stun.framasoft.org:3478
|
||||
stun.eurosys.be:3478
|
||||
stun.voip.eutelia.it:3478
|
||||
stun.babelforce.com:3478
|
||||
stun.t-online.de:3478
|
||||
stun.effexx.com:3478
|
||||
stun.schoeffel.de:3478
|
||||
stun.komsa.de:3478
|
||||
stun.marble.io:3478
|
||||
stun.provectio.fr:3478
|
||||
stun.netgsm.com.tr:3478
|
||||
stun.expandable.io:3478
|
||||
stun.rynga.com:3478
|
||||
stun.solcon.nl:3478
|
||||
stun.sipgate.net:3478
|
||||
stun.comrex.com:3478
|
||||
stun.nottingham.ac.uk:3478
|
||||
stun.symonics.com:3478
|
||||
stun.thinkrosystem.com:3478
|
||||
stun.kaznpu.kz:3478
|
||||
stun.voip.aebc.com:3478
|
||||
stun.goldfish.ie:3478
|
||||
stun.yesdates.com:3478
|
||||
stun.voipxs.nl:3478
|
||||
stun.vo.lu:3478
|
||||
stun.telonline.com:3478
|
||||
stun.cibercloud.com.br:3478
|
||||
stun.swrag.de:3478
|
||||
stun.spoiltheprincess.com:3478
|
||||
stun.katholischekirche-ruegen.de:3478
|
||||
stun.geonet.ro:3478
|
||||
stun.kotter.net:3478
|
||||
stun.wxnz.net:3478
|
||||
stun.demos.su:3478
|
||||
stun.bernardoprovenzano.net:3478
|
||||
stun.myvoipapp.com:3478
|
||||
stun.tng.de:3478
|
||||
stun.romancecompass.com:3478
|
||||
stun.fbsbx.com:3478
|
||||
stun.kreis-bergstrasse.de:3478
|
||||
stun.ttmath.org:3478
|
||||
stun.siptraffic.com:3478
|
||||
stun.fondazioneroccochinnici.it:3478
|
||||
stun4.l.google.com:19302
|
||||
stun.var6.cn:3478
|
||||
stun.sipnet.com:3478
|
||||
stun.acronis.com:3478
|
||||
stun.sipdiscount.com:3478
|
||||
stun.shadrinsk.net:3478
|
||||
stun.crimeastar.net:3478
|
||||
stun.rolmail.net:3478
|
||||
stun.ooma.com:3478
|
||||
stun.sylaps.com:3478
|
||||
stun.bethesda.net:3478
|
||||
stun.junet.se:3478
|
||||
stun.twt.it:3478
|
||||
stun.voippro.com:3478
|
||||
stun.galeriemagnet.at:3478
|
||||
stun.chaosmos.de:3478
|
||||
stun.connecteddata.com:3478
|
||||
stun.axialys.net:3478
|
||||
stun.epygi.com:3478
|
||||
stun.tel.lu:3478
|
||||
stun.solnet.ch:3478
|
||||
stun.lowratevoip.com:3478
|
||||
stun.acquageraci.it:3478
|
||||
stun.easyvoip.com:3478
|
||||
stun.it1.hr:3478
|
||||
stun.linuxtrent.it:3478
|
||||
stun.streamnow.ch:3478
|
||||
stun.senstar.com:3478
|
||||
stun.voipcheap.co.uk:3478
|
||||
stun2.l.google.com:19305
|
||||
stun.dreifaltigkeit-stralsund.de:3478
|
||||
stun.uiltucssicilia.it:3478
|
||||
stun.files.fm:3478
|
||||
stun.simlar.org:3478
|
||||
stun.clickphone.ro:3478
|
||||
stun.bitburger.de:3478
|
||||
stun.poivy.com:3478
|
||||
stun.mobile-italia.com:3478
|
||||
stun.ipshka.com:3478
|
||||
stun.voipgain.com:3478
|
||||
stun.actionvoip.com:3478
|
||||
stun.levigo.de:3478
|
||||
stun.voipcheap.com:3478
|
||||
stun.freevoipdeal.com:3478
|
||||
stun.voipinfocenter.com:3478
|
||||
stun.tichiamo.it:3478
|
||||
stun.altar.com.pl:3478
|
||||
stun.teliax.com:3478
|
||||
stun.zottel.net:3478
|
||||
stun.1und1.de:3478
|
||||
stun.voipbuster.com:3478
|
||||
stun.officinabit.com:3478
|
||||
stun.yeymo.com:3478
|
||||
stun.webcalldirect.com:3478
|
||||
stun.atagverwarming.nl:3478
|
||||
stun.cheapvoip.com:3478
|
||||
stun.synergiejobs.be:3478
|
||||
stun.bluesip.net:3478
|
||||
stun.sippeer.dk:3478
|
||||
stun.voipblast.com:3478
|
||||
stun.bandyer.com:3478
|
||||
stun.voipgate.com:3478
|
||||
stun.palava.tv:3478
|
||||
stun.graftlab.com:3478
|
||||
stun.halonet.pl:3478
|
||||
stun.sipnet.ru:3478
|
||||
stun.eol.co.nz:3478
|
||||
stun.nonoh.net:3478
|
||||
stun.dcalling.de:3478
|
||||
stun.ringostat.com:3478
|
||||
stun.cellmail.com:3478
|
||||
stun.teamfon.de:3478
|
||||
stun.antisip.com:3478
|
||||
stun.mixvoip.com:3478
|
||||
stun.obovsem.com:3478
|
||||
stun.siedle.com:3478
|
||||
stun.healthtap.com:3478
|
||||
stun.lebendigefluesse.at:3478
|
||||
stun.solomo.de:3478
|
||||
stun.callromania.ro:3478
|
||||
stun.carlovizzini.it:3478
|
||||
stun.cablenet-as.net:3478
|
||||
stun.geesthacht.de:3478
|
||||
stun.optdyn.com:3478
|
||||
stun.zentauron.de:3478
|
||||
stun.wifirst.net:3478
|
||||
stun.labs.net:3478
|
||||
stun.fathomvoice.com:3478
|
||||
stun.marcelproust.it:3478
|
||||
stun.hosteurope.de:3478
|
||||
stun.ippi.fr:3478
|
||||
stun.hicare.net:3478
|
||||
stun.sip.us:3478
|
||||
stun.surjaring.it:3478
|
||||
stun.tel2.co.uk:3478
|
||||
stun.stadtwerke-eutin.de:3478
|
||||
stun.plexicomm.net:3478
|
||||
stun.ortopediacoam.it:3478
|
||||
stun.ixc.ua:3478
|
||||
stun.trainingspace.online:3478
|
||||
stun.openvoip.it:3478
|
||||
stun.acrobits.cz:3478
|
||||
stun.redworks.nl:3478
|
||||
stun.bridesbay.com:3478
|
||||
stun.intervoip.com:3478
|
||||
stun.splicecom.com:3478
|
||||
stun.ippi.com:3478
|
||||
stun.tula.nu:3478
|
||||
stun.justvoip.com:3478
|
||||
stun.bcs2005.net:3478
|
||||
stun.deepfinesse.com:3478
|
||||
stun.dus.net:3478
|
||||
stun.voipstunt.com:3478
|
||||
stun.anlx.net:3478
|
||||
stun.root-1.de:3478
|
||||
stun.romaaeterna.nl:3478
|
||||
stun.westtel.ky:3478
|
||||
stun.ladridiricette.it:3478
|
||||
stun.gravitel.ru:3478
|
||||
stun.technosens.fr:3478
|
||||
stun.openjobs.hu:3478
|
||||
stun.myspeciality.com:3478
|
||||
stun.sipnet.net:3478
|
||||
stun.schlund.de:3478
|
||||
stun.kanojo.de:3478
|
||||
stun.heeds.eu:3478
|
||||
stun.voztovoice.org:3478
|
||||
stun.landvast.nl:3478
|
||||
stun.sovtest.ru:3478
|
||||
stun.axeos.nl:3478
|
||||
stun.siptrunk.com:3478
|
||||
stun.schulinformatik.at:3478
|
||||
stun.yollacalls.com:3478
|
||||
stun.nautile.nc:3478
|
||||
stun1.l.google.com:19302
|
||||
stun.nexxtmobile.de:3478
|
||||
stun.neomedia.it:3478
|
||||
stun.ringvoz.com:3478
|
||||
stun.lovense.com:3478
|
||||
stun.lineaencasa.com:3478
|
||||
stun.gntel.nl:3478
|
||||
stun.syrex.co.za:3478
|
||||
stun.etoilediese.fr:3478
|
||||
stun.ppdi.com:3478
|
||||
stun.vivox.com:3478
|
||||
stun.nanocosmos.de:3478
|
||||
stun.localphone.com:3478
|
||||
stun.myvoiptraffic.com:3478
|
||||
stun.voipconnect.com:3478
|
||||
stun.issabel.org:3478
|
||||
stun.trivenet.it:3478
|
||||
stun.sipgate.net:10000
|
||||
stun.ipfire.org:3478
|
||||
stun.engineeredarts.co.uk:3478
|
||||
stun.kore.com:3478
|
||||
stun.annatel.net:3478
|
||||
stun.voipvoice.it:3478
|
||||
stun.voipbusterpro.com:3478
|
||||
stun.taxsee.com:3478
|
||||
stun.isp.net.au:3478
|
||||
stun.infra.net:3478
|
||||
stun.autosystem.com:3478
|
||||
stun.thebrassgroup.it:3478
|
||||
stun.studio-link.de:3478
|
||||
stun.fmo.de:3478
|
||||
stun.gmx.de:3478
|
||||
stun.otos.pl:3478
|
||||
stun.poetamatusel.org:3478
|
||||
stun.sipglobalphone.com:3478
|
||||
stun.demos.ru:3478
|
||||
stun.elitetele.com:3478
|
||||
stun.smartvoip.com:3478
|
||||
stun.myhowto.org:3478
|
||||
stun.smsdiscount.com:3478
|
||||
stun.kitamaebune.com:3478
|
||||
stun.selasky.org:3478
|
||||
stun.alphacron.de:3478
|
||||
stun.funwithelectronics.com:3478
|
||||
iphone-stun.strato-iphone.de:3478
|
||||
stun.bearstech.com:3478
|
||||
stun.stunprotocol.org:3478
|
||||
stun.1-voip.com:3478
|
||||
stun.bergophor.de:3478
|
||||
stun.voipia.net:3478
|
||||
stun.voys.nl:3478
|
||||
stun.fairytel.at:3478
|
||||
stun.telbo.com:3478
|
||||
stun.business-isp.nl:3478
|
||||
stun.liveo.fr:3478
|
||||
stun.skydrone.aero:3478
|
||||
stun.aaisp.co.uk:3478
|
||||
stun.eaclipt.org:3478
|
||||
stun.nfon.net:3478
|
||||
stun.moonlight-stream.org:3478
|
||||
stun.meetwife.com:3478
|
||||
stun.newrocktech.com:3478
|
||||
stun.12voip.com:3478
|
||||
stun.training-online.eu:3478
|
||||
stun.wcoil.com:3478
|
||||
stun.voipzoom.com:3478
|
||||
stun.1cbit.ru:3478
|
||||
stun.powervoip.com:3478
|
||||
stun.sonetel.com:3478
|
||||
stun.frozenmountain.com:3478
|
||||
stun.siplogin.de:3478
|
||||
stun.jay.net:3478
|
||||
stun.avigora.fr:3478
|
||||
stun.voztele.com:3478
|
||||
stun.hide.me:3478
|
||||
stun.rockenstein.de:3478
|
||||
stun.olimontel.it:3478
|
||||
stun.ru-brides.com:3478
|
||||
stun.sipy.cz:3478
|
||||
stun.peethultra.be:3478
|
||||
stun.threema.ch:3478
|
||||
stun.ivao.aero:3478
|
||||
stun.baltmannsweiler.de:3478
|
||||
stun.talkho.com:3478
|
||||
stun.arkh-edu.ru:3478
|
||||
stun.symonics.com:3478
|
||||
stun.dunyatelekom.com:3478
|
||||
stun.voippro.com:3478
|
||||
stun.zadarma.com:3478
|
||||
stun.srce.hr:3478
|
||||
stun.demos.su:3478
|
||||
stun.eol.co.nz:3478
|
||||
stun.beebeetle.com:3478
|
||||
stun.foad.me.uk:3478
|
||||
stun.jumblo.com:3478
|
||||
stun.edwin-wiegele.at:3478
|
||||
stun.dunyatelekom.com:3478
|
||||
stun.aa.net.uk:3478
|
||||
stun.stochastix.de:3478
|
||||
stun.vadacom.co.nz:3478
|
||||
stun.voipgrid.nl:3478
|
||||
stun.radiojar.com:3478
|
||||
stun.imafex.sk:3478
|
||||
stun.lundimatin.fr:3478
|
||||
stun.uls.co.za:3478
|
||||
stun.eleusi.com:3478
|
||||
stun.sonetel.net:3478
|
||||
stun.grazertrinkwasseringefahr.at:3478
|
||||
stun.imp.ch:3478
|
||||
stun.signalwire.com:3478
|
||||
stun.infra.net:3478
|
||||
stun.rackco.com:3478
|
||||
stun.threema.ch:3478
|
||||
stun.ukh.de:3478
|
||||
stun.westtel.ky:3478
|
||||
stun.zepter.ru:3478
|
||||
stun.eaclipt.org:3478
|
||||
stun.cibercloud.com.br:3478
|
||||
stun.landvast.nl:3478
|
||||
stun.halonet.pl:3478
|
||||
stun.voipwise.com:3478
|
||||
stun.schoeffel.de:3478
|
||||
stun.tel.lu:3478
|
||||
stun.galeriemagnet.at:3478
|
||||
stun.voztele.com:3478
|
||||
stun.voipstunt.com:3478
|
||||
stun.katholischekirche-ruegen.de:3478
|
||||
stun.trainingspace.online:3478
|
||||
stun2.l.google.com:19302
|
||||
stun.piratenbrandenburg.de:3478
|
||||
stun.stadtwerke-eutin.de:3478
|
||||
stun.bridesbay.com:3478
|
||||
stun.callromania.ro:3478
|
||||
stun.smsdiscount.com:3478
|
||||
stun.fairytel.at:3478
|
||||
stun.kitamaebune.com:3478
|
||||
stun.vozelia.com:3478
|
||||
stun.sewan.fr:3478
|
||||
stun.telonline.com:3478
|
||||
stun.tula.nu:3478
|
||||
stun.nexphone.ch:3478
|
||||
stun.ixc.ua:3478
|
||||
stun.studio71.it:3478
|
||||
stun.nextcloud.com:443
|
||||
stun.voipgate.com:3478
|
||||
stun.frozenmountain.com:3478
|
||||
stun.fondazioneroccochinnici.it:3478
|
||||
stun.allflac.com:3478
|
||||
stun.odr.de:3478
|
||||
stun.sylaps.com:3478
|
||||
stun.siptraffic.com:3478
|
||||
stun.t-online.de:3478
|
||||
stun.carlovizzini.it:3478
|
||||
stun.voipinfocenter.com:3478
|
||||
stun.hot-chilli.net:3478
|
||||
stun.meetwife.com:3478
|
||||
stun1.l.google.com:19305
|
||||
stun.medvc.eu:3478
|
||||
stun.lineaencasa.com:3478
|
||||
stun4.l.google.com:19305
|
||||
stun.sip.us:3478
|
||||
stun.babelforce.com:3478
|
||||
stun.chaosmos.de:3478
|
||||
stun2.l.google.com:19305
|
||||
relay.webwormhole.io:3478
|
||||
stun.vavadating.com:3478
|
||||
stun.piratecinema.org:3478
|
||||
stun.bearstech.com:3478
|
||||
stun.ooma.com:3478
|
||||
stun.url.net.au:3478
|
||||
stun.marcelproust.it:3478
|
||||
stun.rolmail.net:3478
|
||||
stun.easyvoip.com:3478
|
||||
stun.kedr.io:3478
|
||||
stun.savemgo.com:3478
|
||||
stun.geonet.ro:3478
|
||||
stun.sipgate.net:3478
|
||||
stun.uls.co.za:3478
|
||||
stun.freecall.com:3478
|
||||
stun.gntel.nl:3478
|
||||
stun.uabrides.com:3478
|
||||
stun.callwithus.com:3478
|
||||
stun.ladridiricette.it:3478
|
||||
stun.teamfon.de:3478
|
||||
stun.wtfismyip.com:3478
|
||||
stun.synergiejobs.be:3478
|
||||
stun.londonweb.net:3478
|
||||
stun.nautile.nc:3478
|
||||
stun.lebendigefluesse.at:3478
|
||||
stun.thebrassgroup.it:3478
|
||||
stun.commpeak.com:3478
|
||||
stun.internetcalls.com:3478
|
||||
stun.eurosys.be:3478
|
||||
stun.gmx.net:3478
|
||||
stun.linuxtrent.it:3478
|
||||
stun.voicetech.se:3478
|
||||
stun.avigora.fr:3478
|
||||
stun.bluesip.net:3478
|
||||
stun.wcoil.com:3478
|
||||
stun.alpirsbacher.de:3478
|
||||
stun.epygi.com:3478
|
||||
stun.voipia.net:3478
|
||||
stun.simlar.org:3478
|
||||
stun.godatenow.com:3478
|
||||
stun.schulinformatik.at:3478
|
||||
stun.wia.cz:3478
|
||||
stun.nextcloud.com:3478
|
||||
stun.stochastix.de:3478
|
||||
stun.yesdates.com:3478
|
||||
stun.voztovoice.org:3478
|
||||
stun.ivao.aero:3478
|
||||
stun.var6.cn:3478
|
||||
stun.voipcheap.co.uk:3478
|
||||
stun.officinabit.com:3478
|
||||
stun.logic.ky:3478
|
||||
stun.gmx.de:3478
|
||||
stun.globalmeet.com:3478
|
||||
stun.axeos.nl:3478
|
||||
stun.eleusi.com:3478
|
||||
stun.telnyx.com:3478
|
||||
stun.mywatson.it:3478
|
||||
stun.optdyn.com:3478
|
||||
stun.totalcom.info:3478
|
||||
stun.gigaset.net:3478
|
||||
stun.twt.it:3478
|
||||
stun.selasky.org:3478
|
||||
stun.sipgate.net:10000
|
||||
stun.uiltucssicilia.it:3478
|
||||
stun.openjobs.hu:3478
|
||||
stun.peeters.com:3478
|
||||
stun.senstar.com:3478
|
||||
stun.actionvoip.com:3478
|
||||
stun.sipnet.ru:3478
|
||||
stun.voip.aebc.com:3478
|
||||
stun.coffee-sen.com:3478
|
||||
stun.jabbim.cz:3478
|
||||
stun.mixvoip.com:3478
|
||||
stun.cablenet-as.net:3478
|
||||
stun.bitburger.de:3478
|
||||
stun.genymotion.com:3478
|
||||
stun.talkho.com:3478
|
||||
stun.wxnz.net:3478
|
||||
stun.sipdiscount.com:3478
|
||||
stun.soho66.co.uk:3478
|
||||
stun.anlx.net:3478
|
||||
stun.bernardoprovenzano.net:3478
|
||||
stun.myvoiptraffic.com:3478
|
||||
stun.hicare.net:3478
|
||||
stun3.l.google.com:19302
|
||||
stun.connecteddata.com:3478
|
||||
stun.netgsm.com.tr:3478
|
||||
stun.geesthacht.de:3478
|
||||
stun.wemag.com:3478
|
||||
stun.ipshka.com:3478
|
||||
stun.leucotron.com.br:3478
|
||||
stun.solnet.ch:3478
|
||||
stun.imafex.sk:3478
|
||||
stun.radiojar.com:3478
|
||||
stun.kaznpu.kz:3478
|
||||
stun.lovense.com:3478
|
||||
stun.antisip.com:3478
|
||||
stun.ru-brides.com:3478
|
||||
stun.syrex.co.za:3478
|
||||
stun.myhowto.org:3478
|
||||
stun.deepfinesse.com:3478
|
||||
stun.hide.me:3478
|
||||
stun.kotter.net:3478
|
||||
stun.issabel.org:3478
|
||||
stun.qq.com:3478
|
||||
stun.komsa.de:3478
|
||||
stun.fmo.de:3478
|
||||
stun.megatel.si:3478
|
||||
stun.easter-eggs.com:3478
|
||||
stun4.l.google.com:19302
|
||||
stun.effexx.com:3478
|
||||
stun.myspeciality.com:3478
|
||||
stun.dls.net:3478
|
||||
stun.wifirst.net:3478
|
||||
stun.sparvoip.de:3478
|
||||
stun.business-isp.nl:3478
|
||||
stun.edwin-wiegele.at:3478
|
||||
stun.heeds.eu:3478
|
||||
stun.freevoipdeal.com:3478
|
||||
stun.voicetrading.com:3478
|
||||
stun.elitetele.com:3478
|
||||
stun.m-online.net:3478
|
||||
stun.sonetel.com:3478
|
||||
stun.futurasp.es:3478
|
||||
stun.nonoh.net:3478
|
||||
stun.ippi.com:3478
|
||||
stun.sipnet.net:3478
|
||||
stun.spoiltheprincess.com:3478
|
||||
stun.comrex.com:3478
|
||||
stun.siedle.com:3478
|
||||
stun.engineeredarts.co.uk:3478
|
||||
stun.alphacron.de:3478
|
||||
stun.siptrunk.com:3478
|
||||
stun.justvoip.com:3478
|
||||
stun.sovtest.ru:3478
|
||||
stun.waterpolopalermo.it:3478
|
||||
stun.yeymo.com:3478
|
||||
stun.irishvoip.com:3478
|
||||
stun.ringvoz.com:3478
|
||||
stun.ppdi.com:3478
|
||||
stun.l.google.com:19305
|
||||
stun.hoiio.com:3478
|
||||
stun.bethesda.net:3478
|
||||
stun.kaseya.com:3478
|
||||
stun.labs.net:3478
|
||||
stun.sipglobalphone.com:3478
|
||||
stun.l.google.com:19302
|
||||
stun.ipfire.org:3478
|
||||
stun.voipraider.com:3478
|
||||
stun.bau-ha.us:3478
|
||||
stun1.l.google.com:19302
|
||||
stun.annatel.net:3478
|
||||
stun.cdosea.org:3478
|
||||
stun.peethultra.be:3478
|
||||
stun.nfon.net:3478
|
||||
stun.kreis-bergstrasse.de:3478
|
||||
stun.fitauto.ru:3478
|
||||
stun.splicecom.com:3478
|
||||
stun.nanocosmos.de:3478
|
||||
stun.1-voip.com:3478
|
||||
stun.stunprotocol.org:3478
|
||||
stun.leonde.org:3478
|
||||
stun.expandable.io:3478
|
||||
stun.voipcheap.com:3478
|
||||
stun.voipgain.com:3478
|
||||
stun.bergophor.de:3478
|
||||
stun.gravitel.ru:3478
|
||||
stun.otos.pl:3478
|
||||
stun.lowratevoip.com:3478
|
||||
stun.goldener-internetpreis.de:3478
|
||||
stun.jowisoftware.de:3478
|
||||
stun.aa.net.uk:3478
|
||||
stun.shadrinsk.net:3478
|
||||
stun.acrobits.cz:3478
|
||||
stun.telbo.com:3478
|
||||
stun.solcon.nl:3478
|
||||
stun.cheapvoip.com:3478
|
||||
stun.skydrone.aero:3478
|
||||
stun.voipblast.com:3478
|
||||
stun.voipplanet.nl:3478
|
||||
stun.olimontel.it:3478
|
||||
stun.arkh-edu.ru:3478
|
||||
stun.newrocktech.com:3478
|
||||
stun3.l.google.com:19305
|
||||
stun.dcalling.de:3478
|
||||
stun.12voip.com:3478
|
||||
stun.sipy.cz:3478
|
||||
stun.training-online.eu:3478
|
||||
stun.dreifaltigkeit-stralsund.de:3478
|
||||
stun.yollacalls.com:3478
|
||||
stun.istitutogramscisiciliano.it:3478
|
||||
stun.voipvoice.it:3478
|
||||
stun.ringostat.com:3478
|
||||
stun.obovsem.com:3478
|
||||
stun.autosystem.com:3478
|
||||
stun.meowsbox.com:3478
|
||||
stun.textz.com:3478
|
||||
stun.siplogin.de:3478
|
||||
stun.voys.nl:3478
|
||||
stun.3deluxe.de:3478
|
||||
stun.tel2.co.uk:3478
|
||||
stun.plexicomm.net:3478
|
||||
stun.voipconnect.com:3478
|
||||
stun.framasoft.org:3478
|
||||
stun.vivox.com:3478
|
||||
stun.onthenet.com.au:3478
|
||||
stun.highfidelity.io:3478
|
||||
stun.baltmannsweiler.de:3478
|
||||
stun.moonlight-stream.org:3478
|
||||
stun.neomedia.it:3478
|
||||
stun.h4v.eu:3478
|
||||
stun.verbo.be:3478
|
||||
stun.voip.blackberry.com:3478
|
||||
stun.nexxtmobile.de:3478
|
||||
stun.funwithelectronics.com:3478
|
||||
stun.files.fm:3478
|
||||
stun.tng.de:3478
|
||||
stun.acquageraci.it:3478
|
||||
stun.webmatrix.com.br:3478
|
||||
stun.etoilediese.fr:3478
|
||||
stun.clickphone.ro:3478
|
||||
stun.smslisto.com:3478
|
||||
stun.swrag.de:3478
|
||||
stun.vo.lu:3478
|
||||
stun.redworks.nl:3478
|
||||
stun.sonetel.net:3478
|
||||
stun.fbsbx.com:3478
|
||||
stun.zentauron.de:3478
|
||||
stun.streamnow.ch:3478
|
||||
stun.schlund.de:3478
|
||||
stun.freeswitch.org:3478
|
||||
stun.voipbusterpro.com:3478
|
||||
stun.eoni.com:3478
|
||||
stun.qcol.net:3478
|
||||
stun.localphone.com:3478
|
||||
stun.voipzoom.com:3478
|
||||
stun.palava.tv:3478
|
||||
stun.liveo.fr:3478
|
||||
stun.axialys.net:3478
|
||||
stun.mit.de:3478
|
||||
stun.voipdiscount.com:3478
|
||||
stun.ctafauni.it:3478
|
||||
stun.sipthor.net:3478
|
||||
stun.hosteurope.de:3478
|
||||
stun.thinkrosystem.com:3478
|
||||
stun.marble.io:3478
|
||||
stun.graftlab.com:3478
|
||||
stun.kanojo.de:3478
|
||||
stun.demos.ru:3478
|
||||
stun.trivenet.it:3478
|
||||
stun.atagverwarming.nl:3478
|
||||
iphone-stun.strato-iphone.de:3478
|
||||
stun.fathomvoice.com:3478
|
||||
stun.levigo.de:3478
|
||||
stun.acronis.com:3478
|
||||
stun.poivy.com:3478
|
||||
stun.netappel.com:3478
|
||||
stun.webcalldirect.com:3478
|
||||
stun.ippi.fr:3478
|
||||
stun.intervoip.com:3478
|
||||
stun.1und1.de:3478
|
||||
stun.bcs2005.net:3478
|
||||
stun.kore.com:3478
|
||||
stun.voipbuster.com:3478
|
||||
stun.powervoip.com:3478
|
||||
stun.rockenstein.de:3478
|
||||
stun.tichiamo.it:3478
|
||||
stun.1cbit.ru:3478
|
||||
stun.mobile-italia.com:3478
|
||||
stun.3wayint.com:3478
|
||||
stun.nottingham.ac.uk:3478
|
||||
stun.next-gen.ro:3478
|
||||
stun.dus.net:3478
|
||||
stun.voipgrid.nl:3478
|
||||
stun.sippeer.dk:3478
|
||||
stun.cope.es:3478
|
||||
stun.romaaeterna.nl:3478
|
||||
stun.bandyer.com:3478
|
||||
stun.surjaring.it:3478
|
||||
stun.smartvoip.com:3478
|
||||
stun.zottel.net:3478
|
||||
stun.studio-link.de:3478
|
||||
stun.easycall.pl:3478
|
||||
stun.sipnet.com:3478
|
||||
stun.lundimatin.fr:3478
|
||||
stun.jay.net:3478
|
||||
stun.oncloud7.ch:3478
|
||||
stun.it1.hr:3478
|
||||
stun.healthtap.com:3478
|
||||
stun.steinbeis-smi.de:3478
|
||||
stun.solomo.de:3478
|
||||
stun.syncthing.net:3478
|
||||
stun.planetarium.com.br:3478
|
||||
stun.voipxs.nl:3478
|
||||
stun.vadacom.co.nz:3478
|
||||
stun.poetamatusel.org:3478
|
||||
stun.voip.eutelia.it:3478
|
||||
stun.sky.od.ua:3478
|
||||
stun.muoversi.net:3478
|
||||
stun.rynga.com:3478
|
||||
stun.lleida.net:3478
|
||||
stun.f.haeder.net:3478
|
||||
stun.linphone.org:3478
|
||||
stun.root-1.de:3478
|
||||
stun.vomessen.de:3478
|
||||
stun.openvoip.it:3478
|
||||
stun.ortopediacoam.it:3478
|
||||
stun.junet.se:3478
|
||||
stun.goldfish.ie:3478
|
||||
stun.teliax.com:3478
|
||||
stun.ttmath.org:3478
|
||||
stun.myvoipapp.com:3478
|
||||
stun.technosens.fr:3478
|
||||
|
||||
1031
valid_ipv4s.txt
1031
valid_ipv4s.txt
File diff suppressed because it is too large
Load Diff
@@ -1,34 +1,34 @@
|
||||
[2a00:1450:4010:c06::7f]:19305
|
||||
[2a00:1450:4010:c06::7f]:19302
|
||||
[2607:f5b4:1:43:7::666]:3478
|
||||
[2600:1f16:8c5:101::108]:3478
|
||||
[2a01:4f8:242:56ca::2]:3478
|
||||
[2001:4060:1:1005::10:32]:3478
|
||||
[2a03:2880:f016:0:face:b00c:0:24d9]:3478
|
||||
[2a02:c207:3000:7523::1]:3478
|
||||
[2a01:4f8:c17:8f74::1]:3478
|
||||
[2001:6b0:17:f010::3d]:3478
|
||||
[2001:8d8:961:6400::6:2d58]:3478
|
||||
[2a01:4f8:13b:39ce::2]:3478
|
||||
[2001:4060:1:1005::10:32]:3478
|
||||
[2a01:4f8:1c0c:6374::1]:3478
|
||||
[2001:41d0:2:12b9::1]:3478
|
||||
[2a01:4f8:1c0c:6374::1]:3478
|
||||
[2404:6800:4003:c03::7f]:19305
|
||||
[2404:6800:400a:1002::7f]:19305
|
||||
[2404:6800:4008:c04::7f]:19305
|
||||
[2a01:4f8:c17:8f74::1]:443
|
||||
[2a03:b0c0:0:1010::a2:a001]:3478
|
||||
[2404:6800:400b:c005::7f]:19302
|
||||
[2a02:f98:0:50:2ff:23ff:fe42:1b23]:3478
|
||||
[2001:678:b28::118]:3478
|
||||
[2a01:4f8:13b:39ce::2]:3478
|
||||
[2604:a880:800:c1::22f:5001]:3478
|
||||
[2a01:4f9:4b:4c8f::2]:3478
|
||||
[2404:6800:4008:c04::7f]:19302
|
||||
[2600:1f16:8c5:101::108]:3478
|
||||
[2a01:4f8:120:1497::148]:3478
|
||||
[2a03:b0c0:0:1010::a2:a001]:3478
|
||||
[2404:6800:4003:c03::7f]:19302
|
||||
[2404:6800:400b:c005::7f]:19305
|
||||
[2a02:2b88:2:1::6494:1]:3478
|
||||
[2404:6800:400a:1002::7f]:19302
|
||||
[2a02:f98:0:50:2ff:23ff:fe42:1b23]:3478
|
||||
[2001:4060:1:1005::10:32]:3478
|
||||
[2a03:b0c0:0:1010::a2:a001]:3478
|
||||
[2a01:4f8:13b:39ce::2]:3478
|
||||
[2a02:c207:3000:7523::1]:3478
|
||||
[2001:8d8:961:6400::6:2d58]:3478
|
||||
[2404:6800:4003:c03::7f]:19302
|
||||
[2a03:2880:f00a:0:face:b00c:0:24d9]:3478
|
||||
[2404:6800:400b:c005::7f]:19302
|
||||
[2a02:2b88:2:1::6494:1]:3478
|
||||
[2a01:4f8:1c0c:6374::1]:3478
|
||||
[2404:6800:4008:c04::7f]:19305
|
||||
[2404:6800:4003:c03::7f]:19305
|
||||
[2a03:b0c0:0:1010::a2:a001]:3478
|
||||
[2001:6b0:17:f010::3d]:3478
|
||||
[2a00:1450:4010:c06::7f]:19305
|
||||
[2001:41d0:2:12b9::1]:3478
|
||||
[2600:1f16:8c5:101::108]:3478
|
||||
[2001:678:b28::118]:3478
|
||||
[2a00:1450:4010:c06::7f]:19302
|
||||
[2a01:4f8:120:1497::148]:3478
|
||||
[2a01:4f8:13b:39ce::2]:3478
|
||||
[2604:a880:800:c1::22f:5001]:3478
|
||||
[2001:4060:1:1005::10:32]:3478
|
||||
[2a01:4f8:242:56ca::2]:3478
|
||||
[2404:6800:400a:1002::7f]:19305
|
||||
[2a01:4f8:c17:8f74::1]:3478
|
||||
[2a01:4f8:c17:8f74::1]:443
|
||||
|
||||
Reference in New Issue
Block a user