
Research
Security News
The Growing Risk of Malicious Browser Extensions
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
github.com/amozoss/go-webrtc
Supply Chain Security
Vulnerability
Quality
Maintenance
License
WebRTC for Golang.
This repository is currently fluctuating a lot, and the exposed interfaces will change. Do not rely on anything in here yet!
There is still lots of work to do!
To immediately see some action, try the chat demo from two machines (or one...)
git clone https://github.com/keroserene/go-webrtc
cd go-webrtc
go run demo/chat/chat.go
Type "start" in one of the Peers, and copy the session descriptions. (This is the "copy-paste" signalling channel). If ICE negotiation succeeds, a really janky chat session should begin.
To write Go code which requires WebRTC functionality:
import "github.com/keroserene/go-webrtc/"
And then you can do things like webrtc.NewPeerConnection(...)
.
If you've never used WebRTC before, there is already plenty of information
online along with javascript examples, but for the Go code here, take a look
within demo/*
for real usage examples which show how to prepare a
PeerConnection and set up the necessary callbacks and signaling.
Also, here are the GoDocs.
The package name is webrtc
, even though the repo name is go-webrtc
.
(This may be slightly contrary to Go convention, unless we consider the suffix
to really begin at the last dash. Reasons:
webrtc
wouldn't make sense either.(e.g. import "foo" "github.com/keroserene/go-webrtc"
)
Latest tested native webrtc archive: bd7d8f7e2b824a887aa12236cb6185d446d7da61
There are currently two ways to build gowebrtc: the easy way, and the hard way.
The hard way is to build from scratch, which involves Google's depot_tools and chromium stuff, gclient syncing, which takes a couple hours, and possibly many more if you run into problems... along with writing a custom ninja file and concatenating archives correctly and such.
See webrtc.org native-code dev.
The easy way is to use the pre-built archive I've provided in lib/
.
Once the archive is ready, cgo takes care of everything, and building
is as easy as go build
or go install
.
TODO(keroserene): More information / provide a real build script to automate the hard way so it becomes the easy way. (See Issue #23)
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover how browser extensions in trusted stores are used to hijack sessions, redirect traffic, and manipulate user behavior.
Research
Security News
An in-depth analysis of credential stealers, crypto drainers, cryptojackers, and clipboard hijackers abusing open source package registries to compromise Web3 development environments.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.