[過去ログ] 2ch悪質荒らしのガイドライン2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
297: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 17:58 ID:EfFaSmsz(5/11) AAS
ちゃんとクッキー対策もしましょうね☆
298: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 17:59 ID:EfFaSmsz(6/11) AAS
でも、このスクリプトより、age2ch.plというスクリプトのほうが使い勝手が良いです。
スクリプト厨房の皆さんは、そちらを使いましょうね。
299: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:01 ID:EfFaSmsz(7/11) AAS
かなり有名なスクリプトですね。
2chを荒らしたり、また荒らしについて語ったりする人で、知らない人はまずいないんじゃないですか。
◆age2ch.plのreadme.txt

============================================================
age2ch.pl 0.03.24, 非対話的2ちゃんねるメンテナンス用ソフト
============================================================

使い方: age2ch.pl [オプション]... [URL]

● age2ch.pl の概要

お気に入りのスレッドがいつのまにか dat 落ちしてしまった!
3日に一回でいいから自動的にお気に入りのスレッドを保守あげ
省7
300: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:02 ID:EfFaSmsz(8/11) AAS
● 使い方

Active Perl などがインストールされている必要があります。
外部リンク[plex]:www.activestate.com

コマンドプロンプトなどから
$ cd (age2ch.plのあるフォルダのパス)
としたあとで
$ age2ch.pl (スレッドまたは板のURL。以後単に[URL])
で書き込めます。

$ age2ch.pl -nhoge [URL]
名前を hoge にします。
省8
301: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:02 ID:EfFaSmsz(9/11) AAS
$ age2ch.pl -pproxy1.host.nil/proxy2.host.nil/proxy3.host.nil [URL]
とすることで、プロクシを設定します。
デフォルトではプロクシを通しません。

$ age2ch.pl -q [URL]
とすることで、出力しないようにします。

これらをふまえた上で、Unix 系 OS であれば cron から、Windows であれば
タスクスケジューラなどから立ち上げることで、定期 age できるようになります。

その他の機能についての詳しい説明は
$ age2ch.pl --help
をご覧ください。
省2
302: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:03 ID:EfFaSmsz(10/11) AAS
昔うpされていたage2ch.plが消されてしまっているので転載しましょう。
303: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:04 ID:EfFaSmsz(11/11) AAS
#! /usr/local/bin/perl -w

require 5.005;
use strict;
use Fcntl qw(:DEFAULT :flock);
use Getopt::Long;
use LWP::Simple;
use LWP::UserAgent;
JCODE:{my $path=$0;$path=~s/[^\/\\]+$//;require $path.'jcode.pl';}

#---------------------------------------------------------------------

# Output code $OCODE can be any of "jis", "sjis" or "euc".
省5
304: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:04 ID:6CTKciu/(1/4) AAS
# Script name
my $SCRIPT= "age2ch.pl";
my $VERSION= "0.03.24";

my ($DISP_VERSION, $DISP_HELP, $DEBUG, $QUIET, $VERBOSE, $CONFIG,
$NAME, $MAIL, $BODY, $PROXY, $NUMBER, $TIMEOUT, $WAIT, $SERVER,
$BBS, $THREAD, $ERROR_COUNT, $EXIT_ERROR_COUNT, $URL, $RAND,
$EUC, @BODY, @PROXY);

# Default settings
$NUMBER= 1;
$WAIT= 6;
省7
305: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:05 ID:6CTKciu/(2/4) AAS
# Get options
GETOPT:{
my ($disp_version, $disp_help, $debug, $quiet, $verbose,
$config, $rand, $name, $mail, $body, $proxy, $number, $timeout,
$wait, $exit_error_count) = get_options ();

$CONFIG= $configif defined $config;
$RAND= $randif defined $rand;

read_config_file () if $CONFIG;
read_thread_html () if $RAND;

$DISP_VERSION= $disp_versionif defined $disp_version;
省13
306: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:05 ID:6CTKciu/(3/4) AAS
if (defined $DEBUG) { undef $QUIET; undef $VERBOSE }
elsif (defined $QUIET) { undef $VERBOSE; undef $DEBUG }

@PROXY = split (/[\/\s]+/, $PROXY) if defined $PROXY;

if ($DISP_VERSION) {
disp_version();
} elsif ($DISP_HELP) {
disp_help();
} elsif ($THREAD) {
post_thread($BBS, $THREAD);
} elsif ($BBS) {
省6
307: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:05 ID:6CTKciu/(4/4) AAS
# Get options
sub get_options {
my ($disp_version, $disp_help, $debug, $quiet, $verbose,
$config, $rand, $name, $mail, $body, $proxy, $number, $timeout,
$wait, $exit_error_count);

Getopt::Long::Configure ("bundling");
GetOptions (
'V|version'=> \$disp_version,
'h|help'=> \$disp_help,
'd|debug'=> \$debug,
省14
308: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:06 ID:riq0tbGK(1/4) AAS
($disp_version, $disp_help, $debug, $quiet, $verbose,
$config, $rand, $name, $mail, $body, $proxy, $number, $timeout,
$wait, $exit_error_count);
}

# Read config file
sub read_config_file {
my $path = $0;
$path =~ s/[^\/\\]+$//;
my $confref = _read_config_file($path.$CONFIG);
$NAME= ($$confref{NAME} =~ /^([^\n]+)/)[0] if $$confref{NAME};
省4
309: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:07 ID:riq0tbGK(2/4) AAS
sub _read_config_file {
my ($file)=@_;
my ($buf, $block_name, %ret);

if (-e "$file"){
open INI, "$file" or disp_error ("Can't open: $!");
flock (INI, LOCK_SH) or disp_error ("Can't flock: $!");

foreach $buf (<INI>) {
next if $buf =~ /^\#/;
chomp $buf;
if ($buf =~ /\[(\w+)\]/i) {
省14
310: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:07 ID:riq0tbGK(3/4) AAS
sub read_thread_html {
if ($DEBUG) { print time_stamp()."Downloading $RAND... " }

my $content = get ($RAND);
disp_error("No content: $RAND") unless $content;
jcode::sjis2euc(\$content);
my ($front, $foot);
($front, $content) = split(/<dl><dt>/, $content, 2);
disp_error("No content: $RAND") unless $content;
($content, $foot) = split(/<\/dl>/, $content, 2);
disp_error("No content: $RAND") unless $content;
省17
311: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:07 ID:riq0tbGK(4/4) AAS
if ($DEBUG) { print "done.\n" }
}

# Download subback.html
sub download_subback_html {
my ($url) = @_;
my ($buf, @thread);

if ($DEBUG) { print time_stamp()."Downloading $url... " }

@_ = split(/[\r\n]/, get($url));

foreach $buf (@_) {
push @thread, $1 if ($buf =~ /<a href="(\d+)\/l50">/);
省4
312: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:08 ID:y/169R02(1/4) AAS
# parse input url
sub parse_url {
my ($url) = @_;

$URL = $url;

if ($url =~ /^http:\/\/([^\/]+\.(?:2ch\.net|bbspink\.com))\/test\/read\.cgi\/([^\/]+)\/(\d+)\//) {
($SERVER, $BBS, $THREAD) = ($1, $2, $3);
} elsif ($url =~ /^http:\/\/([^\/]+\.(?:2ch\.net|bbspink\.com))\/([^\/]+)\//) {
($SERVER, $BBS) = ($1, $2);
} else {
disp_init_error("$url: Invalid URL.");
省3
313: 03/01/08 18:07 ID:bIVz9p+G(1/5) AAS
Javascriptの勉強に使わせてもらお。
314: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:08 ID:y/169R02(2/4) AAS
# display initial error and exit
sub disp_init_error {
my ($message) = @_;

print <<EOF;
$SCRIPT: $message
Usage: $SCRIPT [OPTION]... [URL]

Try `$SCRIPT --help' for more options.
EOF

exit;
}
省10
315: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:08 ID:y/169R02(3/4) AAS
# display help and exit
sub disp_help {
print <<EOF;
$SCRIPT $VERSION, a non-interactive maintenance tool for 2ch.
Usage: $SCRIPT [OPTION]... [URL]

Mandatory arguments to long options are mandatory for short options too.

Startup:
-V, --version display the version of $SCRIPT and exit.
-h, --help print this help.

Logging and input file:
省6
316: レッツスクリプト荒らし ◆yGAhoNiShI 03/01/08 18:09 ID:y/169R02(4/4) AAS
Post:
-n, --name=NAME set name to NAME.
-m, --mail=MAIL set mail address to MAIL.
-b, --body=BODY set message body to BODY.
-p, --proxy=PROXY set http proxy to PROXY.
-t, --tries=NUMBER set number of retries to NUMBER (0 unlimits).
-T, --timeout=SECONDS set the read timeout to SECONDS.
-w, --wait=SECONDS wait SECONDS between posts.
-e, --error=NUMBER exit if error occurred NUMBER times (0 unlimits).
EOF
省2
1-
あと 686 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s