Advertisement
jimgreeno

Untitled

Sep 17th, 2017
1,058
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 127.45 KB | None | 0 0
  1. @echo off...
  2. echo %INSTALL_PATH%
  3. if exist %INSTALL_PATH%(
  4. echo 222
  5. )
  6. set INSTALL_PATH=C:\My App\Installer
  7. if exist %INSTALL_PATH% (
  8. If "C:\My" exists, run "App\Installer" with "(" as the command line argument.
  9. i've quotted %INSTALL_PATH%.
  10. print echo command and it's output
  11. echo 1
  12.  
  13. :: does not print echo command just it's output
  14. @echo 2
  15.  
  16. :: print dir command but not it's output
  17. dir > null
  18.  
  19. :: does not print dir command nor it's output
  20. @dir c:\ > null
  21.  
  22. :: does not print echo (and all other commands) but print it's output
  23. @echo off
  24. echo 3
  25.  
  26. @echo on
  27. REM this comment will appear in console if echo off was not set
  28.  
  29. @set /p pressedKey=Press any key to exit
  30. )
  31. @echo off
  32. // quote the path or else it won't work if there are spaces in the path
  33. SET INSTALL_PATH="c:\\etc etc\\test";
  34. if exist %INSTALL_PATH% (
  35.    //
  36.    echo 222;
  37. )
  38. : EXIST "%INSTALL_PATH%". –
  39. )
  40. ...one will do, C:\etc etc\test. –
  41. )
  42. @echo off
  43. color f0
  44. title Sign Up
  45. echo Welcome,
  46. set /p usern=Choose Username:jimbobgreeno
  47. set /p passwd=Choose Password:daisy12345
  48. set /p bd=BD mm/dd/yyyy: oct/29/1962
  49. set /p email=Email: jimgreeno81@gmail.com
  50. echo USER >> docs/%users%.txt
  51. echo ==== >> docs/%users%.txt
  52. echo Username=%usern% >> docs/%users%.txt
  53. echo Password=%passwd% >> docs/%users%.txt
  54. echo BD=%bd% >> docs/%users%.txt
  55. echo Email=%email% >> docs/%%users.txt
  56. echo jimgreeno81@gmail.com for support
  57. cls
  58. => => =>
  59. @echo off=> => => color a
  60. title Login
  61. echo  https://myfreecams.com/?
  62. echo Please login to continue.
  63. set /p usern=Username:jimbobgreeno
  64. set /p passwd=Password:
  65. cd"C:\Logs":
  66. set /p user=Username:jimbobgreeno
  67. set /p pass=Password:daisy12345
  68. echo Username="%user%" Password="%pass%" >Log.txt
  69. echo=>=>=>
  70. echo  in= is -not- a- command,- but- part -of- the -syntax -of- the-for- command:
  71. echo IF =has- no- in% goto authGood%
  72. echo if = %usern%==%usern% in signup.cmd && %passwd%==%passwd% in signup.cmd %goto authGood%
  73. goto authBad
  74. echo => => =>
  75. cd  docs
  76. for  /f "delims=" %%i in (users.txt) do set %%i
  77. set /p %usern%=%Username%:
  78. set /p %passwd%=%Password%:
  79.  if   %usern%==%Username% if %paswd%==%Password% goto authGood
  80. echo  => => =>
  81. echo  "------- 'DOCS/USERS.TXT' is not defined."
  82. echo  in "delims= "? If yes, remove it. –
  83. echo  ah - no. I think, you have "delims=="
  84. echo => => =>  
  85.   cd "C:\Logs"
  86.  set /p %user%=Username:jimbobgreeno
  87. echo
  88. pass=Password:daisy12345
  89.  echo.%api_login.php/
  90. echo.%function=response%;
  91. echo.$response;=
  92. echo.$response;=  
  93. set/p   Password="%pass%" >Log.txt
  94.  echo Username="%user%" Password="%pass%" >Log.txt
  95. start   https://chaturbate.com/embed/thippy69/?-_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=600 width=800  <!--[//$numoffile = CHMOD7;    $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++) }
  96. { [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='500'><!--[if ](isset($browser = get_browser( null, true );
  97. if( $browser['name'] == "chrome" )
  98. if( $browser['majorversion'] == (64-bit )
  99. if( echo "You're using chrome Version 60.0.3112.113 (64-bit)!";
  100. "Your file(s) has been uploaded. print "< input type='submit' name='action' value='Upload';><!endif--><========== UserScript==========( CHMOD 7)//==(1)&(2)====================>
  101. // ==UserScript(1)=======================================================>
  102. // @name            chaturbate 7. 8. 9.4.
  103. //@description     chaturbate 16. 17.7.
  104. //@version        1 10. 11. 12.5.
  105. // @namespace      chaturbate 13. 14. 15.6.
  106.  // @include        http://*.chaturbate.com/*/ded/?-_js./embed_js.php? 18. 19.8.
  107. //@include          http://*.chaturbate.com//api/getchatuserlist/? 20. 21.9.
  108. //@include           http://chaturbate.com/* 22.23. 24.10.
  109. // @exclude         http://serve.ads.chaturbate.com/* 25. 26. 27.11.
  110. // @exclude          http://serve.ads.chaturbate.com/* 25. 26. 27.11.
  111. // @exclude          https://chaturbate.com/api/getchatuserlist/?
  112. // @run-at             document-start 28. 29. 30.12.
  113. // @grant               GM_getValue 31. 32. 33.13.
  114.  //@grant               GM_setValue 34. 35.
  115. // @grant               GM_addStyle 37. 38. 39.15.
  116. // @grant              GM_xmlhttpRequest 40. 41. 42.16.
  117. // @grant             GM_openInTab
  118. //@RUN=            @GET&TEST                  
  119. //@GET=            @TEST&UserScript
  120. <!--// ==/UserScript(1)=================================================?>  
  121.             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.  
  122. <!--// ==/UserScript(2)=================================================?>  
  123.   // @name        Chaturbate Enhanced
  124. // @locale      en
  125. // @version     5.2.0
  126. // @author      stix
  127. // @description No Ads, Change Colors, Add Fav. Model Tab, Remove Profile Spam & Annoying Chat Tip GIFs, Deletes Exhibitionist Cams & More...
  128. // @icon        http://deplist.weebly.com/uploads/6/1/9/1/61911901/want.png
  129. // @include     https://chaturbate.com/*
  130. // @include     https://*.chaturbate.com/*
  131. // @exclude     https://chaturbate.com/emoticons/*
  132. // @exclude     https://chaturbate.com/accounts/*
  133. // @exclude     https://chaturbate.com/apps/*
  134. // @exclude     https://chaturbate.com/photo_videos/*
  135. // @namespace   https://greasyfork.org/en/scripts/16228-chaturbate-enhanced
  136. // @require     https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js
  137. // @require     https://greasyfork.org/scripts/19017-jscolor/code/jscolor.js?version=121257
  138. // @license     GPLv3; http://www.gnu.org/copyleft/gpl.html
  139. // @grant       none
  140. // ==/UserScript(1)=====================================================?>    
  141.  
  142. ==> //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.          
  143.  //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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="
  144. Welcome in "+preformer+"'s room.
  145.  
  146. "; 298. 299. 300.102. text2="
  147. You are an anonymous user and you can not chat.
  148.  
  149. "; 301. 302. 303.103. text3="
  150. You are in mobile mode and you are not visible in the userlist.
  151.  
  152. "; 304. 305. 306.104. text4='
  153. Enter the private room--------Leave the private room
  154. '; 307. 308. 309.105. text5="
  155. Return to the profile.
  156.  
  157. "; 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
  158. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  159.  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. +'
  160. ' 907. 908. 909.305. +'
  161. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  162. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  163. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  164. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  165. ' 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+"
  166.  
  167. "; 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]+"
  168. "; 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]+"
  169. "; 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='
  170. 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='
  171. Enter the name of the user you want to locate:
  172. '; 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='
  173. '+msg3.substring(20)+'
  174. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  175. '+msg3.substring(20)+'
  176. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  177. '+msg3+'
  178. ';}}" 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
  179.  
  180. "; 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.
  181.  
  182. "; 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='
  183. ' 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. +'
  184. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  185.  
  186.  
  187. Shoutbox
  188.  
  189. '; 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="
  190. Welcome in "+preformer+"'s room.
  191.  
  192. "; 298. 299. 300.102. text2="
  193. You are an anonymous user and you can not chat.
  194.  
  195. "; 301. 302. 303.103. text3="
  196. You are in mobile mode and you are not visible in the userlist.
  197.  
  198. "; 304. 305. 306.104. text4='
  199. Enter the private room--------Leave the private room
  200. '; 307. 308. 309.105. text5="
  201. Return to the profile.
  202.  
  203. "; 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
  204. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  205.  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. +'
  206. ' 907. 908. 909.305. +'
  207. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  208. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  209. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  210. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  211. ' 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+"
  212.  
  213. "; 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]+"
  214. "; 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]+"
  215. "; 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='
  216. 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='
  217. Enter the name of the user you want to locate:
  218. '; 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='
  219. '+msg3.substring(20)+'
  220. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  221. '+msg3.substring(20)+'
  222. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  223. '+msg3+'
  224. ';}}" 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
  225.  
  226. "; 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.
  227.  
  228. "; 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='
  229. ' 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. +'
  230. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  231.  
  232.  
  233. Shoutbox
  234.  
  235. '; 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).>
  236. // ==/UserScript(2)=====================================================?>      
  237. // @name        Chaturbate Enhanced
  238. // @locale      en
  239. // @version     5.2.0
  240. // @author      stix
  241. // @description No Ads, Change Colors, Add Fav. Model Tab, Remove Profile Spam & Annoying Chat Tip GIFs, Deletes Exhibitionist Cams & More...
  242. // @icon        http://deplist.weebly.com/uploads/6/1/9/1/61911901/want.png
  243. // @include     https://chaturbate.com/*
  244. // @include     https://*.chaturbate.com/*
  245. // @exclude     https://chaturbate.com/emoticons/*
  246. // @exclude     https://chaturbate.com/accounts/*
  247. // @exclude     https://chaturbate.com/apps/*
  248. // @exclude     https://chaturbate.com/photo_videos/*
  249. // @namespace   https://greasyfork.org/en/scripts/16228-chaturbate-enhanced
  250. // @require     https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js
  251. // @require     https://greasyfork.org/scripts/19017-jscolor/code/jscolor.js?version=121257
  252. // @license     GPLv3; http://www.gnu.org/copyleft/gpl.html
  253. // @grant       none
  254. // ==/UserScript========================================================?>
  255.  
  256. this.$ = this.jQuery = jQuery.noConflict(true);
  257.  
  258. if (window.location.protocol != 'https:') {
  259.    window.location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
  260. }
  261. //===============================================Inserts holder for color selector and hide for now
  262. 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;" >');
  263. $('#nav').append(jsColorBox);
  264. $('.jscolor').hide();
  265. function update(jscolor) {
  266.    // 'jscolor' instance can be used as a string
  267.    var jsClass = $('#lightColor');
  268.    jsClass.text('#' + jscolor);
  269. }
  270. //=============================================== Configure proper UTC values for setting cookies
  271. var later = new Date();
  272. var laterDate = later.setUTCFullYear('2099');
  273. var now = new Date();
  274. var time = now.getTime();
  275. time += 21600000;
  276. now.setTime(time);
  277. //=============================================== Set the cookies to make sure these values are always set
  278. document.cookie = 'noads=1; expires=' + now.toUTCString() + '; path=/';
  279. document.cookie = 'agreeterms=1; expires=' + later.toUTCString() + '; path=/';
  280. document.cookie = 'np3=1; expires=' + later.toUTCString() + '; path=/';
  281. //===============================================
  282. //DELETE EXHIBITIONIST CAMS-THEY ARE SCARY SOMETIMES IF NOT OBSCENE
  283. //OR SOME SCAMMER SPAMMING CHAT OFFERING SKYPE SHOWS FOR MONEY
  284. //===============================================
  285. function myTimer() {
  286.    var basura = $(".thumbnail_label_exhibitionist"); //Delete Exhibitionist Cams, always spam or very disgusting
  287.    if (basura) {
  288.        basura.parent().remove();
  289.    }
  290.    var cams = $(".details"); //Put thin border around cam preview thumbnails
  291.    if (cams) {
  292.        cams.parent().css({'color': "black", "border": "1px ridge black"});
  293.    }
  294.    var DOM = document.getElementsByClassName("list");
  295.    var noSissies = $( "a:contains('sissy')" );
  296.    if (noSissies) {
  297.        noSissies.parentsUntil(DOM, "li").remove();
  298.    }
  299. }
  300. //===============================================
  301. //========= Call removeElementByPath Function====
  302. //===============================================
  303. removeEBP();
  304. //===============================================
  305. function getCookie(cname) {
  306.    var name = cname + "=";
  307.    var ca = document.cookie.split(';');
  308.    for (var i = 0; i < ca.length; i++) {
  309.        var c = ca[i];
  310.        while (c.charAt(0) == ' ') c = c.substring(1);
  311.        if (c.indexOf(name) != -1) {
  312.            return c.substring(name.length, c.length);
  313.        }}
  314.    return "";
  315. }
  316.  
  317. var color1 = getCookie('cb-color1');
  318. var color2 = getCookie('cb-color2');
  319.  
  320. if ((color1 === "") || (color2 === "")) {
  321.    var color = ["80bfff", "000000"];
  322. } else {
  323.    var color = [color1, color2];
  324. }
  325. var color3 = getCookie('cb-color3');
  326. var color4 = getCookie('cb-color4');
  327.  
  328. var chkbx = getCookie('cb-chkbx');
  329. if (chkbx == 'locked') {
  330.    var varCheck = 'true';
  331.    var posi = 'fixed';
  332. }
  333. else {
  334.    var varCheck = 'false';
  335.    var posi = 'absolute';
  336. }
  337.  
  338. var chkbx2 = getCookie('cb-chkbx-2');
  339. if (chkbx2 == 'locked') {
  340.    var varCheck2 = 'true';
  341.    jQuery('document').ready(function($) {
  342.        var nav = $('.nav-bar');
  343.        $(window).scroll(function() {
  344.            if ($(this).scrollTop() > 85) {
  345.                nav.addClass('fixnav');
  346.            }
  347.            else {
  348.                nav.removeClass('fixnav');
  349.            }
  350.        });
  351.    });
  352. }
  353. else {
  354.    jQuery('document').ready(function($) {
  355.        var nav = $('.nav-bar');
  356.        $(window).scroll(function() {
  357.            if ($(this).scrollTop() < 0) {
  358.                nav.addClass('fixnav');
  359.            }
  360.            else {
  361.                nav.removeClass('fixnav');
  362.            }
  363.        });
  364.    });
  365. }
  366. //===================================================== Creates the SETTINGS Link On Top of Page
  367. function quickCheck() {
  368.    $(document).ready(function(){
  369.        var vnumber = '5.2.0';
  370.        var version = 'Chaturbate Enhanced - Version ' + vnumber;
  371.        var vernum = document.createElement('INS');
  372.        var txt = document.createTextNode(version);
  373.        vernum.setAttribute('id', 'verText');
  374.        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;');
  375.        vernum.appendChild(txt);
  376.        document.body.appendChild(vernum);
  377.        var verCheck = document.createElement('INS');
  378.        var verTxt = document.createTextNode('');
  379.        verCheck.setAttribute('id', 'verText');
  380.        verCheck.setAttribute('style', 'display:none;');
  381.        verCheck.appendChild(verTxt);
  382.        document.body.appendChild(verCheck);
  383.        var edit = document.createElement('A');
  384.        var editTxt = document.createTextNode('Settings');
  385.        edit.setAttribute('id', 'editBut');
  386.        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;');
  387.        edit.setAttribute('href', '#');
  388.        edit.onclick = function() {
  389.            $('.jscolor').show();
  390.            var makeForm = document.createElement('FORM');
  391.            makeForm.setAttribute('id', 'colorForm');
  392.            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;');
  393.            document.body.appendChild(makeForm);
  394.            //===================================================== Choose a light hexadecimal color label
  395.            var pick1 = document.createElement('INS');
  396.            var pickLight = document.createTextNode('Choose a light hexadecimal color');
  397.            pick1.setAttribute('style', 'position:absolute; top:10px; left:170px; text-decoration:none; z-index:1002;');
  398.            pick1.setAttribute('id', 'pick1Label');
  399.            pick1.appendChild(pickLight);
  400.            document.body.appendChild(pick1);
  401.            //===================================================== Choose a light hexadecimal color input box
  402.            var light = document.createElement('INPUT');
  403.            light.setAttribute('id', 'lightColor');
  404.            light.setAttribute('type', 'text');
  405.            light.setAttribute('value', color[0]);
  406.            light.setAttribute('style', 'position:absolute; top:20px; left:20px; text-decoration:none; z-index:1002;');
  407.            document.getElementById('colorForm').appendChild(light);
  408.            //===================================================== Choose a dark hexadecimal color
  409.            var pick2 = document.createElement('INS');
  410.            var pickDark = document.createTextNode('Choose a dark hexadecimal color');
  411.            pick2.setAttribute('style', 'position:absolute; top:60px; left:170px; text-decoration:none; z-index:1002;');
  412.            pick2.appendChild(pickDark);
  413.            document.body.appendChild(pick2);
  414.            //===================================================== Choose a dark hexadecimal input box
  415.            var dark = document.createElement('INPUT');
  416.            dark.setAttribute('id', 'darkColor');
  417.            dark.setAttribute('type', 'text');
  418.            dark.setAttribute('value', color[1]);
  419.            dark.setAttribute('style', 'position:absolute; top:70px; left:20px; text-decoration:none; z-index:1002;');
  420.            document.getElementById('colorForm').appendChild(dark);
  421.            //===================================================== Favorite Model Label for Input Box
  422.            var pick3 = document.createElement('INS');
  423.            var pickName = document.createTextNode('Choose a favorite model.');
  424.            pick3.setAttribute('style', 'position:absolute; top:110px; left:170px; text-decoration:none; z-index:1002;');
  425.            pick3.appendChild(pickName);
  426.            document.body.appendChild(pick3);
  427.            //===================================================== Favorite Model Input Box
  428.            var modelName = document.createElement('INPUT');
  429.            modelName.setAttribute('id', 'modelNameBox');
  430.            modelName.setAttribute('type', 'text');
  431.            modelName.setAttribute('value', color3);
  432.            modelName.setAttribute('style', 'position:absolute; top:120px; left:20px; text-decoration:none; z-index:1002;');
  433.            document.getElementById('colorForm').appendChild(modelName);
  434.            //===================================================== Font Name Label for Input Box
  435.            var pick4 = document.createElement('INS');
  436.            var pickFontName = document.createTextNode('Change Font Type');
  437.            pick4.setAttribute('style', 'position:absolute; top:155px; left:170px; text-decoration:none; z-index:1002;');
  438.            pick4.appendChild(pickFontName);
  439.            document.body.appendChild(pick4);
  440.            //===================================================== Font Name Combo Box
  441.            var pickFont = document.createElement('SELECT');
  442.            pickFont.setAttribute('style', 'position:absolute;top: 170px;left:20px;text-decoration:none;z-index:1002;');
  443.            pickFont.setAttribute('id', 'fontNameBox');
  444.            pickFont.setAttribute('type', 'option');
  445.            pickFont.setAttribute('elementtype', 'combobox');
  446.            pickFont.setAttribute('size', '1');
  447.            var pickOption = document.createElement('OPTION');
  448.            var pickOpt1 = document.createTextNode('Rockwell');//=====FIRST OPTION
  449.            pickOption.setAttribute('value', '1');
  450.            pickOption.appendChild(pickOpt1);
  451.            pickFont.appendChild(pickOption);
  452.  
  453.            var pickOption2 = document.createElement('OPTION');
  454.            var pickOpt2 = document.createTextNode('Tw Cen MT');//=====SECOND OPTION
  455.            pickOption2.setAttribute('value', '2');
  456.            pickOption2.appendChild(pickOpt2);
  457.            pickFont.appendChild(pickOption2);
  458.  
  459.            var pickOption3 = document.createElement('OPTION');
  460.            var pickOpt3 = document.createTextNode('Verdana');//=====THIRD OPTION
  461.            pickOption3.setAttribute('value', '3');
  462.            pickOption3.appendChild(pickOpt3);
  463.            pickFont.appendChild(pickOption3);
  464.  
  465.            document.getElementById('colorForm').appendChild(pickFont);
  466.            //===================================================== First checkbox label
  467.            var scroll = document.createElement('INS');
  468.            var scrollCheck = document.createTextNode('Lock room image in place.');
  469.            scroll.setAttribute('style', 'position:absolute; top:205px; left:170px; text-decoration:none; z-index:1002;');
  470.            scroll.appendChild(scrollCheck);
  471.            document.body.appendChild(scroll);
  472.            //===================================================== Checkbox
  473.            var chbox = document.createElement('INPUT');
  474.            if (varCheck == 'true') {
  475.                chbox.setAttribute('id', 'checkBox');
  476.                chbox.setAttribute('type', 'checkbox');
  477.                chbox.setAttribute('checked', 'true');
  478.                chbox.setAttribute('style', 'position:absolute; top:220px; left:20px; text-decoration:none; z-index:1002;');
  479.            }
  480.            else {
  481.                chbox.setAttribute('id', 'checkBox');
  482.                chbox.setAttribute('type', 'checkbox');
  483.                chbox.setAttribute('style', 'position:absolute; top:220px; left:20px; text-decoration:none; z-index:1002;');
  484.            }
  485.            document.getElementById('colorForm').appendChild(chbox);
  486.            //===================================================== Second checkbox label & Checkbox
  487.            var scroll2 = document.createElement('INS');
  488.            var scrollCheck2 = document.createTextNode('Lock navigation bar in place.');
  489.            scroll2.setAttribute('style', 'position:absolute; top:245px; left:170px; text-decoration:none; z-index:1002;');
  490.            scroll2.appendChild(scrollCheck2);
  491.            document.body.appendChild(scroll2);
  492.            var chbox2 = document.createElement('INPUT');
  493.            if (varCheck2 == 'true') {
  494.                chbox2.setAttribute('id', 'checkBox2');
  495.                chbox2.setAttribute('type', 'checkbox');
  496.                chbox2.setAttribute('checked', 'true');
  497.                chbox2.setAttribute('style', 'position:absolute; top:260px; left:20px; text-decoration:none; z-index:1002;');
  498.            }
  499.            else {
  500.                chbox2.setAttribute('id', 'checkBox2');
  501.                chbox2.setAttribute('type', 'checkbox');
  502.                chbox2.setAttribute('style', 'position:absolute; top:260px; left:20px; text-decoration:none; z-index:1002;');
  503.            }
  504.            document.getElementById('colorForm').appendChild(chbox2);
  505.            //===================================================== Insert Close and Save buttons on bottom
  506.            var save = document.createElement('A');
  507.            var close = document.createElement('A');
  508.            var saveTxt = document.createTextNode('Save');
  509.            var closeTxt = document.createTextNode('Close');
  510.            save.setAttribute('id', 'saveBut');
  511.            close.setAttribute('id', 'closeBut');
  512.            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;');
  513.            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;');
  514.            save.setAttribute('href', '#');
  515.            close.setAttribute('href', '#');
  516.            close.onclick = function() {
  517.                $('.jscolor').hide();
  518.                location.reload();
  519.            };
  520.            save.onclick = function() {
  521.                $('.jscolor').hide();
  522.                var color1 = document.getElementById('lightColor').value;
  523.                var color2 = document.getElementById('darkColor').value;
  524.                var color3 = document.getElementById('modelNameBox').value;
  525.                var color4 = document.getElementById('fontNameBox').value;
  526.                //===================================================== Check first checkbox from cookie
  527.                var varCheck = document.getElementById('checkBox').checked;
  528.                if (varCheck === true) {
  529.                    document.cookie = 'cb-chkbx=locked; expires=' + later.toUTCString() + '; path=/';
  530.                }
  531.                else {
  532.                    document.cookie = 'cb-chkbx=unlocked; expires=' + later.toUTCString() + '; path=/';
  533.                }
  534.                //===================================================== Check second checkbox from cookie
  535.                var varCheck2 = document.getElementById('checkBox2').checked;
  536.                if (varCheck2 === true) {
  537.                    document.cookie = 'cb-chkbx-2=locked; expires=' + later.toUTCString() + '; path=/';
  538.                }
  539.                else {
  540.                    document.cookie = 'cb-chkbx-2=unlocked; expires=' + later.toUTCString() + '; path=/';
  541.                }
  542.                //===================================================== Set color hex values in cookies
  543.                document.cookie = 'cb-color1=' + color1 + '; expires=' + later.toUTCString() + '; path=/';
  544.                document.cookie = 'cb-color2=' + color2 + '; expires=' + later.toUTCString() + '; path=/';
  545.                document.cookie = 'cb-color3=' + color3 + '; expires=' + later.toUTCString() + '; path=/';
  546.                if (color4 == 1) {
  547.                    document.cookie = 'cb-color4=' + "Rockwell" + '; expires=' + later.toUTCString() + '; path=/';
  548.                } else if (color4 == 2) {
  549.                    document.cookie = 'cb-color4=' + "Tw Cen MT" + '; expires=' + later.toUTCString() + '; path=/';
  550.                } else if (color4 == 3){
  551.                    document.cookie = 'cb-color4=' + "Verdana" + '; expires=' + later.toUTCString() + '; path=/';
  552.                }
  553.  
  554.                location.reload();
  555.            };
  556.            close.appendChild(closeTxt);
  557.            save.appendChild(saveTxt);
  558.            document.body.appendChild(close);
  559.            document.body.appendChild(save);
  560.        };
  561.        edit.appendChild(editTxt);
  562.        document.body.appendChild(edit);
  563.    });
  564. }
  565. //===================================================== Creates the SETTINGS Link only on these pages
  566. var versionTxt = document.URL;
  567. var locPathName = location.pathname;
  568. var chtBox = $('.chat-box');
  569. if ((locPathName === '/trans-cams/') || (locPathName === '/') || (versionTxt === 'https://chaturbate.com/')) {
  570.     var myGarbageCollector = setInterval(myTimer, 1000);
  571.     quickCheck();
  572. } else if (chtBox) {
  573.     var myGarbageCollector2 = setInterval(chatGraphics, 50000);//Chatbox exists, add timer to clean chat spam
  574.     var tTip = $('#tooltip-subject');
  575.     if (tTip) { tTip.remove(); }  //Remove the Room Subject Tooltip that sometimes gets stuck open
  576.     var nextcam = $( ".nextcam" );
  577.     if (nextcam) { nextcam.remove(); } //Remove SCAN cams and NEXT CAM tabs
  578. }
  579. //===================================================== Function to find annoying chat graphics
  580. function chatGraphics () {
  581.     var strTitle = [":notips", ":comeontipguys", ":tip", ":tokens", ":tipifyoulike", ":tipguyz", ":motivation" +
  582.     ":moretipsgreatshow", ":moreme", ":mmmh", ":tipguys", ":notipnoshow", ":plssendtip01" +
  583.     ":moretipmoreshow2", ":tipsshow", ":plsfollow01", ":transfrot", ":moretips1", ":150" +
  584.     ":tipsee", ":tokensforreqests", ":showtip", ":suckingdeep"];
  585.     for (var j=0;j<strTitle.length;j++){
  586.         var imageString = $('img[title="' + strTitle[j] + '"]');
  587.         if (imageString) {
  588.             imageString.remove();
  589.         }
  590.     }
  591. }
  592.  
  593. function addGlobalStyle(css) {
  594.     var head, style;
  595.     head = document.getElementsByTagName('head')[0];
  596.     if (!head) { return; }
  597.     style = document.createElement('style');
  598.     style.type = 'text/css';
  599.     style.innerHTML = css;
  600.     head.appendChild(style);
  601. }
  602.  
  603. addGlobalStyle('#header .ad {display:none!important;}' +
  604.     '.logo {background:url(\'https://greasyfork.org/system/screenshots/screenshots/000/003/216/thumb/logo-standard.png\') no-repeat!important;}' +
  605.     '#main .ad {display:none!important;}' +
  606.     '#botright {display:none!important;}' +
  607.     '#main .banner {display:none!important;}' +
  608.     '#close_entrance_terms {background-color:#' + color[0] + '!important;}' +
  609.     '#close_broadcast_terms {background-color:#' + color[0] + '!important;}' +
  610.     'a {color:#' + color[1] + '!important; outline-style:none!important; text-decoration:none!important;}' +
  611.     'a:hover {color:#777777!important;}' +
  612.     'body {background-color:#000000!important;}' +
  613.     '#header {background-image:http://deplist.weebly.com/uploads/6/1/9/1/61911901/7467455_orig.png!important; background-color:#' + color[0] + '!important;}' +
  614.     '#header .section {background-color:#' + color[0] + '!important;}' +
  615.     '#main .top-section p{margin:0 0 1px!important;}' +
  616.     '#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;}' +
  617.     '.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;}' +
  618.     '#main .top-section .sub-nav {background-image:none!important;}' +
  619.     '#main .content {background-color:#' + color[0] + '!important; padding:5px 0px 14px 0!important;}' +
  620.     '#header .nav-bar {background-color:#' + color[1] + '!important; border-color:#cbcbcb!important;}' +
  621.     '#nav {font-family:Tw Cen MT!important; padding-bottom:5px!important;}' +
  622.     '#nav li a {color:#eeeeee!important;}' +
  623.     '#nav li a:hover {color:#' + color[0] + '!important;}' +
  624.     '#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;}' +
  625.     '#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;}' +
  626.     '#main .top-section .sub-nav a:hover {color:#e60000!important; top:0px!important; left:38%!important; background-color:#ffffff!important;cursor: auto;}' +
  627.     '#main .top-section .sub-nav .active a {color:#FF0000!important; top:0px!important; left:38%!important; background-color:#ffffff!important; }' +
  628.     '#main .top-section .actions li a {padding-left:10px!important; background-color:#' + color[0] + '!important; background-image:none!important; border-color:#888888!important;}' +
  629.     'strong {color:#131313!important;}' +
  630.     'h1, h2, h3 {color:#' + color[1] + '!important;}' +
  631.     '#main .content .endless_page_template {width:100%!important; margin:0 10px 0 32px!important;}' +
  632.     '.thumbnail_label_c {background-color:#181818!important;}' +
  633.     '.thumbnail_label_c_hd {background-color:#' + color[1] + '!important;}' +
  634.     '.thumbnail_label_transsexual {background-color:#ff0000!important;}' +
  635.     '.thumbnail_label_c_new {background-color:#545454!important;}' +
  636.     '#defchat .section .chat-holder .chat-box .users-list .text .color-p {color:#be6aff!important;}' +
  637.     '#defchat .section .chat-holder .chat-box .users-list .text .color-l {color:#804baa!important;}' +
  638.     '#defchat .section .chat-holder .chat-box .users-list .text .color-o {color:#dc5500!important;}' +
  639.     '#defchat .section .chat-holder .chat-box .users-list .text .color-m {color:#dc0000!important;}' +
  640.     '#defchat .section .chat-holder .chat-box .users-list .text .color-f {color:#00cf00!important;}' +
  641.     '#defchat .section .chat-holder .chat-box .users-list .text .color-tr {color:#000099!important;}' +
  642.     '#defchat .section .chat-holder .chat-box .users-list .text .color-t {color:#6699aa!important;}' +
  643.     '#defchat .section .chat-holder .chat-box .users-list .text .color-g {color:#666666!important;}' +
  644.     '#defchat .section .chat-holder .chat-box .chat-list .roommessagelabel {color:#' + color[1] + '!important;}' +
  645.     '.users-list, .settings-list, .chat-list {padding:0 11px 0 11px!important; width: auto!important;}' +
  646.     '#main .content .c-1 {width:100%!important; margin-right:0px!important; margin:6px!important;}' +
  647.     '.paging li a {background-color:#ffffff!important; border-color:#' + color[1] + '!important; background-image:none!important;}' +
  648.     '.paging li a:hover {background-color:#ffffff!important;}' +
  649.     '.paging .prev {border-radius:30px 0 0 30px!important;}' +
  650.     '.paging .next {border-radius:0 30px 30px 0!important;}' +
  651.     '.paging .endless_page_link {color:#181818!important;}' +
  652.     '.paging .active .endless_page_link {color:#' + color[1] + '!important; background-color:#ffffff!important;}' +
  653.     '#main .content .featured_blog_posts .blog_post .title_shell {background-image:none!important;}' +
  654.     '#main .content .featured_blog_posts .blog_post .title_shell .title {background-color:transparent!important;}' +
  655.     '.footer-holder {background-color:#eeeeee!important; background-image:none!important; border-top:2px solid #cbcbcb!important;}' +
  656.     '#jscontext .jscontextBtn {color:#' + color[1] + '!important;}' +
  657.     '#jscontext .jscontextBtn:hover {color:#eeeeee!important;}' +
  658.     '#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;}' +
  659.     '#defchat .section .chat-holder .chat-box .chat-form .row .button_send a {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  660.     '#defchat .section .chat-holder .chat-box .chat-form .row .button_send a:hover {color:#ffffff!important;}' +
  661.     '#defchat .section .chat-holder .chat-box .chat-form {margin-right:12px!important;}' +
  662.     '#defchat .info-user .headline .socials .button_share {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  663.     '#defchat .info-user .headline .socials .button_share a {background-image:none!important; text-shadow:none!important;}' +
  664.     '#defchat .info-user .headline .socials .button_follow {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  665.     '#defchat .info-user .headline .socials .button_follow a {background-image:none!important; text-shadow:none!important;}' +
  666.     '#defchat .info-user .headline .socials .button_unfollow {background-color:#eeeeee!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  667.     '#defchat .info-user .headline .socials .button_unfollow a {background-image:none!important; text-shadow:none!important;}' +
  668.     '#defchat .section .video-box .tip_shell .green_button_tip {background-color:#777777!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  669.     '#defchat .section .video-box .tip_shell .green_button_tip .tip_button {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  670.     '#defchat .section .video-box .tip_shell .green_button_tip .tip_button:hover {color:#ffffff!important;}' +
  671.     '#defchat .offline_tipping .green_button_tip_offline {background-color:#777777!important; background-image:none!important; border-radius:4px 4px 4px 4px!important;}' +
  672.     '#defchat .offline_tipping .green_button_tip_offline .tip_button {color:#eeeeee!important; background-image:none!important; text-shadow:none!important;}' +
  673.     '#defchat .offline_tipping .green_button_tip_offline .tip_button:hover {color:#ffffff!important;}' +
  674.     '#defchat .section .video-box .tip_shell .goal_display .goal_display_table .dark_blue {background-color:#' + color[0] + '!important;}' +
  675.     '.follow_tooltip, .share_tooltip, #rate_tooltip, #rated_tooltip, #rate_dim_tooltip, #broadcaster_rating_tooltip {background-color:#eeeeee!important; border-color:#777777!important;}' +
  676.     '.follow_tooltip img, .share_tooltip img, #rate_tooltip img, #rated_tooltip img, #rate_dim_tooltip img, #broadcaster_rating_tooltip img {display:none!important;}' +
  677.     '#tabs_content_container dl dt {color:#' + color[1] + '!important;}' +
  678.     '#tabs_content_container .pics-description .photo_list .user_upload .thumbnail_label_tokens {background-color:#181818!important;}' +
  679.     '#body_border .user_uploads .user_upload .thumbnail_label_tokens {background-color:#181818!important;}' +
  680.     '#filter_search_form .button {background-color:#' + color[1] + '!important; background-image:none!important; padding-left:28px!important;}' +
  681.     '#filter_search_form .button:hover {text-decoration:none!important;}' +
  682.     '#defchat {width:auto!important;}' +
  683.     '.section {width:100%!important;}' +
  684.     '.block {margin-right:12px!important; border:1px ridge #000000!important; padding: 4px!important;}' +
  685.     '#login-box {border-color:#777777!important; z-index:2001!important;}' +
  686.     '#login-box .pagename {position:relative!important; top:-4px!important; left:-2px!important; font-family:\'trebuchet ms\'!important; color:#' + color[1] + '!important;}' +
  687.     '#login-box .button {padding-left:14px!important; color:#454545!important; background-color:#cbcbcb!important; background-image:none!important;}' +
  688.     '#login-box .button:hover {color:#eeeeee!important; background-color:#888888!important; text-decoration:none!important;}' +
  689.     '#user_information .top {background-color:#' + color[1] + '!important; border-radius:2px 2px 0 0!important; padding:5px 3px 4px 5px!important;}' +
  690.     '#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;}' +
  691.     '#user_information {position:absolute!important; top:-9px!important; right:0!important;}' +
  692.     '#user_information .top a {color:#eeeeee!important;}' +
  693.     '#user_information .top a:hover {color:#cbcbcb!important;}' +
  694.     '#user_information .tokencountlink {font-size:11px!important;}' +
  695.     '#user_information .bottom {border-color:#' + color[1] + '!important;}' +
  696.     '#apps_and_bots_table tr legend {color:#' + color[1] + '!important;}' +
  697.     '#leaderboard .number {color:#181818!important;}' +
  698.     '#leaderboard .position_1 {color:#' + color[1] + '!important;}' +
  699.     '#tag_table {border-color:#' + color[1] + '!important;}' +
  700.     '#tag_table .headers {background-color:#' + color[1] + '!important;}' +
  701.     '#tag_table .tag_row:nth-child(2n+1) {background-color:#' + color[0] + '!important;}' +
  702.     '#broadcaster_settings legend {color:#' + color[1] + '!important;}' +
  703.     '.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;}' +
  704.     '.button:hover {color:#131313!important;}' +
  705.     '#filter_search_form p .button {color:#cbcbcb!important; padding:2px 6px!important;}' +
  706.     '#filter_search_form p .button:hover {color:#e6e6e6!important;}' +
  707.     '#suggest_app img {display:none!important;}' +
  708.     'a.user_upload_preview {color:#181818!important;}' +
  709.     'a.user_upload_preview:hover {color:#777777!important;}' +
  710.     '.overlay_popup .formborder {border:2px solid #' + color[1] + '!important; border-radius:4px!important;}' +
  711.     '.overlay_popup .divider {display:none!important;}' +
  712.     '.overlay_popup .title {color:#' + color[1] + '!important;}' +
  713.     '.app_launch a {background-color:#cbcbcb!important;}' +
  714.     '.proposal_votes {background-color:#cbcbcb!important;}' +
  715.     '.related {color:#' + color[1] + '!important;}' +
  716.     '.document, .related {background-color:#' + color[0] + '!important;}' +
  717.     '.sphinxsidebar ul, .sphinxsidebar h4, .sphinxsidebar p, .footer {color:#777777!important;}' +
  718.     '.datatable, .datatable th {background-color:#' + color[1] + '!important;}' +
  719.     '.code {color:#' + color[1] + '!important;}' +
  720.     '.fixnav {position:fixed!important; left:0!important; top:0!important; width:100%!important; height:auto!important; z-index:999!important;}' +
  721.     '#login-overlay {z-index:2000!important;}' +
  722.     '#overlay {z-index:1001!important;}' +
  723.     '#entrance_terms, #broadcast_terms {z-index:1002!important;}' +
  724.     '.tip_popup img {display:none!important;}' +
  725.     '.tabs {background-color:#e6e6e6!important;}' +
  726.     '#app_title {color:#' + color[1] + '!important;}' +
  727.     'legend {color:#' + color[1] + '!important;}' +
  728.     '.share {background-color:#e6e6e6!important;}' +
  729.     '.blue, .ourtitle, .choiceclear {color:#' + color[1] + '!important;}');
  730. //===============================================
  731. //===============================================
  732. var getName = location.pathname;
  733. var latest = getName.slice(1,-1);
  734.  
  735. if (latest == 'tags') {
  736.     latest = '';
  737. }
  738.  
  739. var prof = latest.search('p/');
  740. if (prof === 0) {
  741.     latest = latest.replace('p/', '');
  742. }
  743.  
  744. var broad = latest.search('b/');
  745. if (broad === 0) {
  746.     latest = latest.replace('b/', '');
  747. }
  748.  
  749. var app = latest.search('app');
  750. if (app === 0) {
  751.     document.getElementById('verText').innerHTML = '';
  752.     document.getElementById('editBut').innerHTML = '';
  753. }
  754.  
  755. var apps = latest.search('apps');
  756. if (apps === 0) {
  757.     latest = latest.replace('apps', '');
  758.     document.getElementById('verText').innerHTML = '';
  759.     document.getElementById('editBut').innerHTML = '';
  760. }
  761.  
  762. var affiliates = latest.search('affiliates/api/onlinerooms');
  763. if (affiliates === 0) {
  764.     latest = latest.replace('affiliates/api/onlinerooms', '');
  765.     document.getElementById('verText').innerHTML = '';
  766.     document.getElementById('editBut').innerHTML = '';
  767. }
  768.  
  769. var feeds = latest.search('feed/latest');
  770. if (feeds === 0) {
  771.     latest = latest.replace('feed/latest', '');
  772.     document.getElementById('verText').innerHTML = '';
  773.     document.getElementById('editBut').innerHTML = '';
  774. }
  775.  
  776. var photovid = latest.search('photo_videos/');
  777. var tipping = latest.search('tipping/');
  778. var emoticons = latest.search('emoticons');
  779. if ((photovid === 0) || (tipping === 0) || (emoticons === 0)) {
  780.     document.getElementById('verText').innerHTML = '';
  781.     document.getElementById('editBut').innerHTML = '';
  782. }
  783.  
  784. var pic = document.createElement('IMG');
  785. pic.setAttribute('id', 'newImage');
  786. pic.setAttribute('src', 'https://roomimg.stream.highwebmedia.com/ri/' + latest + '.jpg');
  787. pic.setAttribute('style', 'position:' + posi + '; top:0; right:268px; border:1px solid #' + color[1] + '; width:95px; height:78px; z-index:1000;');
  788. pic.onload = function() {
  789.     if ((latest != '/propose_app') && (latest != '/proposals') && (latest != '/upload_app') && (latest != '/search') && (latest != 'emoticons')) {
  790.         document.body.appendChild(pic);
  791.     }
  792. };
  793. pic.onerror = function() {
  794.     pic.setAttribute('style', 'display:none;');
  795. };
  796.  
  797. var link = document.getElementsByTagName('a');
  798. for (i = 0; i < link.length; i++) {
  799.     if (link[i].href.indexOf('?url=') != -1) {
  800.         linkhref = unescape(link[i].href);
  801.         newlinkhref = linkhref.substring(linkhref.indexOf("?url=") + 5, linkhref.indexOf("&domain"));
  802.         link[i].href = newlinkhref;
  803.     }
  804. }
  805.  
  806. var broadcasting = '/b/' + latest + '/';
  807.  
  808. var onCheck = document.createElement('INS');
  809. var onTxt = document.createTextNode('');
  810. onCheck.setAttribute('id', 'checkOn');
  811. onCheck.setAttribute('style', 'display:none;');
  812. onCheck.appendChild(onTxt);
  813. document.body.appendChild(onCheck);
  814.  
  815. $('#checkOn').load('https://chaturbate.com/' + latest + '#defchat p strong');
  816.  
  817. setTimeout(function() {
  818.     var getOn = document.getElementById('checkOn').textContent;
  819.     var stripTags = getOn.search('Room is currently offline');
  820.     if (stripTags !== 0) {
  821.         return;
  822.     }
  823.     else {
  824.         setInterval(function() {
  825.             $('#checkOn').load('https://chaturbate.com/' + latest + '#defchat p strong');
  826.             setTimeout(function() {
  827.                 var reCheck = document.getElementById('checkOn').textContent;
  828.                 var reStrip = reCheck.search('Room is currently offline');
  829.                 if (reStrip === 0) {
  830.                     return;
  831.                 }
  832.                 else if (getName == broadcasting) {
  833.                     return;
  834.                 }
  835.                 else {
  836.                     location.reload();
  837.                 }
  838.             }, 5000);
  839.         }, 5000);
  840.     }
  841. }, 5000);
  842.  
  843. // =============================================================================
  844. // === Remove Thumbnail Preview Lock Icon to make Preview more Visible =========
  845. // =============================================================================
  846. pictures = document.getElementsByClassName('preview');
  847. if (pictures) {
  848.     for (i = 0; i < pictures.length; i++) {
  849.         if (pictures[i].getAttribute("alt") == "Locked") {
  850.             pictures[i].parentNode.removeChild(pictures[i]);
  851.         }
  852.     }
  853. }
  854. // =============================================================================
  855. // === Create Favorite Model Cam ===============================================
  856. // =============================================================================
  857. if (color3 !== '') {
  858.     if (latest == 'transsexual-cams') {
  859.         var chgAct = document.getElementsByClassName('sub-nav')[0].innerHTML;
  860.         var exCheck = chgAct.search('<li class="active">');
  861.         if (exCheck) {
  862.             chgAct = chgAct.replace('<li class="active">', '<li>');
  863.         }
  864.         var newEx = chgAct + '<li class="active"><a href="/' + color3 + '/">' + color3 + '</a></li>';
  865.         document.getElementsByClassName('sub-nav')[0].innerHTML = newEx;
  866.     } else if (getName == broadcasting) {
  867.         console.log('Broadcasting Interface Detected');
  868.     } else {
  869.         var getSub = document.getElementsByClassName('sub-nav')[0].innerHTML;
  870.         var addEx = getSub + '<li><a href="/' + color3 + '/">' + color3 + '</a></li>';
  871.         document.getElementsByClassName('sub-nav')[0].innerHTML = addEx;
  872.     }
  873. }
  874. var getSubAgain = document.getElementsByClassName('sub-nav')[0].innerHTML;
  875. var addExAgain = getSubAgain + '<li><a href="' + document.URL + '">' + 'REFRESH' + '</a></li>';
  876. document.getElementsByClassName('sub-nav')[0].innerHTML = addExAgain;
  877. // =============================================================================
  878. if (color4 === ''){
  879.     color4 = "Tw Cen MT"
  880. }
  881. // =============================================================================
  882. // === Remove Sections =========================================================
  883. // =============================================================================
  884. function removeEBP() {
  885.     MV_removeElementsByPath("//img[contains(@src, 'postimg.org')]");
  886.     MV_removeElementsByPath("//img[contains(@src, 'www.dmca.com/App_Themes/')]");
  887.     MV_removeElementsByPath("//img[contains(@src, 'http://s06.flagcounter.com')]");
  888.     MV_removeElementsByPath("//img[contains(@src, 'http://s09.flagcounter.com')]");
  889.     MV_removeElementsByPath("//img[contains(@src, 'http://25.media.tumblr.com')]");
  890.     MV_removeElementsByPath("//img[contains(@src, '4.bp.blogspot.com')]");
  891.     MV_removeElementsByPath("//img[contains(@src, 'https://3.bp.blogspot.com')]");
  892.     MV_removeElementsByPath("//img[contains(@src, 'https://2.bp.blogspot.com')]");
  893.     MV_removeElementsByPath("//img[contains(@src, 'https://1.bp.blogspot.com')]");
  894.     MV_removeElementsByPath("//img[contains(@src, 'ig-badge-48.png')]");
  895.     MV_removeElementsByPath("//img[contains(@src, 'dmca_protected')]");
  896.     MV_removeElementsByPath("//img[contains(@src, 'imgur')]");
  897.     MV_removeElementsByPath("//img[contains(@src, 'www.camfolk.info/')]");
  898.     MV_removeElementsByPath("//img[contains(@src, 'http://www.asocea.com')]");
  899.     MV_removeElementsByPath("//img[contains(@src, 'tinypic.com')]");
  900.     MV_removeElementsByPath("//img[contains(@src, 'photobucket.com')]");
  901.     MV_removeElementsByPath("//img[contains(@src, 'imageshack.com')]");
  902.     MV_removeElementsByPath("//img[contains(@src, 'ecx.images-amazon.com')]");
  903.     MV_removeElementsByPath("//img[contains(@src, 'dresden-stollen.com')]");
  904.     MV_removeElementsByPath("//img[contains(@src, 'hatchnorfolk.com')]");
  905.     MV_removeElementsByPath("//img[contains(@src, 'icons.iconarchive.com')]");
  906.     MV_removeElementsByPath("//img[contains(@src, 'googleusercontent.com')]");
  907.     MV_removeElementsByPath("//img[contains(@src, 'server.myspace-shack.com')]");
  908.     MV_removeElementsByPath("//img[contains(@src, 'images.dmca.com/Badges/')]");
  909.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-grn-btn100w.png')]");
  910.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-std-btn140w.png')]");
  911.     MV_removeElementsByPath("//img[contains(@src, 'dmca_normal.png')]");
  912.     MV_removeElementsByPath("//img[contains(@src, 'DMCA_logo-200w_a_zpsf5mn8hoq.png')]");
  913.     MV_removeElementsByPath("//img[contains(@src, '_dmca_premi_badge_2.png')]");
  914.     MV_removeElementsByPath("//img[contains(@src, 'amazon_jk.png')]");
  915.     MV_removeElementsByPath("//img[contains(@src, 'https://45.media.tumblr.com')]");
  916.     MV_removeElementsByPath("//img[contains(@src, 'picasion.com')]");
  917.     MV_removeElementsByPath("//img[contains(@src, 'glitterfy.com')]");
  918.     MV_removeElementsByPath("//img[contains(@style, 'width:400px; height:400px')]");
  919.     MV_removeElementsByPath("//img[contains(@style, 'width:100px; height:100px')]");
  920.     MV_removeElementsByPath("//img[contains(@style, 'width:64px; height:64px')]");
  921.     MV_removeElementsByPath("//img[contains(@style, 'width:62px; height:62px')]");
  922.     MV_removeElementsByPath("//img[contains(@style, 'width:60px; height:60px')]");
  923.     MV_removeElementsByPath("//img[contains(@style, 'width:55px; height:55px')]");
  924.     MV_removeElementsByPath("//img[contains(@style, 'width:50px; height:50px')]");
  925.     MV_removeElementsByPath("//img[contains(@style, 'width:50px; height:57px')]");
  926.     MV_removeElementsByPath("//img[contains(@style, 'width:48px; height:48px')]");
  927.     MV_removeElementsByPath("//img[contains(@style, 'width:43px; height:43px')]");
  928.     MV_removeElementsByPath("//a[contains(@href, 'width:50px; height:50px')]");
  929.     MV_removeElementsByPath("//a[contains(@href, 'http://i.imgur.com')]");
  930.     MV_removeElementsByPath("//a[contains(@href, 'http://imgur.com')]");
  931.     MV_removeElementsByPath("//a[contains(@href, 'amateurmatch')]");
  932.     MV_removeElementsByPath("//a[contains(@href, 'amazon')]");
  933.     MV_removeElementsByPath("//a[contains(@href, '/tags/')]");
  934.     MV_removeElementsByPath("//a[contains(@href, 'https://twitter.com/')]");
  935.     MV_removeElementsByPath("//a[contains(@href, 'instagram.com/')]");
  936.     MV_removeElementsByPath("//a[@href='/contest/details/']");
  937.     //MV_removeElementsByPath("//a[@href='/male-cams/']");
  938.     //MV_removeElementsByPath("//a[@href='/female-cams/']");
  939.     MV_removeElementsByPath("//a[@href='/couple-cams/']");
  940.     //MV_removeElementsByPath("//a[@href='/spy-on-cams/']");
  941.     MV_removeElementsByPath("//div[@class='nav-bar']//li/a[@href='/tipping/free_tokens/']");
  942.     MV_removeElementsByPath("//div[@class='c-1 endless_page_template']//div[@class='thumbnail_label thumbnail_label_c']");
  943.     MV_removeElementsByPath("//div[@class='nav-bar']//li/a[@href='http://blog.chaturbate.com/']");
  944.     MV_removeElementsByPath("//div[@class='top-section']//li/a[@href='/']");
  945.     MV_removeElementsByPath("//div[@class='featured_text']");
  946.     MV_removeElementsByPath("//div[@class='footer-holder']");
  947.     MV_removeElementsByPath("//div[@class='featured_blog_posts']");
  948.     MV_removeElementsByPath("//div[contains(@class, 'thumbnail_label thumbnail_label_c')]");
  949.     MV_removeElementsByPath("//div[contains(@class, 'thumbnail_label thumbnail_label_tokens')]");
  950.     var headerAD = $('.ad');
  951.     if (headerAD) { headerAD.remove(); } //Remove AD sections hidden inside the page Header
  952. // =============================================================================
  953.     var scriptTest = $('script[src="https://cdn.exoticads.com/xads.js"]');
  954.     if (scriptTest) { scriptTest.remove(); } //Remove the garbage AD script
  955. // =============================================================================
  956.     var scriptTest2 = $('script[src="https://ssl.google-analytics.com/ga.js"]');
  957.     if (scriptTest2) { scriptTest2.remove(); } //Remove the google analytics tracking script
  958. // =============================================================================
  959.     var removeGAQ = $('script[id="gaq"]');
  960.     if (removeGAQ) { removeGAQ.remove(); } //Remove the google tracking script
  961. }
  962. // =============================================================================
  963. // === Functions================================================================
  964. // =============================================================================
  965. // Include start [domUtil.js]
  966. function MV_removeElementsByPath(pPath) {
  967.     var pathResult = document.evaluate(pPath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  968.     if(pathResult.snapshotLength > 0) {
  969.         for(var i=0; i < pathResult.snapshotLength; i++) {
  970.             var pathNode = pathResult.snapshotItem(i);
  971.             pathNode.parentNode.removeChild(pathNode);
  972.         }
  973.     }
  974. }
  975. // =============================================================================
  976. // === Get Elements By Path ====================================================
  977. // =============================================================================
  978. function MV_getElementByPath(pPath, pRoot) {
  979.     var pathResult = document.evaluate(pPath, pRoot === null ? document : pRoot, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  980.     return pathResult.snapshotLength <= 0 ? null : pathResult.snapshotItem(0);
  981. }
  982. // =============================================================================
  983. // === Create Button ===========================================================
  984. // =============================================================================
  985. function MV_createButton(pAttributes, pClickListener) {
  986.     pAttributes.type = "button";
  987.     var resultElement = MV_createElement("input", pAttributes);
  988.     if(pClickListener !== null) {
  989.         resultElement.addEventListener("click", pClickListener, true);
  990.     }
  991.     return resultElement;
  992. }
  993. // =============================================================================
  994. // === Create Element ==========================================================
  995. // =============================================================================
  996. function MV_createElement(pElementName, pAttributes, pInnerHtml) {
  997.     var resultElement = document.createElement(pElementName);
  998.     for(var attributeName in pAttributes) {
  999.         resultElement.setAttribute(attributeName, pAttributes[attributeName]);
  1000.     }
  1001.     if(pInnerHtml !== null) {
  1002.         resultElement.innerHTML = pInnerHtml;
  1003.     }
  1004.     return resultElement;
  1005. }
  1006.  
  1007. var passCheck = document.createElement('INS');
  1008. var passTxt = document.createTextNode('');
  1009. passCheck.setAttribute('id', 'checkPass');
  1010. passCheck.setAttribute('style', 'display:none;');
  1011. passCheck.appendChild(passTxt);
  1012. document.body.appendChild(passCheck);
  1013.  
  1014. $('#checkPass').load('https://chaturbate.com/' + latest + '#main .content .c-1 .block h1');
  1015.  
  1016. setTimeout(function() {
  1017.     var getPass = document.getElementById('checkPass').textContent;
  1018.     var stripPtags = getPass.search('This room requires a password.');
  1019.     if (stripPtags !== 0) {
  1020.         return;
  1021.     }
  1022.     else {
  1023.         setInterval(function() {
  1024.             var newLatest = latest.replace('roomlogin/', '');
  1025.             $('#checkPass').load('https://chaturbate.com/' + newLatest + '#main .content .c-1 .block h1');
  1026.             setTimeout(function() {
  1027.                 var rePcheck = document.getElementById('checkPass').textContent;
  1028.                 var rePstrip = rePcheck.search('This room requires a password.');
  1029.                 if (rePstrip === 0) {
  1030.                     return;
  1031.                 }
  1032.                 else {
  1033.                     window.location = 'https://chaturbate.com/' + newLatest;
  1034.                 }
  1035.             }, 5000);
  1036.         }, 5000);
  1037.     }
  1038. }, 5000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement