PK
¯ÈDÏh¨³À1 À1 rescheck.js20140608/rescheck.js//ã€ç™»éŒ²å ´æ‰€ã€‘ "V2C\script\system\rescheck.js"
//ã€å†…容】rescheck.jsã®ã¾ã¨ã‚
//ã€ãƒ‘ーミッション】SF
//ã€æ›´æ–°æ—¥æ™‚】2014/06/07 NGBEID2.0ã«å¯¾å¿œã—ãŸBeéžè¡¨ç¤ºæ©Ÿèƒ½ã®è¿½åŠ (パーミッションã¯ã€ŒSFã€ã®ã¾ã¾) 6/8追記:ãƒã‚°ä¿®æ£
// 2014/05/19 é‡ã„処ç†ã®futalogを消ã—ã¦è»½ã„fchanlogã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚
// 2014/04/28 ng_poverty_imgresã‚’è¿½åŠ ã—ãŸã€‚ãã‚Œã«ä¼´ã„パーミッションãŒã€ŒSFã€ã«å¤‰æ›´ã«ãªã‚Šã¾ã™ã€‚
// 2014/03/20 obj.futalogã§ã„ã¾ã¾ã§ã¯æŽ¨æ¸¬ã®ç”»åƒURLã§ã—ãŸãŒfutalogスレを開ã„ã¦åŽ³å¯†ã«ç”»åƒURLã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«ã—ãŸ
// 2014/03/04 ãƒ‹ãƒ¥ãƒ¼ã‚¹é€Ÿå ±ã®ãƒ©ãƒ³ãƒ€ãƒ åç„¡ã—を強制的ã«åç„¡ã—ã«ã™ã‚‹ ck.kyouseiNanasiNewsRandomã‚’è¿½åŠ ã—ãŸ
//ã€å‚™è€ƒã€‘beginCheckã¨endCheckã®{}内ã§ã€è¡Œé ã®ã‚³ãƒ¡ãƒ³ãƒˆã€Œ//ã€ã‚’ã€åˆ©ç”¨ã™ã‚‹è¡Œã”ã¨ã«è§£é™¤ã™ã‚‹ã“ã¨ã§ã€æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚
//ã€ã‚¹ã‚¯ãƒªãƒ—ト】
// ----- 次ã®è¡Œã‹ã‚‰ -----
function beginCheck( th, cx ) {
var ck = {}, bd = th.board;
// ***** 次ã®è¡Œã‹ã‚‰åˆ©ç”¨ã™ã‚‹è¡Œé ã®ã€Œ//ã€ã‚’削除ã™ã‚‹ *****
// cx.setCheckRawText( false ); //テã‚スト置æ›é–¢æ•°checkRawTextを実行ã—ãªã„。
// if (bd.allAnonymousName.length > 0) ck.nanashi = bd.allAnonymousName; //å„æ¿ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆåç„¡ã—ã‚’'åç„¡ã—'ã«ç½®æ›
// ck.fukidasi = bd.key.search("live") != -1; //実æ³ç³»æ¿ã§åå‰ãŒå¹å‡ºã—ã®å ´åˆã€ãƒ¬ã‚¹ã®æœ€åˆã«åŠ ãˆã‚‹
// ck.sankakke = true; //ã•ã‚“ã‹ã£ã‘ーを△ã«ã™ã‚‹ã€‚
// ck.no_anchor_1001 = th.bbs.is2ch; //1001ã®ã‚¢ãƒ³ã‚«ãƒ¼ã¯ãƒªãƒ³ã‚¯ã—ãªã„。
// ck.renbanURL = true; //URLã®ã¿ã®è¡ŒãŒé€£ç¶šã™ã‚‹å ´åˆã€å„è¡Œã«ç•ªå·ã‚’振る
// ck.ZentoHan = true; //全角英数をåŠè§’英数ã«
// ck.YashitoKata = true; //香具師を方ã«
// ck.kyouseiNanasi = true; //!ninjaã€!denkiã€!nanjaã€!kabã€!omikujiã€!damaã®ã¿ã‚’åç„¡ã—扱ã„ã«ã™ã‚‹ã€‚
// ck.kyouseiNanasi2 = true; ck.anonymousName = bd.anonymousName; // 地域表示ãŒå«ã¾ã‚Œã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãªåå‰ã€æŠ•ç¨¿æ¯Žã«ãƒ©ãƒ³ãƒ€ãƒ ãªæ–‡å—列ã«å¤‰ã‚るデフォルトãªåå‰ã‚’åç„¡ã—扱ã„ã™ã‚‹ã€‚
// ck.kyouseiNanasiNewsRandom = th; //「リストã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ (地域)@転載ç¦æ¢ã€ã®æŠ•ç¨¿æ¯Žã«å¤‰ã‚ã‚‹åå‰ã‚’åç„¡ã—扱ã„ã«ã™ã‚‹ã€‚(リストURL http://ken.2ch.net/nanashi999.txt)
// ck.yakitori = true; //åå‰æ¬„ã®ç„¼ãé³¥" [―{}@{}@{}-] "を消ã™ã€‚
// ck.no_anchor_over_self = true; //自レス以上ã®ãƒ¬ã‚¹ç•ªã‚¢ãƒ³ã‚«ãƒ¼ã¯ãƒªãƒ³ã‚¯ã—ãªã„。
// ck.breakWWWLink =true;//"www."ã‹ã‚‰å§‹ã¾ã‚‹URLã¯ãƒªãƒ³ã‚¯åŒ–ã—ãªã„。
// ck.fchanlog = th; //ãµãŸã°ç”»åƒURL直下ã«ãµãŸã°ç”»åƒä¿ç®¡ã‚µã‚¤ãƒˆ(2chanlog)ã®URLã‚’ä»˜åŠ ã™ã‚‹
// ck.gif2short = true; //gifã®å ´åˆã€ã‚¹ãƒ¬èªã¿è¾¼ã¿æ™‚ã«è‡ªå‹•ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã•ã›ãªã„よã†ã«GoogleçŸç¸®URLã«ç½®æ›ã™ã‚‹
// cx.setCheckAA( false ); //AA判定関数checkAAを実行ã—ãªã„。
// ck.aa_type1 = bd.key.equals( "v2cj" ); //V2Cスクリプトã®ãƒ¬ã‚¹ã‚’自動AA判定ã™ã‚‹ã€‚
// ck.aa_type2 = true; //( ・e・)ã¨ãƒŽï¾‰âˆ®â€˜ _l‘)を自動AA判定ã™ã‚‹ã€‚
// cx.setCheckNG( false ); //éžè¡¨ç¤ºåˆ¤å®šé–¢æ•°checkNGを実行ã—ãªã„。
// ck.ng_res1 = true; //レス1を常ã«éžè¡¨ç¤ºã«ã™ã‚‹ã€‚
// ck.ng_kote = bd.key.equals( "software" ) ? bd.anonymousName : null; //ソフæ¿ã§n|aã•ã‚“以外ã®ã‚³ãƒ†ãƒãƒ³ã‚’éžè¡¨ç¤ºåˆ¤å®šã™ã‚‹ã€‚
// ck.ng_poverty_imgres = 1; // 嫌儲ã®2ã‹ã‚‰10レス(è¨å®šåˆæœŸå€¤240行目ã‚ãŸã‚Šã§å¤‰æ›´å¯)ã¾ã§é †ç¹°ã‚Šç”»åƒã®ã¿ã®ãƒ¬ã‚¹ã‹åˆ¤å®šã—ã¦ã„ã£ã¦è¦‹ã¤ã‹ã£ãŸæ™‚点ã§éžè¡¨ç¤ºè¨å®šã—処ç†ã‚’終了ã™ã‚‹(「=ã€ã®å³å´ãŒ1ãªã‚‰é€æ˜Ž,2ãªã‚‰é€šå¸¸NG)
if (String(th.url).indexOf('2ch.net') >= 0) { ck.ng_beid2 = getBeIdObj(); } // NGBEID2.0ã«å¯¾å¿œã—ãŸBeéžè¡¨ç¤ºæ©Ÿèƒ½ã€‚パーミッション「SF〠(※別途 registerNGBEID2.jsã€subject.jsã€threadld.jsãŒå¿…è¦)
// ***** å‰ã®è¡Œã¾ã§ *****
for ( var i in ck ) {
return ck;
}
return false;
}
var pu = java.util.regex.Pattern.compile('((?:h|h)?ttps?://[!#-;=?-Z_a-z~ ]+ ?(?:
?|$)){2,}');
var pb = java.util.regex.Pattern.compile(' ?(?:
?|$)');
var pn = java.util.regex.Pattern.compile('(?: (?:å¿æ³•å¸–ã€Lv=\\d+,xxxPT?】[\\(\\)\\+\\-\\d:]*|'
+ 'ã€(?:北陸?|æ±åŒ—?|ä¸(?:部|国)|é–¢|四国?|ä¹å·ž?|沖縄?)é›» (?:)?[.\\d-]+(?:<\/font>)? %】|'
+ 'ã€D\\w+\\d{16}】|æ ªä¾¡ã€(?:E|\\d+)】|ã€(?:大å‰|ä¸å‰|å‰|å°å‰|末å‰|凶|大凶|豚|ã´ã‚‡ã‚“å‰|ã ã‚“å‰|神|女神)】|'
+ 'ã€\\d+円】)[  ]+)+');
var pn2a = java.util.regex.Pattern.compile('番組ã®é€”ä¸ã§ã™ãŒ<\\/b>.+ã§ã™');
var pn2b = java.util.regex.Pattern.compile('\\(.+\\)');
var pa = java.util.regex.Pattern.compile('((?:(?:>)+|>+) ?)(\\d+)');
var pw = java.util.regex.Pattern.compile('((?:^|[^/])(?:www))(\\.)');
function getBeIdObj()
{
var l = null; w = 0;
try {
var js = v2c.readStringFromFile(new java.io.File(v2c.saveDir + '/script/registerNGBEID2.js'));
if (js) {
l = eval(String(js));
if (l) {
w = l.getMaxWeight();
}
}
} catch(e) { }
return { list: l, weight: w };
}
function checkRawText( res, cx ) {
var name = res.name;
if (name) name = res.name + '';
var msg = res.message + '';
var num = res.number;
var obj = cx.checkObject;
if ( obj.fukidasi ) {
if ( name.search(/(-v-|ï¿£(V|V|∨|ï¼¼\||\|ï¼)ï¿£)/) != -1 ) {
msg = name + '\n' + msg;
}
}
if ( obj.kyouseiNanasi ) {
if (name && pn.matcher(name).matches()) {
res.setNanasi(true);
}
}
if ( obj.kyouseiNanasi2 && name ) {
if (pn2a.matcher(name).matches()) {
res.setNanasi(true);
} else if ((name.indexOf(obj.anonymousName) >= 0) && (name != obj.anonymousName)) {
var divname = name.split(obj.anonymousName);
//if (divname[0]) { } /* デフォåã®å‰éƒ¨åˆ†ã®åˆ¤å®š */
if (divname[1]) { /* デフォåã®å¾Œéƒ¨åˆ†ã®åˆ¤å®š */
if (pn2b.matcher(divname[1]).matches()) {
res.setNanasi(true);
}
}
}
}
if ( obj.kyouseiNanasiNewsRandom && name ) {
var th = obj.kyouseiNanasiNewsRandom;
if (/[@ï¼ ]転載ç¦æ¢$/.test(name)) {
res.setNanasi(true);
}
}
if ( obj.yakitori ) name = name.replace( / <\/b>\[―\{\}@\{\}@\{\}-\] /g, '' );
if ( obj.sankakke ) msg = msg.replace( /ã•ã‚“ã‹ã£ã‘ー/g, 'â–³' );
if ( obj.YashitoKata ) msg = msg.replace( /香具師/g, '方' );
if ( obj.no_anchor_1001 && num > 1000 ) {
var sti=res.timeid;
if (sti.startsWith( 'Over ' )) {
msg = msg.replace( /(>>)(\d+)/g, '$1$2' );
}
}
if ( obj.no_anchor_over_self && num > 1 ) {
var mt = pa.matcher(msg);
if (mt.find()) {
mt.reset();
var sb = java.lang.StringBuffer();
var lpc = 0;
while (mt.find() && lpc < 10) {
if (mt.group(2) >= num) {
mt.appendReplacement(sb, '$1$2');
}
lpc++;
}
msg = mt.appendTail(sb);
}
}
if( obj.nanashi ) {
for(var i = 0;i');
var i=1;
var ip0=0;
while (mb.find()) {
var ip=mb.end();
if (ip==ip0) {
break;
}
if (i<=9) {
sb.append('0');
}
sb.append(String(i++));
sb.append('. ');
sb.append(su.substring(ip0,mb.start()));
sb.append(mb.group());
ip0 = ip;
}
sb.append('');
sb.append(msg.substring(mu.end()));
msg = sb + '';
}
}
if ( obj.breakWWWLink ) {
var mt = pw.matcher(msg);
if (mt.find()) {
msg = mt.replaceAll('$1$2');
}
}
if ( obj.ZentoHan ) {
msg = (msg+'').replace(/([ï¼-ï¼™ï½-zA-Z])/g,function(whole,reg){
var sub = 'ï¼'.charCodeAt(0)-'0'.charCodeAt(0);
return String.fromCharCode(reg.charCodeAt(0)-sub);
});
}
if (obj.fchanlog) {
//if (/(?:may|img|jun|dec|dat)\.2chan\.net/.test(obj.fchanlog.url.host.toString())) {
msg = msg.replace(/h?t?t?p:\/\/\w+\.2chan\.net\/(may|img|jun|dec|dat)\/b\/src\/((\d{3})(\d{2})(\d{2})\d+)\.(jpe?g|gif|png)/ig,
'$&
â”— http://$1.2chanlog.net/$1/$3/$4/$5/$2.$6');
//}
}
if (obj.gif2short) {
var apiUri = "https://www.googleapis.com/urlshortener/v1/url";
msg = String(msg).replace(/(?:h|h)?ttps?:\/\/(.*?\.gif)/ig, function(a, g1) {
var json = '{"longUrl": "http://' + g1 + '"}';
var hr = v2c.createHttpRequest(apiUri, json);
hr.setRequestProperty('Content-type', 'application/json');
var content = hr.getContentsAsString();
if (content) {
var args = eval('(function() { return ' + content + ' })();');
if (args.id) {
return args.id;
}
}
return a;
});
}
res.setName( name );
res.setMessage( msg );
}
function checkAA( res, cx ) {
var msg = res.message + '';
var obj = cx.checkObject;
if ( obj.aa_type1 && msg.indexOf( 'function' ) >= 0 ) {
res.setAA(true);
}
if ( obj.aa_type2 && ( msg.indexOf( '( ・e・)' ) >= 0 || msg.indexOf( 'ノノ∮‘ _l‘)' ) >= 0 ) ) {
res.setAA(true);
}
}
function checkNG( res, cx ) {
var sn = res.name;
var obj = cx.checkObject;
if ( obj.ng_res1 && res.number == 1 ) {
res.setNG( 'レス1' );
}
if ( obj.ng_kote && ( sn != null ) && !sn.startsWith( 'n|a' ) && !sn.equals( obj.ng_kote ) ) {
res.setNG( 'コテãƒãƒ³' );
}
if ( obj.ng_poverty_imgres ) {
/* è¨å®š */
// 2レス目ã«ç”»åƒãƒªãƒ³ã‚¯ãŒä¸€ã¤ã ã‘貼られã¦ã„るよã†ãªãƒ¬ã‚¹ã‚’NGã«ã™ã‚‹ã«ã¯ mi = 2ã€hi = 2ã€mu = false ã«è¨å®šã—ã¦ä¸‹ã•ã„
var mi = 2; // ãƒã‚§ãƒƒã‚¯ã‚’開始ã™ã‚‹ãƒ¬ã‚¹ç•ªå·
var hi = 10; // ãƒã‚§ãƒƒã‚¯ã‚’終了ã™ã‚‹æœ€å¤§ãƒ¬ã‚¹ç•ªå·(ヒットã—ãŸæ™‚点ã§çµ‚了ã™ã‚‹)
var mu = true; // 本文ã«è¤‡æ•°ã®URLãŒè²¼ã‚‰ã‚Œã¦ã‚‹å ´åˆã‚‚ヒットã•ã›ã‚‹å ´åˆã¯trueã€URLãŒï¼‘ã¤ã®æ™‚ã ã‘ヒットã•ã›ãŸã„å ´åˆã¯false
/* ã“ã“ã¾ã§ */
if (res.number >= mi && res.number <= hi) {
var re = (mu) ? /h?t?t?ps?:\/\/(?:[\w -.\/?%&=]*\.(?:jpe?g|gif|png|bmp))[\r\n]+/g
: /h?t?t?ps?:\/\/(?:[\w -.\/?%&=]*\.(?:jpe?g|gif|png|bmp))[\r\n]+/;
if (String(res.message).replace(re, '').length == 0) {
res.setNG('嫌儲画åƒãƒ¬ã‚¹', (obj.ng_poverty_imgres == 1));
var vsutil = eval(String(v2c.readStringFromFile(new java.io.File(v2c.saveDir + '/script/vsutil.js'))));
var addlines = [];
var ngfile = v2c.readStringFromFile(v2c.saveDir + '/ngfile.txt');
var addtime = parseInt((new Date()).getTime() / 1000);
var endl = java.lang.System.getProperty("line.separator");
for (var item in res.links) {
var cache = res.links[item].imageCacheFile;
var sha;
if (cache) {
sha = vsutil.getSHA(v2c.readBytesFromFile(cache));
/*
var refpath = cache.getParentFile().getName() + '/' + cache.getName();
cache["delete"]();
var f = new java.io.File(v2c.saveDir + '/image/props/' + refpath);
f["delete"]();
f = new java.io.File(v2c.saveDir + '/image/thumbs/' + refpath);
f["delete"]();
*/
} else {
var hr = v2c.createHttpRequest(res.links[item]);
var tmp = hr.getContentsAsBytes();
if (tmp && hr.contentType.indexOf('image') >= 0)
sha = vsutil.getSHA(tmp);
}
if (sha) {
if (ngfile.indexOf(sha) < 0) {
addlines.push(sha +',' + addtime + ',' + addtime + ',嫌儲画åƒãƒ¬ã‚¹' + endl);
}
}
}
if (addlines.length > 0) {
for (var i = 0; i < addlines.length; i++) {
ngfile += addlines[i];
}
vsutil.writeStringToSettingFile('ngfile.txt', ngfile);
}
obj.ng_poverty_imgres = false;
}
}
}
if ((String(res.thread.url).indexOf('2ch.net') >= 0) && res.beID && obj.ng_beid2 && ((res.weight - obj.ng_beid2.weight) <= 0)) {
var list = obj.ng_beid2.list;
var beID, item;
if ((beID = (/ BE:(\d+)/.test(res.source)) ? RegExp.$1 : null) &&
(item = list.getItem(beID)) &&
(item.number == beID) &&
(item.res)
) {
res.setNG('Be2.0:' + item.label, item.transparent, item.weight);
}
}
}
function endCheck( th, cx ) {
// ***** 次ã®è¡Œã‹ã‚‰åˆ©ç”¨ã™ã‚‹è¡Œé ã®ã€Œ//ã€ã‚’削除ã™ã‚‹ *****
//java.lang.System.gc(); //自動的ã«ã‚¬ãƒ™ãƒ¼ã‚¸ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’実行ã™ã‚‹ã€‚
// ***** å‰ã®è¡Œã¾ã§ *****
}
// ----- å‰ã®è¡Œã¾ã§ -----PK?
¯ÈDÏh¨³À1 À1 $ rescheck.js20140608/rescheck.js
Ày"ƒÏ2}ÕRïÍùÐJrbÏPK q ý1