A Matrix (https://matrix.org/docs/spec/) to Fediverse / ActivityPub client / bridge. Also, some media proxying.
Find a file
dependabot[bot] 9067ae600b
chore(deps): bump axios from 0.21.1 to 0.21.2
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-15 06:35:31 +00:00
commands fix(archive): The latest version of the matrix-js-sdk dependency requires a Node version of at least: 12.9. Node 12 introduced TLSv1.3 as default, which axios then uses. This is causing the archive command to break, so the particular command will continue forward with TLSv1.2 for now. 2021-08-09 17:15:38 +08:00
.gitignore chore(all): update for OLM refactor 2021-02-01 17:15:01 +08:00
auth.js fix(e2ee): command-by-reaction/emote and reply by </mx-reply>. 2021-08-06 20:13:36 +08:00
config.example.js refactor(proxy): w/ cycling, rm fallback. 2021-07-23 14:02:32 +08:00
LICENSE Initial commit 2019-07-03 13:35:09 -04:00
main.js fix(e2ee): command-by-reaction/emote and reply by </mx-reply>. 2021-08-06 20:13:36 +08:00
package.json chore(deps): bump axios from 0.21.1 to 0.21.2 2021-09-15 06:35:31 +00:00
README.md chore(all): update for OLM refactor 2021-02-01 17:15:01 +08:00
registrar.js fix(nitter): missing threading. 2021-07-23 16:29:45 +08:00
utils.js fix(e2ee): command-by-reaction/emote and reply by </mx-reply>. 2021-08-06 20:13:36 +08:00
yarn.lock chore(deps): bump axios from 0.21.1 to 0.21.2 2021-09-15 06:35:31 +00: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