plugin - プラグインの紹介

# NAME

plugin - プラグインの紹介

# SYNOPSYS

# DESCRIPTION

img0chで最初から入っているプラグインの紹介

## Img0ch::Plugin::BBS::Coloring

名前欄にRGB()関数または名前欄の先頭に@(16進数の組合せ)@を入れることにより 色の付加を行うプラグインです。以下はルールと変換した値です。

      # 赤、緑、青の強さを示す三つの数字(0-255)を入れると自動的に16進数に変換する
      # なお、255よりも大きい数字が指定された場合255として認識される
      変換前: RGB(255,255,255)This is a test.
      変換後: <span style="color:#ffffff">This is a test.</span>

      # Webで利用されるシャープ(#:省略可能)と6つの16進数の数字の組合せはそのまま反映される
      # 英字部分は大小の区別を行わなず、変換時に小文字に統一される
      変換前: RGB(#FF0000)This is a test.
      変換後: <span style="color:#ff0000">This is a test.</span>

      # RGB()関数は名前欄内に何回でも利用できる
      # また、RGBの英字部分は大小の区別を行わない
      変換前: RGB(#FF0000)Foorgb(#0000FF)BAR
      変換後: <span style="color:#ff0000">FOO</span><span style="color:#0000ff">BAR</span>

      # 上記のルールに反するRGB関数の使い方が行われている場合その部分は無視される
      # これを逆に利用して名前欄の文字色を元に戻すことが出来る
      変換前: RGB(-1,-1,-1)foorgb(invalid)bar
      変換後: foobar

      # 名前欄の先頭に#を除いた16進数の数字の組合せを@ではさんだ文字列を入れる
      # 英字部分は大小の区別を行わなず、変換時に小文字に統一される
      # RGB関数よりも優先的に適用され、名前欄中に1度しか利用できない
      変換前: @FfFfFf@test@000000@
      変換後: <span style="color:#ffffff">test@000000</span>

name

  上記の処理を行う関数です。

## Img0ch::Plugin::BBS::HTMLTag

標準では全てエスケープされるHTMLのタグを有効にするプラグインです。 本文のみ有効です。このプラグインを使用するには利用するサーバー側に HTML::Parserがインストールされている必要があります。

このプラグインはXSSの原因を作る危険性があります。 使用する場合はそのことを考慮してください。

タグ許可の記述ルールはini形式を用いて行います。 文法が間違っているとエラーが発生して書き込めなくなります。 configのTagsRuleConfigの項目を参照してください。

      # この行は無視されます
      ; この行も無視されます

      # (キー名)=(値)形式で記述します。
      # 値は1か0が入ります。1にすると許可、0にすると禁止を意味するようになります。
      # キー名または値前後の空白は無視されます。
      # なお、タグ記述ルールに入っていないタグ及び属性は全て無効とみなします。

      # [(タグ名)]よりも前にキー名(以下属性)と値を
      # 記述すると全てのタグに影響します。
      # この場合以下のタグに該当し、なおかつ属性に該当しない場合は
      # その属性が削除されることを意味します。
      # allとnoneは特別な意味が含まれています。説明は以下で。
      none = 1

      # E<lt>fontE<gt>タグに関する情報です。以下の場合はE<lt>fontE<gt>タグを
      # 有効にし、color属性またはsize属性があればタグとして表示することを
      # 許可することを意味します。
      [font]
      color = 1
      size  = 1

      # E<lt>bE<gt>タグに関する情報です。以下の場合はE<lt>bE<gt>タグを
      # 有効にしますが、属性を全て無効にすることを意味します。
      [b]
      none = 1

      # E<lt>s<gt>タグに関する情報です。以下の場合はE<lt>sE<gt>タグを
      # 有効にし、可能な限り属性を許可します。
      [s]
      all = 1

以下は強制的に無効にされるタグ及び属性情報です。

      style       = 0
      onmouseover = 0
      onclick     = 0
      onmouseout  = 0
      [a]
      all = 0
      [br]
      all = 0
      [blink]
      all = 0
      [hr]
      all = 0
      [marquee]
      all = 0
      [img]
      all = 0

parse

  上記の処理を行う関数です。

## Img0ch::Plugin::BBS::RSS

最後に書き込みした記録をRSSとして出力するプラグインです。 現在バージョン1.0に対応しています。

generate_ver_10

  RSSのバージョン1.0のxmlを出力する関数です。

## Img0ch::Plugin::BBS::Random774

名無しをルールにあわせてランダムに表示させて変更するプラグインです。

このプラグインを利用するにはconfigの[random774]を設定する必要があります。 詳しくはconfigを参照してください。

変更された名前欄はトリップやfusianasanと同じように細い文字で表示されます。

rewrite

  上記の処理を行う関数です。

## Img0ch::Plugin::BBS::UTF8Dat

utf8に変換したdatを生成するプラグインです。 Ajaxによる読み込みに対応したread.htmlの組合せで使います。

このプラグインは有効にしてから次の書き込みが成功した時点でファイルが生成されます。

sync

  utf8に変換したdatを生成する関数です。 Unicode::Japaneseを使用します。

remove

  utf8に変換されたdatを削除する関数です。 スレッド削除時に呼び出されます。

repair

  存在する全てのスレッドに対してutf8に変換したdatを生成し、 存在しないスレッドのutf8のdatを削除する関数です。 サブジェクト再生成が実行された時に呼び出されます。

## Img0ch::Plugin::BBS::VIP

外部モジュールVIPクオリティ(http://www.nullpo.org/pablic_html/vip_quality/vip_quality.html)を 使用してレスに変化をつけるプラグインです。 使用可能な記述方法は上記のURLを参照してください。 日時及びIDの変更がプラグイン側で出来ないため、 !noidといったIDの変更を行うコマンドは使用できません。

インストール方法はconfigのVIPクオリティを利用可能にするを参照してください

rewrite

  上記の処理を行う関数です。

## Img0ch::Plugin::Filter::Akismet

投稿情報をAkismetを経由してスパム等の投稿を排除するプラグインです。 Akismetはwordpress他ブログ等で利用されますが、かなり効果が高いとされています。

このプラグインはAkismetにIPアドレスが送信されます。また、 以下の設定次第ではメールアドレス及びリファラー情報を送信します。 このプラグインを利用するときはhttp://www.wordpress.comの APIキーを取得し、img0ch-config.cgiに以下のように記述する必要があります。

      [akismet]
      apikey = (wordpress.comで取得したAPIキー)
      # メールアドレスを送信する場合は次の行の#を削除する
      # mail = 1
      # リファラー情報を送信する場合は次の行の#を削除する
      # referer = 1

なお、メールアドレスに含むキャップパスは事前に処理されて削除されるため、 キャップパスがAkismetに送信されることはありません(mailが有効の場合に限る)。

Akismetの利用は基本的に個人利用でかつ利益をあまり上げていない場合無料ですが、 個人利用で一定額の利益を上げているまたは商用利用の場合は有料です。 詳細はAkismet(http://www.akismet.com)で確認してください。

このプラグインを使用するには利用するサーバー側にLWPが インストールされている必要があります。

check

  上記の処理を行う関数です。 「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属する キャップをつけた人の書き込みはエラー無しで通過します。

## Img0ch::Plugin::Filter::BanASCII

英字のみで構成される本文をエラーとして排除するプラグインです。 使用順はEncode、Unicode::Japaneseの順です。

is_ascii_only

  上記の処理を行う関数です。 この関数は例外で全ての権限を持つキャップグループに所属する キャップの書き込みでも通過せずに処理します。

## Img0ch::Plugin::Filter::DNSBL

IPアドレスをDNSBLに問い合わせて書き込みの可否を行うプラグインです。

以下の関数は「PROXY経由での書き込みの許可」の権限を持つキャップグループに 所属するキャップをつけた人の書き込みはエラー無しで通過します。

check_by_bbq

  niku.2ch.netに問い合わせて書き込みの可否を行う関数です。

check_by_bbx

  bbx.2ch.netに問い合わせて書き込みの可否を行う関数です。

check_by_dsbl

  list.dsbl.orgに問い合わせて書き込みの可否を行う関数です。

## Img0ch::Plugin::Filter::Host

あらかじめZerominに登録された拒否ホストの投稿を エラーとして排除するプラグインです。

check

  上記の処理を行う関数です。 「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属する キャップをつけた人の書き込みはエラー無しで通過します。

## Img0ch::Plugin::Filter::IP

あらかじめZerominに登録された拒否IPアドレスの投稿を エラーとして排除するプラグインです。

check

  上記の処理を行う関数です。 「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属する キャップをつけた人の書き込みはエラー無しで通過します。

## Img0ch::Plugin::Filter::JPOnly

リモートホストが日本のものであれば無条件で通過させ、 それ以外の国であれば書き込みを禁止するプラグインです。 まず先にinstallの Img0ch::Plugin::Filter::JPOnlyを使う の項目を参照してから有効にしてください。 スクリプトのエラーが発生し、書き込みが出来なくなります。

この処理では先にリモートホストが.jpで終了しているかを見ます。 それからIP::Countryでリモートホストの国籍を割り出します。 さらにこれがJPでなければHOST-jp.iniから例外を見ます。 例外に該当しなかった場合は偽を返し、エラーとして扱います。

check

  上記の処理を行う関数です。 「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属する キャップをつけた人の書き込みはエラー無しで通過します。

## Img0ch::Plugin::Filter::NGWord

あらかじめZerominに登録されたNGワードを含む投稿を エラーとして排除するプラグインです。

check

  上記の処理を行う関数です。 「PROXY経由での書き込みの許可」の権限を持つキャップグループに所属する キャップをつけた人の書き込みはエラー無しで通過します。

## Img0ch::Plugin::Rewrite::AutoLink

本文のhttp://、https://、ftp://の部分を <a>タグに変換してリンクさせるプラグインです。 configのEnableIDNの項目を参照してください。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

from_mobile

  上記の処理をr.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::Image

アップロードされたファイルのリンクを<img>タグに変換して 画像表示などをさせるプラグインです。 このプラグインはImg0ch::Plugin::Rewrite::AutoLinkを 有効にする必要があります。 configのUseFileSeek及びUsePictoの項目を参照してください。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

from_mobile

  上記の処理をr.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::Quotation

引用部分(>>)をリンクに変換させるプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

from_mobile

  上記の処理をr.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::StreamService::EbiTV

本文にebitv.jpのリンクがあれば ebitv.jp専用のリンクを作成するプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::StreamService::FlipClip

本文にflipclip.netのリンクがあれば flipclip.net専用のリンクを作成するプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::StreamService::GoogleVideo

本文にvideo.google.comのリンクがあれば video.google.com専用のリンクを作成するプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::StreamService::Watchme

本文にwatchme.tvのリンクがあれば watchme.tv専用のリンクを作成するプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::StreamService::YouTube

本文にyoutube.comのリンクがあれば youtube.com専用のリンクを作成するプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_read

  上記の処理をread.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Rewrite::Truncate

本文を長文であれば一部に切り取って再表示させるプラグインです。

from_bbs

  上記の処理をindex.html生成時に行う関数です。

from_mobile

  上記の処理をr.cgiによるhtml生成時に行う関数です。

## Img0ch::Plugin::Upload::ClamAV

アップロードされるファイルをClamAVを使って検査するプラグインです。 このモジュールを利用するにはClamAV::Clientのインストールが必要になります。 勿論ClamAVをインストールする必要があります。

ClamAV側に設定を行った上(デーモンとして立ち上げる必要がある)で img0ch-config.cgiに以下の設定を行う必要があります。

      [clamav]
      # Unixドメインを利用する場合はsocket_nameに
      # パスを指定する必要がある。デフォルトは値の通り
      socket_name = /var/run/clamav/clamd.ctl
      # TCPを利用する場合はtcp_hostとtcp_portに
      # それぞれアドレスとポート番号を指定する必要がある。
      # デフォルトは値の通り
      tcp_host = 127.0.0.1
      tcp_port = 3310

check

  上記の処理を行う関数です。

## Img0ch::Plugin::Upload::Expires

アップロードファイルを一定の時間を経過している場合に削除するプラグインです。 利用できる関数はそれぞれ処理内容が同一ですが、呼び出されるタイミングが異なります。 有効にする場合は書き込み及びアップロードされる頻度に合わせてどちらかひとつを有効にしてください。

有効にした後掲示板設定で「ファイルの有効期限(BBS_IMG_EXPIRES)」の設定が必要になります。 これを設定しない限りアップロードされたファイルはレスまたはスレッドが削除されるまで保持し続けます。

at_post_upload

  上記の処理をアップロードされた後に行う関数です。

from_read

  上記の処理を書き込み後に行う関数です。

## Img0ch::Plugin::Upload::MIME

アップロードされるファイルをFile::MMagicを使って検査するプラグインです。 ファイル名とファイルの中身が一致しない場合はエラーにし、アップロードを中止させます。 このプラグインは特に設定を行わなくても利用することが出来ます。

check

  上記の処理を行う関数です。

## Img0ch::Plugin::Upload::Thumbnail

アップロードファイルを画像であれば自動的に縮小させるプラグインです。 Img0ch::Plugin::Rewrite::Imageとの組合せで使います。 configのImageHandlerの項目を参照してください。

create

  上記の処理を行う関数です。

repair

  掲示板またはスレッド内の全ての画像に対してサムネイルを生成する関数です。 アップロードデータ修復が実行されたときに呼び出されます。

## Img0ch::Plugin::Upload::XCSV

アップロードされたファイルのインデックスをCSVとして出力するプラグインです。 これはread.htmlでのimageプラグインを利用するときにこのプラグインが 出力するファイルが必要になります。

このプラグインは有効にしてから次の書き込みが成功した時点でファイルが生成されます。

generate

  上記の処理を行う関数です。

repair

  掲示板またはスレッドに対してgenerate()を呼び出す関数です。 アップロードデータ修復が実行されたときに呼び出されます。

# SEE ALSO

Img0ch::Plugin

http://hikarin.jp ( alias to http://img0ch.sourceforge.jp )

# AUTHOR

hkrn <hikarin at users dot sourceforge dot jp>

plugin - プラグインの紹介

# INDEX

- AUTHOR
- DESCRIPTION
- Img0ch::Plugin::BBS::Coloring
- Img0ch::Plugin::BBS::HTMLTag
- Img0ch::Plugin::BBS::RSS
- Img0ch::Plugin::BBS::Random774
- Img0ch::Plugin::BBS::UTF8Dat
- Img0ch::Plugin::BBS::VIP
- Img0ch::Plugin::Filter::Akismet
- Img0ch::Plugin::Filter::BanASCII
- Img0ch::Plugin::Filter::DNSBL
- Img0ch::Plugin::Filter::Host
- Img0ch::Plugin::Filter::IP
- Img0ch::Plugin::Filter::JPOnly
- Img0ch::Plugin::Filter::NGWord
- Img0ch::Plugin::Rewrite::AutoLink
- Img0ch::Plugin::Rewrite::Image
- Img0ch::Plugin::Rewrite::Quotation
- Img0ch::Plugin::Rewrite::StreamService::EbiTV
- Img0ch::Plugin::Rewrite::StreamService::FlipClip
- Img0ch::Plugin::Rewrite::StreamService::GoogleVideo
- Img0ch::Plugin::Rewrite::StreamService::Watchme
- Img0ch::Plugin::Rewrite::StreamService::YouTube
- Img0ch::Plugin::Rewrite::Truncate
- Img0ch::Plugin::Upload::ClamAV
- Img0ch::Plugin::Upload::Expires
- Img0ch::Plugin::Upload::MIME
- Img0ch::Plugin::Upload::Thumbnail
- Img0ch::Plugin::Upload::XCSV
- NAME
- SEE ALSO
- SYNOPSYS
- at_post_upload
- check
- check_by_bbq
- check_by_bbx
- check_by_dsbl
- create
- from_bbs
- from_mobile
- from_read
- generate
- generate_ver_10
- is_ascii_only
- name
- parse
- remove
- repair
- rewrite
- sync

plugin - プラグインの紹介