Files
potato-mesh/tests/fixtures/reticulum_interface_names.tsv

9.9 KiB

1# Copyright © 2025-26 l5yth & contributors
2# Licensed under the Apache License, Version 2.0 (see LICENSE)
3#
4# Reticulum interface names as RNS 1.5.7 prints them, and as the ingestor
5# posts them and the web stores them: without a peer address (SPEC RI1, RI2).
6# One case per line, three tab-separated columns: case, printed name, public
7# name. tests/test_reticulum_interface_names.py builds each case it knows from
8# the real RNS class and checks the printed name; the other cases are hand-made.
9# web/spec/interface_names_spec.rb checks the web gives the same public name.
10# An RNode sub-interface prints <parent>[<sub>]: a parent name that reads as a
11# as rnode_sub_identifier_parent_with_slash shows.
12# The i2p_peer_base64_kelvin* and i2p_peer_base64_long_s* cases end with U+212A
13# (Kelvin) or U+017F (long s), which no base64 destination holds: neither copy of
14# the rule may fold them into ASCII.
15tcp_clientTCPInterface[RNS Testnet Amsterdam/amsterdam.connect.reticulum.network:4965]TCPInterface[RNS Testnet Amsterdam]
16tcp_client_name_with_slashTCPInterface[Hub A/B/203.0.113.77:4242]TCPInterface[Hub A/B]
17tcp_server_peerTCPInterface[Client on Public Hub/203.0.113.77:51234]TCPInterface[Client on Public Hub]
18tcp_server_peer_ipv6TCPInterface[Client on Public Hub/[2001:db8::77]:51234]TCPInterface[Client on Public Hub]
19tcp_serverTCPServerInterface[Public Hub/0.0.0.0:4242]TCPServerInterface[Public Hub]
20tcp_server_ipv6TCPServerInterface[Public Hub/[::]:4242]TCPServerInterface[Public Hub]
21backboneBackboneInterface[Backbone Hub/198.51.100.4:4242]BackboneInterface[Backbone Hub]
22backbone_clientBackboneInterface[Backbone Peer/203.0.113.7:4242]BackboneInterface[Backbone Peer]
23backbone_peer_ipv6BackboneInterface[Client on Backbone Hub/[2001:db8::7]:39012]BackboneInterface[Client on Backbone Hub]
24udpUDPInterface[Local UDP/0.0.0.0:4242]UDPInterface[Local UDP]
25udp_ipv6UDPInterface[Local UDP/fe80::1:4242]UDPInterface[Local UDP]
26auto_peerAutoInterfacePeer[wlan0/fe80::1c2b:3aff:fe4d:5e6f]AutoInterfacePeer[wlan0]
27weave_peerWeaveInterfacePeer[0a:1b:2c:3d]WeaveInterfacePeer
28autoAutoInterface[Default Interface]AutoInterface[Default Interface]
29weaveWeaveInterface[Weave Link]WeaveInterface[Weave Link]
30i2pI2PInterface[I2P Link]I2PInterface[I2P Link]
31i2p_peerI2PInterfacePeer[I2P Link to abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrst.b32.i2p]I2PInterfacePeer[I2P Link]
32i2p_peer_hostnameI2PInterfacePeer[I2P Link to reticulum-hub.i2p]I2PInterfacePeer[I2P Link]
33i2p_peer_base64I2PInterfacePeer[I2P Link to AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123~-IjKlMnOp4567QrStUvWx89YzAB-~AbCdEfGh0123]I2PInterfacePeer[I2P Link]
34i2p_peer_hostname_upperI2PInterfacePeer[I2P Link to Reticulum-Hub.I2P]I2PInterfacePeer[I2P Link]
35i2p_peer_base64_kelvinI2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK]I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK]
36i2p_peer_base64_long_sI2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAſ]I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAſ]
37i2p_peer_base64_kelvin_at_500I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK]I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK]
38i2p_peer_base64_long_s_at_500I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAſ]I2PInterfacePeer[I2P Link to AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAſ]
39i2p_peer_name_with_toI2PInterfacePeer[Link to Berlin to abcdefghijklmnopqrstuvwxyz234567abcdefghijklmnopqrst.b32.i2p]I2PInterfacePeer[Link to Berlin]
40i2p_connected_peerI2PInterfacePeer[Connected peer on I2P Link]I2PInterfacePeer[Connected peer on I2P Link]
41localLocalInterface[rns/default]LocalInterface[rns/default]
42local_tcpLocalInterface[37428]LocalInterface[37428]
43shared_instanceShared Instance[rns/default]Shared Instance[rns/default]
44shared_instance_tcpShared Instance[37428]Shared Instance[37428]
45pipePipeInterface[Pipe Link]PipeInterface[Pipe Link]
46kissKISSInterface[Packet Radio]KISSInterface[Packet Radio]
47ax25_kissAX25KISSInterface[AX.25 Radio]AX25KISSInterface[AX.25 Radio]
48serialSerialInterface[Serial Link]SerialInterface[Serial Link]
49serial_name_with_slashSerialInterface[Shed/North]SerialInterface[Shed/North]
50rnodeRNodeInterface[RNode Reticulum Berlin]RNodeInterface[RNode Reticulum Berlin]
51rnode_name_with_slashRNodeInterface[LoRa 868/915]RNodeInterface[LoRa 868/915]
52rnode_multiRNodeMultiInterface[Multi Radio]RNodeMultiInterface[Multi Radio]
53android_kissKISSInterface[Packet Radio]KISSInterface[Packet Radio]
54android_rnodeRNodeInterface[RNode Reticulum Berlin]RNodeInterface[RNode Reticulum Berlin]
55android_serialSerialInterface[Serial Link]SerialInterface[Serial Link]
56rnode_subMulti Radio[868 Low]Multi Radio[868 Low]
57rnode_sub_with_slashMulti Radio[868/915]Multi Radio[868/915]
58rnode_sub_rnode_parent_with_slashRNodeMulti[868/915]RNodeMulti[868/915]
59rnode_sub_identifier_parent_with_slashLoRaMulti[868/915]LoRaMulti[868]
60unknown_classGardenInterface[Shed Link/192.0.2.10:7000]GardenInterface[Shed Link]
61unknown_class_slashesGardenInterface[Shed/Link/192.0.2.10:7000]GardenInterface[Shed]
62unknown_class_without_slashGardenInterface[Shed Link]GardenInterface[Shed Link]
63unknown_class_address_onlyGardenInterface[/192.0.2.10:7000]GardenInterface
64tcp_address_onlyTCPInterface[/203.0.113.77:4242]TCPInterface
65tcp_cut_in_addressTCPInterface[Client on Public Hub/203.0.11TCPInterface[Client on Public Hub]
66tcp_cut_in_nameTCPInterface[Client on PubTCPInterface[Client on Pub
67i2p_peer_cutI2PInterfacePeer[I2P Link to abcdefghijklmnopqrstuvwxyzI2PInterfacePeer[I2P Link]
68weave_peer_cutWeaveInterfacePeer[0a:1bWeaveInterfacePeer
69unknown_class_cutGardenInterface[Shed/192.0.2GardenInterface[Shed]
70rnode_cutRNodeInterface[RNode Reticulum BerRNodeInterface[RNode Reticulum Ber
71no_bracketsNoneNone