とりあえずの,コンセプト実証モデルとして,Nilgiri 1 Pre Alpha をリリース.
使い方その他は以下から.
###導入
まず,Nilgiri 1 Pre Alpha (nilgiri-0.1.407_prealpha-win32-bin.zip)をダウンロードして,適当なフォルダで展開.
すると
- Nilgiri
- nilgiri.exe
- ilgiri.ini
- nilgiri.png
- LICENSE.GPL
- Qから始まる DLLがいくつか
- msから始まる DLL がいくつか
- base
- nilgiri.html
- nilgiri.js
- nilgiri.css
という風になります.
###設定
Nilgiri.ini をエディタで開いて,環境に合わせて変更します.
####[nilgiri] セクション
このセクションでアプリの基本設定をしてます.
Pre Alpha では,起動前に最低限 base
を,nilgiri.html
があるディレクトリを指すように設定してください.
そのほかの項目は任意に
[Nilgiri]
port = 9665 ; Nilgiri の待ち受けポート.特に他のアプリと競合しないならこのままで.
lang = ja.lng ; Nilgiri の言語.現状意味はありません
base = .\base ; nilgiri.html のあるディレクトリ,
jsdb = .\jsdb.dat ; 管理用DB
icon = .\nilgiri.png; タスクトレイのアイコン,お好きな画像へのフルパス
####[User Pref]
Pre Alpha では使って無いので無視して下さい.
[User Pref]
opera6 = ; 使用中のopera6.ini を使ってごにょごにょできるようになる予定
####[JS Paths] セクション
User JS を保存しているディレクトリを指定します.
複数指定する場合には,Path 2 = /path/to/other/
,Path 3 = /path/to/other2
と増やして下さい.
[JS Paths]
Path 1 = c:\userjs
###起動
nilgiri.exe をダブルクリックすると起動します.正常に起動するとタスクトレイに,Operaのアイコンに似たアイコンが表示されます.起動しなかった場合,フィードバックをもらえると次以降で対応するかもしれませんが,とりあえず今回はあきらめて下さい.
!!初回起動時に,WindowsXP SP2以降や Vista では Firewall 関連の警告が出ると思います.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の有効化,無効化の効果は,この操作をしてから開いた(更新した)ページに対して有効になります.
###終了
終了するときは,タスクトレイのNilgiriのアイコンを右クリックすると Quit と出るのでそれをクリックすると終了します.
###まとめ
Pre Alpha の機能はそれだけですが,サーバ側のAPI を公開するのでクライアント側を自分で作ることも可能です.言うなればカスタマイズし放題なわけです.というか,クライアント側を作ってくれる人が激しく求めてます.さすがに C++ と JavaScript の同時進行は私の処理能力を超えました.In Depth.に資料をまとめてますので,JS使いの参戦をお待ちしております.
###それから,
####これからやること.
まずは,クライアント側のリファレンス実装をすすめて,それから,インストールに敷居を下げる機能の追加.具体的には,opera:config 的な設定画面の作成をする予定です.
ある程度,動くものになったところで,grease monkey 様式のmeta情報の利用を追加する予定で,妄想レベルでは,サイト別設定( override.ini ) との連携も考えています.
並行して,Windows以外のプラットフォームへの対応も進めていければと思います.
####Linux,MacOSX, その他の環境に関して
Pre Alpha ではバイナリでの提供は出来ませんが,nilgiri-0.1.407_prealpha.tgzからソースを落としてコンパイルしてご利用下さい.
事前に Qt 4.3.2 の開発パッケージのインストールが必要です.
lang:shell
$ wget http://ashula.info/files/opera/nilgiri/nilgiri-0.1.407_prealpha.tgz
$ tar xvzf nilgiri-0.1.407_prealpha-src.tgz
$ cd nilgiri_0.1.407
$ qmake nilgiri.pro
$ make
とでもすればいけると思いますが,試して無いのでわかりません.
こんな環境でも動いたよというフィードバックがあると励みになりますので,報告をお待ちしています.
####ライセンス
Nilgiri のサーバ側のライセンスは GPL です.クライアント側(base
ディレクトリ以下の HTML/CSS/JS ファイル)のライセンスは,MIT ライセンスです.
上にも書いたとおり,クライアント側は Nilgiri のAPI をHTTP経由で呼んで表示するだけのものですから,好きにいじってもらって構いませんし,ゴッソリと作り変えてオレオレクライアントを作ってもらって構いません.むしろどんどん作って配布して下さったほうがありがたいです.