How to use ntch

ntch version 1.0.2.8
Linux用 2ch専用ブラウザー
-v --version
バージョンを表示します

-h --help
このヘルプを表示します

-r -refresh-screen
冗長な画面更新を行います。
画面がうまく更新されない時に指定しますが、ちらつくかもしれません

-o --out-path
プログラムの作業ファイルを出力するディレクトリを指定します
無指定の時は、実行時のカレントディレクトリの配下にlogディレクトリを
作成して出力します。

-p --pem 
pem形式のCAファイルを指定します。未指定時にはカレントディレクトリから
cacert.pemファイルを探します。
※クラウド拡張(後述)使用時にSSL通信を行う場合に使用します

キーコマンド
全般
j 下移動
k 上移動
space 項目選択
q 終了
c 前画面に戻る
f ページダウン
b ページアップ
r 画面リフレッシュ
z 画面構造ツリーを上に移動する
cキーは直前の画面に戻りますがzキーは
例えばお気に入りからスレッドを開いた時にcキーはお気に入り画面に
戻りますが、zキーはスレタイ一覧画面に遷移します
スレタイ一覧画面ではzキーは直前の画面に関係なく板メニューに遷移
します。

    :search :se [検索文字列] 全板検索
指定された文字列をキーにして板全体からスレッドを検索します
文字列の指定はオプションで、未指定時には空の全板検索画面に
遷移します
:favorite :f お気に入りの表示
:history :h 履歴の表示(表示したスレッドの履歴を表示します)

板メニュー
h 左カラムへ移動
l 右カラムへ移動
a 選択中の板をお気に入りに追加

スレタイ一覧
:[数字] 指定されたスレッド番号にカーソル移動
g 最後の行に移動する
h [数字]で指定する前の表示位置に戻るUNDO
l hで戻った移動を元に戻すREDO
r 板を更新する
/[検索文字列] 指定文字列の後方検索
?[検索文字列] 指定文字列の前方検索
検索文字列は任意で有り、指定しなかった場合
以前に指定した文字列で検索します
デフォルトでregex関数に渡されるので
標準関数の正規表現が使用できます
:s :sort [number|read|unread] スレタイを並べ替えます
number スレッド番号順
read 取得済みスレッド優先
unread 未読数順
リソースファイルに初期値を指定出来ます
実行ユーザーのホームディレクトリに.ntchrcファイルを
作成して、以下の書式で指定して下さい。
sort=[number | read | unread]
:d :del [スレ番号 | * ] 指定したスレッドの取得済みログを削除します
* 表示している板の全ての取得済ログを削除
スレ番号 以下の2ch形式の番号指定が使えます
10 - 10番のログを削除
14,17,20,100 - 指定した4つの番号を削除
25-50 - 25番から50番までを削除
a 選択中のスレッドをお気に入りに追加

レス一覧
:[数字] 指定されたレス番号にカーソル移動
:[2ch形式の番号 | tree | t | id | i ]
[2ch形式の番号] 表示するレス番号を以下の2ch形式で指定できます
14,17,20,100 - 指定した4つの番号を表示
25-50 - 25番から50番までを表示
tree [数字] or t [数字] 指定レス番号が参照しているorされている
レスのみを表示します。
数字とtree(もしくはt)の間には空白が必要です
id [ID] or i [ID] 指定IDを持つレスのみを表示します
数字とid(もしくはi)の間には空白が必要です
g 最後の行に移動する
h [数字]で指定する前の表示位置に戻るUNDO
※ :treeコマンドなどでレス表示をフィルターしている時は、
        フィルターする前の画面に戻ります。
l hで戻った移動を元に戻すREDO
:w :write スレッドに書き込む為にエディターを起動します
標準でviエディターが立ち上がるので、本分を編集して
保存終了すると書込を行います。無編集、もしくは
本文が無い場合、書込を中止します。
編集テキストの上部に、mail:[メール], name:[名前]
をそれぞれコロン記号の後に指定出来ます。
※)メール、名前は本文に含まれません。
書込確認、クッキー確認、エラーなどがサーバーから
返された時には、その内容をviエディターで表示します。
内容を確認してエディターを終了して下さい。
書込確認を中止する方法が(現時点で)ないでの
その場合は強制終了して下さい。
r スレッドを更新する
/[検索文字列] 指定文字列の後方検索
?[検索文字列] 指定文字列の前方検索
検索文字列は任意で有り、指定しなかった場合
以前に指定した文字列で検索します
デフォルトでregex関数に渡されるので
標準関数の正規表現が使用できます
:n :new 新規取得スレにジャンプ
:a :autoscroll 自動スクロール
j,k,f,bキー以外の入力で自動スクロール解除
k,bキーで反転スクロール
.ntchrcファイルにスクロールスピードを指定出来ます
:ngwd [NG指定文字列] , :ngnm [NG指定文字列] , :ngid [NG指定文字列]
ngwd レス本文に対するNG指定 
文字列には後述する方法で正規表現を指定出来ます。
文字列を省略すると、現在設定されている全ての
NGWORDをエディターで表示しますので、これを直接
編集できます。
ngnm, ngid それぞれレスの名前欄、IDに対するNGの指定です。
指定方法はngwdと同様です
NG文字列に正規表現を指定する方法
指定したい正規表現をスラッシュ'/'で囲んで指定します。

:ngwd /(L|l)inux/ 左はLinuxとlinuxにマッチします。
:ngwd /ですか\? $/ 行末が「ですか?」で終わる文字列に
にマッチします。
?マークをエスケープすることと、
2chのレスの行末には空白が1文字
付加されるていることに注意して下さい
:ngwd /windows/i スラッシュの後ろに'i'を指定すると
大文字小文字を無視します
左の例ではWindows, windows, WiNdOwS
などにマッチします
先頭が'/'で始まる文字列を正規表現を使わないでNG指定する方法
先頭のスラッシュ'/'を円マーク'\'でエスケープして下さい

:ngwd \/[a-z]/ 左は正規表現を使わずに文字列として
/[a-z]/ にマッチします。

    :timer [ NNNN | NNNm | NNNs ]    指定時間後に通知ダイアログを表示します
NNNN 表示するまでの時間をミリ秒で指定します
例: :timer 120000 (2分をミリ秒で指定)
NNNm 時間を分単位で指定します
例: :timer 2m (2分を分単位で指定)
NNNs 時間を秒単位で指定します
例: :timer 120s (2分を秒単位で指定)
:link :l [2ch アドレス] 2chのリンクを指定して開きます(前スレなどの表示に使います)
例: :link http://pc11.2ch.net/test/read.cgi/linux/1118024349/
※ 何らかの理由で開けないこともあります
お気に入り一覧
d 選択項目をお気に入りから削除
l 直前に表示したお気に入りを再表示
h スレッド選択時にそのスレッドの上位の板を表示
:edit :e [ board | b | thread | t ]
お気に入りをエディターで編集します。
board or t お気に入りの板を編集
thread or t お気に入りのスレッドを編集
引数を指定しなかった場合はスレッドを編集します
書式(板)
板名
書式(スレッド)
dat名\\板名\\スレッドタイトル
テキストの表示順と同じ順序でお気に入り一覧に表示されます

履歴一覧
:limit :l [n[,n]] 表示履歴範囲を指定します
例1 :l 50 履歴データーベースの新しいものから50件を取得します
例2 :l 10,30 履歴データーベースの新しいものから10件をスキップして
30件を取得します
例3 :l 履歴データーベースの直前のスキップ位置に表示範囲数を
ずらして同じ件数を取得します
SQLの文法では 例1 :l limit 例2 :l offset,limit
例3 直前のoffsetに直前のlimitを加算して、同じlimit値で
例2と同様に検索します(次ページの動作)

スレタイ検索画面
a 選択中のスレッドをお気に入りに追加

リソースファイルの設定
実行ユーザーのホームディレクトリに.ntchrcファイルを作成します
項目と設定値を=で繋げて記述します

起動時の画面の指定
未指定 板メニュー
show=favorite お気に入り画面
show=history 履歴画面

お気に入りの自動更新頻度
auto-update-interval=[数字] ミリ秒で指定(標準値60000msec)

レス画面の自動スクロール速度
auto-scroll-interval=[数字] ミリ秒で指定(標準値500msec)

スレッドタイトル一覧画面の表示順序の初期値
sort=[number | read | unread]
number レス番号順
read 既読を上に表示
unread 未読数順

行の先頭に # を指定するとその行はコメントとして扱われます


---------------------------------------------

NCE (ntch cloud extention) クラウド拡張
添付のphpスクリプトをWebサーバーに導入することで、お気に入りや
既読数などの情報を複数端末間で同期することが出来ます。
用意する物:
 phpスクリプトが実行可能なWebサーバー
 スクリプトから操作できるMySQL
使い方:(サーバー編)
 1.添付のスクリプトをWebサーバーのスクリプトが実行できるディレクトリに
 コピーします
 2.preference.phpを開き、コメントに従ってDBのパスワードや、クライアント
 に渡すサーバーアクセス情報などを記入します
 3.少数のユーザー設定であればpreference.phpに直接ユーザー情報を記入して
 登録することも出来ます
 4.create_table.phpをブラウザーから開きます。成功すれば
  Initialization Success が表示されます。
使い方:(クライアント編)
 5.実行ユーザーのホームディレクトリに.ntchrcファイルを作成し以下の書式で
 必要な情報を設定します。
例:
rfc2898-salt=abcdefghijklmn
rfc2898-iteration=1001
aes256-pass=passpass
nce-auth-url=https://neetchan.securesite.jp/nc_checkuser.php
nce-id=user1
nce-pass=1234
項目名(暗号化に関する物)
rfc2898-salt 8文字以上の文字列を指定して下さい
rfc2898-iteration 1000以上の数値を10進数で指定します
aes256-pass 任意のパスワードを指定して下さい。
項目名(サーバーログインに関する物)
nce-auth-url 認証スクリプト(nc_checkuser.php)のURL
nce-id preference.phpで登録したユーザーID
nce-pass preference.phpで登録したユーザーパスワード
※複数のプログラムで同期する場合、上記の設定を必ず全く同じにして下さい。
※認証スクリプトは平文のパスワードを送信しますのでSSL通信を推奨します
 通常の同期処理は認証時に渡される期限付きのトークンを使用して接続します
 但し、nceでのセキュリティはデーターそのものを暗号化することを重視して
 おり、DBのレコード種別と日付を除いてAES256で暗号化しています。
設定が全て完了したら、プログラムを実行します。
クラウドサーバーとの同期はお気に入り編集時に(サーバー側にデータがあれば)
自動的に行われます。
クラウド設定有効時には起動時にクラウドのデータを読み込みます。
現在のお気に入りの内容でクラウドのデータを明示的に更新したい場合は、
お気に入り一覧で、以下のコマンドを入力します
:upload 現在のお気に入り、NGワードの設定を全てアップロード
:upload board 現在の板のお気に入りをアップロード
:upload thread 現在のスレッドのお気に入りをアップロード
:upload ng 現在のNGワードの設定をアップロード