How to test whether a STUN/TURN server is working properly
A few days ago, I created a simple service for my WebRTC Project: https://github.com/miroslavpejic85/mirotalk to test if the STUN/TURN servers are working properly. After installing and configuring a STUN/TURN server, most of the developers that are new to this stuff will ask themselves, how do I know if it's working properly? So I made a snippet :) ``` Test Stun/Turn Servers Test Ice Servers The STUN server is NOT reachable! The TURN server is NOT reachable! const Ice = document.getElementById('ice'); const IP = document.getElementById('ip'); const Stun =…
In plain words
This tool tests whether STUN and TURN servers are functioning correctly for WebRTC applications. It is designed for developers who have installed and configured these servers and need to verify they are working properly. The tool provides a simple web-based interface that checks server reachability and displays diagnostic information, helping users troubleshoot connectivity issues without requiring technical expertise in WebRTC infrastructure.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
A few days ago, I created a simple service for my WebRTC Project: https://github.com/miroslavpejic85/mirotalk to test if the STUN/TURN servers are working properly. After installing and configuring a STUN/TURN server, most of the developers that are new to this stuff will ask themselves, how do I know if it's working properly? So I made a snippet :) ``` <!DOCTYPE html> <html> <head> <title>Test Stun/Turn Servers</title> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head> <body> <h1>Test Ice Servers</h1> <hr /> <pre id='ice' style='overflow: auto'></pre> <hr /> <p id='ip'></p> <p id='stun'> The STUN server is NOT reachable!</p> <p id='turn'> The TURN server is NOT reachable!</p> <p id='err'></p> <hr /> <script> const Ice = document.getElementById('ice'); const IP = document.getElementById('ip'); const Stun = document.getElementById('stun'); const Turn = document.getElementById('turn'); const Err = document.getElementById('err'); const iceServers = [ // Test some STUN server { urls: 'stun:stun.l.google.com:19302', }, // Test some TURN server { urls: 'turn:turnUrl', username: 'turnUsername', credential: 'turnPassword', }, ]; // Print iceServers config Ice.innerHTML = JSON.stringify(iceServers, null, 4); // Test the connections const pc = new RTCPeerConnection({ iceServers }); pc.onicecandidate = (e) => { if (!e.candidate) return; console.log(e.candidate.candidate); // If a srflx candidate was found, notify that the STUN server works! if (e.candidate.type == 'srflx' || e.candidate.candidate.includes('srflx')) { let ip = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/; let address = e.candidate.address ? e.candidate.address : e.candidate.candidate.match(ip); IP.innerHTML = ' Your Public IP Address is ' + address; Stun.innerHTML = ' The STUN server is reachable!'; } // If a relay candidate was found, notify that the TURN server works! if (e.candidate.type == 'relay' || e.candidate.candidate.includes('relay')) { Turn.innerHTML = ' The TURN server is reachable!'; } }; // handle error pc.onicecandidateerror = (e) => { console.error(e); Err.innerHTML = ' Error: ' + e.errorText; }; pc.createDataChannel('test'); pc.createOffer().then(offer => pc.setLocalDescription(offer)); </script> </body> </html> ``` Alternative to https://webrtc.github.io/samples/src/content/peerconnection/... Ref: https://www.reddit.com/r/selfhosted/comments/wayiev/how_to_t... I hope it will be useful to someone.
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, August 2022
the whole month →



DhiWise 2.0▲737Convert Figma designs into Flutter 3.0 & React code rapidly
Dev tools · 2022 · dhiwise.com
- PA
Hey HN, I've been working on https://pornpen.ai, a site for generating adult images. Please only visit the site if you are 18+ and willing to look at NSFW images. This site is an experiment using newer text-to-image models. I explicitly removed the ability to specify custom text to avoid harmful imagery from being generated. New tags will be added once the prompt-engineering algorithm is fine-tuned further. If the servers are overloaded, take a look at the feed and search pages to look through past results. For comments/suggestions/feedback please visit…
AI · 2022 · pornpen.ai