RAMP provides a unified system for marking and identifying communication endpoints across physical and digital domains, designed specifically for hacker spaces, maker labs and technical gatherings like the Chaos Communication Congress.
Basic syntax:
[~]<layer>/<protocol>[:<param1>[/<param2>]][#<metadata>]
Where ~
prefix indicates a person reference (e.g. ~N/I:10.0.0.1/24#NOC-LEAD
)
Where:
layer
: Single uppercase letter [A-Z]protocol
: Single uppercase letter [A-Z]param1
,param2
: Protocol-specific parameter formatmetadata
: Uppercase alphanumeric with hyphens [A-Z0-9-][]
denotes optional components
Example: P/L:433.500MHz/SF7#MESHNODE
Standard sticker (40x40mm):
ββββββββββββββββββ
β [QR] β <- 12x12mm QR code
ββββββββββββββββββ€
β P/L:433.500M β <- 8pt monospace
β /SF7#NODE01 β
ββββββββββββββββββ€
β π‘ LoRa β <- 10pt sans-serif
β Node #01 β
ββββββββββββββββββ
ramp://<layer>/<protocol>[:<param1>[/<param2>]][#<metadata>]
- URI-unsafe characters must be percent-encoded
- Parameters and metadata are case-preserved
- Fragment (#) cannot contain additional fragments
graph TB
L0[Physical Layer: P] -->|Raw transmission| L1[Network Layer: N]
L1 -->|Protocol| L2[Application Layer: A]
style L0 fill:#1a73e8,color:white
style L1 fill:#34a853,color:white
style L2 fill:#ea4335,color:white
graph TB
P1[P/L:433.500MHz/SF7] -->|Mesh Node| N1[N/R:a1b2c3d4]
N1 -->|Transport| A1[A/X:shell#1337]
style P1 fill:#1a73e8,color:white
style N1 fill:#34a853,color:white
style A1 fill:#ea4335,color:white
Remote system access over LoRa-based Reticulum mesh. SF7 spreading factor balances range and speed.
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β P/L:433.500M β
β /SF7#SHELL01 β
ββββββββββββββββββ€
β π‘ LoRa β
β Shell #01 β
ββββββββββββββββββ
graph TB
P1[P/R:145.500MHz] -->|Input| N1[N/D:317523]
N1 -->|Controller| P2[P/R:145.900MHz]
P2 -->|Output| A1[A/M:@rprt145]
style P1 fill:#1a73e8,color:white
style N1 fill:#34a853,color:white
style P2 fill:#1a73e8,color:white
style A1 fill:#ea4335,color:white
DMR voice repeater with Matrix status updates. Input 145.500MHz, output 145.900MHz, monitoring via Matrix.
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β P/R:145.500M β
β #RPRT317523 β
ββββββββββββββββββ€
β π» DMR β
β Repeater #01 β
ββββββββββββββββββ
VALIDATION = {
# Physical parameters
'freq': r'^\d{3}\.\d{3}[MG]Hz$', # e.g., 433.500MHz
'sf': r'^SF\d{1,2}$', # e.g., SF7
'mac': r'^([0-9A-F]{2}:){5}[0-9A-F]{2}$', # MAC address
'channel': r'^\d{1,3}$', # e.g., 36
'speed': r'^\d+[KMGT]$', # e.g., 100M
# Network parameters
'ipv4': r'^\d{1,3}(\.\d{1,3}){3}$', # IPv4 address
'ipv6': r'^[0-9a-fA-F:]+$', # IPv6 address
'port': r'^\d{1,5}$', # Port number
'hash': r'^[0-9a-f]{64}$', # SHA-256 hash
# Application parameters
'user': r'^@?[a-zA-Z0-9_.-]+$', # Username
'room': r'^[#!][a-zA-Z0-9_.-]+$', # Room identifier
'host': r'^[a-zA-Z0-9.-]+$' # Hostname
}
PHYSICAL = {
# Radio
'L': {'name': 'LoRa', 'params': '<freq>/<preset>', 'note': 'π‘ Long Range Radio',
'presets': {
'ST': {'name': 'Short Turbo', 'sf': 7, 'bw': 500, 'cr': '4/5', 'dr': 21.88},
'SF': {'name': 'Short Fast', 'sf': 7, 'bw': 250, 'cr': '4/5', 'dr': 10.94},
'SS': {'name': 'Short Slow', 'sf': 8, 'bw': 250, 'cr': '4/5', 'dr': 6.25},
'MF': {'name': 'Medium Fast', 'sf': 9, 'bw': 250, 'cr': '4/5', 'dr': 3.52},
'MS': {'name': 'Medium Slow', 'sf': 10, 'bw': 250, 'cr': '4/5', 'dr': 1.95},
'LF': {'name': 'Long Fast', 'sf': 11, 'bw': 250, 'cr': '4/5', 'dr': 1.07},
'LM': {'name': 'Long Moderate', 'sf': 11, 'bw': 125, 'cr': '4/8', 'dr': 0.34},
'LS': {'name': 'Long Slow', 'sf': 12, 'bw': 125, 'cr': '4/8', 'dr': 0.18},
'VLS':{'name': 'Very Long Slow', 'sf': 12, 'bw': 62.5,'cr': '4/8', 'dr': 0.09}
}},
'R': {'name': 'RF', 'params': '<freq>/<mode>', 'note': 'π» Generic Radio'},
'W': {'name': 'WiFi', 'params': '<channel>/<width>', 'note': 'πΆ WiFi Radio'},
'B': {'name': 'BLE', 'params': '<mac>/<type>', 'note': 'π¦· Bluetooth Low Energy'},
'Z': {'name': 'Zigbee', 'params': '<channel>/<panid>', 'note': 'πΈοΈ Zigbee Radio'},
# Wired
'E': {'name': 'Ethernet', 'params': '<speed>/<duplex>', 'note': 'π Wired Network'},
'S': {'name': 'Serial', 'params': '<baud>/<config>', 'note': 'π€ Serial Data'},
'U': {'name': 'USB', 'params': '<version>/<class>', 'note': 'π Universal Serial Bus'},
'C': {'name': 'CAN', 'params': '<speed>/<format>', 'note': 'π Controller Area Network'},
# Special
'Q': {'name': 'QR', 'params': '<size>/<format>', 'note': 'π± QR Code Resource'},
'O': {'name': 'Optical', 'params': '<wavelength>/<power>', 'note': 'π¦ Light-based'},
'N': {'name': 'NFC', 'params': '<type>/<mode>', 'note': 'π± Near Field Comms'},
'A': {'name': 'Audio', 'params': '<freq>/<channels>', 'note': 'π Sound-based'},
'Q': {'name': 'QAM', 'params': '<points>/<rate>', 'note': 'γ°οΈ RF Modulation'},
'V': {'name': 'Visual', 'params': '<format>/<fps>', 'note': 'ποΈ Visual Light Comms'}
}
NETWORK = {
# Internet Infrastructure
'A': {'name': 'AS', 'params': '<asn>/<prefix>', 'note': 'π Autonomous System'},
'I': {'name': 'IPv4', 'params': '<net>/<mask>', 'note': 'π Internet Protocol v4'},
'6': {'name': 'IPv6', 'params': '<net>/<prefix>', 'note': 'π Internet Protocol v6'},
'T': {'name': 'TCP', 'params': '<port>/<service>', 'note': 'π Transport Control'},
'U': {'name': 'UDP', 'params': '<port>/<service>', 'note': 'π User Datagram'},
# Amateur Radio
'P': {'name': 'POCSAG', 'params': '<ric>/<type>', 'note': 'π Paging Protocol'},
'D': {'name': 'DMR', 'params': '<id>/<tg>', 'note': 'ποΈ Digital Mobile Radio'},
'X': {'name': 'AX.25', 'params': '<callsign>/<ssid>', 'note': 'π‘ Packet Radio'},
# Mesh/P2P
'M': {'name': 'Meshtastic','params': '<id>/<channel>', 'note': 'πΈοΈ Meshtastic Mesh'},
'R': {'name': 'Reticulum', 'params': '<hash>/<type>', 'note': 'πΈοΈ Reticulum Mesh'},
'Y': {'name': 'Yggdrasil', 'params': '<addr>/<subnet>', 'note': 'π³ Yggdrasil Network'},
'C': {'name': 'cjdns', 'params': '<pubkey>/<peers>', 'note': 'πΈοΈ cjdns Mesh'},
'H': {'name': 'HAMnet', 'params': '<call>/<subnet>', 'note': 'π‘ Amateur Radio Network'},
# Overlay Networks
'O': {'name': 'Tor', 'params': '<onion>/<port>', 'note': 'π§
Tor Network',
'types': {'HS': 'Hidden Service', 'NODE': 'Relay Node', 'DIR': 'Directory'}},
'N': {'name': 'I2P', 'params': '<b32>/<port>', 'note': 'π§
I2P Network'},
'L': {'name': 'IPFS', 'params': '<cid>/<path>', 'note': 'π¦ InterPlanetary FS'},
}
}
APPLICATION = {
# Communication
'M': {'name': 'Matrix', 'params': '<user>/<room>', 'note': 'π¬ Matrix Protocol'},
'X': {'name': 'XMPP', 'params': '<jid>/<muc>', 'note': 'π¬ XMPP Protocol'},
'I': {'name': 'IRC', 'params': '<server>/<channel>', 'note': 'π¬ Internet Relay Chat',
'uri': 'irc://<server>[:<port>]/<channel>[,<key>]'},
'L': {'name': 'LXMF', 'params': '<hash>/<type>', 'note': 'π¨ LXMF Messaging'},
'E': {'name': 'Email', 'params': '<addr>/<transport>', 'note': 'π§ Email Protocol'},
# Services
'H': {'name': 'HTTP', 'params': '<host>/<path>', 'note': 'π Web Service'},
'G': {'name': 'Gemini', 'params': '<host>/<path>', 'note': 'π Gemini Protocol'},
'S': {'name': 'SIP', 'params': '<uri>/<transport>', 'note': 'βοΈ Voice Over IP'},
'F': {'name': 'FTP', 'params': '<host>/<path>', 'note': 'π File Transfer'},
'N': {'name': 'NNTP', 'params': '<host>/<group>', 'note': 'π° Usenet News'},
# Security
'P': {'name': 'PGP', 'params': '<keyid>/<algo>', 'note': 'π PGP Keys'},
'O': {'name': 'OTR', 'params': '<fp>/<version>', 'note': 'π€« Off The Record'},
'W': {'name': 'WireGuard', 'params': '<pubkey>/<port>', 'note': 'π VPN Tunnel'},
# Special Purpose
'T': {'name': 'Telemetry', 'params': '<sensor>/<interval>', 'note': 'π Sensor Data'},
'D': {'name': 'DNS', 'params': '<name>/<type>', 'note': 'π Name Service'},
'B': {'name': 'Bitcoin', 'params': '<addr>/<network>', 'note': 'βΏ Cryptocurrency'},
'R': {'name': 'Radio', 'params': '<freq>/<mode>', 'note': 'π» Amateur Radio'},
'Z': {'name': 'ZeroMQ', 'params': '<socket>/<pattern>', 'note': 'π Message Queue'}
}
WiFi Access Point:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β P/W:36/160 β
β #NOC.AP.12 β
ββββββββββββββββββ€
β πΆ WiFi β
β NOC AP 12 β
ββββββββββββββββββ
Network Segment:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β N/I:10.128.0.0 β
β /16#HACKCTR β
ββββββββββββββββββ€
β π Net β
β Hack Center β
ββββββββββββββββββ
NOC Reference:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β ~N/I:10.128 β
β /16#NOC-LEAD β
ββββββββββββββββββ€
β π€ Net β
β NOC Lead β
ββββββββββββββββββ
QR Resource:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β P/Q:128/WIFI β
β #GUEST-NET β
ββββββββββββββββββ€
β π± QR β
β WiFi Access β
ββββββββββββββββββ
Tor Hidden Service:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β N/O:xmpl23... β
β /80#HS.01 β
ββββββββββββββββββ€
β π§
Tor β
β Hidden Svc β
ββββββββββββββββββ
Badge Charging:
ββββββββββββββββββ
β [QR] β
ββββββββββββββββββ€
β P/U:2.0/CDC β
β #CHARGE.05 β
ββββββββββββββββββ€
β π USB β
β Charging #05 β
ββββββββββββββββββ