pixplus 1.12.1

pixplus (git / github)

新着イラストページやブックマークモードなどが壊れたので修正。

crx 版について

chromedriver がどうも不安定で、crx 版はじゅうぶんにテストできていないため、なにか問題があるかも知れない。

自動アップデート

前回の 1.12.0 から自動アップデートの仕組みを大きく変更した。 crx および safariextz については想定通りに動作していたのだが、グリモン版は動作確認を忘れていたせいで自動アップデートが壊れている。 1.11.0 以前は正しく動作していたはずだが、これは http を使っていたので、グリモン側の設定でセキュリティオプションを変更しないと動作しなかった。 もうめんどくさいので SSL 証明書を購入した。今回から https://ccl4.info/ を自動アップデートに用いる。 一般的なグリモン環境なら自動アップデートが働くはずである。

技術的な補足

pixplus では、非公開の API (pixiv.net のクライアントサイドで使用されていないという意味)は使用しない、 というポリシーのもと、HTML を読んで情報をとって処理している。

以前は png で投稿すればサムネイルも png になっていたので、サムネイルの URL からオリジナル画像の URL 作ることができた。 その後、一部のページでサムネイルの強制 jpeg 化が導入されたのだが、イラストページ(mode=medium)では以前と同様の仕様であったため、 pixplus ではイラストページ(mode=medium)のロードを待ってから画像を読むというふうに仕様を変更して対応していた。

ところが今回の変更で新着イラストなどの多くのページで一律 jpeg のサムネイルが導入されるとともに、 中サイズの画像(mode=medium)もすべて jpeg になってしまったため、オリジナル画像の URL を作ることができなくなってしまった。

そこで、大半の作品は jpeg であるという推定のもと、 とりあえず拡張子 jpg で読んでみて、ダメなら順次 pnggif を試すという仕様に変更した(pixiv はこの三形式しか受け付けない)。 mode=big の html を読めばよいのであるが、順番にリクエストしなければならないため遅くなるということと、 リファラを偽装しなければならないということ、の二点の技術的問題のため、このような仕様を採用することにした。 リファラ偽装についてはブラウザの仕様に大きく依存する(作者がまっとうなやり方を知らない)ため、 旧 Opra などもサポート対象である pixplus では採用しづらいためである。

なお、このセクションは「原寸の画像を表示する」オプションがオンになっている場合の話であって、 オフになっている場合はパフォーマンスの低下はない。このオプションはデフォルトでオフである。

変更点

  • pixivの変更に対応。
  • ブックマークモードがうまく動作しなくなっていた不具合を修正。
  • GreaseMonkey の自動アップデートが壊れていた不具合を修正。