■ Top700、トワイライト6833作戦。at OPERATE
■ Top700、トワイライト6833作戦。 - 暇つぶし2ch95:動け動けウゴウゴ2ちゃんねる
07/05/17 20:46:46 uO5yLCa90
nekoだったら33より22じゃなかろうか

96:動け動けウゴウゴ2ちゃんねる
07/05/21 22:48:21 CCrgasnw0
にぃーにぃーよりはみーみーかな。

97:マァヴ ◆jxAYUMI09s
07/06/19 20:42:31 nX5bGrHU0 BE:4849092-PLT(45005)
2chの各板からそれぞれの板のTOP700にリンクした(^_^;)

98:動け動けウゴウゴ2ちゃんねる
07/06/19 21:19:20 +Yj/ev4G0
うさみみ、ろばみみ、ねこみみ

●とか無いので読めませんが乙!

99:動け動けウゴウゴ2ちゃんねる
07/06/19 21:26:08 rVWI5bNW0
携帯(べっかんこ) URLリンク(u.la) からだとあら不思議

100:マァヴ ◆jxAYUMI09s
07/06/19 21:27:30 nX5bGrHU0 BE:13201177-PLT(45005)
携帯からは、各板の「落」リンクからみれるだよ(^_^;)
詳しい見方は
URLリンク(u.la)

101:マァヴ ◆jxAYUMI09s
07/06/20 15:14:01 gTngpHrH0 BE:8082656-PLT(45005)
URLリンク(usa33.u.la)
TOPページをカテゴリわけしたー(^_^;)
そして携帯対応

102:root▲▲ ★
07/06/24 01:49:28 0 BE:2463539-PLT(74075)
で、
2chの動作報告はここで。 パート21
スレリンク(operate板:989番)

から移動。

元を作られた未承諾さんもちょっと書いてますが、ログを食べさせるほう(./log/run)は、

#!/bin/sh
#exec setuidgid dnslog multilog t ./main
exec /var/service/bby2ch/log/bbyfilter.pl setuidgid dnslog multilog t ./main

などとなっています(上記はbbyの場合)。

で、bbyfilterの内容がきっとポイントかなと。

103:root▲▲ ★
07/06/24 01:57:31 0 BE:4104195-PLT(74075)
で、bbyfilter の中の基本部分は、

# pipe to multilog
my $command = join " ", @ARGV;
open (MULTILOG, "|$command") or die "Could not open $command: $!";
select(MULTILOG); $| = 1;

として、通常のログ処理(./log/run に書いた setuidgid 以降の処理)をやらせます。

で、

# pipe to cmd
my $yakincmd = "sh -c \"exec /home/なんたら/なんとか.cgi >> /home/なんたら/なんとか.log 2>&1\"";
open (YAKINCMD, "|setuidgid なんたらのユーザ名 $yakincmd") or die "Could not open $yakincmd: $!";
select(YAKINCMD); $| = 1;

として、所定のコマンド(例えばトワイライトの処理をするコマンド)に pipe でつなぎます。

104:root▲▲ ★
07/06/24 02:00:13 0 BE:1915373-PLT(74075)
その後は while ループになっていて、
概ねこんなかんじになっています。

# 標準入力から読み込み (兼 終了チェック)
while (defined(my $line = <STDIN>)) {

# ここでそのままmultilogへ吐いてみる
print MULTILOG $line;

# フォーマットが合っていなければスルー
my($ok, $flag) = $line =~
/^($Hex{8}):$Hex{4}:$Hex{4} (\S $Hex{4}) .*$/o
or next;

# '+ 0001' 以外スルー
$flag ne '+ 0001' and next;

# OKならYAKINCMDに出力
print YAKINCMD $line;
}

exit;

105:root▲▲ ★
07/06/24 02:03:17 0 BE:1276872-PLT(74075)
あと、これ以外にIPアドレスが正当かどうかのチェック部分も入っていますが、
ここはトワイライト用のDNSサーバを非公開でやるのであれば、
必要ないんではないかなと。

で、このへんの原案は全て未承諾さんが書かれたものです。
もう4年ぐらいは、この仕組みで特に問題なく動いているはず。

106:FOX ★
07/06/24 02:05:05 0
わー嬉しい

まずは読んで理解します、



107:root▲▲ ★
07/06/24 02:08:04 0 BE:1094562-PLT(74075)
>>106
内容自体はそんなに難しくないので(Perlがだめだめな私でも一応理解できました)、

> select(MULTILOG); $| = 1;
> select(YAKINCMD); $| = 1;

とか、そのへんがきっとノウハウなんではないのかなと。

# 久々に見ていて
# あの時(Rock54/BBXを作っていた時)は、みんな餅が高かったなぁ、とか、
# そんなことを思ったりなんかしたです。

108: 株価【842】 △△ ◆cZfSunOs.U
07/06/24 04:20:47 xJ68XOsg0
> select(MULTILOG); $| = 1;
> select(YAKINCMD); $| = 1;

は,これと等価ですね(つまり,print などによる出力をバッファリングせず毎回 flush する).

    use IO::Handle;
    autoflush MULTILOG;
    autoflush YAKINCMD;

Perl の select には1引数のと3引数のがありますが,
poll() 的な処理をするのは3引数のやつで,
1引数のは print の出力先や $| などの変数設定がどの
ファイルハンドルに適用されるかを指定するものです.

109: ◆TWARamEjuA
07/06/24 10:39:37 AVdh5xr50 BE:1960463-2BP(6824)
>>107
→# あの時(Rock54/BBXを作っていた時)は、みんな餅が高かったなぁ、とか、
個人的にはperlのスキルが格段に上がるきっかけになったです。@殊にbbxfilter
確か名無しさんの助言が大いに影響されましたです。。。

110:マァヴ ◆jxAYUMI09s
07/06/25 16:38:25 mfUT5oLj0 BE:4310944-PLT(45055)
みみ系サーバ、プログラムのバグで再起不能(^_^;)再インストールして作り直しへ
そして、作り直し完了・・・・とほほ

111:動け動けウゴウゴ2ちゃんねる
07/06/25 16:50:11 zBG1sp5X0
ご愁傷様です

112:動け動けウゴウゴ2ちゃんねる
07/07/10 10:29:47 gjlkT5aHO
無駄な事してんじゃねーよ糞運営

113:動け動けウゴウゴ2ちゃんねる
07/09/12 01:01:05 qi6e5dcO0
どないなっとんねん近況報告ぐらいせえや

114:動け動けウゴウゴ2ちゃんねる
07/10/02 01:44:07 fc/ABNns0
実況古いのしか出ないし
未だに1002とかなってるし..

115: ◆NHi28FfuEI
07/10/09 18:13:09 83XO+PAR0 BE:595520879-2BP(2555)
いまごろ気付いたワタシ。まさにロバ美々。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch