ccding / Go Stun
Licence: apache-2.0
A go implementation of the STUN client (RFC 3489 and RFC 5389)
Stars: ✭ 420
Labels
Projects that are alternatives of or similar to Go Stun
Gortcd
Fast TURN and STUN server: cross-platform, hot reload, flexible config
Stars: ✭ 358 (-14.76%)
Mutual labels: webrtc, nat-traversal
Stun
Fast RFC 5389 STUN implementation in go
Stars: ✭ 451 (+7.38%)
Mutual labels: webrtc, nat-traversal
Ice4j
A Java implementation of the ICE protocol
Stars: ✭ 332 (-20.95%)
Mutual labels: webrtc, nat-traversal
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (-11.19%)
Mutual labels: webrtc
Filepizza
🍕 Peer-to-peer file transfers in your browser
Stars: ✭ 3,622 (+762.38%)
Mutual labels: webrtc
Echoplexus
Socket.io powered chat, JavaScript REPL, whiteboard, and WebRTC calls
Stars: ✭ 392 (-6.67%)
Mutual labels: webrtc
Eureca.io
eureca.io : a nodejs bidirectional RPC that can use WebSocket, WebRTC or XHR fallback as transport layers
Stars: ✭ 341 (-18.81%)
Mutual labels: webrtc
Filedrop Web
📲 WebRTC file transfer - React/TypeScript front end.
Stars: ✭ 375 (-10.71%)
Mutual labels: webrtc
Awesome Webrtc
A curated list of awesome WebRTC modules and resources.
Stars: ✭ 395 (-5.95%)
Mutual labels: webrtc
Obs Studio Webrtc
This is a fork of OBS-studio with generic support for webrtc. It leverages the same webrtc implementation most browsers use.
Stars: ✭ 343 (-18.33%)
Mutual labels: webrtc
React Native Webrtc
The WebRTC module for React Native
Stars: ✭ 3,724 (+786.67%)
Mutual labels: webrtc
Flutter Webrtc Server
A simple WebRTC signaling server for flutter-webrtc.
Stars: ✭ 384 (-8.57%)
Mutual labels: webrtc
Magnet Player
🎥 A place for streaming torrents directly from your browser
Stars: ✭ 346 (-17.62%)
Mutual labels: webrtc
Electron Screen Recorder
A WebRTC screen recorder electron application
Stars: ✭ 343 (-18.33%)
Mutual labels: webrtc
React Native Twilio Video Webrtc
Twilio Video (WebRTC) for React Native
Stars: ✭ 403 (-4.05%)
Mutual labels: webrtc
go-stun
go-stun is a STUN (RFC 3489, 5389) client implementation in golang (a.k.a. UDP hole punching).
RFC 3489: STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)
RFC 5389: Session Traversal Utilities for NAT (STUN)
Use the Command Line Tool
Simply run these commands (if you have installed golang and set $GOPATH
)
go get github.com/ccding/go-stun
go-stun
or clone this repo and run these commands
go build
./go-stun
You will get the output like
NAT Type: Full cone NAT
External IP Family: 1
External IP: 166.111.4.100
External Port: 23009
You can use -s
flag to use another STUN server, and use -v
to work on
verbose mode.
> ./go-stun --help
Usage of ./go-stun:
-s string
server address (default "stun1.l.google.com:19302")
-v verbose mode
Use the Library
The library github.com/ccding/go-stun/stun
is extremely easy to use -- just
one line of code.
import "github.com/ccding/go-stun/stun"
func main() {
nat, host, err := stun.NewClient().Discover()
}
More details please go to main.go
and GoDoc
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].