Files
go-i2p.github.io/README.md

31 lines
1.4 KiB
Markdown

# Overview of I2P For Go
A wide variety of tools exist which make it easy to use I2P as a network layer in Go applications.
These tools integrate at various levels and provide different functionality, but virtually anything is possible using I2P and Go.
Eventually, this page will serve as a website for `go-i2p`, but for now it serves to track the state of various ways of using Go to interact with I2P.
## Stuff that works:
### `net.Conn` and `net.PacketConn` interface implementations
These act as drop-in replacements for `net.Conn` and `net.PacketConn` in your code and libraries.
When used correctly, they make it easy to adapt Go applications to I2P.
All `net.Conn` and `net.PacketConn` interface implementations in Go
- [`onramp`](https://github.com/eyedeekay/onramp)
- [`goSam`](https://github.com/eyedeekay/goSam)
- [`sam3`](https://github.com/eyedeekay/sam3)
### I2PControl-RPC Libraries
- [`go-i2pcontrol`](https://github.com/eyedeekay/go-i2pcontrol)
- [`i2p-control`](https://github.com/eyedeekay/i2p-control)
### Proxies and Application-Layer Adapters
- [`sam-forwarder` an I2PTunnel-alike which accepts i2pd-style config files](https://github.com/eyedeekay/sam-forwarder)
- [`go-i2p-bt` a Bittorrent library configured using `onramp` which tracks SAMv3 development and has similar features to I2PSnark](https://github.com/eyedeekay/go-i2p-bt)
## Stuff in Progress:
- [`go-i2p`](https://github.com/go-i2p/go-i2p)