2nd street 自動購入の開発が中断しました。

依頼主のPCで動かなかったという理由で開発が中断しました。
現状搭載している機能は、
①定期的なログインセッション監視
②新着商品のリストアップ
③商品の詳細ページへ画面遷移することなくすべての画像を取得

2nd streetのサーバに大量のアクセス(画像データを含む)をすると、一時的なアクセス拒否(Access Denied)に陥ります。
Webブラウザには、キャッシュというものがあり、ローカルにあればそれを使い、ローカルになければ、ここではAkamai(※1)からキャッシュを取得することで2nd street本体へのアクセスを減らしています。これと同じことを当BOTでも行っています。

※1)サッカーW杯、ネット中継を支えるアカマイのCDN|大量アクセスでも落ちない舞台裏を聞いた

当BOTに興味がある方は、以下のインストーラをダウンロードして、自分のPC上でBOTが動くことを確認してみてください。

setup.exe

新商品が出た時の操作の仕方についての処理と、自動購入動作の処理は、まだ未完成の状態です。ただ、購入動作についてはショートカットがあることが分かっているので、継続開発を依頼したい方は、連絡ください。

今後は、相模原カントリー倶楽部の予約BOTの依頼があるため、そちらの対応をしていきます。

最近思ったことをだらだらと。

こういうふざけたのは以前から本人確認書類を添付してもらうか、使用自体をお断りしている。クレカ支払いで身元を明かせない時点で本人のクレカかどうかも怪しいからだ。

中国人は凄いと思う人もいるが、人口が桁違いなのでクズも桁違いに多いんだろうなぁと思いながらいつも対応している。

話は180度変わり、日本の人口減少の話題へ。

うちの下の子は来年幼稚園の年中さんになる。来年入ってくる園児は今よりも少なくなる話を聞いたり、上の子の小学校の学年は3クラスあるが、下の学年は2クラスしかないと聞くと、いよいよ人口減少が目に見えて分かるようになったと感じる。

出生率が下がっているということは、結婚する割合が減っているわけで、それは結婚することにメリットを感じない、子供を持っても生活が苦しくなるなら・・・と思う人が多いからという理由が大半なんだろう。そういう社会を作ったのは日本政府な訳だが、今の体たらくでは誰も信用しないしできない。自分のことしか考えてないバカばっか。

俺はぎり団塊の世代ジュニアで一番人口が多い年代なので、体力的には衰えを感じてはいるもののまだまだ気持ちは全然やれると思っているし、身の丈に合った形で社会に貢献できることがあればガンガンやりたいと思っている。

次のBOT開発はセカンドストリート自動購入を予定しています。以前作ったときからサーバ側の仕様が変わっているのと、依頼者自体の要望もあり、ほぼ新規で作る形になります。10万円で依頼を受けており、そのまま10万円で販売する予定です。

今後も同様の形で開発・運営していきたいと考えています。

ticketbookリセールサービス自動購入をリリース予定

ticketbookリセールサービスの自動購入ツールをリリース予定です。

画面は開発中のため、実際とは異なります

現状の機能としては、以下になります。

  • リセールチケット一覧において、最大枚数でソートした状態で一番枚数の多いチケットを取得しようとします
  • 支払い方法はクレジットカードのみです
  • 指定のアカウントに、登録済みクレジットカードがある場合は、それを使うか、別のクレジットカードを使うかを選択できます
  • 新規クレカを使用する場合、BOTの画面上では次回も使用するチェックボックスが表示されませんが、実際はチェックを付けています
  • 3Dセキュア認証付きクレジットカードの場合は、固定パスワードの場合のみ自動で入力するように対応しています
  • 購入完了時、任意指定されたMP3ファイルをループ再生します

搭載して欲しい機能がある場合は、問い合わせください。

リセールチケットではない方は対応しておりませんので、ご了承ください。

今年もお世話になりました!

今年は、会社の事業を拡大しようと試みた年でした。

去年からとてもしつこく勧誘電話を受けていたアイドマホールディングスという会社があります。とても胡散臭い会社だと思っていましたが、いざ今年の売上が落ちることが分かると、騙されたと思ってやってみようと契約したのが6月中旬でした。

そこからは、DXという新規事業を立ち上げるために、仮想的な組織を作るというアイドマホールディングスの言うがままに、営業を配置して新規顧客開拓を行いました。

私は営業という行為に苦手意識があり、また新たな商品開発をしなければDXだけでは顧客は付かないとひと月経ったあたりから気づきだし、電子帳簿保存法対応のアプリケーション開発に乗り出しました。

新規アプリの中核機能として、AIを使った文字認識に取り組みました。しかし知識ゼロからの開発は時間が掛かるのと、営業による新規顧客開拓も結果が出ないまま8月下旬になり、アイドマホールディングスとの契約を打ち切りました。

アイドマホールディングスの契約は2年契約が基本となっており、それを破棄したために違約金を払わなければならず、当時は騙された感がとても強かった。そのときはこの顔が江戸時代の武士みたいに見えて、農民のわずかな備蓄を、根拠も無い儲け話で奪っていくビジネスモデルで株式上場までしているのだから、如何に騙されている人が多いことか。やっていることは、ねずみ講と何ら変わらない。

独立したときから売上が少しずつ増えていた中で、今年は減収になることが見えていることの不安から自分を見失い、無謀な挑戦をしてしまったと反省しました。

AI技術は、機械学習させるときは、人間が学習させる方向を決めますが、機械学習の過程はコンピュータ任せのため、ブラックボックス感が強くて自分で作った実感があまり湧きません。

それに比べてBOT開発は、サーバサイトの仕様はブラックボックスですが、ブラウザで動作するように設計されたものなので、ブラウザの動きを解析すれば、ある程度自分で作ることができる点が面白い。

そんなこんなで、DX関連のアプリ開発が滞ってしまっています。

ただ、電子帳簿保存法は2024年1月から施行されることは確実であり、自分自身が使うためにもアプリ開発は継続していく予定です。

Emperorの新規開発として、新たな画像認証が導入されたハピネットをターゲットにしています。以前から次の開発候補としてハピネットが上がっていたのですが、やろうとするとほかの仕事が割り込んできたり、風邪を引いてそれどころでは無かったりという状況が続いて早1年が経ってしまいました。

リモートワークをしているので、通勤やオフィスで風邪菌をもらうことはありませんが、4歳の息子が幼稚園から強力な風邪菌を家へ持ち帰り、毎回家族全員にうつします。もーやだ。。。

わくわくするような画像認証なんですが、12月から新たな組織で働きだして、そこでの技術もなかなか難易度が高く、そちらの方が優先になってしまいました。

当社のアプリはQtというフレームワークを使っています。20代後半にこのフレームワークに出会って以降、個人的に使い続けています。Qtはとても使いやすく、マルチOSなアプリケーションを作れるという点に惹かれました。

Qtは欧州では認知度が高く、車載器などにも搭載されているのですが、日本ではほとんど使われておらず、自分が仕事で触れたのは数える程しかありません。日本では、C#やPythonなど、非コンパイラ言語の方が圧倒的に多く使われています。

12月からの仕事でC#からC++に移植するということを行い、初めて仕事でC#に触れましたが、非コンパイラ言語ならではの、柔軟なソースコードの書き方を見てしまうと、C++は神だと思っていたのが揺らいでしまうぐらい良くできた言語だと思ってしまいました。

私が使うC++は、2003年に出たC++03ぐらいまでの仕様しか使っていなかったし、それで必要十分だと思っていましたが、C++11以降(C++11,C++14,C++17,C++20)の仕様に触れて、C++の進化を改めて実感しました。

C++の進化について、簡単な例を上げます。

int a = 1 ;  ・・・①
int *b = &a; ・・・②
int &c = a;  ・・・③
int &&d = 1; ・・・④

①は、左辺の1を右辺のaへ代入する処理です。
②は、左辺のaのアドレスをbポインタに設定しているという意味で、aを参照していることから、左辺値のアドレスを指していることになります。
③は、a自体が左辺値であり、cがaを参照しているので、左辺値参照という解釈となります。
④は・・・これがC++11以降の仕様で、&&は右辺値参照という意味で、dは1を格納しているメモリの中身を参照しています。

左辺値のアドレスを参照とか、そんなこと考えなくてよくね??と思いたいですが、C++はアセンブリ言語の次に速い言語としての進化をし続けているわけで、私のC++の知識は20年ぶりにアップデートされました。

ということで、ここまで言い訳をダラダラ書きましたが、要は来年もよろしくお願いします、ということを言いたい!!

チケットぴあが何やらごにょごにょやっているなぁというのは気づいています。これはフレームワークのブラウザによる影響が高そうなので、ブラウザを変えることを検討しています。

来年も、常に最速を目指していきます!


モジュールアップデートを簡素化します

先々週対応した新暗号化ライブラリ版をインストーラにも適用したため、オンライン版のインストーラが例のVPS上においても動作するようになりました。

今後は、オンライン版インストーラのみに統一していくことにします。

当社のモジュールアップデートは、2種類の方法があります。

1つは、デスクトップのショートカットを起動すると表示するソフトウェアの更新ダイアログによるモジュールアップデートがあります。これは、同じバージョンのフレームワークを使用している場合に有効で、BOTの処理を更新するときなどに使用します。

もう1つは、インストーラからアップデートする方法で、これは未インストールのPCに対してインストールする場合や、フレームワークの更新がある場合は、こちらで行う必要があるため、fastBOTサイトでアップデートを通知していますが、なかなかアップデートが進んでいない場合は、前者の更新で強制的にインストーラの再インストールを促すことを行っています。

今後は、ソフトウェアの更新ダイアログがBOTのアップデート前に、オンラインインストーラの更新チェックを行い、更新があったときは以下の画面を表示するようにします。

上記画面でコンポーネントの更新を行うことで、インターネットから最新のモジュールに入れ替える作業をインストーラが行ってくれます。

今回はチケットぴあ自動購入のみ行っていますが、順次他のBOTも切り替えていきます。

livepocketの更新

クレカ支払いは、3Dセキュア認証が必須になっていました。

そのため、自動入力に対応しました。3Dセキュアが固定のパスワードのときのみ使用ください。


リクエスト種別の「開始時連発+継続」ですが、複数のリクエストを行うことで33%のところからの進みが遅くなっている現象が見られたので、機能自体を廃止しました。

どのくらい経過しないとディレイさせられてしまう仕様なのかは分かりませんが、本日最初に動作させたときは33%でディレイになることはありませんでした。(動画では33%で少しディレイがあります)

暗号化ライブラリを移植しました。

当社が使用しているフレームワークに、新しい暗号化ライブラリの移植が成功しました。

移植に成功しても、KAGOYA CLOUD VPSで動かないと意味がないので早速動作確認をしました。

リモートデスクトップのIPアドレスがKAGOYA CLOUD VPSのものであることを以下の2つの画像で証明しています。現在リリースしているインストーラでは、ライセンス認証が出来なかったのですが、新しいフレームワークでは、ライセンス登録ができるようになりました。

AWSでも動かないようなので、来週中には全てのアプリケーション分を用意したいと思います。

今回移植した暗号化ライブラリは、既存の暗号化ライブラリよりも軽量という謳い文句がありますが、軽量≒高速(軽量だから高速である)というわけでもなく、以前のものも残す方が良いのか悩みますが、利用する側としては、利用できることの方が重要だと思うので、一気に変えていきます。

無題

あれやこれややっていたので追記が遅れたのだが、実は2日後には以下の回答が来ていた。

この言い分は、Windows OSについてはカスタマイズは一切していないよ!ということだ。

Windows OSのNDIS中間ドライバやもっと下位のドライバでブロックすることもできそうだが、上記のことがあるため、ルータでブロックしていることはほぼ間違いないだろう。

このようなケースが他にも考えられるため、自分的には意地でもOpenSSL以外の暗号化スイートを使用したいと考えていて、今はそこに全力投球している。

今は良さげな暗号化スイートをフレームワークに移植することを行っているのだが、その暗号化スイートはOpenSSL ver 1系に合わせたI/Fを用意している一方で、フレームワークはOpenSSL ver 3系のI/Fになっているため、こちらで合わせ込みをしなければならず、予想外に時間が掛かりそうな状況になっている。

ぴあの座席指定機能を追加して欲しいとか、TicketBookに対応して欲しいとか要望を頂いているのは認識しているが、直ぐの実現は難しい。

TicketBookは、去年の年末にサイト側が刷新されたので、アップデートしようとしていたのだが、ブラウザではなく通信データでリストック監視を行った途端にBOTだと判断されてカートにチケットが入らなくなる。これについて色々悩んでいたら風邪を引いてしまい、モチベーションが落ちてしまってほったらかし状態になっていた。

当社BOTは必ずブラウザと共存した作りにしているので、ブラウザの自動操作も駆使することで対応は可能だったとは思うのだが、モチベーションが下がってしまっては元も後もない。

脈絡とは全然関係無いのだが、問い合わせをもらうときに、「いつもお世話になっております」という文言が最初に入ることが多くなった。

実はこれ、俺からするとかなり違和感がある。

サブスクの商品であればまだ理解はできるが、売り切りの商品についてこれを言われても、契約書を交わしている訳でも無いわけで、こちらからすれば赤の他人から言われても違和感しかない。カスタマーサポートが存在する企業であれば、そこが一次受付するから、開発部署には問題の内容ぐらいしか届いてこないのが普通なのだが、当社は俺しかいないので仕方ないのかもしれないが、変えていきたい。

問題提起をしてくれるのはありがたい反面、只々動かないとしか書かれていると、これで何を判断しろって言うんだ?!と思う。ログや画面キャプチャーなどの証拠を提示してくれれば、こちらのことも考えてくれていると思える。

Google DriveやOne Driveにログや画面キャプチャーをアップロードさせておいて、そのリンクを問い合わせフォームに貼り付けてくれれば助かります。Driveにアップロードしたログは共有状態にしておくことを忘れずに。

KAGOYA CLOUD VPS

BOTを使う場合、自分の家の環境でIPBANになったら不便になるので、ProxyIPを使うか、VPSを使う選択をする場合も多いと思う。

最近、ユーザからインストーラが動かないという連絡があった。以前もこの問い合わせがあったときは、ITリテラシーが無いのだろうと決めつけてしまい、BOT利用自体をお断りすることがあったが、今回は詳細な事象を話してもらえたため、原因追及のために私自身が調査を行った。

当社のインストーラは2種類存在しており、インストーラ内に全てのモジュールを詰め込んであるものと、インストーラを起動すると、インターネットからモジュールをダウンロードするものがある。今回の事象は後者の方で、モジュールがダウンロードできないので、インストーラを動かすことができなかった。

最初は、ファイヤーウォールや受信の規則を弄れば良いのではと考えていたのだが、そこらを弄っても全然改善されない。

まず何が原因なのかを調べるため、VPSにWiresharkを入れて、通信の状況を監視したところ、そもそもデータがサーバに届いていないことが分かった。具体的には、サーバには送っているが、KAGOYAのLAN内で戻されていた。恐らくルータにブロックフィルターを仕掛けているのだろうと思い、問題の切り分けをするために、HTTP POSTデータ送信を行うだけのアプリを作り、暗号化ライブラリを変えて通信できるか確かめた。

当社が使っている暗号化ライブラリはOpenSSLを採用しており、インストーラもOpenSSLを使用している。これはOpenSourceであり且つアップデートが頻繁に行われているため、信頼性の高いものである。こちらを使った場合は、サーバとの通信が行えなかった。

もう一つはEdgeの暗号化ライブラリを使ったHTTP POSTデータ送信を使用したところ、問題無くサーバとの通信ができた。

暗号化ライブラリが関係しているのは、下記の第5層に位置している。恐らくKAGOYA VPSでは、LAN内のルータにて第5層のペイロードを見て、OpenSSLだと分かる何かで判断して、ブロックしているのだと思う。

BOTが扱っているのは第7層だが、ここは暗号化ライブラリによりデータが暗号化されているのでチェックすることが出来ない。そこでBOTが使用している暗号化ライブラリに着目して、BOT利用者を弾き出そうとしたという訳だ。

いつから使えなくなっているのかは分からない。少なくとも1回目の使えない報告があったのが2023/3/25なので、それより前から使えなくなっていたということだろう。

この対処の仕方が、一般的に考えてあり得ない対応だと思ったので、当方からKAGOYAに以下のように問い合わせてみた。

土日祝を除いた3営業日と考えると、18時は営業時間外なので11/14(火)までに連絡があるのか待ってみようと思う。

今回発覚した暗号化ライブラリ特有のペイロードでブロックしているということが分かり、こういう技術は、BOT対策として他でも行っているに違いない。

ブラウザと同じデータを送っているのに、処理でHTTP通信を行うとサーバ側で弾かれる理由の1つにこの件が該当するのだと思うと、もっと早く調べておけば良かったと少し後悔した。

当社BOTは全てOpenSSLを使用しているため、他の暗号化ライブラリに変更しようと実際に動き始めている。

サーバ運営側はBOT利用者を追い払いたいと思うだろうが、私はBOT利用者を推進する側なので、今回のことは正直むかついた。

自動電話発信機能連携の追加

前回の便利ツール(Androidアプリ)と連携する機能を、チケットぴあ自動購入に追加しました。

使用するには、最新のインストーラをインストールする必要があります。

ヘルプメニューの「MQTT Settings」を選択すると、以下の画面が表示されます。

MQTT Brokerに接続のための情報を設定後、Connectボタン押下で、接続されます。

次に、Topicを指定します。指定後、TabキーでSubscribeボタンが有効になります。

Topicは、便利ツール(Androidアプリ)と同じにする必要があります。

試しに、Publish欄に、「tel:xxxxxxxxxxxx」(x=電話番号)を設定してPublishボタンを押下すると、便利ツールが起動状態であれば、その電話番号に発信することが確認できます。

以下は、チケットぴあ自動購入ツール自身も「tt」TopicをSubscribeしているため、送信したデータを受信しているのが分かります。

チケットぴあ自動購入の右側には、MQTTの状態が表示されており、以下の表示になっていれば、繋がった状態になります。この状態であれば、電話認証が表示されたときに、スマホと連携する動きになります。