ActivityPub Viewer

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.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount", "litepub": "http://litepub.social/ns#", "directMessage": "litepub:directMessage", "Hashtag": "as:Hashtag" } ], "id": "https://infosec.exchange/users/ssb/collections/featured", "type": "OrderedCollection", "totalItems": 2, "orderedItems": [ { "id": "https://infosec.exchange/users/ssb/statuses/110063590597296065", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-03-21T22:18:32Z", "url": "https://infosec.exchange/@ssb/110063590597296065", "attributedTo": "https://infosec.exchange/users/ssb", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/ssb/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/ssb/statuses/110063590597296065", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-03-21:objectId=52776492:objectType=Conversation", "content": "<p>Friends, acquaintances, and contacts:</p><p>Really, and this is both a factual and a true statement, IT IS OK TO TELL ME WHEN I&#39;M BEING A DUMMY!</p><p>I&#39;ve been beating my head against this color picker issue for the <a href=\"https://infosec.exchange/tags/BlinkenTemps\" class=\"mention hashtag\" rel=\"tag\">#<span>BlinkenTemps</span></a> project since last Friday.</p><p>See, for some reason, I thought I needed two color pickers, one for the foreground color and one for the background color, and I was trying to figure out how to implement two color pickers on one webpage without having one interfere with the other, and no matter how many things I modified, one would always mess with the other one and both colors would end up changing.</p><p>Why did I not think of (before 15 minutes ago) having ONE color picker and TWO buttons, one for Foreground and one for background? Seriously. I feel like I&#39;ve had a massive case of the DUMB for 5 days, and nobody had the gonads to tell me I was operating under Teh Dum.</p><p>Seriously, folks, if I&#39;ve got a case of Teh Dums, PLEASE TELL ME. <br />I was overthinking it so hard I had to use extra conditioner in my hair since Sunday.</p><p>...then, epiphony time. Reverted to when I only had one picker, added a second button, changed the script to be able to differentiate between the two, then a conditional to determine which button was clicked.</p><p>IT COULD NOT HAVE BEEN EASIER, yet, here I was, trying to make two color pickers work harmoniously together - and that was working out about as well as Bill Clinton denying he got a beejer from Monica Lewinsky.</p><p>TELL ME WHEN I&#39;M BEING DUMB, please. Seriously. All that wasted time. LeSigh (TM).</p><p>TL;DR version: I was overthinking it. I had a lightbulb moment. I tried something that was so simple it shouldn&#39;t have worked. It worked flawlessly.</p>", "contentMap": { "en": "<p>Friends, acquaintances, and contacts:</p><p>Really, and this is both a factual and a true statement, IT IS OK TO TELL ME WHEN I&#39;M BEING A DUMMY!</p><p>I&#39;ve been beating my head against this color picker issue for the <a href=\"https://infosec.exchange/tags/BlinkenTemps\" class=\"mention hashtag\" rel=\"tag\">#<span>BlinkenTemps</span></a> project since last Friday.</p><p>See, for some reason, I thought I needed two color pickers, one for the foreground color and one for the background color, and I was trying to figure out how to implement two color pickers on one webpage without having one interfere with the other, and no matter how many things I modified, one would always mess with the other one and both colors would end up changing.</p><p>Why did I not think of (before 15 minutes ago) having ONE color picker and TWO buttons, one for Foreground and one for background? Seriously. I feel like I&#39;ve had a massive case of the DUMB for 5 days, and nobody had the gonads to tell me I was operating under Teh Dum.</p><p>Seriously, folks, if I&#39;ve got a case of Teh Dums, PLEASE TELL ME. <br />I was overthinking it so hard I had to use extra conditioner in my hair since Sunday.</p><p>...then, epiphony time. Reverted to when I only had one picker, added a second button, changed the script to be able to differentiate between the two, then a conditional to determine which button was clicked.</p><p>IT COULD NOT HAVE BEEN EASIER, yet, here I was, trying to make two color pickers work harmoniously together - and that was working out about as well as Bill Clinton denying he got a beejer from Monica Lewinsky.</p><p>TELL ME WHEN I&#39;M BEING DUMB, please. Seriously. All that wasted time. LeSigh (TM).</p><p>TL;DR version: I was overthinking it. I had a lightbulb moment. I tried something that was so simple it shouldn&#39;t have worked. It worked flawlessly.</p>" }, "updated": "2023-03-21T22:36:11Z", "attachment": [], "tag": [ { "type": "Hashtag", "href": "https://infosec.exchange/tags/blinkentemps", "name": "#blinkentemps" } ], "replies": { "id": "https://infosec.exchange/users/ssb/statuses/110063590597296065/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/ssb/statuses/110063590597296065/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/ssb/statuses/110063590597296065/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/ssb/statuses/110063590597296065/likes", "type": "Collection", "totalItems": 1 }, "shares": { "id": "https://infosec.exchange/users/ssb/statuses/110063590597296065/shares", "type": "Collection", "totalItems": 0 } }, { "id": "https://infosec.exchange/users/ssb/statuses/110045157989676637", "type": "Note", "summary": null, "inReplyTo": null, "published": "2023-03-18T16:10:53Z", "url": "https://infosec.exchange/@ssb/110045157989676637", "attributedTo": "https://infosec.exchange/users/ssb", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://infosec.exchange/users/ssb/followers" ], "sensitive": false, "atomUri": "https://infosec.exchange/users/ssb/statuses/110045157989676637", "inReplyToAtomUri": null, "conversation": "tag:infosec.exchange,2023-03-18:objectId=52076699:objectType=Conversation", "content": "<p><a href=\"https://infosec.exchange/tags/Mastodon\" class=\"mention hashtag\" rel=\"tag\">#<span>Mastodon</span></a> peeps:<br />I know it&#39;s in my profile, here, but I guess I need to <a href=\"https://infosec.exchange/tags/repeat\" class=\"mention hashtag\" rel=\"tag\">#<span>repeat</span></a> myself here.<br />IF THE VAST MAJORITY OF YOUR ACTIVITY ON MASTODON IS BOOSTING OTHER PEOPLE&#39;S TOOTS WITHOUT CONTRIBUTING ANY OF YOUR OWN THOUGHTS THEN PLEASE DO <a href=\"https://infosec.exchange/tags/NOT\" class=\"mention hashtag\" rel=\"tag\">#<span>NOT</span></a> SEND ME A FOLLOW REQUEST.<br />I am here to communicate and interact with <a href=\"https://infosec.exchange/tags/people\" class=\"mention hashtag\" rel=\"tag\">#<span>people</span></a>. If I wanted to get involved in the <a href=\"https://infosec.exchange/tags/HateSpeech\" class=\"mention hashtag\" rel=\"tag\">#<span>HateSpeech</span></a>, <a href=\"https://infosec.exchange/tags/HalfTruth\" class=\"mention hashtag\" rel=\"tag\">#<span>HalfTruth</span></a>, <a href=\"https://infosec.exchange/tags/BirdsiteBullshit\" class=\"mention hashtag\" rel=\"tag\">#<span>BirdsiteBullshit</span></a>, I&#39;d BE on <a href=\"https://infosec.exchange/tags/twitter\" class=\"mention hashtag\" rel=\"tag\">#<span>twitter</span></a> <br />I do not care to read about what other people think based on your <a href=\"https://infosec.exchange/tags/boosts\" class=\"mention hashtag\" rel=\"tag\">#<span>boosts</span></a>. I am here to interact with <a href=\"https://infosec.exchange/tags/individuals\" class=\"mention hashtag\" rel=\"tag\">#<span>individuals</span></a>, and I do not need boost after boost after boost after boost diluting my timelines and reducing the SNR to an unmanageable level - like on twitter.</p>", "contentMap": { "en": "<p><a href=\"https://infosec.exchange/tags/Mastodon\" class=\"mention hashtag\" rel=\"tag\">#<span>Mastodon</span></a> peeps:<br />I know it&#39;s in my profile, here, but I guess I need to <a href=\"https://infosec.exchange/tags/repeat\" class=\"mention hashtag\" rel=\"tag\">#<span>repeat</span></a> myself here.<br />IF THE VAST MAJORITY OF YOUR ACTIVITY ON MASTODON IS BOOSTING OTHER PEOPLE&#39;S TOOTS WITHOUT CONTRIBUTING ANY OF YOUR OWN THOUGHTS THEN PLEASE DO <a href=\"https://infosec.exchange/tags/NOT\" class=\"mention hashtag\" rel=\"tag\">#<span>NOT</span></a> SEND ME A FOLLOW REQUEST.<br />I am here to communicate and interact with <a href=\"https://infosec.exchange/tags/people\" class=\"mention hashtag\" rel=\"tag\">#<span>people</span></a>. If I wanted to get involved in the <a href=\"https://infosec.exchange/tags/HateSpeech\" class=\"mention hashtag\" rel=\"tag\">#<span>HateSpeech</span></a>, <a href=\"https://infosec.exchange/tags/HalfTruth\" class=\"mention hashtag\" rel=\"tag\">#<span>HalfTruth</span></a>, <a href=\"https://infosec.exchange/tags/BirdsiteBullshit\" class=\"mention hashtag\" rel=\"tag\">#<span>BirdsiteBullshit</span></a>, I&#39;d BE on <a href=\"https://infosec.exchange/tags/twitter\" class=\"mention hashtag\" rel=\"tag\">#<span>twitter</span></a> <br />I do not care to read about what other people think based on your <a href=\"https://infosec.exchange/tags/boosts\" class=\"mention hashtag\" rel=\"tag\">#<span>boosts</span></a>. I am here to interact with <a href=\"https://infosec.exchange/tags/individuals\" class=\"mention hashtag\" rel=\"tag\">#<span>individuals</span></a>, and I do not need boost after boost after boost after boost diluting my timelines and reducing the SNR to an unmanageable level - like on twitter.</p>" }, "attachment": [], "tag": [ { "type": "Hashtag", "href": "https://infosec.exchange/tags/mastodon", "name": "#mastodon" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/repeat", "name": "#repeat" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/not", "name": "#not" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/people", "name": "#people" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/hatespeech", "name": "#hatespeech" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/halftruth", "name": "#halftruth" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/birdsitebullshit", "name": "#birdsitebullshit" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/twitter", "name": "#twitter" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/boosts", "name": "#boosts" }, { "type": "Hashtag", "href": "https://infosec.exchange/tags/individuals", "name": "#individuals" } ], "replies": { "id": "https://infosec.exchange/users/ssb/statuses/110045157989676637/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://infosec.exchange/users/ssb/statuses/110045157989676637/replies?only_other_accounts=true&page=true", "partOf": "https://infosec.exchange/users/ssb/statuses/110045157989676637/replies", "items": [] } }, "likes": { "id": "https://infosec.exchange/users/ssb/statuses/110045157989676637/likes", "type": "Collection", "totalItems": 5 }, "shares": { "id": "https://infosec.exchange/users/ssb/statuses/110045157989676637/shares", "type": "Collection", "totalItems": 0 } } ] }