不労所得獲得装置開発その3～AVアラート～（アダルト注意）

# はじめに
2023年5月に「[不労所得獲得装置開発その2～AVブログパーツサイト構築～（アダルト注意）](https://qiita.com/drafts/a41e4bd5308ff22dee8b)」で、RailsによるAVブログパーツを作成できるサイト<sub>[ヨメレバ](https://yomereba.com/)のパクリ</sub>について投稿しました。

https://www.avaffi.link/

しかし、こけました。まったく使ってもらえておりません。サーバー代も払えません…

自分なりに理由を考えてみたのですが、少なくとも日常的に自分で使うものでなれば、他人だって使わないし、改善案も出てくるはずがないというものでした。

そこで今回は、自分でも前から欲しいと思っていた機能を開発しました。その機能とは、簡単に言うとGoogleアラートのAV版です。アラートを設定すると、それを含んだAVタイトルが発売されるとメールでお知らせします。対象サイトはFANZA、DUGA、SOKMIL、MGS動画です。

例えば、私の推しAV女優天使もえは、毎月10日（？）に新タイトルが発売されます。アラートに「天使もえ」と登録しておけば、毎月の新タイトル発売日にメールがきます。また、総集編などが発売されるタイミングでもメールが届きます。これで推しの新発売を逃すことはありません。<sub>サイト名をベタな「AVアラート」ではなく「天使もえアラート」にしたかったのですが、誰に許可をとればいいのか分からず…</sub>

また、「原作コラボ」「ふたなり」など、不定期に発売されるジャンルをキーワードとして設定してもいいでしょう。逆に、「巨乳」「美少女」などのよくあるキーワードを設定すると、毎日多くの新発売AV情報が届くことになります。

今回こそ、多くの人に使ってもらえるといいのですが…。というわけで、<b>今回開発したサイトはこちらになります。
↓↓↓</b>

https://av-alert.info/

# 特徴
* ユーザーひとりあたり最大256個のアラートを設定できます。
* サイトではアラートを入力して検索すると、対象のAVタイトルの概要が表示され、追加するかどうかを決めることができます。
* アラートメールの形式がHTMLかテキストかを選ぶことができます。HTMLだとAVパッケージ写真がメールに表示されます。テキスト形式だと、画像は表示されないので、電車などでも安心して閲覧できます。
* アラートに該当するタイトルが発売されない日はメールは届きません。

# スクリーンショット

![screenshot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2850355/8af48fed-4de6-5669-7de7-b04ec83303d7.png)
↑ サイト

![screenshot2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2850355/dc8d556d-e8e2-f907-cd9a-bcfa3d1df248.png)
↑ メール（HTML形式、NSFW画像あり）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2850355/99d2dbe1-042e-3666-4a0c-e6211d82d5f6.png)
↑ メール（テキスト形式、画像なし）

# 要素技術
「[不労所得獲得装置開発その2～AVブログパーツサイト構築～（アダルト注意）](https://qiita.com/drafts/a41e4bd5308ff22dee8b)」と同じです。新しい箇所を<font color="Red">赤色</font>にしました。

スペック的にはこんな感じです。
- Rails 7.0.4
- Ruby 3.1.2
- Bootstrap
- Ubuntu 20.04
- Nginx + Unicorn
- API : [FANZA](https://affiliate.dmm.com/api/), [DUGA](https://click.duga.jp/aff/40413-01), [ソクミル](https://sokmil-ad.com/?affi=20131-001)

* [Ruby on Railsチュートリアル](https://railstutorial.jp/)を一通りやりました。そのため、Railsチュートリアルのサンプルアプリとまったく同じデザインになっています。このサイトくらいならRailsチュートリアルだけでほぼできてしまう気がします。Railsってすごいですね。
* ホスティングサービスは[GMOのクラウドVPS](https://vps.gmocloud.com/)を選びました。V1、メモリ1GB、2vCPU、SSD 50GBで月額1,065円からになります。OSはこちらもただ慣れているという理由でUbuntu 20.04を選びました。このスペックでどの程度のアクセス数をさばけるのかさっぱり分かりません。今後が楽しみです。
* サーバーをウェブサイト用に構築するなどやったこともありませんが、Nginx、Unicorn、Railsを組み合わせるにあたって、[こちら](https://www.aise.ics.saitama-u.ac.jp/~gotoh/RoRWithNginxOnUbuntu2004.html)などを参考にさせていただきました。**埼玉大学の後藤先生、ありがとうございました。**
* サーバーのセキュリティ対策としてはさくらインターネットの[こちら](https://manual.sakura.ad.jp/vps/support/security/firstsecurity.html)を参考にさせていただきました。さくらインターネットのサイトはアダルトサイトを禁止しているので今回は使うことができませんでした。ノウハウだけいただいたみたいで申し訳ありません…。
* <font color="Red">メール送信にはPostfixを設定し、rakeからRails Action Mailerを読んでいます。cronでメール送信rakeを1日に1回呼ぶようにしています。</font>
* <font color="Red">MGS動画はAPIを提供していないので、仕方なく1日に1回、新発売のタイトル情報をSpleinirでスクレイピングしています。こちらもrakeをcronで呼んでいます。</font>

# 今後の課題
* できたらいいなと思っているのは、アラートに該当するタイトルがセール対象になったり、値下げされたらメールでお知らせすることです。アラートによっては大量のタイトルをトラッキングしないといけないので、計算量的に低スペックサーバーでは現実的でないかもしれません。
* 今回は新発売のAVを対象にしましたが、Amazonや楽天などで発売される一般的な商品を対象にしてもいいかもしれません。難点は自分ではそれほど使いたいと思わないことです…。非アダルトだと広告、アフィリエイトなど選択肢が大きく広がることは魅力ではあります。
* 毎日、「おすすめAV情報」みたいなメールを作成し、ユーザーごとに購読するかどうかを決めてもらうのもアフィリエイト収益を上げるにはいいのかもしれません。楽天的発想ですね。個人的には好きではないですが…。

# 最後に
ご要望、ご質問、バグレポートなどございましたら、コメントいただければ幸いです。できる範囲で精一杯やりたいと思います。