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, ...
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Samuel Roland edae856e19 ApSender: reenable object to prop 11 months ago
app ApSender: reenable object to prop 11 months ago
bootstrap laravel: add fresh laravel installation with compiled assets ignored 1 year ago
config logo: add version and version date taken from config/app.php 1 year ago
database RequestLogger: add userAgent and IP fields 1 year ago
docs docs: update apflow.png with current design 12 months ago
lang/en laravel: add fresh laravel installation with compiled assets ignored 1 year ago
public app: add favicon.ico 1 year ago
resources ApSender: reorder props and object props in a more logic order 11 months ago
routes env: add LOCAL_ACTOR_USERNAME with default value of "jack" and refactor globally 11 months ago
storage laravel: add fresh laravel installation with compiled assets ignored 1 year ago
tests laravel: setup the jetstream start kit with livewire 1 year ago
.editorconfig laravel: add fresh laravel installation with compiled assets ignored 1 year ago
.env.example env: add LOCAL_ACTOR_USERNAME with default value of "jack" and refactor globally 11 months ago
.gitattributes laravel: add fresh laravel installation with compiled assets ignored 1 year ago
.gitignore laravel: add fresh laravel installation with compiled assets ignored 1 year ago
.styleci.yml laravel: add fresh laravel installation with compiled assets ignored 1 year ago
LICENSE licence: add AGPLv3 1 year ago
README.md readme: add socialhub post link 12 months ago
artisan laravel: add fresh laravel installation with compiled assets ignored 1 year ago
composer.json laravel: setup the jetstream start kit with livewire 1 year ago
composer.lock laravel: setup the jetstream start kit with livewire 1 year ago
package-lock.json npm: install highlight.js 1 year ago
package.json npm: install highlight.js 1 year ago
phpunit.xml laravel: add fresh laravel installation with compiled assets ignored 1 year ago
tailwind.config.js tailwind: add "url" color 11 months ago
webpack.mix.js laravel: setup the jetstream start kit with livewire 1 year ago

README.md

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