オタク日記

法学徒兼日曜プログラマが職を求めて奔走する話(特に書くつもりはない)

ダウンローダの更新

何故か朝になっていた

更新点

ニジエ上で直接画像をDLできるようにした

f:id:Kuonchan:20180403074628g:plain

今まではブックマークレットからダウンロードページに移動して画像をダウンロードする必要がありましたが、パラメータの設定をすることでニジエ上で画像をダウンロードできるようにしました。

設定

1.ブックマークレットを最新版にする

2.パラメータをstorage=3にする

3.保存したいファイル名の書式をfname=""のダブルクオーテーション内に書く

(例:作者名-画像タイトルだったらfname="$u-$t"。ここ参照)

4.以上

ね、簡単でしょう?

「ダウンロードしますか?」のアラートがウザい場合はnoconf=1にしてください。

完了通知もウザい場合はdl.phpの設定から「完了アラートを表示しない」にチェックを入れてください。

ファイル名にダブルクオーテーションは使えませんがそもそもWindowsもそうなので特に問題はないでしょう.その他の利用できない文字列を入力するとエンティティ化されます.

ZIPでダウンロードとそのままダウンロードを選択可能にした

ZIPでまとめて画像を落とすか、画像をそれぞれ生でダウンロードするかを選択することができます。

設定から「そのままダウンロード」にチェックを入れてください。

注意点

・一回ダウンロードした後に設定を変えて同じページでダウンロードする際はページの再読込をしないといけない(修正予定)

f:id:Kuonchan:20180403081713p:plain

・↑みたいなのが出たら許可しないといけない

・重複ファイルは(1)みたいな感じになるから重複ファイルチェッカーとかで取り除くのが手間

今更気づいた

・画像ファイル名がワンパターンじゃないから投稿者idを特定できない場合がある

(一応例外処理はしといたけどなんか方法がないかな)

仕組み

同一生成元ポリシーによってpoyashi.me上に置かれているスクリプトのファイルからはajaxで画像データにアクセスできないので、ニジエのページ上に見えないiframeを追加し、そこでpoyashi.meに置かれたページにデータをpostすることでページ遷移を防ぎつつダウンロードできるようにしています。

今回はjQuery.DeferredとsetTimeoutの合わせ技を用いて今まで以上にウェイト処理を噛ませてあるので、相手サーバーにも優しい仕様になっていると思います。

HTML5の新機能であるところのdownload属性とかいうのをふんだんに使った仕様となっています。ですから、古いブラウザでは動きません。(試してませんがとりあえずIEで動かないことは多分確かです)

ニジエ側でx-frame-options等の設定をされたら一発で使えなくなります。

 

ブックマークレットではなくChrome拡張とかでやればもっとすんなりいくんだろうけど、拡張機能用にアイコンを作らないといけないのがしんどすぎるし、デベロッパー登録手数料(5ドル)が勿体無いなぁ...って思ってブックマークレットにこだわってます。

細かいことはブックマークレットを読んでください。

iOS11でSwarmのTwitter連携機能が使えない場合の対処

2018/07/07追記

結構前から問題が修正されてるのでこの記事はもはや無用の長物です。

 

iOS11になってiOSの仕様が変わり、それに依存していたSwarmのTwitter連携ボタンが使えなくなっています。

ブラウザでswarmapp.comにアクセスしてもそれらしき項目が何もなかったので八方塞がりかと思いましたが、解決方法を見つけたのでメモっておきます。

続きを読む

Chromeリモートデスクトップでリモート側から音が出ない時に試すべきこと

Chromeリモートデスクトップで音が出ない、などとググると「Bluetoothを使えばいい、らしい?」みたいな曖昧なことを書いてる、アフィを前面に押し出したおもんないブログがありますが、自分が2回中2回成功している方法を備忘録的に載せておきます。

 

1.Realtek HD オーディオマネージャを開く

タスクバーにあるスピーカーアイコンを右クリックして「サウンドマネージャ」を押下するか、Win+Rでファイル名を指定して実行→「control」でコントロールパネルを開いて「Realtek HD オーディオマネージャ」を探す。

無ければ拾ってきてインストール

 

2.右上の「デバイス詳細設定」をクリック

f:id:Kuonchan:20171229000521p:plain

 

3.再生デバイスの中にある「フロントとリアの出力デバイスが2つの異なるオーディオストリームを同時に再生するようにします。」にチェックを入れる。

 

4.設定を保存して終了します。

 

これで音が出るようになる筈。

少なくとも僕はこれで出るようになっています。

適当なことばかり書くくせに一丁前にアフィリエイト貼りまくってるゴミサイトほんま死ね

ブラウザ上でニジエの画像をZIPにまとめて一括ダウンロードできるやつを作った

怒られそう。

Nijie Downloader

https://nijie.poyashi.me

つかいかた

ブックマークレットを登録して、ニジエ内のDLしたい画像のページorブクマなどの対応しているページで使うだけ

一覧ページで欲しい画像以外のチェックを外してDownloadボタンを押せばzipで落ちてきます

使ってみた

JSZipという便利そうなjQueryプラグインがあったので使ってみました。

本来はphpZipArchiveというクラスを使ってやろうと思っていたのですが、こっちを使えばダウンロードの進行状況とかを表示できるな~と思ったので。

blog.imo-tikuwa.com

上のページを参考にしました。参考と言うか半分パクリですけど。

 

CORS対策は、インターネットで人気のjquery.xdomainajax.jsを使おうと思ったんだけど、YQLの使用変更で使えなくなった点の修正を施しても(参照)使えなかった(多分僕がアホなだけ)ので、諦めて同じドメイン下においたphpでfile_get_contentsを使って画像を渡しています。

正直、適当にやったら動いたのでそのまま使っている感が半端ない。

 

今後の課題としては、いかに相手サーバーに迷惑をかけない仕様を実現するか(←重要)とか、あとはzipに入れる画像のファイル名をイジれるようにする←した とかです。

ようやく機能がひととおり完成したところでこのブログの存在を思い出したので記事にしてみたけど、これいる?って感じです。

GitHubにソースが置いてあるので、こうしたらいいんじゃない?みたいなのを教えてもらえると助かります。いちいちコミットするのが面倒なのでやめました。教えてくれるよ!って酔狂な方はTwitterでリプを飛ばしてくれると嬉しいです(→@pokepoke_muki)

とりあえずすみませんでした。多分飽きたら消します。

Tweet Nowplaying for AIMPを動かす

http://anago.2ch.net/test/read.cgi/software/1394299595/495

上記レスを参照。

 

Plugins\T4A\...(readme通り)とPlugins\TweetNowPlayingForAIMP\TweetNowPlayingForAIMP.dllを配置することで動作するようになった。

 

おまんこ。

 

#AIMP v4.13 build1887 (19.02.2017)で動作確認