A Matrix (https://matrix.org/docs/spec/) to Fediverse / ActivityPub client / bridge. Also, some media proxying.
Find a file
vulet 42563ebc35 feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field.
feat(matrix/fediverse): allow users to favorite, reblog, and redact Fediverse posts from Matrix, using m.reaction on our new meta field.
feat(fediverse): add suggestions for follow/unfollow commands.
refactor(matrix/fediverse): add meta field for commands by reaction, and commands by reply.
refactor(fediverse): relax polling on timeline/notifs thru new handling.
2021-02-14 15:57:35 +08:00
commands feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
.gitignore chore(all): update for OLM refactor 2021-02-01 17:15:01 +08:00
auth.js feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
config.example.js fix(429): our nitter instance it too populated, switch defaults until instance bounce handling. fix(styling): use checkmark in config. 2021-02-03 12:13:05 +08:00
LICENSE Initial commit 2019-07-03 13:35:09 -04:00
main.js feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
package.json feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
README.md chore(all): update for OLM refactor 2021-02-01 17:15:01 +08:00
registrar.js feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
utils.js feat(matrix/fediverse): allow users to directly reply on Fediverse posts from Matrix, using <mx-reply> on our new meta field. 2021-02-14 15:57:35 +08:00
yarn.lock feat(e2ee): introduce OLM encryption. refactor(storage): moved from fs to localstorage. refactor(config): added as global to registrar. chore(npm): upgraded matrix-js-sdk from 2.4.6 release to 9.5.1 release. 2021-02-01 16:58:59 +08:00

ligh7hau5

The ligh7hau5 project is used on the Matrix protocol to communicate with the Fediverse. It is also used to proxy popular media networks(Twitter, YouTube, etc) to alternative front ends(Nitter, Invidious, etc). This repository can be ran locally, as on a RPi, or on a VPS.

Archive (+archive URL)

This command will send a given URL to archive.is, and return an archive.is URL. This can be beneficial in two ways. One, archive.is receives your traffic instead of the URL that you wish to archive. Two, you are creating a historical context of a given URL with a dated attribute. Additionally, if there are changes that have occurred on a page, since the time of last archive, you can also use the rearchive(+rearchive URL) command. If you wish to use a different archiver, this can be configured, see the config.example.js file.

Social Media (+proxy URL)

This command is given a Twitter or YouTube post, and then returned a respective Nitter/Invidious URL. Additionally, some data is returned about what the URL is, such as: title, description, etc. Instances can also be configured like in the above, see the config.example.js file.

Fediverse

The ligh7hau5 works as a lite client for the Fediverse. It was built to communicate with a Pleroma instance, but it most likely works on Mastodon as well. Assuming you already have a registered account in regards to the bot, just change the config.js file and fediverse_auth.json will fill out once the bot starts.

Commands for the Fediverse include:

+flood : turn on timeline in channel

+notify : show notifications in channel

+post <your message> : post

+reply <post id> <message> : reply to message

+media <URL> <optional message> : post media

+redact <post id> : delete post

+follow <user id> : follow

+unfollow <user id> : unfollow

+copy <post id> : repeat/repost/retweet

+clap <post id> : favorite

+boo <post id> : unfavorite

Installation

First, set up your config.js file, you can see config.example.js as an example. The Matrix & Fediverse login information is then used to populate keys/matrix_auth and keys/fediverse_auth during your initial login. These tokens are then used on sequential logins.

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

Contributors

CryptoMooners