User Guide
Synapse-Tor User Guide
Synapse-Tor adds new Storm commands to automatically tag TOR exit nodes.
Getting Started
Check with your Admin to enable permissions.
Examples
List available configurations
Synapse-Tor does not require an API key, but uses a configuration to store
the tag prefix, proxy, and SSL verification settings used when ingesting.
A global configuration named default is created when the Power-Up is
installed. To list the available configurations, use the tor.config.list
command:
> tor.config.list
name | scope | owner
===========================|==========|====================================================
default | global | root
Set the tag prefix used to record ingested nodes
When ingesting exit and relay nodes, tags will be applied to the
inet:ipv4/inet:ipv6 nodes using the value of the configuration’s tag
prefix. The default tag prefix is cno.infra.anon.tor, which can be
changed with the tor.config.update command:
> tor.config.update default --tag-prefix my.cno.infra.anon.tor
Updated Synapse-Tor config "default"
Download and annotate the current TOR exit nodes
The --yield option includes the newly
annotated inet:ipv4 nodes in the Storm runtime.
> tor.sync --yield | limit 2
inet:ipv4=185.244.195.103
.created = 2026/10/22 20:06:00.664
.seen = ('2023/02/02 18:38:58.000', '2023/02/02 18:38:58.001')
:type = unicast
#cno.infra.anon.tor.exit = (2023/02/02 18:38:58.000, 2023/02/02 18:38:58.001)
inet:ipv4=109.70.100.88
.created = 2026/10/22 20:06:00.668
.seen = ('2023/02/02 18:38:58.000', '2023/02/02 18:38:58.001')
:type = unicast
#cno.infra.anon.tor.exit = (2023/02/02 18:38:58.000, 2023/02/02 18:38:58.001)
If the --relays option is specified all running relays
will be also be ingested and inet:ipv4 and inet:ipv6 nodes created.
> tor.sync --yield --relays | limit 3
inet:ipv4=109.70.100.73
.created = 2026/10/22 20:06:00.713
.seen = ('2023/02/02 17:00:00.000', '2023/02/02 17:00:00.001')
:type = unicast
#cno.infra.anon.tor.relay = (2023/02/02 17:00:00.000, 2023/02/02 17:00:00.001)
inet:ipv6=2a03:e600:100::73
.created = 2026/10/22 20:06:00.716
.seen = ('2023/02/02 17:00:00.000', '2023/02/02 17:00:00.001')
:scope = global
:type = unicast
#cno.infra.anon.tor.relay = (2023/02/02 17:00:00.000, 2023/02/02 17:00:00.001)
inet:ipv4=109.70.100.88
.created = 2026/10/22 20:06:00.668
.seen = ('2023/02/02 17:00:00.000', '2023/02/02 18:38:58.001')
:type = unicast
#cno.infra.anon.tor.exit = (2023/02/02 18:38:58.000, 2023/02/02 18:38:58.001)
#cno.infra.anon.tor.relay = (2023/02/02 17:00:00.000, 2023/02/02 17:00:00.001)
Use of meta:source nodes
Synapse-Tor uses a meta:source node and -(seen)> light
weight edges to track nodes observed from the Tor API.
> meta:source=ed3394443fbf53cc48b2efb4fd06fce1
meta:source=ed3394443fbf53cc48b2efb4fd06fce1
.created = 2026/10/22 20:06:00.650
:name = tor api
Storm can be used to filter nodes to include/exclude nodes which have been observed by Synapse-Tor. The following example shows how to filter the results of a query to include only results observed by Synapse-Tor:
> #cno.infra.anon.tor +{ <(seen)- meta:source=ed3394443fbf53cc48b2efb4fd06fce1 } | limit 1
inet:ipv4=109.70.100.88
.created = 2026/10/22 20:06:00.668
.seen = ('2023/02/02 17:00:00.000', '2023/02/02 18:38:58.001')
:type = unicast
#cno.infra.anon.tor.exit = (2023/02/02 18:38:58.000, 2023/02/02 18:38:58.001)
#cno.infra.anon.tor.relay = (2023/02/02 17:00:00.000, 2023/02/02 17:00:00.001)