A Matrix (https://matrix.org/docs/spec/) to Fediverse / ActivityPub client / bridge. Also, some media proxying.
Find a file
2021-02-26 13:56:40 +08:00
commands fix(fediverse): move mentions array to string. allow events for error handling. 2021-02-26 13:54:30 +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 feat(10grans): add make-it-rain 2021-02-22 17:49:26 +08:00
LICENSE Initial commit 2019-07-03 13:35:09 -04:00
main.js refactor(e2ee): session management in config 2021-02-21 19:07:56 +08:00
package.json chore(all): bump version 1.2.2 2021-02-26 13:56:40 +08:00
README.md chore(all): update for OLM refactor 2021-02-01 17:15:01 +08:00
registrar.js feat(10grans): add make-it-rain 2021-02-22 17:49:26 +08:00
utils.js fix(fediverse): move mentions array to string. allow events for error handling. 2021-02-26 13:54:30 +08:00
yarn.lock chore(deps): bump versions 2021-02-26 12:32:16 +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