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",
"https://w3id.org/security/v1",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive",
"manuallyApprovesFollowers": "as:manuallyApprovesFollowers",
"alsoKnownAs": {
"@id": "as:alsoKnownAs",
"@type": "@id"
},
"movedTo": {
"@id": "as:movedTo",
"@type": "@id"
},
"toot": "http://joinmastodon.org/ns#",
"featured": {
"@id": "toot:featured",
"@type": "@id"
},
"Emoji": "toot:Emoji",
"blurhash": "toot:blurhash",
"votersCount": "toot:votersCount",
"schema": "http://schema.org#",
"PropertyValue": "schema:PropertyValue",
"value": "schema:value",
"ostatus": "http://ostatus.org#",
"conversation": "ostatus:conversation"
}
],
"type": "Note",
"id": "https://blog.nigini.me/o/d4b6b5009c0444d1b20b1a132d689c9f",
"attributedTo": "https://blog.nigini.me",
"content": "<p>IT'S ALIVE!!! <strong>The Cabin Brain is alive!!!</strong>\r\n(Well, at least for a prolonged test session.)</p>\n<p>I have posted some initial frustrations while trying to host some services on a <a href=\"https://blog.nigini.me/t/raspberrypi\" class=\"mention hashtag\" rel=\"tag\">#<span>RaspberryPi</span></a> at home: <a href=\"https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05\" rel=\"noopener\">https://blog.nigini.me/o/47024bc5f5a3422290dc4fd6e9762a05</a></p>\n<p>Then, I discovered that my internet provider would not relay any external connections and that I could <strong>create a tunnel</strong> using <a href=\"https://blog.nigini.me/t/protonvpn\" class=\"mention hashtag\" rel=\"tag\">#<span>ProtonVPN</span></a> (which I already pay for).</p>\n<p>Today, as you can see on the attached screenshot, I got to SEE it really happening! I \"only\" needed to:</p>\n<ul>\n<li>\n<p>Setup a <a href=\"https://protonvpn.com/support/wireguard-linux\">Wireguard VPN connection</a></p>\n</li>\n<li>\n<p><a href=\"https://protonvpn.com/support/port-forwarding-manual-setup/#wireguard\">Forwarding a port</a> of the VPN server to my local HTTP server</p>\n</li>\n<li>\n<p>And dynamically update my <a href=\"https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client\">NO-IP DNS</a></p>\n<p>NOW, I need to work on doing all that automatically at computer start, and keep it all up-to-date while it runs. Today I cheated and did things manually, but I am very close now! ;)</p>\n</li>\n</ul>\n",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://blog.nigini.me/followers"
],
"published": "2025-05-02T04:18:35Z",
"context": "https://blog.nigini.me/contexts/7fa271cbe6e34a179bda8c82586520a9",
"conversation": "https://blog.nigini.me/contexts/7fa271cbe6e34a179bda8c82586520a9",
"url": "https://blog.nigini.me/o/d4b6b5009c0444d1b20b1a132d689c9f",
"tag": [
{
"href": "https://blog.nigini.me/t/raspberrypi",
"name": "#raspberrypi",
"type": "Hashtag"
},
{
"href": "https://blog.nigini.me/t/protonvpn",
"name": "#protonvpn",
"type": "Hashtag"
}
],
"summary": null,
"inReplyTo": null,
"sensitive": false,
"attachment": [
{
"type": "Document",
"mediaType": "image/jpeg",
"name": "A photograph of a tiny computer tower with a Raspberry Pi 4 inside, in front of a screen showing some terminal logs.",
"url": "https://blog.nigini.me/attachments/c10db0fff87f57bbe6d57de0033d75bd28eb203025e6b7ea82304974aee0f100/cabin_test.jpeg",
"blurhash": "LBC$$F^N}kveXE^$rpwG-pM}jZoI",
"height": 2048,
"width": 1152
},
{
"type": "Document",
"mediaType": "image/png",
"name": "A screenshot of the top of my personal webpage running on my raspberry pi, accessed through a VPN tunnel.",
"url": "https://blog.nigini.me/attachments/281fb9a872714868af34795877c26abf329b23a9b5b90ec92cfd641d914c119c/the_cabin_brain-full_hello_world.png",
"blurhash": "LfQvwSofofof00ayayay00j[WBay",
"height": 268,
"width": 498
}
]
}