Expand description
Server module
Handles network servers, connection management, and protocol implementations
Re-exports§
pub use tcp::actions::TcpProtocol;pub use tcp::TcpServer;pub use socket_file::actions::SocketFileProtocol;pub use socket_file::SocketFileServer;pub use named_pipe::actions::NamedPipeProtocol;pub use named_pipe::NamedPipeServer;pub use pty::actions::PtyProtocol;pub use pty::PtyServer;pub use stdio::actions::StdioProtocol;pub use stdio::StdioServer;pub use http::actions::HttpProtocol;pub use http::HttpServer;pub use http2::actions::Http2Protocol;pub use http2::H2Server;pub use pypi::actions::PypiProtocol;pub use pypi::PypiServer;pub use maven::actions::MavenProtocol;pub use maven::MavenServer;pub use datalink::actions::DataLinkProtocol;pub use datalink::DataLinkServer;pub use arp::actions::ArpProtocol;pub use arp::ArpServer;pub use icmp::actions::IcmpProtocol;pub use icmp::IcmpServer;pub use dc::actions::DcProtocol;pub use dc::DcServer;pub use udp::actions::UdpProtocol;pub use udp::UdpPeerMap;pub use udp::UdpServer;pub use dns::actions::DnsProtocol;pub use dns::DnsServer;pub use dot::actions::DotProtocol;pub use dot::DotServer;pub use doh::actions::DohProtocol;pub use doh::DohServer;pub use dhcp::actions::DhcpProtocol;pub use dhcp::DhcpServer;pub use bootp::actions::BootpProtocol;pub use bootp::BootpServer;pub use ntp::actions::NtpProtocol;pub use ntp::NtpServer;pub use tftp::actions::TftpProtocol;pub use tftp::TftpServer;pub use whois::actions::WhoisProtocol;pub use whois::WhoisServer;pub use ndp::actions::NdpProtocol;pub use ndp::NdpServer;pub use dhcpv6::actions::Dhcpv6Protocol;pub use dhcpv6::Dhcpv6Server;pub use tuntap::actions::TunTapProtocol;pub use tuntap::TunTapServer;pub use rawip::actions::RawIpProtocol;pub use rawip::RawIpServer;pub use gtp::actions::GtpProtocol;pub use gtp::GtpServer;pub use m3ua::actions::M3uaProtocol;pub use m3ua::M3uaServer;pub use can::actions::CanProtocol;pub use can::CanServer;pub use lldp::actions::LldpProtocol;pub use lldp::LldpServer;pub use cdp::actions::CdpProtocol;pub use cdp::CdpServer;pub use stp::actions::StpProtocol;pub use stp::StpServer;pub use vrrp::actions::VrrpProtocol;pub use vrrp::VrrpServer;pub use hsrp::actions::HsrpProtocol;pub use hsrp::HsrpServer;pub use eapol::actions::EapolProtocol;pub use eapol::EapolServer;pub use wol::actions::WolProtocol;pub use wol::WolServer;pub use nats::actions::NatsProtocol;pub use nats::NatsServer;pub use stomp::actions::StompProtocol;pub use stomp::StompServer;pub use ident::actions::IdentProtocol;pub use ident::IdentServer;pub use gemini::actions::GeminiProtocol;pub use gemini::GeminiServer;pub use dict::actions::DictProtocol;pub use dict::DictServer;pub use beanstalkd::actions::BeanstalkdProtocol;pub use beanstalkd::BeanstalkdServer;pub use zabbix::actions::ZabbixProtocol;pub use zabbix::ZabbixServer;pub use gearman::actions::GearmanProtocol;pub use gearman::GearmanServer;pub use nsq::actions::NsqProtocol;pub use nsq::NsqServer;pub use gopher::actions::GopherProtocol;pub use gopher::GopherServer;pub use finger::actions::FingerProtocol;pub use finger::FingerServer;pub use ssdp::actions::SsdpProtocol;pub use ssdp::SsdpServer;pub use llmnr::actions::LlmnrProtocol;pub use llmnr::LlmnrServer;pub use netbios_ns::actions::NetbiosNsProtocol;pub use netbios_ns::NetbiosNsServer;pub use snmp::actions::SnmpProtocol;pub use snmp::SnmpServer;pub use igmp::actions::IgmpProtocol;pub use igmp::IgmpServer;pub use syslog::actions::SyslogProtocol;pub use syslog::SyslogServer;pub use ssh::actions::SshProtocol;pub use ssh::sftp_handler::LlmSftpHandler;pub use ssh::SshServer;pub use ssh_agent::actions::SshAgentProtocol;pub use ssh_agent::SshAgentServer;pub use svn::actions::SvnProtocol;pub use svn::SvnServer;pub use irc::actions::IrcProtocol;pub use irc::IrcServer;pub use xmpp::actions::XmppProtocol;pub use xmpp::XmppServer;pub use telnet::actions::TelnetProtocol;pub use telnet::TelnetServer;pub use smtp::actions::SmtpProtocol;pub use smtp::SmtpServer;pub use ftp::actions::FtpProtocol;pub use ftp::FtpServer;pub use mdns::actions::MdnsProtocol;pub use mdns::MdnsServer;pub use mysql::actions::MysqlProtocol;pub use mysql::MysqlServer;pub use snowflake::actions::SnowflakeProtocol;pub use snowflake::SnowflakeServer;pub use db2::actions::Db2Protocol;pub use db2::Db2Server;pub use mongodb::actions::MongodbProtocol;pub use mongodb::MongodbServer;pub use mssql::actions::MssqlProtocol;pub use mssql::MssqlServer;pub use ipp::actions::IppProtocol;pub use ipp::IppServer;pub use postgresql::actions::PostgresqlProtocol;pub use postgresql::PostgresqlServer;pub use memcached::actions::MemcachedProtocol;pub use memcached::MemcachedServer;pub use radius::actions::RadiusProtocol;pub use radius::RadiusServer;pub use redis::actions::RedisProtocol;pub use redis::RedisServer;pub use rss::actions::RssProtocol;pub use rss::RssServer;pub use cassandra::actions::CassandraProtocol;pub use cassandra::CassandraServer;pub use proxy::actions::ProxyProtocol;pub use proxy::filter::CertificateMode;pub use proxy::filter::FilterMode;pub use proxy::filter::FullRequestInfo;pub use proxy::filter::FullResponseInfo;pub use proxy::filter::HttpsConnectionAction;pub use proxy::filter::HttpsConnectionInfo;pub use proxy::filter::ProxyFilterConfig;pub use proxy::filter::RequestAction;pub use proxy::filter::RequestFilter;pub use proxy::filter::ResponseAction;pub use proxy::filter::ResponseFilter;pub use proxy::ProxyServer;pub use socks5::actions::Socks5Protocol;pub use socks5::filter::FilterMode as Socks5FilterMode;pub use socks5::filter::Socks5FilterConfig;pub use socks5::Socks5Server;pub use webdav::actions::WebDavProtocol;pub use webdav::WebDavServer;pub use nfs::actions::NfsProtocol;pub use nfs::NfsServer;pub use nfc::actions::NfcServerProtocol;pub use nfc::NfcServer;pub use smb::actions::SmbProtocol;pub use smb::SmbServer;pub use stun::actions::StunProtocol;pub use stun::StunServer;pub use turn::actions::TurnProtocol;pub use turn::TurnServer;pub use webrtc::actions::WebRtcProtocol;pub use webrtc::WebRtcServer;pub use webrtc::WebRtcServerData;pub use websocket::actions::WebSocketProtocol;pub use websocket::WebSocketServer;pub use webrtc_signaling::actions::WebRtcSignalingProtocol;pub use webrtc_signaling::WebRtcSignalingServer;pub use webrtc_signaling::WebRtcSignalingServerData;pub use sip::actions::SipProtocol;pub use sip::SipServer;pub use rtp::actions::RtpProtocol;pub use rtp::RtpServer;pub use rtsp::actions::RtspProtocol;pub use rtsp::RtspServer;pub use hls::actions::HlsProtocol;pub use hls::HlsServer;pub use ldap::actions::LdapProtocol;pub use ldap::LdapServer;pub use imap::actions::ImapProtocol;pub use imap::ImapServer;pub use pop3::actions::Pop3Protocol;pub use pop3::Pop3Server;pub use nntp::actions::NntpProtocol;pub use nntp::NntpServer;pub use mqtt::actions::MqttProtocol;pub use mqtt::MqttServer;pub use modbus::actions::ModbusProtocol;pub use modbus::ModbusServer;pub use coap::actions::CoapProtocol;pub use coap::CoapServer;pub use amqp::actions::AmqpProtocol;pub use amqp::AmqpServer;pub use elasticsearch::actions::ElasticsearchProtocol;pub use elasticsearch::ElasticsearchServer;pub use couchdb::actions::CouchDbProtocol;pub use couchdb::CouchDbServer;pub use yarn::actions::YarnProtocol;pub use yarn::YarnServer;pub use spark::actions::SparkProtocol;pub use spark::SparkServer;pub use dynamo::actions::DynamoProtocol;pub use dynamo::DynamoServer;pub use s3::actions::S3Protocol;pub use s3::S3Server;pub use sqs::actions::SqsProtocol;pub use sqs::SqsServer;pub use npm::actions::NpmProtocol;pub use npm::NpmServer;pub use oci_registry::actions::OciRegistryProtocol;pub use oci_registry::OciRegistryServer;pub use kubernetes::actions::KubernetesProtocol;pub use kubernetes::KubernetesServer;pub use prometheus::actions::PrometheusProtocol;pub use prometheus::PrometheusServer;pub use otlp::actions::OtlpProtocol;pub use otlp::OtlpServer;pub use docker::actions::DockerProtocol;pub use docker::DockerServer;pub use vault::actions::VaultProtocol;pub use vault::VaultServer;pub use bolt::actions::BoltProtocol;pub use bolt::BoltServer;pub use openai::actions::OpenAiProtocol;pub use openai::OpenAiServer;pub use ollama::actions::OllamaProtocol;pub use ollama::OllamaServer;pub use oauth2::actions::OAuth2Protocol;pub use oauth2::OAuth2Server;pub use jsonrpc::actions::JsonRpcProtocol;pub use jsonrpc::JsonRpcServer;pub use wireguard::actions::WireguardProtocol;pub use wireguard::WireguardServer;pub use openvpn::actions::OpenvpnProtocol;pub use openvpn::OpenvpnServer;pub use ipsec::actions::IpsecProtocol;pub use ipsec::IpsecServer;pub use bgp::actions::BgpProtocol;pub use bgp::BgpServer;pub use ospf::actions::OspfProtocol;pub use ospf::OspfServer;pub use isis::actions::IsisProtocol;pub use isis::IsisServer;pub use rip::actions::RipProtocol;pub use rip::RipServer;pub use bitcoin::actions::BitcoinProtocol;pub use bitcoin::BitcoinServer;pub use nostr::actions::NostrProtocol;pub use nostr::NostrServer;pub use mcp::actions::McpProtocol;pub use mcp::McpServer;pub use grpc::actions::GrpcProtocol;pub use grpc::GrpcServer;pub use etcd::actions::EtcdProtocol;pub use etcd::EtcdServer;pub use xmlrpc::actions::XmlRpcProtocol;pub use xmlrpc::XmlRpcServer;pub use zookeeper::actions::ZookeeperProtocol;pub use zookeeper::ZookeeperServer;pub use tor_relay::actions::TorRelayProtocol;pub use tor_relay::TorRelayServer;pub use vnc::actions::VncProtocol;pub use vnc::VncServer;pub use reverse_shell::actions::ReverseShellProtocol;pub use reverse_shell::ReverseShellServer;pub use rdp::actions::RdpProtocol;pub use rdp::RdpServer;pub use openapi::actions::OpenApiProtocol;pub use openapi::OpenApiServer;pub use openid::actions::OpenIdProtocol;pub use openid::OpenIdServer;pub use git::actions::GitProtocol;pub use git::GitServer;pub use mercurial::actions::MercurialProtocol;pub use mercurial::MercurialServer;pub use kafka::actions::KafkaProtocol;pub use kafka::KafkaServer;pub use quic::actions::QuicProtocol;pub use quic::QuicServer;pub use torrent_tracker::actions::TorrentTrackerProtocol;pub use torrent_tracker::TorrentTrackerServer;pub use torrent_dht::actions::TorrentDhtProtocol;pub use torrent_dht::TorrentDhtServer;pub use torrent_peer::actions::TorrentPeerProtocol;pub use torrent_peer::TorrentPeerServer;pub use tls::actions::TlsProtocol;pub use tls::TlsServer;pub use saml_idp::actions::SamlIdpProtocol;pub use saml_idp::SamlIdpServer;pub use saml_sp::actions::SamlSpProtocol;pub use saml_sp::SamlSpServer;pub use usb::keyboard::UsbKeyboardServer;pub use usb::UsbKeyboardProtocol;pub use usb::mouse::UsbMouseServer;pub use usb::UsbMouseProtocol;pub use usb::serial::UsbSerialServer;pub use usb::UsbSerialProtocol;pub use usb::msc::UsbMscServer;pub use usb::UsbMscProtocol;pub use usb::fido2::UsbFido2Server;pub use usb::UsbFido2Protocol;pub use usb::smartcard::UsbSmartCardServer;pub use usb::UsbSmartCardProtocol;pub use bluetooth_ble::actions::BluetoothBleProtocol;pub use bluetooth_ble::BluetoothBle;pub use bluetooth_ble_keyboard::actions::BluetoothBleKeyboardProtocol;pub use bluetooth_ble_keyboard::BluetoothBleKeyboard;pub use bluetooth_ble_mouse::actions::BluetoothBleMouseProtocol;pub use bluetooth_ble_mouse::BluetoothBleMouse;pub use bluetooth_ble_beacon::actions::BluetoothBleBeaconProtocol;pub use bluetooth_ble_beacon::BluetoothBleBeacon;pub use bluetooth_ble_remote::actions::BluetoothBleRemoteProtocol;pub use bluetooth_ble_remote::BluetoothBleRemote;pub use bluetooth_ble_battery::actions::BluetoothBleBatteryProtocol;pub use bluetooth_ble_battery::BluetoothBleBattery;pub use bluetooth_ble_heart_rate::actions::BluetoothBleHeartRateProtocol;pub use bluetooth_ble_heart_rate::BluetoothBleHeartRate;pub use bluetooth_ble_thermometer::actions::BluetoothBleThermometerProtocol;pub use bluetooth_ble_thermometer::BluetoothBleThermometer;pub use bluetooth_ble_environmental::actions::BluetoothBleEnvironmentalProtocol;pub use bluetooth_ble_environmental::BluetoothBleEnvironmental;pub use bluetooth_ble_proximity::actions::BluetoothBleProximityProtocol;pub use bluetooth_ble_proximity::BluetoothBleProximity;pub use bluetooth_ble_gamepad::actions::BluetoothBleGamepadProtocol;pub use bluetooth_ble_gamepad::BluetoothBleGamepad;pub use bluetooth_ble_presenter::actions::BluetoothBlePresenterProtocol;pub use bluetooth_ble_presenter::BluetoothBlePresenter;pub use bluetooth_ble_file_transfer::actions::BluetoothBleFileTransferProtocol;pub use bluetooth_ble_file_transfer::BluetoothBleFileTransfer;pub use bluetooth_ble_data_stream::actions::BluetoothBleDataStreamProtocol;pub use bluetooth_ble_data_stream::BluetoothBleDataStream;pub use bluetooth_ble_cycling::actions::BluetoothBleCyclingProtocol;pub use bluetooth_ble_cycling::BluetoothBleCycling;pub use bluetooth_ble_running::actions::BluetoothBleRunningProtocol;pub use bluetooth_ble_running::BluetoothBleRunning;pub use bluetooth_ble_weight_scale::actions::BluetoothBleWeightScaleProtocol;pub use bluetooth_ble_weight_scale::BluetoothBleWeightScale;pub use connection::Connection;pub use connection::ConnectionId;pub use http3::actions::Http3Protocol;
Modules§
- a2a
- A2A 1.0 agent over HTTP/1.1: agent card, JSON-RPC dispatch, SSE streaming. Rust owns the envelope, ids and version rules; the handler owns every reply.
- a2s
- Steam/Source server query (A2S) over UDP. Rust owns the challenge exchange, encoding and splitting; handlers decide what the server reports.
- accept_
bounded - A connection cap for accept loops, and the refusal that says why.
- acme
- ACME (RFC 8555) certificate authority over HTTP/1.1, optionally over TLS. Rust owns the directory, nonces, JWS verification, the account / order / authorization / challenge state machine, http-01 fetching, CSR checks and issuance; the handler approves or refuses each account, order, validation, issuance and revocation.
- activitypub
- ActivityPub instance (server role). HTTP is served by
http.rsoverinstance.rs; every activity that arrives at an inbox with a valid signature is queued and answered by the model one at a time, in order. - adc
- adc_
peer - amqp
- AMQP 0-9-1 broker with LLM-controlled responses.
- amqp1
- AMQP 1.0 container. Rust owns the protocol headers, SASL, the connection / session / link state machines, link credit, transfers (multi-frame both ways), settlement and the relay of accepted messages to receivers of the same address; the handler admits connections and links, settles each message and produces messages for receivers.
- anthropic
- Anthropic Messages API. Rust owns HTTP, validation and Anthropic’s error envelope, the optional API key check, ids, usage estimates, the event stream, count_tokens and the models list; the handler writes every assistant message.
- arp
- ARP (Address Resolution Protocol) server implementation
- bacnet
- beanstalkd
- Beanstalkd work-queue server — the model is the queue.
- bfd
- BFD speaker (RFC 5880 Asynchronous mode over UDP: RFC 5881 single-hop, RFC 5883
multihop), in the passive role: a peer that starts sending is a session request for the
model; an accepted session is run in Rust (
runner.rs) and every state change is the model’s to react to. Deliberately silent: BFD has no refusal, so a peer that is not accepted — or a backend failure — is never answered and its session stays Down. - bgp
- BGP-4 server (RFC 4271).
- bitcoin
- Bitcoin P2P protocol server implementation
- bluetooth_
ble - Bluetooth Low Energy (BLE) GATT server implementation
- bluetooth_
ble_ battery - Bluetooth Low Energy (BLE) Battery Service implementation
- bluetooth_
ble_ beacon - BLE beacon server (iBeacon / Eddystone).
- bluetooth_
ble_ cycling - BLE Cycling Speed and Cadence Service (0x1816)
- bluetooth_
ble_ data_ stream - BLE Data Stream Service (custom GATT for real-time streaming)
- bluetooth_
ble_ environmental - BLE Environmental Service
- bluetooth_
ble_ file_ transfer - BLE File Transfer Service
- bluetooth_
ble_ gamepad - BLE Gamepad Service
- bluetooth_
ble_ heart_ rate - BLE Heart Rate Service (0x180D)
- bluetooth_
ble_ keyboard - Bluetooth Low Energy (BLE) HID Keyboard implementation
- bluetooth_
ble_ mouse - Bluetooth Low Energy (BLE) HID Mouse implementation
- bluetooth_
ble_ presenter - BLE Presenter Service — a presentation clicker over HID-over-GATT.
- bluetooth_
ble_ proximity - BLE Proximity Service
- bluetooth_
ble_ remote - Bluetooth Low Energy (BLE) Remote Control implementation
- bluetooth_
ble_ running - BLE Running Speed and Cadence Service (0x1814)
- bluetooth_
ble_ thermometer - BLE Health Thermometer Service (0x1809)
- bluetooth_
ble_ weight_ scale - BLE Weight Scale Service (0x181D)
- bmp
- BGP Monitoring Protocol collector (RFC 7854). Rust owns framing, the per-peer header, TLVs and the embedded BGP PDUs; the handler sees each message as JSON and decides whether to keep monitoring the router. A collector never writes to the router.
- bolt
- Neo4j’s Bolt protocol — the model is the graph database.
- bootp
- BOOTP server implementation
- caldav
- CalDAV server: the shared DAV engine in
dav_commonwith CalDAV’s flavor. - can
- CAN bus (SocketCAN) server — NetGet as an ECU on somebody’s vehicle bus.
- capnp_
rpc - Cap’n Proto RPC server. Rust owns the encoding, the RPC tables and every bound; one capability (the bootstrap, typed by the startup schema’s interface) is exported, and the handler answers each call on it with results or an exception.
- carddav
- CardDAV server: the shared DAV engine in
dav_commonwith CardDAV’s flavor. - cassandra
- Cassandra/CQL server implementation using cassandra-protocol
- cdp
- CDP (Cisco Discovery Protocol) server — NetGet impersonating a Cisco device to its neighbours.
- clickhouse
- ClickHouse native TCP server. Rust owns the handshake, revision negotiation, packet and block encoding, compression, the INSERT exchange and every bound; the handler answers each query and decides each INSERT’s rows.
- coap
- CoAP (RFC 7252) server over UDP.
- connect_
rpc - Native binary protobuf Connect over owned HTTP/1.1 connections.
- connection
- Connection management
- consul
- Consul agent HTTP API. Rust owns HTTP, Consul’s JSON shapes, base64 values, the index header and the agent’s own description; the handler answers every KV, catalog and registration request. NetGet stores nothing.
- couchdb
- CouchDB server implementation
- datalink
- Data Link layer (Layer 2) server implementation using pcap
- dav_
common - WebDAV machinery CalDAV and CardDAV share: object parsing (
object), XML (xml), the server engine (server), the client engine (client) and the per-protocol actions. - db2
- IBM Db2 server implementation (DRDA wire protocol).
- dbus
- D-Bus server: NetGet as a small message bus that every call terminates at. A client authenticates (SASL EXTERNAL on the Unix socket, checked against the peer’s uid; ANONYMOUS where allowed), may say Hello and request names, and every method call that is not the bus’s own goes to the model, which answers with a return value or an error.
- dc
- DC (Direct Connect) server implementation
- dc_peer
- devp2p
- Ethereum devp2p node: RLPx over TCP, the base protocol, and
eth/68/eth/69. - dhcp
- DHCP server implementation
- dhcpv6
- DHCPv6 (RFC 8415) server.
- diameter
- dicom
- DICOM DIMSE service provider. Rust owns the upper layer (association negotiation, PDU and PDV framing, release, abort), the DIMSE command sets, the dataset codec, C-ECHO and C-FIND matching; the handler decides associations, stored instances and query records.
- dict
- DICT (RFC 2229) server — the model is the dictionary.
- dnp3
- dns
- DNS server: UDP and TCP on one port, EDNS0, zone transfers and DNSSEC for one zone.
- docker
- Docker Engine API server: the read-only core a real
docker -H tcp://…CLI needs. - doh
- DNS-over-HTTPS (DoH) server implementation
- doq
- DNS over QUIC. All connection and stream futures are owned by the registered accept task; aborting it drops them and closes the endpoint, with no detached I/O.
- dot
- DNS-over-TLS (DoT) server implementation
- dynamo
- DynamoDB-compatible server implementation
- eapol
- EAPOL / 802.1X authenticator — the switch-port role.
- elasticsearch
- Elasticsearch/OpenSearch server implementation
- epp
- EPP registry server (RFC 5730, RFC 5734). Rust owns TLS, framing, the greeting, hello, login/logout and session state; the handler answers every domain, host and contact command.
- etcd
- etcd v3 server implementation with gRPC KV service
- ethernet_
ip - fastcgi
- FastCGI 1.0 application in the Responder role. Rust owns records, request ids, streams, management records and bounds; the handler owns every response.
- finger
- Finger (RFC 1288) server.
- fix
- FIX acceptor. Rust owns framing, the Logon handshake rules, the session layer and its timers; the handler admits each counterparty and answers each application message.
- fluent_
forward - One-way Fluent Forward collector with bounded stream parsing and owned tasks.
- ftp
- FTP server implementation
- gearman
- Gearman job server — the model is the worker for every function.
- gelf
- One-way GELF collector with bounded stream parsing and owned tasks.
- gemini
- Gemini server (gemini://, TLS, port 1965) — the model writes the capsule.
- git
- Git Smart HTTP server implementation
- gnmi
- Typed, bounded OpenConfig gNMI protocol boundary.
- gnutella
- gopher
- Gopher (RFC 1436) server.
- graphite
- One-way Carbon plaintext collector with bounded stream parsing and owned tasks.
- graphql
- GraphQL over HTTP (GraphQL-over-HTTP draft) on hyper. Rust owns request parsing, media-type negotiation, validation against the schema, introspection and execution; the handler owns the data behind every query and mutation.
- grpc
- gRPC server implementation with dynamic schema support
- grpc_
web - Separate binary protobuf HTTP/1.1 binding; the HTTP connection owns every RPC worker.
- gtp
- GTP-C / GTP-U server — a mobile-core node driven by the model.
- guacamole
- Guacamole protocol server in guacd’s place. Rust runs the handshake, frames every instruction, answers sync and keeps the connection alive; the model accepts or refuses each connection and draws the display it shows, hearing typed lines, special keys, clicks and the client’s clipboard.
- h323
- H.323: a gatekeeper (
H323-Gatekeeper, H.225.0 RAS over UDP 1719) and a called endpoint (H323, H.225.0 call signalling — Q.931 over TPKT — on TCP 1720), plus the codecs the H.323 client (src/client/h323) shares. - hl7
- HL7 v2 over MLLP. Rust frames, parses and builds the acknowledgment envelope; the handler decides what each message is acknowledged with.
- hls
- HLS server (HTTP Live Streaming, RFC 8216).
- hsrp
- HSRP (Hot Standby Router Protocol) speaker — RFC 2281 for v1, Cisco’s TLV format for v2.
- http
- HTTP server implementation using hyper
- http2
- HTTP/2 server implementation built directly on the
h2crate. - http3
- Real HTTP/3. The registered endpoint task owns every session and request future.
- http_
common - Shared HTTP/HTTP2 implementation components
- icap
- ICAP (RFC 3507) server. Rust owns framing, OPTIONS, preview continuation and response assembly; the handler decides each REQMOD/RESPMOD.
- icmp
- ICMP (Internet Control Message Protocol) server implementation
- ics_
support - Shared task ownership and bounded I/O for request/reply device simulators. Wire formats and decisions remain in each protocol’s session implementation.
- ident
- Ident (RFC 1413) server.
- iec104
- igmp
- IGMP server implementation using raw IP sockets
- imap
- IMAP server implementation
- inetd
- The classic inetd services (RFC 862-868) over TCP and UDP, sharing one engine. Rust owns the framing, the clock arithmetic, the chargen pattern and every bound; handlers decide what each request receives. No handler failure ever produces fabricated output.
- influxdb
- One-request-per-connection HTTP/1.1 InfluxDB endpoint with owned tasks: v2 writes, Flux
queries at
/api/v2/query, InfluxQL at the v1-compatible/query, and/ping. - ipfix
- Receive/parse ownership stays independent of parked common handlers.
- ipp
- IPP (Internet Printing Protocol) server implementation.
- ipsec
- IPSec/IKEv2 parse-and-log honeypot
- irc
- IRC server implementation
- isis
- IS-IS (Intermediate System to Intermediate System) routing protocol server
- jmap
- JMAP (RFC 8620, RFC 8621) server. Rust owns the session resource, authentication, request validation and limits, capabilities, accounts, Core/echo, result references and creation ids; the handler is the store and answers every other method call.
- jsonrpc
- JSON-RPC 2.0 server implementation
- kafka
- Kafka broker — Rust owns the wire format, the LLM owns the content.
- kerberos
- Kerberos V5 KDC (RFC 4120): AS and TGS exchanges over UDP and TCP on one port.
- knx
- KNXnet/IP tunnelling gateway. Rust owns the frames, the tunnels (channels, sequence numbers, heartbeats), acknowledgements, confirmations and the routing of group telegrams between tunnels; the handler is every device on the bus, answering reads and reacting to writes.
- kubernetes
- Kubernetes API server implementation.
- ldap
- LDAPv3 server with hand-written ASN.1 BER coding.
- libp2p
- libp2p host (server role): accepts TCP connections, upgrades them to Noise and yamux, answers identify and ping in Rust, and hands every message on the application protocols’ streams to the model, one connection’s events at a time.
- lldp
- LLDP (IEEE 802.1AB) server — NetGet as a switch on somebody else’s link.
- llmnr
- LLMNR (RFC 4795) responder.
- lmtp
- LMTP (RFC 2033) delivery server. Rust owns the SMTP-style state machine, framing, bounds and the one-reply-per-recipient rule after DATA; handlers decide which recipients exist and what happened to each delivery. Nothing is stored here.
- loki
- One-request-per-connection HTTP/1.1 push collector with owned tasks.
- lpd
- LPD (RFC 1179) print server. Rust owns the one-command-per-connection framing, the receive-job subcommands and their acknowledgements, and every bound; handlers decide whether each complete job is queued, what lpq is told and what lprm removed. No spool: nothing received is kept after the handler has seen it.
- lwm2m
- LwM2M 1.1 server over CoAP/UDP. Rust owns the registration interface (register, update, deregister, lifetime expiry) and turns the handler’s operations into CoAP requests to the device; responses and notifications come back as events.
- m3ua
- M3UA / SIGTRAN server (RFC 4666) — an SGP that an ASP connects to.
- managesieve
- ManageSieve (RFC 5804) server. Rust owns the line and literal grammar, capabilities, SASL PLAIN and name checks; the handler decides logins and answers every script command.
- matrix
- Matrix homeserver, client-server API v3. Rust owns HTTP, the API’s JSON shapes, access
tokens, room membership and per-user
/syncdelivery (hub.rs); the handler decides logins (unlessuser_passwordsis given), room creation, joins and every message, and speaks in rooms as its own user. - maven
- Maven repository server implementation using hyper
- mcp
- MCP (Model Context Protocol) server implementation
- mdns
- mDNS/DNS-SD server implementation
- memcached
- Memcached server (text protocol) — the model is the cache.
- mercurial
- Mercurial HTTP server implementation
- milter
- Milter (mail filter) server. Rust owns the packets, option negotiation, macros and the collection of headers and body; the handler decides at each SMTP stage and may modify the message at its end.
- minecraft
- Minecraft Java Edition server: the server-list ping (modern and legacy) and the front of login. Rust owns framing, the handshake, ping/pong and every bound; the handler decides the server-list entry and the reason a joining player is disconnected. No game is run.
- modbus
- Modbus TCP server.
- mongodb
- MongoDB server implementation with manual OP_MSG parsing
- mqtt
- MQTT 3.1.1 and 5.0 broker with LLM-controlled responses
- mqtt_sn
- MQTT-SN 1.2 gateway over UDP. One task owns every session: datagrams, handler answers, injected commands and a timer arrive on it in turn, so no state is shared. Handler calls run as their own tasks and report back; a client’s later datagrams wait while its call is out.
- msgpack_
rpc - MessagePack-RPC server. Rust owns the MessagePack codec, the envelope, message ids and every bound; the handler answers each request and may send notifications back.
- mssql
- MSSQL server implementation using manual TDS protocol
- mysql
- MySQL server implementation using opensrv-mysql
- named_
pipe - Named pipe (POSIX FIFO) server implementation.
- nats
- NATS server implementation.
- nbd
- Network Block Device server. Rust owns the fixed newstyle handshake, option haggling and transmission; the handler describes each export once per connection and Rust serves every read from that description. Exports are read-only.
- ndp
- IPv6 Neighbour Discovery (RFC 4861) server — NetGet as a router, or as a neighbour, on somebody else’s link.
- netbios_
ns - NetBIOS Name Service server (RFC 1001 / RFC 1002).
- netconf
- NETCONF over SSH (RFC 6241, RFC 6242): russh carries the transport, NetGet owns the
netconfsubsystem — hello exchange, framing, envelopes, message identity and the capability rules — and a handler decides every RPC’s data and outcome. - netflow_
v9 - Receive/parse ownership stays independent of parked common handlers.
- nfc
- NFC (Near Field Communication) virtual tag server.
- nfs
- NFSv3 server built on
nfsserve, with the filesystem supplied entirely by the LLM. - ngap
- NGAP (3GPP TS 38.413) — NetGet as an AMF on the 5G N2 interface, which a gNB connects to.
- ninep
- 9P2000 file server. Rust owns the message codec, version negotiation, the fid table, walks (including partial walks and “..”), open modes, directory paging, offsets and every bound; the handler decides what exists, what each directory lists, each file’s content, and whether each change is accepted. Nothing is stored.
- nntp
- NNTP server implementation
- nostr
- Nostr relay (NIP-01 over WebSocket, NIP-11 on plain HTTP) — the model is the relay’s policy and its archive.
- npm
- NPM registry server implementation
- nsq
- NSQ broker (nsqd’s TCP protocol, V2) — the model decides what is accepted and delivered.
- ntp
- NTP server implementation
- nut
- Programmable NUT attachment daemon; application data belongs to event handlers.
- oauth2
- OAuth2 authorization server implementation
- oci_
registry - OCI Distribution Specification v1.1 registry server (pull path).
- ocpp
- OCPP-J central system (CSMS). Rust negotiates the subprotocol, frames every RPC message, correlates ids and enforces one outstanding CALL per direction; the handler decides each answer and any CSMS-initiated call.
- ollama
- Ollama-compatible API server implementation
- onvif
- ONVIF device (server role): the Device and Media services over SOAP 1.2 on HTTP/1.1.
- opcua
- openai
- OpenAI-compatible API server implementation
- openapi
- OpenAPI 3.1 spec-driven HTTP server implementation
- openid
- OpenID Connect server implementation
- openvpn
- OpenVPN control-channel server.
- ospf
- OSPF protocol simulator - LLM-controlled OSPF responses
- otlp
- OpenTelemetry HTTP/gRPC receiver — the model decides which exports are accepted.
- p2p_
support - Owned, bounded TCP/TLS sessions for hub and peer simulators. Wire formats and decisions remain in each protocol’s session implementation.
- peer_
support - Generic adoption helpers for messaging ONE connection of a server.
- pfcp
- PFCP user plane function (UDP 8805). Rust owns the framing, the association and session tables, heartbeats, the refusals that need no judgement (no association, unknown session, missing F-SEID) and retransmissions; the model decides associations and sessions.
- pop3
- POP3 server implementation
- postgresql
- PostgreSQL server implementation using pgwire
- prometheus
- Prometheus exporter: an HTTP
/metricsendpoint whose metrics the model invents. - prometheus_
remote_ write - Published Remote Write 1.0 float-sample HTTP collector with owned tasks.
- proxy
- HTTP/HTTPS Proxy server implementation using MITM with LLM control
- pty
- Pseudo-terminal (PTY) server implementation.
- pulsar
- Apache Pulsar broker (server role). Rust owns the connection handshake, lookups, producers,
subscriptions, flow control, delivery and acknowledgement (
broker.rs); the model decides which producers and subscriptions to allow and whether each message is accepted. - pypi
- PyPI (Python Package Index) server implementation
- quic
- QUIC server implementation using Quinn
- radius
- RADIUS server (RFC 2865 authentication/authorization, RFC 2866 accounting).
- radsec
- RadSec server (RFC 6614): RADIUS over TLS. TLS and framing live here; every request goes through the RADIUS server’s own decision path, fail-closed rule included.
- rawip
- Generic raw IP protocol-N server.
- rcon
- Source RCON server (the same framing Minecraft’s RCON uses). Rust owns framing, ids, splitting, the password check when one is configured, and every bound; handlers answer commands, and logins when no password is configured.
- rdap
- RDAP over HTTP/1.1: Rust parses and normalizes every RFC 9082 query and enforces the RFC 9083 envelope on every answer; the handler supplies the registration data.
- rdp
- RDP server — the TPKT + X.224 connection-negotiation slice of [MS-RDPBCGR].
- redfish
- DMTF Redfish service over HTTP/1.1. Rust serves the service root, the OData documents, the SessionService and the TaskService and owns every envelope rule; the handler owns logins and every other resource.
- redis
- Redis server implementation with RESP protocol
- restconf
- RESTCONF (RFC 8040) server. Rust owns discovery, the API root, the YANG library from the declared modules, data-resource paths, query parameters, media types and the error document; the handler is the datastore and answers every data request and operation.
- reverse_
shell - Reverse-shell listener server.
- rip
- RIP (Routing Information Protocol) server implementation
- rpki_
rtr - RPKI-to-Router cache (RFC 8210 version 1, RFC 6810 version 0). Rust owns framing, the session id, timers and version negotiation; the handler owns the VRP data.
- rss
- RSS (Really Simple Syndication) Feed Server
- rsync
- rsync daemon (rsync://, TCP 873) at protocol 29. Rust owns the handshake, the file-list encoding and order, the transfer tokens, the checksums and the end-of-run dance; the model says which modules exist, what each requested path holds, and which uploaded files to take (their contents are handed to it, never written to disk).
- rtmp
- RTMP live server. Rust owns the handshake, chunking, AMF0 commands, the NetConnection and NetStream flow and the live relay from each publisher to its players (sequence headers and metadata cached, players joining at a keyframe, timestamps rebased per player); the handler admits connections, publishers and players and can push AMF0 data messages into a stream.
- rtp
- RTP server (RFC 3550).
- rtsp
- RTSP server (RFC 2326).
- s3
- S3-compatible object storage server implementation
- s7comm
- saml_
idp - SAML Identity Provider (IDP) server implementation
- saml_sp
- SAML Service Provider (SP) server implementation
- scim
- SCIM 2.0 service (RFC 7643/7644) over HTTP/1.1. Rust owns discovery, request parsing, filters, PATCH paths, sorting, paging, projection and meta; the handler owns the data.
- server_
trait - Common trait and utilities for network servers
- sflow
- Receive/parse ownership stays independent of parked common handlers.
- sip
- SIP server implementation
- smb
- SMB/CIFS server implementation
- smpp
- SMPP 3.4 SMSC. Rust owns PDU framing, the bind state machine, sequence numbers, response status codes, message ids, enquire_link, unbind, delivery receipts and every bound; the handler decides binds (unless credentials are configured) and the fate of each message.
- smtp
- SMTP server implementation
- snmp
- SNMP agent implementation using rasn-snmp library
- snowflake
- Snowflake server implementation
- socket_
file - Unix domain socket server implementation
- socket_
helpers - Socket helper utilities for creating sockets with proper options
- socketio
- Socket.IO v5 over Engine.IO v4. Rust owns sessions, transports (long-polling, WebSocket, upgrade), heartbeats, packet framing, namespaces, acknowledgement ids and rooms; the handler decides connections and what to emit.
- socks5
- SOCKS5 proxy server implementation with LLM control
- soulseek
- soulseek_
peer - spark
- Apache Spark monitoring REST API server.
- spice
- SPICE server — the remote display protocol of QEMU/KVM, spoken by hand over TCP.
- sqs
- AWS SQS (Simple Queue Service) compatible server implementation
- srt
- SRT listener over srt-tokio (ARQ, TSBPD, optional AES). Rust owns the handshake, stream-ID parsing, one publisher per resource and the relay to every reader of it; the handler admits each caller and can push text messages to a reader.
- ssdp
- SSDP / UPnP discovery server (UPnP Device Architecture 1.1, §1).
- sse
- Server-sent events server. Each connection carries one HTTP/1.1 request; the model answers
it with a stream (kept open, with keep-alive comments) or an ordinary response. Open streams
are registered per server for
sse_broadcastand as peers for injected events. - ssh
- SSH server implementation using russh
- ssh_
agent - SSH Agent server implementation
- statsd
- StatsD collector with bounded, sequential batch handling and no reply traffic.
- stdio
- Standard I/O (stdin/stdout/stderr) server implementation.
- stomp
- STOMP 1.2 server implementation.
- stp
- STP / RSTP (IEEE 802.1D-2004 / 802.1w) bridge server.
- stratum
- Stratum V1 pool (server role). Rust owns each session — subscription, extranonce1, jobs, the share arithmetic and every refusal the arithmetic decides — and asks the model only who may mine and whether a share proven valid is credited.
- stratum_
v2 - Stratum V2 pool (server role). Rust owns each connection — the Noise NX handshake and the certificate it presents, every frame’s encryption and encoding, channels, extranonce prefixes, jobs, the share arithmetic and every refusal that arithmetic decides — and asks the model only whether a device may connect, whether a channel opens and at what difficulty, and whether a share already proven to meet its target is credited.
- stun
- STUN server implementation
- sunrpc
- ONC RPC portmapper / rpcbind server on TCP and UDP (the same port). Rust decodes every call and answers the RPC-level errors, NULL and GETTIME; the model answers lookups and dumps with mappings and decides registrations.
- svn
- SVN (Subversion) server implementation
- syslog
- Syslog server implementation using syslog_loose library
- tacacs
- tcp
- TCP server implementation
- telnet
- Telnet server implementation
- tftp
- TFTP server implementation
- thrift
- Apache Thrift RPC server for a service declared in IDL. Rust owns the transport (framed or unframed, detected per connection), the protocol (binary or compact, detected per message), method lookup, argument decoding and result encoding by IDL type; the handler answers calls.
- tls
- TLS server implementation
- tls_
cert_ manager - TLS certificate management for DoT and DoH servers
- tor_
relay - Tor Relay (OR protocol) server - partial, not interoperable with real Tor.
- torrent_
dht - BitTorrent DHT server implementation
- torrent_
peer - BitTorrent Peer Wire Protocol server implementation
- torrent_
tracker - BitTorrent Tracker server implementation
- tr069
- TR-069 ACS (server role). A CWMP session is a run of HTTP POSTs from the device bound by a cookie: Inform, then empty posts and RPC responses, each answered with the next queued RPC or with 204 to end it. Rust owns sessions and envelopes; the model fills the queue.
- tuntap
- TUN/TAP interface endpoint.
- turn
- TURN relay server (RFC 8656)
- udp
- UDP server implementation for raw UDP stack
- usb
- USB protocol implementations
- vault
- HashiCorp Vault server, KV version 2: what
vault statusandvault kv get/put/list/ metadata getneed. - vnc
- VNC (Virtual Network Computing) server — RFB 3.8 (RFC 6143) over TCP.
- vrrp
- VRRP (v2/v3) and CARP server — IP protocol 112, multicast
224.0.0.18. - vxlan
- VXLAN / Geneve / GRE (gretap, in UDP) tunnel endpoint: decapsulates what other tunnel endpoints send, and the model plays the hosts on the overlay — ARP, ping and UDP — with replies built in Rust and sent back through the tunnel. Deliberately silent: an overlay IP with no host never answers, and a backend failure reads the same way.
- wamp
- WAMP v2 router, basic profile, JSON over WebSocket. Rust owns the transport, message validation, realms, sessions, subscriptions, registrations and every routed call and event; the handler admits sessions and answers calls to procedures no session has registered.
- webdav
- WebDAV server (RFC 4918) with an LLM-supplied virtual filesystem.
- webrtc
- WebRTC server: real peer connections carrying data channels only (no media).
- webrtc_
signaling - WebRTC Signaling Server - WebSocket-based SDP relay for WebRTC connections
- websocket
- WebSocket (RFC 6455) server with LLM-controlled frames.
- webtransport
- WebTransport over HTTP/3 on the vendored wtransport. The registered endpoint task owns every
session; each session asks the handler whether to admit it, then runs
session::Session. - whois
- WHOIS (RFC 3912) server.
- wireguard
- WireGuard VPN server implementation with LLM control
- wol
- Wake-on-LAN magic packet listener.
- wsdiscovery
- WS-Discovery target service: answers Probe and Resolve on UDP 3702, multicast and directed. The model decides which of its services match; matches go back unicast to the asker, and Hello/Bye announcements go to the group. Deliberately silent: WS-Discovery has no negative reply, so a probe the model does not answer — or a backend failure — sends nothing, and the log says which it was.
- xmlrpc
- XML-RPC server implementation
- xmpp
- XMPP server implementation
- yarn
- Hadoop YARN ResourceManager REST API server.
- zabbix
- Zabbix trapper — the protocol
zabbix_senderspeaks to a Zabbix server on port 10051. - zenoh
- Zenoh router or peer over the zenoh runtime. Rust declares the subscribers and queryables from the startup parameters, hands each sample and query to the handler and runs its actions on the session; the link list becomes the connection list.
- zeromq
- ZeroMQ server socket (REP, ROUTER or PULL) speaking ZMTP 3.1 with the NULL mechanism. Rust owns the greeting, READY, the compatibility check, framing, envelopes, heartbeats and every bound; the handler writes the reply to each message.
- zipkin
- Zipkin collector and read API over HTTP/1.1. Rust owns HTTP, gzip, span validation and every bound; the handler decides whether a report is accepted and answers every query. NetGet stores no spans.
- zookeeper
- ZooKeeper server implementation.