willscott / Goturn
Licence: bsd-3-clause
A golang TURN dialer
Stars: ✭ 31
Labels
Projects that are alternatives of or similar to Goturn
Turnscan.js
Scanning LAN hosts from Chrome using ICE servers
Stars: ✭ 27 (-12.9%)
Mutual labels: webrtc
Rocket.chat
The communications platform that puts data protection first.
Stars: ✭ 31,251 (+100709.68%)
Mutual labels: webrtc
Webrtc Text Chat Tutorial
WebRTC Chat Tutorial for Scaledrone Realtime Messaging Service
Stars: ✭ 24 (-22.58%)
Mutual labels: webrtc
Bigbluebutton
Complete open source web conferencing system.
Stars: ✭ 7,160 (+22996.77%)
Mutual labels: webrtc
Ios P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 31 (+0%)
Mutual labels: webrtc
Android webrtc tensorflowlite
Android + WebRTC + TensorFlow Lite for object classification in p2p communication
Stars: ✭ 20 (-35.48%)
Mutual labels: webrtc
P2p Media Loader
An open-source engine for P2P streaming of live and on demand video directly in a web browser HTML page
Stars: ✭ 822 (+2551.61%)
Mutual labels: webrtc
Homer
HOMER - 100% Open-Source SIP / VoIP Packet Capture & Monitoring
Stars: ✭ 855 (+2658.06%)
Mutual labels: webrtc
Baresip
Baresip is a modular SIP User-Agent with audio and video support
Stars: ✭ 817 (+2535.48%)
Mutual labels: webrtc
Waggle.js
An experiment to distribute the bandwidth among video viewers
Stars: ✭ 29 (-6.45%)
Mutual labels: webrtc
Networked Aframe
A web framework for building multi-user virtual reality experiences.
Stars: ✭ 803 (+2490.32%)
Mutual labels: webrtc
Peer Calls
Group peer to peer video calls for everyone written in Go and TypeScript
Stars: ✭ 837 (+2600%)
Mutual labels: webrtc
Viraljs
Express.JS middleware to enable P2P distribution for your app. Your decentralized CDN made easy.
Stars: ✭ 952 (+2970.97%)
Mutual labels: webrtc
Go TURN
This is a library providing a Go interface compatible with the golang proxy package which connects through a TURN relay.
This package provides parsing and encoding support for STUN and TURN protocols.
Installation
go get github.com/willscott/goturn
Full Example
package main
import (
"io/ioutil"
"log"
"net"
"net/http"
"github.com/willscott/goturn/client"
)
func main() {
// Connect to the stun/turn server
conn, err := net.Dial("tcp", "127.0.0.1:19302")
if err != nil {
log.Fatal("error dialing TURN server: ", err)
}
defer conn.Close()
credentials := client.LongtermCredentials("username", "password")
dialer, err := client.NewDialer(&credentials, conn)
if err != nil {
log.Fatal("failed to obtain dialer: ", err)
}
httpClient := &http.Client{Transport: &http.Transport{Dial: dialer.Dial}}
httpResp, err := httpClient.Get("http://www.google.com/")
if err != nil {
log.Fatal("error performing http request: ", err)
}
defer httpResp.Body.Close()
httpBody, err := ioutil.ReadAll(httpResp.Body)
if err != nil {
log.Fatal("error reading http response: ", err)
}
log.Printf("received %d bytes", len(httpBody))
}
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].