2011年4月21日

Tumblrサブ垢からリブログをボタン押すだけで自動化するGreasemonkeyスクリプト

もともと自分用に使ってたんですが、せっかくなので公開することにしました。
とは言ってもサブアカウントを使ってて
メインへまとめる作業を自動でできないかなーと思ってるような人限定になりますが。。

AutoSubReblogize という Greasemonkey スクリプトです。

インストール:

↑のリンクから 「Install」 ボタンを押すとインストールが開始されます。

(最近 userscripts.org にアクセスすると 502 が多いですがリロードで大抵いけます)

使い方:

インストールすると、




アドオンバー/ステータスバー/ツールバーにある、Greasemonkey アイコンから
「ユーザスクリプトコマンド(C)」 に 「AutoSubReblogize - Settings」というメニューが追加されます。
まずここから設定します。


メニューをクリックすると、




↑のようなダイアログが表示されるので、各項目にそれぞれ入力します。

一番上のテキストボックス:
サブアカウントの URL を入力します。 複数ある場合は 改行区切りで入力します。 トップページの URL を入力してください。
リブログから除外するアカウント名:
入力したアカウント名が既にリブログしてる場合スキップするようになります。 通常、メインのアカウント名を入れます。
メインアカウントのメールアドレス:
そのままですが、Tumblr API を使ってる都合上 必要になります。
メインアカウントのパスワード:
これも Tumblr API を使ってる都合上 必要になります。
メールアドレスとパスワードは、
SSL や WEP などで広く使われているストリーム暗号 ARCFOUR によって暗号化されます。
Greasemonkey 内に保存されるだけですがいちおう。

設定が完了して OK ボタンを押すと保存されます。
そして サブアカウントのページを開くと





ページの左上に ↑ のようなパネルが表示されるようになります。
これをクリックすると 自動リブログが開始されます。




実行中は↑の画像のように、
画像などを表示するコンテンツパネル、ステータスが流れてくテキストボックスが中央に表示されます。

左上の 「Click to Stop」 と書いてあるパネルをクリックすると途中で中止できます。

約 3 ~ 6 秒おきにリブログが続きます。

その他:

Tumblr の調子がわるい時などはエラーが頻発しますが、そういう時はほとんど失敗するし
Tumblr サーバーに負担をかけないためにも中止して別の時にしましょう。


リブログの重複防止については、notes を見て判断してますが
POST された時からある程度の期間が経つと、どうもうまく取得できないようです (未確認)。
API が返す notes が稀に抜けがあるのは確認。
そういう時は再度取得というわけにもいかないので仕方がないです。


あと、Tumblr のデフォルトのテーマ (なんか最初は青っぽいやつ) にしておくと、
notes の自動取得や Permalink の Fix など通常のリブログを楽にできるようにしてくれます。


ちょっとした懸念点ですが、サブアカウントの URL のみ実行するとはいっても
他のページでも ある程度スクリプトを読み込まれるわけです。
メモリ使用量などが気になる方は、直接ユーザースクリプトを編集して、
// ==UserScript==
// @name           AutoSubReblogize
...
// @include        http://polygonplanet*.tumblr.com/  ←ここにサブのURLを書く
// @exclude        http://polygonplanet.tumblr.com/   ←ここにメインのURLを書く
// @exclude        http://www.tumblr.com/
...
// ==/UserScript==
こんな感じで設定しておくと、他の URL は完全に除外されるのでメモリコストも減ります。
そのかわり、サブの URL が変則的な場合は毎回設定しないとなのでめんどうかもしれません。

2011年4月14日

pixivからブックマークと同時にPOSTできるTomblooパッチがサムネイル対応

また前回に続き Firefox アドオン Tombloo のパッチです。

 ちょっと文章が前回と同じっぽいですが知ってるところは飛ばしてください。
 こないだ作った以下 2 つのパッチを統合して 1 つのファイルにしました。


2 つとも pixiv の環境が変わって動かなくなってたので
修正も兼ねて、いくつか機能追加してみました。

サムネイルから POST できるようになりました。

機能

  • pixiv のイラストを右クリックすると専用メニューが現れる
  • Tombloo 設定ダイアログのサービス一覧に 「pixiv Bookmark」 が追加される
  • pixiv からオリジナルサイズの画像 POST をサポート
  • イラストに付けられたタグを自動的に付加できる (切り替え可) *1
  • サムネイル一覧ページからオリジナルサイズのイラストを POST できる
  • 漫画は 1 コマ目の画像を取得
  • 漫画ページから各コマをオリジナルサイズで POST できる
  • pixiv で作品の自動ブックマークが可能
  • ブックマークと同時に「お気に入りユーザーに追加」もできる (切り替え可) *2
  • イラストのサムネイルからブックマークができる
  • Firefox4 / Firefox3.6 対応

パッチ (Download):

インストール:

まず、以前のパッチをあててる場合は削除 (もしくは拡張子を .js 以外にリネーム) してください。

  • tombloo.model.pixiv.bookmark.js
  • tombloo.service.extractors.pixiv.js
↑の 2 つのスクリプトがある場合 (コンフリクトしてしまいます)。

そしたら、
上のパッチリンクを
右クリック→「Tombloo」→「Tomblooパッチのインストール」でインストール。

 ※直接右クリックからインストールできない環境があるっぽいです。
できない場合は
 {ProfD}/tombloo/script ディレクトリ (設定依存) に
「tombloo.service.pixiv.js」 と名前を付けて保存し、
 最後に
メニューの 「ツール」→「Tombloo」→「Tomblooのリロード」でインストール完了です。

 {ProfD} は、WinXP の場合:


  • C:\Documents and Settings\{ユーザー}\Application Data\Mozilla\Firefox\
    Profiles\{ハッシュ値}.default\extensions\tombloo\script
上記のようなパスがデフォルトで、
Tombloo の設定で 「データ/スクリプトディレクトリ」 を変更してる場合はその場所になります。
 インストールすると、「Tomblooの設定」 ダイアログ内に pixiv アイコンが現れます。

*1:
pixiv イラストページ内からタグを取得して
Tombloo ダイアログに渡します。
3 つのモードがあり、

  • すべてのタグ
  • 先頭が '*' アスタリスクのタグ
  • タグなし
となっています。

例えば

*foo *bar baz

というタグが付けられてた場合、
Photo - pixiv (with *Tags)
タグ: foo bar
先頭が '*' のタグだけ追加される。
Photo - pixiv (with all Tags)
タグ: foo bar baz
すべてのタグが追加される。
Photo - pixiv (No Tags)
タグ: (タグは挿入されない)
タグ追加の際には先頭のアスタリスク '*' は除去されます。
また、ハイフン '-' も除去されます (Tumblr タグ適応のため)。
クイックポスト (J) は 「Photo - pixiv (with *Tags)」 に設定されています。
必要あればソースを編集してください。

 


*2:
ユーザーに対する 「お気に入り追加」 はデフォルトで OFF になっています。
有効にするには ソースコード 45行目 (先頭) あたりの:
// お気に入り (ユーザー) 追加の ON / OFF
const PIXIV_BOOKMARK_USER = false;
これを↓のように true にすると有効になります。
// お気に入り (ユーザー) 追加の ON / OFF
const PIXIV_BOOKMARK_USER = true;
ローカルで編集する際、文字コードは UTF-8 で保存してください。

レポジトリ