Up to date as of Feb 2026
Summary:
Arti runs as a client, and supports running onion services and connecting to them. It supports using bridges and pluggable transports.
There is no support in Arti yet for running as a relay, a bridge, or a directory authority. We are currently building those.
Arti aims for compatibility with all currently recommended Tor protocols. We have not implemented, and do not plan to implement, obsolete versions of anything.
Here's a checklist of Tor sub-protocol capabilities versions that we currently have client-side support for:
-
Conflux=1(CONFLUX_BASE) 1 -
Cons=2(CONS_ED25519_MDS) 2 -
Desc=2(DESC_CROSSSIGN) -
Desc=3(DESC_NO_TAP) -
Desc=4(DESC_FAMILY_IDS) -
DirCache=2(DIRCACHE_CONSDIFF) -
FlowCtrl=0(FLOWCTRL_AUTH_SENDME) -
FlowCtrl=1(FLOWCTRL_CC) -
HSDir=2(HSDIR_V3) -
HSIntro=4(HSINTRO_V3) -
HSIntro=5(HSINTRO_RATELIM) -
HSRend=2(HSREND_V3) -
Link=4(LINK_V4) -
Link=5(LINK_V5) -
Microdesc=2(MICRODESC_ED25519_KEY) 2 -
Microdesc=3(MICRODESC_NO_TAP) -
Padding=2(PADDING_MACHINE_CIRC_SETUP) 3 -
Relay=2(RELAY_NTOR) -
Relay=3(RELAY_EXTEND_IPV6) -
Relay=4(RELAY_NTORV3) -
Relay=5(RELAY_NEGOTIATE_SUBPROTO) -
Relay=6(RELAY_CRYPT_CGO)
Going forward, Arti is the preferred Tor client for new feature development. All new client features will have implementations in Arti.
For proxies, we support Tor's socks extensions and HTTP CONNECT extensions.
Relay-side support is a work in progress. We want to support all of these sub-protocol capabilities. Many of them are partly implemented; we'll check them off as they become accessible on a running relay.
-
Conflux=1(CONFLUX_BASE) -
Cons=2(CONS_ED25519_MDS) -
Desc=2(DESC_CROSSSIGN) -
Desc=3(DESC_NO_TAP) -
Desc=4(DESC_FAMILY_IDS) -
DirCache=2(DIRCACHE_CONSDIFF) -
FlowCtrl=0(FLOWCTRL_AUTH_SENDME) -
FlowCtrl=1(FLOWCTRL_CC) -
HSDir=2(HSDIR_V3) -
HSIntro=4(HSINTRO_V3) -
HSIntro=5(HSINTRO_RATELIM) -
HSRend=2(HSREND_V3) -
Link=4(LINK_V4) -
Link=5(LINK_V5) -
LinkAuth=3(LINKAUTH_ED25519_SHA256_EXPORTER) -
Microdesc=2(MICRODESC_ED25519_KEY) -
Microdesc=3(MICRODESC_NO_TAP) -
Padding=2(PADDING_MACHINE_CIRC_SETUP) -
Relay=2(RELAY_NTOR) -
Relay=3(RELAY_EXTEND_IPV6) -
Relay=4(RELAY_NTORV3) -
Relay=5(RELAY_NEGOTIATE_SUBPROTO) -
Relay=6(RELAY_CRYPT_CGO)
We do not ever plan to support these:
Cons=1(obsolete format)Desc=1(obsolete format)DirCache=1(no relays still support this)HSDir=2(obsolete since 2021)HSIntro=3(obsolete since 2021)HSRend=1(obsolete since 2021)LinkAuth=1(only used by RSA-only relays)Microdesc=1(obsolete format)Padding=1(deprecated)
Footnotes
-
The
tor-protocrate supports conflux tunnels, but Arti does not currently build or use them. ↩ -
If a consensus method before 28 is used, we won't find IPv6 addresses correctly. All such consensus methods are currently obsolete, though, and authorities won't negotiate them any more. ↩ ↩2
-
The
tor-protocrate supports padding machines based onmaybenot, but they are not currently implemented. ↩