Skip to content

Repository files navigation

ActivityPub Client-to-Server (C2S) Toolkit

A web-based development toolkit for testing and debugging ActivityPub servers that implement the Client-to-Server (C2S) protocol.

Note

This tool is designed for developers and server administrators to validate C2S implementations, not as an end-user client for social media activities (image sharing, microblogging, etc.). It is still in active development.

Features

Media Upload Support

This implements the ActivityPub Media Upload wiki discussion. The description of the functionality is not completely clear so it may not work with some servers.

Client Data Metadata Document (CIMD)

If a server requires CIMD, you will need to serve the document from somewhere. There is a client-metadata.json file in this project that will be served when the project is run in development mode. It must be edited to match your client credentials.

Vite Allowed Hosts

If you have issues with Vite and allowed host names, you can set the VITE_ALLOWED_HOSTS (comma-separated) to a list of authorized domain anmes. The default is localhost.

Screenshots

Add Server    OAuth Diagnostics

JSON Browser    Server Tables

Roadmap

  • Pluggable AP object previews and actions
  • Test creation from resource templates

Installation

  1. Clone the repository:
git clone https://github.com/steve-bate/activitypub-c2s-toolkit.git
cd activitypub-c2s-toolkit
  1. Install dependencies:
npm install
  1. Start the development server
npm run dev

Development

Technologies

  • Frontend Framework: Vue 3 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Routing: Vue Router
  • State Management: Pinia (stores)
  • Code Quality: ESLint
  • Forms: FormKit

Prerequisites

  • Node.js (version 16 or higher recommended)
  • npm or yarn package manager

The application will be available at http://localhost:5173 (or another port if 5173 is in use).

Building

Create a production build:

npm run build

The built files will be in the dist directory.

Preview Production Build

Preview the production build locally:

npm run preview

License

This project is licensed under the MIT License - see the LICENSE file for details.

References

ActivityPub and Activity Streams

OAuth 2.0 Specifications


This project has been partially supported by a grant from the NLnet Foundation.

About

An ActivityPub C2S client and related tools for developers.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages