A Matrix (https://matrix.org/docs/spec/) to Fediverse / ActivityPub client / bridge. Also, some media proxying.
Find a file
2020-07-03 22:45:15 +08:00
commands fix(archive): missing id 2020-07-03 22:45:15 +08:00
.gitignore feat(cmd): Add Mordekai 2020-05-21 07:02:27 +08:00
config.js feat(fedi): allow media uploads 2020-07-03 17:10:55 +08:00
LICENSE Initial commit 2019-07-03 13:35:09 -04:00
main.js feat(fedi): allow media uploads 2020-07-03 17:10:55 +08:00
notification.json feat(cmd): update help && style(json): remove events 2020-05-17 01:01:56 +08:00
package.json feat(fedi): allow media uploads 2020-07-03 17:10:55 +08:00
README.md chore(md): prepare for release 2020-06-26 01:04:00 +08:00
registrar.js feat(fedi): allow media uploads 2020-07-03 17:10:55 +08:00
timeline.json feat(cmd): update help && style(json): remove events 2020-05-17 01:01:56 +08:00
yarn.lock release 0.2.1 2020-05-17 02:20:29 +08:00

Plemara

Plemara acts as a Matrix bridge to the Fediverse. This application should allow you to do most actions on the Fediverse including livefeed, posting, subscribing, etc. via Matrix. Configuration for the app can be found in config.js. You will need to provide a Matrix username and password for the bridge to work, this can be done through an account made on @matrix.org, or your own homeserver. For the Fediverse side, you will need an access_token, this can be created through the CURL steps below. You would replace fediverse.site with where you would like to run the bridge from.

Installation

  1. git clone https://github.com/vulet/plemara
  2. cd plemara && yarn install
  3. node main.js

Generating an access_token

  1. curl -X POST -d "client_name=<NAME HERE>&redirect_uris=urn:ietf:wg:oauth:2.0:oob&scopes=write follow read&website=http://fediverse.site" https://fediverse.site/api/v1/apps

Result:

{"client_id":"result",
"client_secret":"result",
"id":"result",
"name":"result",
"redirect_uri":"urn:ietf:wg:oauth:2.0:oob",
"website":"http://fediverse.site",
"vapid_key":"vapid_key"}
  1. curl -X POST -d "client_id=sekret&client_secret=sekret&scope=write follow read&grant_type=password&username=sekret@email.com&password=sekret" https://fediverse.site/oauth/token

Result:

{"token_type":"Bearer",
"scope":"write read",
"me":"https://fediverse.site/users/<your username>",
"access_token":"result"}

The access_token from the above command is then stored in the config.js file.

Extra Features

  • Nitter.net / Twitter
  • Invidio.us / YouTube
  • Archive.is

Contributors

CryptoMooners