プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

OPEN NSFW APIを改良する

昨日はすでに公開されているDockerイメージを使ってOPEN NSFW APIのようなものを作ってみました。
しかし、このイメージは2016年のものなので現在の最新状況にはそぐわない点がいくつか出ています。

  1. SSLの最新状況に追いついていない
  1. UserAgentが設定されていないため画像が取得できないケースがある

そこで、すこし改良をしてみます。もとのソースはこちらから。
github.com

まず、Dockerfileに手を入れます。Pythonのバージョンが古いため、SSL関係の最新状況に対応できていません。そこで、Ubuntuの最新版を取ってくるようにします。また、その際timezoneの選択をしないで済むように、以下のサイトを参考に改良します。
qiita.com

改造したものがこちら。
gist.github.com


一部取得するパッケージなどを入れ替えています。これはOPEN NSFWの最新版を取得した場合になぜかうまく動かなくなったのを修正したものです(元ネタは忘れました)。

次に、UserAgentですが、こちらはApp.pyに手を入れます。参考にしたサイトはこちらなど。
codeday.me


手を入れたバージョンはこちらになります。
gist.github.com

これをもとに、Dockerイメージをつくることで、現在公開しているAPI相当のものができるようになります。
https://socialapi.app/api/nsfw?image_url=https://s3.fedibird.com/media_attachments/files/000/544/209/original/74448fb23f63d78a.jpeg


ひとまずここまで。