Documentation
¶
Index ¶
- Constants
- func InitEvent(h host.Host)
- func NewDht(module *meshauth.Module) error
- func P2PAddrFromString(c string) (*peer.AddrInfo, error)
- type IPFS
- func (ipfs *IPFS) DialContext(ctx context.Context, net string, addr string) (net.Conn, error)
- func (ipfs *IPFS) FindPeer(ctx context.Context, id peer.ID) (peer.AddrInfo, error)
- func (p2p *IPFS) InterceptAccept(multiaddrs network.ConnMultiaddrs) (allow bool)
- func (p2p *IPFS) InterceptAddrDial(id peer.ID, m multiaddr.Multiaddr) (allow bool)
- func (p2p *IPFS) InterceptPeerDial(p peer.ID) (allow bool)
- func (p2p *IPFS) InterceptSecured(direction network.Direction, id peer.ID, multiaddrs network.ConnMultiaddrs) (allow bool)
- func (p2p *IPFS) InterceptUpgraded(conn network.Conn) (allow bool, reason control.DisconnectReason)
- type IPFSDiscovery
- func (r *IPFSDiscovery) FindPeers(ctx context.Context, pid peer.ID, limit int) (iter.ResultIter[*types.PeerRecord], error)
- func (r *IPFSDiscovery) FindProviders(ctx context.Context, key cid.Cid, limit int) (iter.ResultIter[types.Record], error)
- func (r *IPFSDiscovery) GetIPNS(ctx context.Context, name ipns.Name) (*ipns.Record, error)
- func (ipfsd *IPFSDiscovery) Init(ctx context.Context) error
- func (p2p *IPFSDiscovery) InterceptAccept(multiaddrs network.ConnMultiaddrs) (allow bool)
- func (p2p *IPFSDiscovery) InterceptAddrDial(id peer.ID, m multiaddr.Multiaddr) (allow bool)
- func (p2p *IPFSDiscovery) InterceptPeerDial(p peer.ID) (allow bool)
- func (p2p *IPFSDiscovery) InterceptSecured(direction network.Direction, id peer.ID, multiaddrs network.ConnMultiaddrs) (allow bool)
- func (p2p *IPFSDiscovery) InterceptUpgraded(conn network.Conn) (allow bool, reason control.DisconnectReason)
- func (ipfsd *IPFSDiscovery) LogAddr()
- func (d *IPFSDiscovery) Peering(h host.Host, rt string)
- func (r *IPFSDiscovery) ProvideBitswap(ctx context.Context, req *server.BitswapWriteProvideRequest) (time.Duration, error)
- func (r *IPFSDiscovery) PutIPNS(ctx context.Context, name ipns.Name, record *ipns.Record) error
- func (d *IPFSDiscovery) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (d *IPFSDiscovery) StartDHT()
Constants ¶
const Protocol = "/ugate/0.0.1"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IPFS ¶
type IPFS struct {
Host host.Host
Port int
PrivateKey corecrypto.PrivateKey
}
ConnectionGater, Server
func InitIPFS ¶
func InitIPFS(auth corecrypto.PrivateKey, p2pport int32) *IPFS
InitIPFS creates LibP2P compatible transport. Identity is based on the EC256 workload identity in auth.
Routing is based on HTTP.
Main purpose of this integration is to take advantage of public auto-relay code and infra, for control/signaling channels.
func (*IPFS) DialContext ¶
func (*IPFS) InterceptAccept ¶
func (p2p *IPFS) InterceptAccept(multiaddrs network.ConnMultiaddrs) (allow bool)
func (*IPFS) InterceptAddrDial ¶
func (*IPFS) InterceptSecured ¶
func (*IPFS) InterceptUpgraded ¶
type IPFSDiscovery ¶
type IPFSDiscovery struct {
DHT *dht.IpfsDHT
Host host.Host
Port int
Auth *meshauth.Mesh
Bootstrap []multiaddr.Multiaddr
Key crypto.PrivKey
// If empty, this is used with the public infra
Domain string
// contains filtered or unexported fields
}
IPFSDiscovery registers in the libp2p DHT infra ( by default public - but can also be a private DHT mesh) and acts as a DHT node, implementing the http routing server API.
func (*IPFSDiscovery) FindPeers ¶
func (r *IPFSDiscovery) FindPeers(ctx context.Context, pid peer.ID, limit int) (iter.ResultIter[*types.PeerRecord], error)
func (*IPFSDiscovery) FindProviders ¶
func (*IPFSDiscovery) Init ¶
func (ipfsd *IPFSDiscovery) Init(ctx context.Context) error
NewDHT creates a host using DHT and router server.
func (*IPFSDiscovery) InterceptAccept ¶
func (p2p *IPFSDiscovery) InterceptAccept(multiaddrs network.ConnMultiaddrs) (allow bool)
func (*IPFSDiscovery) InterceptAddrDial ¶
func (*IPFSDiscovery) InterceptPeerDial ¶
func (p2p *IPFSDiscovery) InterceptPeerDial(p peer.ID) (allow bool)
func (*IPFSDiscovery) InterceptSecured ¶
func (p2p *IPFSDiscovery) InterceptSecured(direction network.Direction, id peer.ID, multiaddrs network.ConnMultiaddrs) (allow bool)
func (*IPFSDiscovery) InterceptUpgraded ¶
func (p2p *IPFSDiscovery) InterceptUpgraded(conn network.Conn) (allow bool, reason control.DisconnectReason)
func (*IPFSDiscovery) LogAddr ¶
func (ipfsd *IPFSDiscovery) LogAddr()
func (*IPFSDiscovery) ProvideBitswap ¶
func (r *IPFSDiscovery) ProvideBitswap(ctx context.Context, req *server.BitswapWriteProvideRequest) (time.Duration, error)
nolint deprecated
func (*IPFSDiscovery) ServeHTTP ¶
func (d *IPFSDiscovery) ServeHTTP(w http.ResponseWriter, r *http.Request)
IPFS autoregistration and debug function.
Normally should only be exposed to mesh workloads - i.e. the request should be over ambient or authenticated with JWT or mTLS.
func (*IPFSDiscovery) StartDHT ¶
func (d *IPFSDiscovery) StartDHT()