追記:導入されている方もこれから導入される方も,port 番号をデフォルトから変更することを//強く推奨します.//

Special Thanks.d:id:miya2000

Opera の UserJS の管理を Operaのパネルで行うためのツールを作ってみました.

Google Code にて として公開しています.

Qtを使ってるのでバイナリ配布するとちょっとサイズがでかいのが難点ですが.

使い方その他は以下から.

###導入

まず,橘の最新版 を橘 in google/codeからダウンロードして,適当なフォルダで展開します.

すると

+ Nilgiri
  - nilgiri.exe
  - nilgiri.ini
  - nilgiri.png
  - COPYING
  - Qから始まる  DLLがいくつか
  + base
    - nilgiri.html
    - nilgiri.js
    - nilgiri.css 

という風になります.

###設定

Nilgiri.ini をエディタで開いて,環境に合わせて変更します.

####[nilgiri] セクション

このセクションでアプリの基本設定をしてます.

起動前に最低限 baseを,nilgiri.htmlがあるディレクトリを指すように設定してください.

そのほかの項目は任意に

lang:ini
[Nilgiri]
port = 9665 ; Nilgiri の待ち受けポート.1024 から 48000 位までの数を指定して下さい.
lang = ja.lng ; Nilgiri の言語.現状意味はありません
base = .\base ; nilgiri.html のあるディレクトリ,
jsdb = .\jsdb.dat ; 管理用DB
icon = .\nilgiri.png; タスクトレイのアイコン,お好きな画像へのパス

####[User Pref]

v0.2.3 では使って無いので無視して下さい.

lang:ini
[User Pref]
opera6 = ; 使用中のopera6.ini を使ってごにょごにょできるようになる予定

####[JS Paths] セクション

User JS を保存しているディレクトリを指定します.

複数指定する場合には,Path 2 = /path/to/otherPath 3 = /path/to/other2と増やして下さい.

lang:ini
[JS Paths]
Path 1 = c:\programs\userjs

###起動

nilgiri.exe をダブルクリックすると起動します.正常に起動するとタスクトレイに,Operaのアイコンに似たアイコンが表示されます.起動しなかった場合,フィードバックいただければと可能な限り対応するつもりです.

//初回起動時に,WindowsXP SP2以降や Vista では ファイアウォール関連の警告が出ると思います.nilgiri.iniで設定したポートを開放するかどうかの警告です.外部からこのポートを突かれてDoSなどの障碍の可能性がゼロでは無いので,不安な場合,ここで引き返すことをお奨めします.//

無事に起動したならば,Opera で,localhost の nilgiri.ini で指定したポート( port = 9665としたなら,http://localhost:9665/)にアクセスします.

正常に動作している場合,”Reload” と書かれたbuttonだけが表示されます.このbuttonをクリックすると,所有している UserJS ([JS Paths]セクションに指定したパスにある拡張子 .js.js_のファイル)の一覧が表示されます.

緑のものが有効な UserJS で,赤が無効な UserJS です.有効無効は,拡張子の最後に アンダースコア(_)があるかどうかで判定しています.

現状では,緑(有効なUserJS)の行をクリックすると赤く(無効なUserJSに)なり,逆に赤の行をクリックすると緑になるというトグル動作をします.当該UserJSの有効化,無効化の効果は,この操作をしてから開いた(更新した)ページに対して有効になります.

###終了

終了するときは,タスクトレイの橘のアイコンを右クリックすると Quit と出るのでそれをクリックすると終了します.

###それから,

サーバ側のAPI を公開するのでクライアント側を自分で作ることも可能です.言うなればカスタマイズし放題なわけです.というか,クライアント側を作ってくれる人が激しく求めてます.さすがに C++ と JavaScript の同時進行は私の処理能力を超えました.In Depth.に資料をまとめてますので,JS使いの参戦をお待ちしております.

####これからやること.

とりあえず,インストールに敷居を下げる機能の追加.具体的には,opera:config 的な設定画面の作成をする予定です.

ある程度,動くものになったところで,grease monkey 様式のmeta情報の利用を追加する予定で,妄想レベルでは,サイト別設定( override.ini ) との連携も考えています.

並行して,Windows以外のプラットフォームへの対応も進めていければと思います.

####Linux,MacOSX, その他の環境に関して

しばらくはバイナリでの提供が出来ませんが,http://tachibana.googlecode.com/files/tachibana-0.2.3-src.tgzからソースを落としてコンパイルしてご利用下さい.

事前に Qt 4.3.3 の開発パッケージのインストールが必要です.

lang:shell
$ wget http://tachibana.googlecode.com/files/tachibana-0.2.3-src.tgz
$ tar xvzf tachibana-0.2.3-src.tgz
$ cd tachibana-0.2.3-src
$ qmake nilgiri.pro
$ make

とでもすればいけると思いますが,試して無いのでわかりません.

こんな環境でも動いたよというフィードバックがあると励みになりますので,報告をお待ちしています.

####ライセンス

Nilgiri のサーバ側のライセンスは GPL です.クライアント側(baseディレクトリ以下の HTML/CSS/JS ファイル)のライセンスは,MIT ライセンスです.

上にも書いたとおり,クライアント側は HTTP 経由で API を呼んで表示するだけのものですから,好きにいじってもらって構いませんし,ゴッソリと作り変えてオレオレクライアントを作ってもらって構いません.むしろどんどん作って配布して下さったほうがありがたいです.