git404hub

what is go-wasi-socket fr?

openlistteam/go-wasi-socket — explained in plain English

Analysis updated 2026-07-25 · repo last pushed 2026-02-21

GoAudience · developerComplexity · 4/5MaintainedSetup · moderate

tl;dr

A prototype library that lets Go programs running inside WebAssembly sandboxes make network connections using the WASI sockets standard, enabling internet access in secure, isolated environments.

vibe map

mindmap
  root((repo))
    What it does
      Bridges Go networking
      Enables WASI sockets
      Unblocks sandbox internet
    Tech stack
      Go language
      WebAssembly
      WASI standard
    Use cases
      Browser-based apps
      Serverless functions
      Edge computing
    Audience
      Isolated env developers
      Cloud sandbox builders
      Portable service makers
    Status
      Prototype stage
      Early experiment

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build a lightweight Go service that makes external API calls from inside a secure WebAssembly sandbox.

VIBE 2

Run a Go web server in a serverless or edge computing environment using WebAssembly isolation.

VIBE 3

Test and prototype Go networking capabilities within emerging WebAssembly standards.

what's the stack?

GoWebAssemblyWASI

how it stacks up fr

openlistteam/go-wasi-socket42wim/fabio42wim/go-xmpp
LanguageGoGoGo
Last pushed2026-02-212018-02-042020-01-24
MaintenanceMaintainedDormantDormant
Setup difficultymoderatemoderatemoderate
Complexity4/53/53/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 1h+

Requires a WebAssembly runtime with WASI sockets preview support and compiling Go to the WASI target.

in plain english

This project, go-wasi-socket, is a prototype that lets code written in the Go programming language communicate over the internet when it's running inside a special kind of sandboxed environment. Normally, if you build a web server or a networked tool in Go, it can directly access the computer's networking features. But when you run that same code inside a "WebAssembly" sandbox, a secure, isolated container often used to safely run untrusted or portable code, that direct access is blocked by default for security reasons. This project provides the missing link that lets the sandboxed Go code open network connections and send and receive data. At a high level, it bridges Go's networking capabilities with a new standard called WASI sockets. WASI is essentially a set of rules that allows sandboxed programs to safely ask the host system for permission to do things like read files or talk to the internet. By implementing this interface, the project enables Go programs compiled for WebAssembly to request and use those networking permissions, rather than being completely cut off from the outside world. The primary audience for this includes developers building tools that run safely in isolated environments, such as browser-based applications, serverless functions, or edge computing platforms. For example, if a company wants to run a lightweight Go service directly on a user's device or inside a strict cloud sandbox without risking the security of the underlying machine, they would compile that Go code to WebAssembly. This library would be what allows that isolated service to make external API calls or serve web requests. The repository doesn't go into further detail about its specific implementation or current limitations, other than noting that it is a prototype. This means it is likely an early-stage experiment meant to test how well Go can interact with the emerging networking standards for WebAssembly, rather than a finished, production-ready toolkit.

prompts (copy fr)

prompt 1
I want to compile a Go HTTP server to WebAssembly and make external API calls using the go-wasi-socket library. Show me how to set up the WASI sockets interface in my Go code.
prompt 2
Help me understand how to use go-wasi-socket to enable networking in a Go program compiled to WebAssembly. What WASI preview features does it rely on?
prompt 3
I am building an edge computing service in Go that needs to run in a WebAssembly sandbox and serve web requests. How do I integrate go-wasi-socket so the sandboxed code can accept incoming connections?

Frequently asked questions

what is go-wasi-socket fr?

A prototype library that lets Go programs running inside WebAssembly sandboxes make network connections using the WASI sockets standard, enabling internet access in secure, isolated environments.

What language is go-wasi-socket written in?

Mainly Go. The stack also includes Go, WebAssembly, WASI.

Is go-wasi-socket actively maintained?

Maintained — commit in last 6 months (last push 2026-02-21).

How hard is go-wasi-socket to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is go-wasi-socket for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.