diff options
Diffstat (limited to 'Bonus')
| -rwxr-xr-x | Bonus/2ch.cgi | 6 | ||||
| -rw-r--r-- | Bonus/README | 80 | ||||
| -rw-r--r-- | Bonus/README.eng | 2 | ||||
| -rwxr-xr-x | Bonus/goodict.cgi | 34 | 
4 files changed, 68 insertions, 54 deletions
| diff --git a/Bonus/2ch.cgi b/Bonus/2ch.cgi index 998c202..c52ad8d 100755 --- a/Bonus/2ch.cgi +++ b/Bonus/2ch.cgi @@ -63,7 +63,7 @@ for (0 .. ($lines - 1) / 100) {  }  $head .= "<a href=\"$cgi/l50\">ŐV50</a>\n";  print <<EOF; -Content-Type: text/html +Content-Type: text/html; charset=Shift_JIS  EOF  $i = 1; @@ -128,7 +128,7 @@ sub subback {  	$cmd = "mkdir -p $dir; $WGET -O $tmp $dat >/dev/null 2>&1";  	system $cmd;  print <<EOF; -Content-Type: text/html +Content-Type: text/html; charset=Shift_JIS  EOF  	@ARGV = ($tmp); @@ -153,7 +153,7 @@ sub post {  	my $host = $1;  	my $sock = IO::Socket::INET->new("$host:80") or die;  	# retrieve posting cookie; this may not work -	print "Content-Type: text/html\n\n"; +	print "Content-Type: text/html; charset=Shift_JIS\n\n";  	print $sock  	    "HEAD /test/bbs.cgi HTTP/1.1\n",  	    "Host: $host\n", diff --git a/Bonus/README b/Bonus/README index af019ce..7e7452c 100644 --- a/Bonus/README +++ b/Bonus/README @@ -1,30 +1,30 @@  2ch.cgi    [w3m-dev 03635] 2ch.cgi -  2ch  dat ľɤߤ local CGI Ǥ +  2ch の dat を直読みする local CGI です。 -  w3m file:/cgi-bin/2ch.cgi?http://pc.2ch.net/test/read.cgi/unix/1035755937/ +  w3m file:/cgi-bin/2ch.cgi?http://toro.2ch.sc/test/read.cgi/unix/1185784998/ -  wget κʬž(-c)Ȥޤ -  ɤ dat  ~/.w3m2ch/ ʲ¸ޤ -  ߤϤǤޤ +  wget の差分転送(-c)を使います。 +  読んだ dat は ~/.w3m2ch/ 以下に保存します。 +  書き込みはできません。  smb.cgi    [w3m-dev 03634] smb.cgi -  SMB ˥ local CGI Ǥ -  nmblookup,smbclient ȤΤ sabma ȡ뤵Ƥ -  ɬפޤ -  ѥɤϡ -  1) ~/.w3m/smb ˥ѥɤꤵƤꡢ -     smbclient  -A ץȤʤ -     smbclient -A ~/.w3m/smb ȤϤޤ -  2) Ķѿ PASSWD_FILE (ѥɤΤߤΥե) -     ƤϡĶѿ PASSWD_FILE Ȥޤ -  3) ~/.w3m/smb ˥ѥɤꤵƤС -     Ķѿ PASSWD_FD ȤäɸϷͳϤޤ -  ɤˤ衢ޤɤǤϤʤΤ SMB(CIFS)ץȥ -  Ǥ˾ +  SMB にアクセスする local CGI です。 +  nmblookup,smbclient を使うので sabma がインストールされている +  必要があります。 +  パスワードは、 +  1) ~/.w3m/smb にパスワードが設定されており、 +     smbclient の -A オプションを使えるなら +     smbclient -A ~/.w3m/smb として渡します。 +  2) 環境変数 PASSWD_FILE (パスワードのみのファイル)が設定 +     されている場合は、環境変数 PASSWD_FILE を使います。 +  3) ~/.w3m/smb にパスワードが設定されていれば、 +     環境変数 PASSWD_FD を使って標準入力経由で渡します。 +  どちらにせよ、あまり良い事ではないので SMB(CIFS)プロトコルを +  喋る版を希望。  google.cgi @@ -32,49 +32,49 @@ google.cgi  html2latex -  HTMLʸLaTeX ѴޤRubyץȤǤԴǤ -  ٤ˤΩĤ⤷ޤ +  HTMLの文書をLaTeX に変換します.Rubyスクリプトです.不完全です. +  ある程度の役には立つかもしれません. -  ˡ +  使用法      html2latex file.html > file.tex -  ֤Ƥͳ +  ここに置いてある理由 -    makeref ΤʼǤ :-) +    makeref のための部品取りです :-)  makeref -  HTMLʸɤߡֹޤֹäʸ -  ɸϤ˽ФǸˤΰϤޤRuby ץȤǤ +  HTMLの文書を読み,アンカーに番号を振ります.番号を振った文書を +  標準出力に書き出し,最後にその一覧を出力します.Ruby スクリプトです. -  ˡ +  使用法      makeref [-url base_url] [file] -    -url: ʸURLꤷޤΰФȤˡURL -          䴰뤿˻Ȥޤ +    -url: 文書のURLを指定します.リンクの一覧を出すときに,そのURLを +          補完するために使います. -  Х +  バグ -    HTMLεҥߥ( < ǤϤʤ < Ȥ&... κǸ ; դʤ -    )ȡỴʷ̤ˤʤ뤳Ȥޤ +    HTMLの記述ミス( < ではなく < を使う,&... の最後に ; を付けない +    等)があると,悲惨な結果になることがあります. -    Ⱦѥ(JIS X-0201)бƤޤ +    半角カナ(JIS X-0201カナ)に対応していません.  htmldump -  URL HTMLʸɤߡֹäɸϤ -  Фޤ +  URL からHTML文書を読み,アンカーに番号を振って整形し,標準出力に +  書き出します. -  ˡ +  使用法      dumphtml [URL] -    URL άȡ$WWW_HOME Ƥɤߤޤ +    URL を省略すると,$WWW_HOME の内容を読みます. -  Х +  バグ -    URL λؤʸHTMLǤʤä硤襤ʤȤˤʤޤ -    makeref ȤäƤΤǡmakeref ޤǤʤʸɽ -    Ѥˤʤޤ +    URL の指す文書がHTMLでなかった場合,かわいそうなことになります. +    makeref を使っているので,makeref がうまく処理できない文書の表示 +    は変になります. diff --git a/Bonus/README.eng b/Bonus/README.eng index 2f7507d..f7b1b1c 100644 --- a/Bonus/README.eng +++ b/Bonus/README.eng @@ -3,7 +3,7 @@    [w3m-dev 03635] 2ch.cgi    localcgi to read 2ch dat directly -  w3m file:/cgi-bin/2ch.cgi?http://pc.2ch.net/test/read.cgi/unix/1035755937/ +  w3m file:/cgi-bin/2ch.cgi?http://toro.2ch.sc/test/read.cgi/unix/1185784998/    It uses wget -c.    `dat' files are recorded under ~/w3m2ch/. diff --git a/Bonus/goodict.cgi b/Bonus/goodict.cgi index 8f443c1..5fb6581 100755 --- a/Bonus/goodict.cgi +++ b/Bonus/goodict.cgi @@ -1,14 +1,20 @@  #!/usr/bin/perl  # ~/.w3m/urimethodmap -# e:      file:/cgi-bin/goodict.cgi?%s -# w:      file:/cgi-bin/goodict.cgi?%s -# j:      file:/cgi-bin/goodict.cgi?%s +# e:      file:/cgi-bin/goodict.cgi?%s    Englich-Japanese +# w:      file:/cgi-bin/goodict.cgi?%s    Japanese-English +# j:      file:/cgi-bin/goodict.cgi?%s    Japanese +# a:      file:/cgi-bin/goodict.cgi?%s    All +# +# e:0:word  start with word +# e:1:word  perfect match +# e:2:word  end with word +# e:3:word  search body text +# e:6:word  search title +# e:word    perfect match -use NKF; -#$mode = 0; # substring -$mode = 1;  # perfect match -#$mode = 3; # search body text +use Encode; +use Encode::Guess qw/euc-jp utf8/;  $url = "http://dictionary.goo.ne.jp";  $_ = $ENV{"QUERY_STRING"};  if (/^e:/) { @@ -17,14 +23,22 @@ if (/^e:/) {      $kind = 'je';  } elsif (/^j:/) {      $kind = 'jn'; +} elsif (/^a:/) { +    $kind = 'all' +} +s@^[ewja]:@@ && s@^//@@ && s@/$@@; +if (/^([01236]):/) { +    $mode=$1; +    s/^[01236]://; +}else{ +    $mode="1";  } -s@^[ewjs]:@@ && s@^//@@ && s@/$@@;  if ($_) {  	s/\+/ /g;  	s/%([\da-f][\da-f])/pack('C', hex($1))/egi; -	$_ = nkf("-e", $_); +	$_ = encode("utf8", decode("Guess", $_));  	s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; -	$url .= "/search.php?MT=$_&kind=$kind&mode=$mode"; +	$url .= "/srch/$kind/$_/m$mode"."u/";  } else {  	$input = "w3m-control: GOTO_LINK";  } | 
