A set of tools to debug ActivityPub requests. You can inspect requests, see the flow in real time, run arbitrary requests with HTTP signature handled for you, ...
2022-06-20 23:32:33 +02:00
app ApSender: reenable object to prop 2022-06-20 23:32:33 +02:00
bootstrap laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
config logo: add version and version date taken from config/app.php 2022-05-27 12:52:01 +02:00
database RequestLogger: add userAgent and IP fields 2022-05-01 17:14:50 +02:00
docs docs: update apflow.png with current design 2022-06-05 02:23:27 +02:00
lang/en laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
public app: add favicon.ico 2022-05-26 16:06:27 +02:00
resources ApSender: reorder props and object props in a more logic order 2022-06-20 21:36:40 +02:00
routes env: add LOCAL_ACTOR_USERNAME with default value of "jack" and refactor globally 2022-06-20 02:36:10 +02:00
storage laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
tests laravel: setup the jetstream start kit with livewire 2022-04-28 20:43:52 +02:00
.editorconfig laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
.env.example env: add LOCAL_ACTOR_USERNAME with default value of "jack" and refactor globally 2022-06-20 02:36:10 +02:00
.gitattributes laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
.gitignore laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
.styleci.yml laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
artisan laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
composer.json laravel: setup the jetstream start kit with livewire 2022-04-28 20:43:52 +02:00
composer.lock laravel: setup the jetstream start kit with livewire 2022-04-28 20:43:52 +02:00
LICENSE licence: add AGPLv3 2022-04-28 20:38:48 +02:00
package-lock.json npm: install highlight.js 2022-05-26 16:05:55 +02:00
package.json npm: install highlight.js 2022-05-26 16:05:55 +02:00
phpunit.xml laravel: add fresh laravel installation with compiled assets ignored 2022-04-28 20:37:02 +02:00
README.md readme: add socialhub post link 2022-06-05 17:55:55 +02:00
tailwind.config.js tailwind: add "url" color 2022-06-20 01:32:08 +02:00
webpack.mix.js laravel: setup the jetstream start kit with livewire 2022-04-28 20:43:52 +02:00

APdebug

A set of tools to debug ActivityPub requests. You can inspect requests, see the flow in real time, run arbitrary requests with HTTP signature handled for you, ...

logo

This is still in development and this is not ready for real usage... it needs some adjustements, fixes and enhancements before being able to be useful. It needs some refactoring and some automated tests before I can publish the version 1.0.0. This tool started for a week-long challenge I made to discover ActivityPub and produce a video about it. You can see more about the project and provide feedbacks in the post on SocialHub.

Some documentation on how to install and how to use will be provided when ready in docs.md.

Features

Sender

This section let you send a custom request and build a JSON body easily through dynamic fields, and a table with key-values.

ApSender panel with the possibility to send a custom request

Flow

The flow page is made to see the flow of incoming and outgoing requests on this server. The local server can be made publicly accessible with a service like Ngrok or Pagekite to get a domain.

ApFlow panel with the possibility to see all the details about each requests from or to our server

Other ideas of features

  • Be able to connect to a remote server and see the flow of requests, could be very useful to inspect requests of other real ActivityPub applications. This would need to build an adapter for the remote app (for a Pixelfed servers for ex.) to have an authenticated API route to be able to read latest or all requests each minute.
  • Send requests with custom request headers, if needed
  • Possibility to replay a request (and to change it a bit just before sending it). Inspired by Firefox Devtools feature "Edit and Resend". This would be awesome.
  • Test and build HTTP signature, with visual schemas to understand the algo, with different signature specs, to better understand how it work and which app is compatible with which.
  • Have automated tests and fake remote servers
  • A Fetch panel to fetch links easily with and without authentication (authentication would be useful to see the content of the inbox)
  • Clickable links in JSON: would be great to fetch received URL to see what's behind.
  • Create and manage a list of actors, to vary the authors of requests. Manage their profile information and/or directly see/modify the profile URL result.
  • A way to filter requests among different fields and dynamic fields and requests content.

Credits and licence

APdebug is a free software licenced under AGPLv3 or later.

Credits

  • Code
    • HTTP signature code: todo Pixelfed
  • Icons
    • From heroicons.com - MIT licenced

TODO: complete this list