5chExtendr / 2chTubeVideoBoard

// ==UserScript==
// @license     MIT
// @author      5chTubeExtender
// @name        2chTubeVideoBoard
// @namespace   Violentmonkey Tiesto Scripts
// @match       *://*.2ch.sc/*
// @run-at      document-end
// @grant       none
// @version             2026/03/30
// @description Version 2026/03/30
// @icon   https://cdn-icons-png.flaticon.com/64/2504/2504965.png
// ==/UserScript==

// Must install Extentions [AdGuard],[Violentmoky],[Usar-Agent Switcher]



if(0){d=document.body.innerHTML;alert(d);}


(function(){db=document.body.innerHTML;const msgSW=0; const sfSW=0;lh=location.href;lh=lh.split('?')[0].split('#')[0]+'/';locti=lh.split('/')[3];lhs=lh.split('/');srvti=lhs[2].split('.')[0];
Mlh='https://2ch.sc/bbstableable.html';Blh='https://2ch.sc/'+locti+'/';Tlh=Blh+'subback.html';Blh+='#menu';
const nglists0=/(XiK9DeIMt14|XpTT20ly9hA|AM7SbxsDiZE|p5_g4e0yxWc|VpRpvvdOTRc|daApYtbhUbQ|VpRpvvdOTRc|daApYtbhUbQ|zQ9jadTJioA|XiK9DeIMt14|daApYtbhUbQ||VpRpvvdOTRc|AM7SbxsDiZE|daApYtbhUbQ|p5_g4e0yxWcn|VpRpvvdOTRc|XpTT20ly9hA|VpRpvvdOTRc|\-dsYDbPkCUo|VpRpvvdOTRc|p5_g4e0yxWc|FLGXde69SdU|0OY9ts4YAKI|XiK9DeIMt14|zQ9jadTJioA|AM7SbxsDiZE|XpTT20ly9hA|daApYtbhUbQ|\-dsYDbPkCUo1dsDYheETWc|1dsDYheETWc|2yW9tcOjIm4|rU4QkIzgiWE|rz59mVFioi4|esN3hZtik8E)(\/?)/ //除外リスト0
const nglists1=/(daApYtbhUbQ|OVcewUPbROU|FLGXde69SdU|XiK9DeIMt14|VpRpvvdOTRc|p5_g4e0yxWc)(\/?)/ //除外リスト1
const nglists2=/(rU4QkIzgiWE|M7Vukhs5maQ|XiK9DeIMt14|0OY9ts4YAKI|zQ9jadTJioA)(\/?)/ //除外リスト2

const nolist='nolist';kara='';top='_top';blank='_brank';Xbox='<br><br>  '+
'<a style=width:30%;height:12px; onClick=;window.open(Mlh,top)><center>2ch板一覧</center></a>'+
'<a style=width:30%;height:12px; onClick=;window.open(Blh,top)><center>板トップ</center></a>'+
'<a style=width:30%;height:12px; onClick=;window.open(Tlh,top)><center>スレッド一覧</center></a>'+
'<br><br>  '+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'sitagaki\'+locti];}else{localStorage[\'sitagaki\'+locti]=tbox.value;tbox.value=kara};"><center>下書き保存と確認</center></a>'+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'oboegaki\'+locti];}else{localStorage[\'oboegaki\'+locti]=tbox.value;tbox.value=kara};"><center>覚え書き保存と確認</center></a>'+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'playlist\'+locti];}else{localStorage[\'playlist\'+locti]=tbox.value;tbox.value=kara};"><center>プレイリスト保存と確認</center></a>'+
'<textarea style=;width:90%;height:100px; id=tbox></textarea><br>  '+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'setlist\'+locti];}else{localStorage[\'setlist\'+locti]=tbox.value;tbox.value=kara};"><center>追加リスト保存と確認</center></a>'+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'vidlist\'+locti];}else{tbox.value=kara};"><center>クリアとビデオリスト</center></a>'+
'<a style=width:30%;height:12px; onClick=";if(tbox.value==kara){tbox.value=localStorage[\'ngvlist\'+locti];}else{localStorage[\'ngvlist\'+locti]=tbox.value;tbox.value=kara};"><center>除外リスト保存と確認</center></a>'+
'<br><br>  '+
'<a style=width:30%;height:12px; target=_blank href=https://youtube.com/embed/vadSoKKnCzg?playlist=vadSoKKnCzg,3wE9FPth818bLeCiDaiDL8&loop=1&autoplay=1&><center>ドバイ未来ワールド</center></a>'+
'<a style=width:30%;height:12px; target=_blank href=https://artsandculture.google.com/project/versailles-never-seen-before><center>ベルサイユ宮殿3D</center></a>'+
'<a style=width:30%;height:12px; target=_blank href=https://youtube.com/embed/cGYTpq7op1k?playlist=cGYTpq7op1k,X-XZx1o_w-A&loop=1&autoplay=1&><center>ディープ銀河宇宙</center></a>'+
'<br><br></b><b style=font-size:16px;>サーバー ( '+srvti+' ) '+document.title+' ( '+locti+' )</b>';
dh=document.head.innerHTML;if(sfSW){sf='https://ja.savefrom.net/194jz';}
else{sf='https://awakest.net/youtube-video-downloader/';}
dh+='<style>dd{display:inline!important;text-decoration:none!important;}a{target:_top!important;}table{width:96%!important;}*{font-weight:700;}a,b{font-weight:1000!important;}body,dd,table,tr,td,div,p{background:none;background-color:#bbcced!important;}input,textarea{background-color:#fff;}input{height:16px;}textarea{width:100%!important!important;}</style>';
document.head.innerHTML=dh;videos='';
if(localStorage['videos']){;}else{localStorage['videos']=''}
if(localStorage['videos'+locti]){;}else{localStorage['videos'+locti]=''}

if(localStorage['playlist'+locti]){;}else{localStorage['playlist'+locti]=''}
if(localStorage['setlist'+locti]){;}else{localStorage['setlist'+locti]=''}
if(localStorage['ngvlist'+locti]){;}else{localStorage['ngvlist'+locti]=''}


videos=localStorage['videos'+locti]+localStorage['videos'];

videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');
v=videos.split('/');for(i=0;i<v.length-1;i++){w=v[i].replace(/([^\d\w\_\-])/img,'')+'/';if(w.length==12){videos=videos.replace(w,'').replace(w,'').replace(w,'')+w;}else if(w!='/'){videos=videos.replace(w,'')}}
videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');

da=document.body.getElementsByTagName('a');for(i=0;i<da.length;i++){
di=da[i].href.replace('2ch.io/','').replace('youtube.com/embed/','youtu.be/').replace('?loop=1&autoplay=1&','').split('&pp=')[0].split('?t=')[0].split('&t=')[0].split('?si=')[0].split('&list=')[0].split('?list=RD')[0];
if(di.indexOf('you')>0){if(di.indexOf('rU4QkIzgiWE')>0){;}else{
da[i].style='min-width:320px!important;';di=di.replace('http://','https://').replace(/(www|m)(\.you●?)/img,'you').replace(/(youtube\.com\/watch\?v\=)/img,'youtu.be/');
if(di.indexOf('?l')>0){;}else{di=di.replace(/(youtu\.be\/)([\d\w\_\-]{11})/img,'$1$2?list=RD$2');}
dj=di.replace(/(https?\:\/\/)(youtu\.be\/|youtube\.com\/embed\/|\d?i\.?ytimg\.com\/vi\/)([\d\w\_\-]{11})([^  \n\<]+$|$)/img,
di.replace(/(\?|\&)([^va])/img,'$1$2')+'</a><br><a href=https://youtube.com/embed/$3?loop=1&autoplay=1& target=_brank><img width=320 height=180 src=https://i.ytimg.com/vi/$3/mqdefault.jpg></a>'+
'<br><form style=display:inline;height:26px; method=get target=_blank action=https://www.youtube.com/results accept-charset=utf-8><input name=search_query type=text style=width:222px;height:22px!important; value=""><input style=position:relative;reft:150px;width:50px;height:28px!important; type=reset value=クリア><input style=width:50px;height:22px!important; type=submit value=検索></form><br>'+
'<a style=width:100px;height:12px; onClick=";window.open(Mlh,top);"><center>2ch板一覧</center></a><a style=width:100px;height:12px; onClick=";window.open(Blh,top);"><center>板トップ</center></a><a style=width:100px;height:12px; onClick=";window.open(Tlh,top);"><center>スレッド一覧</center></a><br>');
da[i].innerHTML=dj;da[i].href=di;i++;w=dj.split('/embed/')[1].substr(0,11)+'/';
videos=videos.replace(w,'').replace(w,'')+w;}}}

sl=localStorage['setlist'+locti];pl=localStorage['playlist'+locti];if(1){localStorage['setlist'+locti]=nolist;}
if(1){t=(db+sl+pl).replace(/(youtt?ube\.com\/watch\?v\=|you●?tt?u\.be\/|ytimg\.com\/vi\/)([\d\w\_\-]{11})/img,'youtube.com/embed/$2 ');
if(t.indexOf('/embed/')>0){tx=t.split('/embed/');for(i=1;i<tx.length;i++){
w=tx[i].substr(0,11).replace(/([^\d\w\_\-]+)/img,'')+'/';if(w.length==12){;
videos=videos.replace(w,'').replace(w,'')+w;}}};}

videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');
v=videos.split('/');for(i=0;i<v.length-1;i++){w=v[i].replace(/([^\d\w\_\-])/img,'')+'/';if(w.length==12){videos=videos.replace(w,'').replace(w,'').replace(w,'')+w;}else if(w!='/'){videos=videos.replace(w,'')}}
videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');

ngv=localStorage['ngvlist'+locti];ngv=ngv.replace(/(\n\n+)/img,'\n');
localStorage['ngvlist'+locti]=ngv;if(ngv.length>30){
 ngv=ngv.replace(/(youtube\.com\/watch\?v\=|youtu\.be\/|ytimg\.com\/vi\/)([\d\w\_\-]{11})/img,'youtube.com/embed/$2 ');
if(ngv.indexOf('/embed/')>0){tbx=ngv.split('/embed/');tbxn=tbx.length;ngv='';if(tbxn>1){for(tbxi=tbxn;tbxi>0;tbxi--){
w=tbx[tbxi];if(w!=undefined){w=w.replace(/([^\d\w\_\-]+)/img,'')+'/';if(w.length==12){
ngv=w+ngv.replace(w,'');}}}ng=ngv.split('/');}};ngn=ng.length-1;
if(msgSW){alert(document.title+ '\n動画一覧から '+ngn+' 個の無効動画を除外します\n\n'+ngv);}
v=videos;for(ngi=0;ngi<=ngn;ngi++){w=ng[ngi]+'/';v=v.replace(w,'').replace(w,'').replace(w,'');}
if(0){videos=v;localStorage['ngvlist'+locti]=nolist;}}

Link=('<a href="'+sf+'" target=_blank>+SF</a> <a href=https://openuserjs.org/scripts/5chExtendr/2chTubeVideoPixel target=_blank>+JS</a> ');
videos=videos.replace(nglists0,'');//除外動画リスト0
videos=videos.replace(nglists1,'');//除外動画リスト1
videos=videos.replace(nglists2,'');//除外動画リスト2


videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');
v=videos.split('/');for(i=0;i<v.length-1;i++){w=v[i].replace(/([^\d\w\_\-]+)/img,'')+'/';if(w.length==12){videos=w+videos.replace(w,'').replace(w,'').replace(w,'');}else if(w!='/'){videos=videos.replace(w,'')}}
videos=videos.replace(/(\/\/+)/img,'/').replace(/(^\/)/,'');

l=videos.split('/');videosN=l.length-1;if(videosN>=0){if(msgSW){alert(document.title+'\n検出したビデオは '+videosN+' 個でした\n\n'+videos);}}location.replace('#menu');
p='https://youtube.com/embed/'+l[0]+'?playlist='+l[0];for(i=1;i<(Math.min(10,videosN));i++){p+=','+l[i];}p+='&loop=1&autoplay=1&';
Play=('<a href="'+p+'" target=_brank>2chTubeTV (10動画まで自動プレイ) </a> ');
Yload=('<a target=_brank href="https://www.youtube.clocalStorage[om/">+YT</a> ');
VidX=('<b style=font-size:15px;color:red;>注目の動画 ('+videosN+')</b> '+Play+Yload+Link+'<br><br>');vlist='';for(i=0;i<videosN;i++){V=l[i];
VidX+=('<a href='+(vu='https://youtube.com/embed/'+V+'?loop=1&autoplay=1&')+' target=_blank>'+V+'<br><img width=64 height=36 src=https://i.ytimg.com/vi/'+V+'/mqdefault.jpg></a><wbr>');vlist+=vu+'\n';}
localStorage['vidlist'+locti]=vlist;
localStorage['videos'+locti]=videos;
localStorage['videos']=videos;
da=document.body.getElementsByTagName('td');for(i=0;i<da.length;i++){
di=da[i].innerHTML;if(di.indexOf('オリジナルで新しい')>0){dj=VidX;da[i].innerHTML=(wdt=di+'<b style=fontsize:3px;>'+dj+Xbox.replace(/(30\%)/img,'28%')+'</b>');}else{da[i].innerHTML+=''}}

;;;})()