Giter VIP home page Giter VIP logo

pooza / mulukhiya-toot-proxy Goto Github PK

View Code? Open in Web Editor NEW
33.0 3.0 1.0 15.8 MB

各種ActivityPub対応インスタンスへの投稿に対して、内容の更新等を行うプロキシ。通称「モロヘイヤ」。

License: MIT License

Ruby 73.96% HTML 3.43% Slim 16.64% Sass 2.55% JavaScript 2.88% Shell 0.53%
webhook mastodon misskey pleroma fediverse lemmy spotify apple-music itunes annict

mulukhiya-toot-proxy's Introduction

mulukhiya-toot-proxy

release test

各種ActivityPub対応サーバーへの投稿に対して、内容の更新等を行うプロキシ。通称「モロヘイヤ」。 詳細はwikiにて。

対応サーバー

モロヘイヤに出来ること

トゥート/ノート/チャットの本文に対して、

  • 各種短縮URLを戻し、本来のリンク先を明らかにする。
  • 日本語を含んだURLを適切にエンコードし、クリックできるようにする。
  • Amazonの商品URLからノイズを除去する。
  • ハッシュタグ #nowplaying を含んでいたら、曲情報やサムネイルを挿入。
  • サーバーのテーマと関係あるワードを含んでいたら、ハッシュタグを追加。
  • アニメ実況支援。実況中の番組と関連したハッシュタグを追加。
  • デフォルトハッシュタグを追加。

アップロードされたメディアファイルについて、

  • 画像ファイルを上限ピクセルまで縮小。
  • WebPに変換し、ファイルサイズを小さくする。
  • サーバーが本来受け付けないメディアファイルを変換。
  • メディアタイプに応じた #image #video #audio 等のタグを本文に挿入。

また、

  • アニメ視聴記録サービスAnnictから視聴記録を取得し、投稿する。
  • ローカル投稿をNextcloud等、各種外部サービスに保存。
  • ブックマークされた公開投稿を、Lemmyに転送。
  • 平易なPOSTで投稿を行えるwebhook。(Slack Incoming Webhook下位互換)
  • ハッシュタグのRSSフィード。
  • カスタムRSSフィード。
  • 新規登録者へのウェルカムメッセージ。
  • お知らせの念押し投稿。

等々。

モロヘイヤをつくった経緯

プリキュアファン向けのMastodonサーバー「キュアスタ!」で、 ずっと前に「AmazonのURL、もっと短くならない〜?」って言われてたのを思い出して作りました。

プリキュアに加え、今はドラゴンクエストダイの大冒険のファンの為のサーバー 「デルムリン丼」「ダイスキー」も運営しています。 「利用の条件」というほど強制力のあるお願いではないけど、プリキュアやダイ大にもし興味あったら 覗いてください。みんな喜びます。

mulukhiya-toot-proxy's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar pooza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

akyoz

mulukhiya-toot-proxy's Issues

字数があふれたときの対応

とくに何もしない予定。 /api/v1/statuses は、字数が溢れた時は適切なエラーを返す。
オウム返しでユーザーにそれを返すだけで問題ないと思われるので、それを確認する。

Handler.execのインターフェースを変更

旧インターフェース

dest = Handler.exec(source)

本文の書き換えを行うだけ。

新インターフェース

dest = Handler.exec(body, headers = {})

書き換えられたbodyを返す。本文の書き換え以外の処理にも対応できるように。

コピペがおかしい。

#15-2
bit.ly
coffitivity.com/coffitivit

の本文をドラッグ&ペーストすると

#15-2#15-2
bit.lybit.ly
https://https://coffitivity.com/coffitivit

のようになる。

MulukhiyaTootProxy::Request

  • リクエストヘッダ
  • アクセストークン
  • 他、サーバ側の各種情報

を取得するのに便利なユーティリティクラスがほしい!

Web以外のクライアントでトゥートできない。

Web以外のクライアントでは、認証まわりでもうひと工夫必要なようだ。

Kurotodonにて。
_2018-06-20_06-50-01

以下、Discordへのアラート。

{
  "request": {
    "path": "/api/v1/statuses",
    "params": {
      "status": "いいかもしんない",
      "visibility": "public",
      "sensitive": "false"
    }
  },
  "response": {
    "message": "751: unexpected token at 'status=%E3%81%84%E3%81%84%E3%81%8B%E3%82%82%E3%81%97%E3%82%93%E3%81%AA%E3%81%84&visibility=public&sensitive=false'"
  }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.