• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

wakin-/simple_ap: RSS更新情報を配信するシンプルなActivityPubサーバ ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

wakin-/simple_ap

开源软件地址(OpenSource Url):

https://github.com/wakin-/simple_ap

开源编程语言(OpenSource Language):

Python 97.3%

开源软件介绍(OpenSource Introduction):

simple_ap

RSSフィードを定期チェックして更新情報をActivityPubでフォロワーに配信するAPIサーバです。APIサーバはflaskを使い、DB周りはdjangoを使ってます。Mastodonとの連携を想定しています。

要件

  • Ubuntu
  • nginx等Webサーバ
  • SSL/TLS証明書

使い方

$ git clone git@github.com:wakin-/simple_ap.git
$ cd simple_ap
$ vi fixture/setup.json

初期データの準備。

[
  {
    "model": "activitypub.account",
    "pk": 1,
    "fields": {
      "name": "<アカウントID 半角英数-_>",
      "display_name": "<表示名>",
      "feed_url": "<RSSフィードのURL>",
      "icon": "<アイコンのパス>"
    }
  }
]

セットアップスクリプトの実行。

$ chmod +x setup.sh
$ ./setup.sh

nginxでHTTPS化して公開する例。

server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443;
  server_name example.com;

  ssl_protocols TLSv1.2;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }

    # メディアファイルの公開用
    location /media/ {
        alias /path/to/simple_ap/media/;
    }
}

現在のRSS情報を取得。

$ python manage.py rss

cronで定期的にRSSの更新を確認。新着があればPOST。

* * * * * cd /path/to/simple_ap ; env/bin/python manage.py rss

外部インスタンスの検索エリアから https://~/<name> でアカウントを検索し、リモートフォロー。




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap