A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"id": "https://snac.bsd.cafe/r1w1s1/p/1744940033.555056",
"published": "2025-04-18T01:33:53Z",
"attributedTo": "https://snac.bsd.cafe/r1w1s1",
"summary": "",
"content": "Comparing firewall syntax for SSH (port 22) with default-deny:<br>================================================<br><br><a href=\"https://snac.bsd.cafe?t=iptables\" class=\"mention hashtag\" rel=\"tag\">#iptables</a> (Linux)<br>iptables -A INPUT -p tcp --dport 22 -j ACCEPT<br>iptables -P INPUT DROP<br><br><a href=\"https://snac.bsd.cafe?t=nftables\" class=\"mention hashtag\" rel=\"tag\">#nftables</a> (Linux)<br>nft add rule inet my_filter input tcp dport 22 accept<br>nft add rule inet my_filter input drop<br><br><a href=\"https://snac.bsd.cafe?t=ufw\" class=\"mention hashtag\" rel=\"tag\">#ufw</a> (Linux - simplified frontend to iptables)<br>ufw allow 22/tcp<br>ufw default deny incoming<br><br><a href=\"https://snac.bsd.cafe?t=pf\" class=\"mention hashtag\" rel=\"tag\">#pf</a> (OpenBSD)<br>pass in proto tcp to port 22<br>block all<br><br>pf’s syntax feels so elegant, human-readable, & minimal!<br><br>After 20years scripting iptables, I’m ready to try UFW on my laptop.<br><a href=\"https://snac.bsd.cafe?t=firewall\" class=\"mention hashtag\" rel=\"tag\">#firewall</a> <a href=\"https://snac.bsd.cafe?t=sysadmin\" class=\"mention hashtag\" rel=\"tag\">#sysadmin</a> <a href=\"https://snac.bsd.cafe?t=pf\" class=\"mention hashtag\" rel=\"tag\">#pf</a> <a href=\"https://snac.bsd.cafe?t=iptables\" class=\"mention hashtag\" rel=\"tag\">#iptables</a> <a href=\"https://snac.bsd.cafe?t=ufw\" class=\"mention hashtag\" rel=\"tag\">#ufw</a> <a href=\"https://snac.bsd.cafe?t=nftables\" class=\"mention hashtag\" rel=\"tag\">#nftables</a><br>",
"context": "https://snac.bsd.cafe/r1w1s1/p/1744940033.555056#ctxt",
"url": "https://snac.bsd.cafe/r1w1s1/p/1744940033.555056",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [],
"inReplyTo": null,
"tag": [
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=iptables",
"name": "#iptables"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=nftables",
"name": "#nftables"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=ufw",
"name": "#ufw"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=pf",
"name": "#pf"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=firewall",
"name": "#firewall"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=sysadmin",
"name": "#sysadmin"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=pf",
"name": "#pf"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=iptables",
"name": "#iptables"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=ufw",
"name": "#ufw"
},
{
"type": "Hashtag",
"href": "https://snac.bsd.cafe?t=nftables",
"name": "#nftables"
}
],
"sourceContent": "Comparing firewall syntax for SSH (port 22) with default-deny:\n================================================\n\n#iptables (Linux)\niptables -A INPUT -p tcp --dport 22 -j ACCEPT\niptables -P INPUT DROP\n\n#nftables (Linux)\nnft add rule inet my_filter input tcp dport 22 accept\nnft add rule inet my_filter input drop\n\n#ufw (Linux - simplified frontend to iptables)\nufw allow 22/tcp\nufw default deny incoming\n\n#pf (OpenBSD)\npass in proto tcp to port 22\nblock all\n\npf’s syntax feels so elegant, human-readable, & minimal!\n\nAfter 20years scripting iptables, I’m ready to try UFW on my laptop. \n#firewall #sysadmin #pf #iptables #ufw #nftables",
"updated": "2025-04-18T02:02:49Z"
}