Advertisement
jimgreeno

Untitled

Sep 14th, 2017
9,136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GetText 93.45 KB | None | 0 0
  1.    https://pastebin.com/api/api_post.php
  2. : $api_dev_key = '7721bb1eb5ee23729c023a8baa54a44e'; // your api_developer_key
  3. $api_paste_code         = 'just some random text you :)'; // your paste text
  4. $api_paste_private      = '1'; // 0=public 1=unlisted 2=private
  5. $api_paste_name         = 'justmyfilename.php'; // name or title of your paste
  6. $api_paste_expire_date      = 'n';
  7. $api_paste_format       = 'php';
  8. $api_user_key           = ''; // if an invalid or expired api_user_key is used, an error will spawn. If no api_user_key is used, a guest paste will be created
  9. $api_paste_name         = urlencode($api_paste_name);
  10. $api_paste_code         = urlencode($api_paste_code);
  11.  
  12.  
  13. $url                = 'https://pastebin.com/api/api_post.php';
  14. $ch                 = curl_init($url);
  15.  
  16. curl_setopt($ch, CURLOPT_POST, true);
  17. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=paste&api_user_key='.$api_user_key.'&api_paste_private='.$api_paste_private.'&api_paste_name='.$api_paste_name.'&api_paste_expire_date='.$api_paste_expire_date.'&api_paste_format='.$api_paste_format.'&api_dev_key='.$api_dev_key.'&api_paste_code='.$api_paste_code.'');
  18. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  19. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  20. curl_setopt($ch, CURLOPT_NOBODY, 0);
  21.  
  22. $response           = curl_exec($ch);
  23. echo $response;
  24.  
  25. Creating A New Paste, [Required Parameters]
  26.  
  27.  
  28.  
  29.  1. api_dev_key - which is your unique API Developers Key.
  30.  2. api_option - set as 'paste', this will indicate you want to create a new paste.
  31.  3. api_paste_code - this is the text that will be written inside your paste.
  32.  
  33.  Leaving any of these parameters out will result in an error.
  34.  
  35. Creating A New Paste, [Optional Parameters]
  36.  
  37. These parameters are not required when you create a new paste, but are possible to add:
  38.  
  39.  1. api_user_key - this paramater is part of the login system, which is explained further down the page.
  40.  2. api_paste_name - this will be the name / title of your paste.
  41.  3. api_paste_format - this will be the syntax highlighting value, which is explained in detail further down the page.
  42.  4. api_paste_private - this makes a paste public or private, public = 0, unlisted = 1, private = 2
  43.  5. api_paste_expire_date - this sets the expiration date of your paste, the values are explained futher down the page.
  44.  
  45. Creating A New Paste, The 'api_paste_format' Paramater In Detail
  46.  
  47. We have over 200 syntax highlighting options available, below you can find a list of all the possible values you can use in combination with 'api_paste_format'. Always include the value on the left from the list below, the value on the right is just the full name of the language in question.
  48.     4cs = 4CS
  49.     6502acme = 6502 ACME Cross Assembler
  50.     6502kickass = 6502 Kick Assembler
  51.     6502tasm = 6502 TASM/64TASS
  52.     abap = ABAP
  53.     actionscript = ActionScript
  54.     actionscript3 = ActionScript 3
  55.     ada = Ada
  56.     aimms = AIMMS
  57.     algol68 = ALGOL 68
  58.     apache = Apache Log
  59.     applescript = AppleScript
  60.     apt_sources = APT Sources
  61.     arm = ARM
  62.     asm = ASM (NASM)
  63.     asp = ASP
  64.     asymptote = Asymptote
  65.     autoconf = autoconf
  66.     autohotkey = Autohotkey
  67.     autoit = AutoIt
  68.     avisynth = Avisynth
  69.     awk = Awk
  70.     bascomavr = BASCOM AVR
  71.     bash = Bash
  72.     basic4gl = Basic4GL
  73.     dos = Batch
  74.     bibtex = BibTeX
  75.     blitzbasic = Blitz Basic
  76.     b3d = Blitz3D
  77.     bmx = BlitzMax
  78.     bnf = BNF
  79.     boo = BOO
  80.     bf = BrainFuck
  81.     c = C
  82.     c_winapi = C (WinAPI)
  83.     c_mac = C for Macs
  84.     cil = C Intermediate Language
  85.     csharp = C#
  86.     cpp = C++
  87.     cpp-winapi = C++ (WinAPI)
  88.     cpp-qt = C++ (with Qt extensions)
  89.     c_loadrunner = C: Loadrunner
  90.     caddcl = CAD DCL
  91.     cadlisp = CAD Lisp
  92.     ceylon = Ceylon
  93.     cfdg = CFDG
  94.     chaiscript = ChaiScript
  95.     chapel = Chapel
  96.     clojure = Clojure
  97.     klonec = Clone C
  98.     klonecpp = Clone C++
  99.     cmake = CMake
  100.     cobol = COBOL
  101.     coffeescript = CoffeeScript
  102.     cfm = ColdFusion
  103.     css = CSS
  104.     cuesheet = Cuesheet
  105.     d = D
  106.     dart = Dart
  107.     dcl = DCL
  108.     dcpu16 = DCPU-16
  109.     dcs = DCS
  110.     delphi = Delphi
  111.     oxygene = Delphi Prism (Oxygene)
  112.     diff = Diff
  113.     div = DIV
  114.     dot = DOT
  115.     e = E
  116.     ezt = Easytrieve
  117.     ecmascript = ECMAScript
  118.     eiffel = Eiffel
  119.     email = Email
  120.     epc = EPC
  121.     erlang = Erlang
  122.     euphoria = Euphoria
  123.     fsharp = F#
  124.     falcon = Falcon
  125.     filemaker = Filemaker
  126.     fo = FO Language
  127.     f1 = Formula One
  128.     fortran = Fortran
  129.     freebasic = FreeBasic
  130.     freeswitch = FreeSWITCH
  131.     gambas = GAMBAS
  132.     gml = Game Maker
  133.     gdb = GDB
  134.     genero = Genero
  135.     genie = Genie
  136.     gettext = GetText
  137.     go = Go
  138.     groovy = Groovy
  139.     gwbasic = GwBasic
  140.     haskell = Haskell
  141.     haxe = Haxe
  142.     hicest = HicEst
  143.     hq9plus = HQ9 Plus
  144.     html4strict = HTML
  145.     html5 = HTML 5
  146.     icon = Icon
  147.     idl = IDL
  148.     ini = INI file
  149.     inno = Inno Script
  150.     intercal = INTERCAL
  151.     io = IO
  152.     ispfpanel = ISPF Panel Definition
  153.     j = J
  154.     java = Java
  155.     java5 = Java 5
  156.     javascript = JavaScript
  157.     jcl = JCL
  158.     jquery = jQuery
  159.     json = JSON
  160.     julia = Julia
  161.     kixtart = KiXtart
  162.     kotlin = Kotlin
  163.     latex = Latex
  164.     ldif = LDIF
  165.     lb = Liberty BASIC
  166.     lsl2 = Linden Scripting
  167.     lisp = Lisp
  168.     llvm = LLVM
  169.     locobasic = Loco Basic
  170.     logtalk = Logtalk
  171.     lolcode = LOL Code
  172.     lotusformulas = Lotus Formulas
  173.     lotusscript = Lotus Script
  174.     lscript = LScript
  175.     lua = Lua
  176.     m68k = M68000 Assembler
  177.     magiksf = MagikSF
  178.     make = Make
  179.     mapbasic = MapBasic
  180.     markdown = Markdown
  181.     matlab = MatLab
  182.     mirc = mIRC
  183.     mmix = MIX Assembler
  184.     modula2 = Modula 2
  185.     modula3 = Modula 3
  186.     68000devpac = Motorola 68000 HiSoft Dev
  187.     mpasm = MPASM
  188.     mxml = MXML
  189.     mysql = MySQL
  190.     nagios = Nagios
  191.     netrexx = NetRexx
  192.     newlisp = newLISP
  193.     nginx = Nginx
  194.     nimrod = Nimrod
  195.     text = None
  196.     nsis = NullSoft Installer
  197.     oberon2 = Oberon 2
  198.     objeck = Objeck Programming Langua
  199.     objc = Objective C
  200.     ocaml-brief = OCalm Brief
  201.     ocaml = OCaml
  202.     octave = Octave
  203.     oorexx = Open Object Rexx
  204.     pf = OpenBSD PACKET FILTER
  205.     glsl = OpenGL Shading
  206.     oobas = Openoffice BASIC
  207.     oracle11 = Oracle 11
  208.     oracle8 = Oracle 8
  209.     oz = Oz
  210.     parasail = ParaSail
  211.     parigp = PARI/GP
  212.     pascal = Pascal
  213.     pawn = Pawn
  214.     pcre = PCRE
  215.     per = Per
  216.     perl = Perl
  217.     perl6 = Perl 6
  218.     php = PHP
  219.     php-brief = PHP Brief
  220.     pic16 = Pic 16
  221.     pike = Pike
  222.     pixelbender = Pixel Bender
  223.     pli = PL/I
  224.     plsql = PL/SQL
  225.     postgresql = PostgreSQL
  226.     postscript = PostScript
  227.     povray = POV-Ray
  228.     powershell = Power Shell
  229.     powerbuilder = PowerBuilder
  230.     proftpd = ProFTPd
  231.     progress = Progress
  232.     prolog = Prolog
  233.     properties = Properties
  234.     providex = ProvideX
  235.     puppet = Puppet
  236.     purebasic = PureBasic
  237.     pycon = PyCon
  238.     python = Python
  239.     pys60 = Python for S60
  240.     q = q/kdb+
  241.     qbasic = QBasic
  242.     qml = QML
  243.     rsplus = R
  244.     racket = Racket
  245.     rails = Rails
  246.     rbs = RBScript
  247.     rebol = REBOL
  248.     reg = REG
  249.     rexx = Rexx
  250.     robots = Robots
  251.     rpmspec = RPM Spec
  252.     ruby = Ruby
  253.     gnuplot = Ruby Gnuplot
  254.     rust = Rust
  255.     sas = SAS
  256.     scala = Scala
  257.     scheme = Scheme
  258.     scilab = Scilab
  259.     scl = SCL
  260.     sdlbasic = SdlBasic
  261.     smalltalk = Smalltalk
  262.     smarty = Smarty
  263.     spark = SPARK
  264.     sparql = SPARQL
  265.     sqf = SQF
  266.     sql = SQL
  267.     standardml = StandardML
  268.     stonescript = StoneScript
  269.     sclang = SuperCollider
  270.     swift = Swift
  271.     systemverilog = SystemVerilog
  272.     tsql = T-SQL
  273.     tcl = TCL
  274.     teraterm = Tera Term
  275.     thinbasic = thinBasic
  276.     typoscript = TypoScript
  277.     unicon = Unicon
  278.     uscript = UnrealScript
  279.     upc = UPC
  280.     urbi = Urbi
  281.     vala = Vala
  282.     vbnet = VB.NET
  283.     vbscript = VBScript
  284.     vedit = Vedit
  285.     verilog = VeriLog
  286.     vhdl = VHDL
  287.     vim = VIM
  288.     visualprolog = Visual Pro Log
  289.     vb = VisualBasic
  290.     visualfoxpro = VisualFoxPro
  291.     whitespace = WhiteSpace
  292.     whois = WHOIS
  293.     winbatch = Winbatch
  294.     xbasic = XBasic
  295.     xml = XML
  296.     xorg_conf = Xorg Config
  297.     xpp = XPP
  298.     yaml = YAML
  299.     z80 = Z80 Assembler
  300.     zxbasic = ZXBasic
  301.  
  302.  
  303. Creating A New Paste, The 'api_paste_expire_date' Paramater In Detail
  304.  
  305. We have 9 valid values available which you can use with the 'api_paste_expire_date' parameter:
  306.      N = Never
  307.      10M = 10 Minutes
  308.      1H = 1 Hour
  309.      1D = 1 Day
  310.      1W = 1 Week
  311.      2W = 2 Weeks
  312.      1M = 1 Month
  313.      6M = 6 Months
  314.      1Y = 1 Year
  315.  
  316. Creating A New Paste, The 'api_paste_private' Paramater In Detail
  317.  
  318. We have 3 valid values available which you can use with the 'api_paste_private' parameter:
  319.      0 = Public
  320.      1 = Unlisted
  321.      2 = Private (only allowed in combination with api_user_key, as you have to be logged into your account to access the paste)
  322.  
  323. Creating An 'api_user_key' Using The API Member Login System
  324.  
  325. Key, in your case:
  326.  1. api_dev_key - this is your API Developer Key, in your case: 7721bb1eb5ee23729c023a8baa54a44e
  327.  2. 7721bb1eb5ee23729c023a8baa54a44ethis is the username of the user you want to login.
  328.  3. api_user_password - this is the password of the user you want to login.
  329.  
  330.  If all 3 values match, a valid user session key will be returned. This key can be used as the 'api_user_key' paramater. Only one key can be active at the same time for the same user. The api_user_key does not expire, unless a new one is generated. We recommend creating just one, then caching that key locally as it does not expire.
  331.  
  332.  Below is a PHP example using cURL how to create a valid 'api_user_key': $api_dev_key       = '7721bb1eb5ee23729c023a8baa54a44e';
  333. $api_user_name      = 'a_users_username';
  334. $api_user_password  = 'a_users_password';
  335. $api_user_name      = urlencode($api_user_name);
  336. $api_user_password  = urlencode($api_user_password);
  337. $url            = 'https://pastebin.com/api/api_login.php';
  338. $ch         = curl_init($url);
  339.  
  340. curl_setopt($ch, CURLOPT_POST, true);
  341. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_dev_key='.$api_dev_key.'&api_user_name='.$api_user_name.'&api_user_password='.$api_user_password.'');
  342. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  343. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  344. curl_setopt($ch, CURLOPT_NOBODY, 0);
  345.  
  346. $response       = curl_exec($ch);
  347. echo $response;
  348.  
  349. Possible Good API Responses: (example) 6c6d3fe13b19bbd6e479b705df0a607f
  350. Possible Bad API Responses: Bad API request, use POST request, not GET
  351. Bad API request, invalid api_dev_key
  352. Bad API request, invalid login
  353. Bad API request, account not active
  354. Bad API request, invalid POST parameters
  355. If you quickly need to set just one api_user_key, you can use this form to generate one.  
  356. Listing Pastes Created By A User
  357.  
  358. With this API you can list all the pastes created by a certain user. You will need send a valid POST request to the URL below to access the data: https://pastebin.com/api/api_post.php
  359. Include all the following POST parameters when you request the URL:
  360.  1. api_dev_key - this is your API Developer Key, in your case: 7721bb1eb5ee23729c023a8baa54a44e
  361.  2. api_user_key - this is the session key of the logged in user. How to obtain such a key
  362.  3. api_results_limit - this is not required, by default its set to 50, min value is 1, max value is 1000
  363.  4. api_option - set as 'list'
  364.  
  365.  Below is a PHP example using cURL how to list pastes: $api_dev_key         = '7721bb1eb5ee23729c023a8baa54a44e';
  366. $api_user_key       = '';
  367. $api_results_limit  = '100';
  368. $url            = 'https://pastebin.com/api/api_post.php';
  369. $ch             = curl_init($url);
  370.  
  371. curl_setopt($ch, CURLOPT_POST, true);
  372. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=list&api_user_key='.$api_user_key.'&api_dev_key='.$api_dev_key.'&api_results_limit='.$api_results_limit.'');
  373. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  374. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  375. curl_setopt($ch, CURLOPT_NOBODY, 0);
  376.  
  377. $response       = curl_exec($ch);
  378. echo $response;
  379. Below is an example output of a users paste listing: <paste>
  380.     <paste_key>0b42rwhf</paste_key>
  381.     <paste_date>1297953260</paste_date>
  382.     <paste_title>javascript test</paste_title>
  383.     <paste_size>15</paste_size>
  384.     <paste_expire_date>1297956860</paste_expire_date>
  385.     <paste_private>0</paste_private>
  386.     <paste_format_long>JavaScript</paste_format_long>
  387.     <paste_format_short>javascript</paste_format_short>
  388.     <paste_url>https://pastebin.com/0b42rwhf</paste_url>
  389.     <paste_hits>15</paste_hits>
  390. </paste>
  391. <paste>
  392.     <paste_key>0C343n0d</paste_key>
  393.     <paste_date>1297694343</paste_date>
  394.     <paste_title>Welcome To Pastebin V3</paste_title>
  395.     <paste_size>490</paste_size>
  396.     <paste_expire_date>0</paste_expire_date>
  397.     <paste_private>0</paste_private>
  398.     <paste_format_long>None</paste_format_long>
  399.     <paste_format_short>text</paste_format_short>
  400.     <paste_url>https://pastebin.com/0C343n0d</paste_url>
  401.     <paste_hits>65</paste_hits>
  402. </paste>
  403. Other Possible Good API Responses: No pastes found.
  404. Possible Bad API Responses: Bad API request, invalid api_option
  405. Bad API request, invalid api_dev_key
  406. Bad API request, invalid api_user_key
  407.  
  408. Listing Trending Pastes
  409.  
  410. With this API you can list the 18 currently trending pastes. You will need send a valid POST request to the URL below to access the data: https://pastebin.com/api/api_post.php
  411. Include all the following POST parameters when you request the URL:
  412.  1. api_dev_key - this is your API Developer Key, in your case: 7721bb1eb5ee23729c023a8baa54a44e
  413.  2. api_option - set as 'trends'
  414.  
  415.  Below is a PHP example using cURL how to list pastes: $api_dev_key         = '7721bb1eb5ee23729c023a8baa54a44e';
  416. $url            = 'https://pastebin.com/api/api_post.php';
  417. $ch             = curl_init($url);
  418.  
  419. curl_setopt($ch, CURLOPT_POST, true);
  420. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=trends&api_dev_key='.$api_dev_key.'');
  421. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  422. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  423. curl_setopt($ch, CURLOPT_NOBODY, 0);
  424.  
  425. $response       = curl_exec($ch);
  426. echo $response;
  427. Below is an example output of a users paste listing: <paste>
  428.     <paste_key>4eWYATXe</paste_key>
  429.     <paste_date>1319458935</paste_date>
  430.     <paste_title>577 French MPs</paste_title>
  431.     <paste_size>29397</paste_size>
  432.     <paste_expire_date>0</paste_expire_date>
  433.     <paste_private>0</paste_private>
  434.     <paste_format_long>None</paste_format_long>
  435.     <paste_format_short>text</paste_format_short>
  436.     <paste_url>https://pastebin.com/4eWYATXe</paste_url>
  437.     <paste_hits>804</paste_hits>
  438. </paste>
  439.  
  440. Possible Bad API Responses: Bad API request, invalid api_option
  441. Bad API request, invalid api_dev_key
  442.  
  443. Deleting A Paste Created By A User
  444.  
  445. With this API you can delete pastes created by certain users. You will need to send a valid POST request to the URL below to access the data: https://pastebin.com/api/api_post.php
  446. Include all the following POST parameters when you request the URL:
  447.  1. api_dev_key - this is your API Developer Key, in your case: 7721bb1eb5ee23729c023a8baa54a44e
  448.  2. api_user_key - this is the session key of the logged in user. How to obtain such a key
  449.  3. api_paste_key - this is the unique key of the paste you want to delete.
  450.  4. api_option - set as 'delete'
  451.  
  452.         = '7721bb1eb5ee23729c023a8baa54a44e';
  453. $api_user_key       = '';
  454. $api_paste_key      = '';
  455. $url            = 'https://pastebin.com/api/api_post.php';
  456. $ch             = curl_init($url);
  457.  
  458. curl_setopt($ch, CURLOPT_POST, true);
  459. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=delete&api_user_key='.$api_user_key.'&api_dev_key='.$api_dev_key.'&api_paste_key='.$api_paste_key.'');
  460. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  461. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  462. curl_setopt($ch, CURLOPT_NOBODY, 0);
  463.  
  464. $response       = curl_exec($ch);
  465. echo $response;
  466.  
  467.  
  468.  
  469. Include all the following POST parameters when you request the URL:
  470.  1. api_dev_key - this is your API Developer Key, in your  7721bb1eb5ee23729c023a8baa54a44e
  471.  2. api_user_key - this is the session key of the logged in user. How to obtain such a key
  472.  3. api_option - set as 'userdetails'
  473.  
  474.  Below is a PHP example using cURL how to create a valid 'api_user_key': $api_dev_key       = '7721bb1eb5ee23729c023a8baa54a44e';
  475. $api_user_key       = '';
  476. $url            = 'https://pastebin.com/api/api_post.php';
  477. $ch             = curl_init($url);
  478.  
  479. curl_setopt($ch, CURLOPT_POST, true);
  480. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=userdetails&api_user_key='.$api_user_key.'&api_dev_key='.$api_dev_key.'');
  481. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  482. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  483. curl_setopt($ch, CURLOPT_NOBODY, 0);
  484.  
  485. $response       = curl_exec($ch);
  486. echo $response;
  487. Below is an example output of a user information listing: <user>
  488.     <user_name>wiz_kitty</user_name>
  489.     <user_format_short>text</user_format_short>
  490.     <user_expiration>N</user_expiration>
  491.     <user_avatar_url>https://pastebin.com/cache/a/1.jpg</user_avatar_url>
  492.     <user_private>1</user_private> (0 Public, 1 Unlisted, 2 Private)
  493.     <user_website>https://myawesomesite.com</user_website>
  494.     <user_email>oh@dear.com</user_email>
  495.     <user_location>New York</user_location>
  496.     <user_account_type>1</user_account_type> (0 normal, 1 PRO)
  497. </user>
  498. Possible Bad API Responses: Bad API request, invalid api_option
  499. Bad API request, invalid api_dev_key
  500. Bad API request, invalid api_user_key
  501.  
  502. Getting raw paste output of users pastes including 'private' pastes
  503.  
  504. With this API you can obtain the raw paste output of a users pastes, including private pastes: https://pastebin.com/api/api_raw.php
  505. Include all the following POST parameters when you request the URL:
  506.  1. api_dev_key - this is your API Developer Key, in your case: 7721bb1eb5ee23729c023a8baa54a44e
  507.  2. api_user_key - this is the session key of the logged in user. How to obtain such a key
  508.  3. api_paste_key - this is paste key you want to fetch the data from.
  509.  4. api_option - set as 'show_paste'
  510.  
  511.  Below is a PHP example using cURL how to fetch a users raw paste output: $api_dev_key      = '7721bb1eb5ee23729c023a8baa54a44e';
  512. $api_user_key       = '';
  513. $url            = 'https://pastebin.com/api/api_raw.php';
  514. $ch             = curl_init($url);
  515.  
  516. curl_setopt($ch, CURLOPT_POST, true);
  517. curl_setopt($ch, CURLOPT_POSTFIELDS, 'api_option=show_paste&api_user_key='.$api_user_key.'&api_dev_key='.$api_dev_key.'&api_paste_key=A_VALID_PASTE_KEY_HERE');
  518. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  519. curl_setopt($ch, CURLOPT_VERBOSE, 1);
  520. curl_setopt($ch, CURLOPT_NOBODY, 0);
  521.  
  522. $response       = curl_exec($ch);
  523. echo $response;
  524.  
  525.  
  526. GM_xmlhttpRequest ( {
  527.  
  528.   method: 'GET',
  529.  
  530.   url: fetchURL,
  531.                           https://chaturbate.com/embed//?-_js./embed_js.php?i
  532.                            https://chaturbate.com//
  533.  
  534.  
  535. 17.     print "< form method='post' enctype='multipart/form-data'>";
  536.  
  537.  
  538. 18.     for($i=0;$i<$numoffile;$i++)
  539.  
  540.  
  541. 19.     {
  542.  
  543.  
  544. 20.       print "< input type='file' name='myfiles[]' size='30'>
  545.  
  546.  
  547. 21.";
  548.  
  549.  
  550. 22.     }
  551.  
  552.  
  553. 23.     print "< input type='submit' name='action' value='Upload'>";
  554.  
  555.  
  556. 24.     print "< / form>";
  557.  
  558. 1.1. 2. 3.2. // ==UserScript== 4. 5. 6.3. // @name chaturbate 7. 8. 9.4. // @version 1 10. 11. 12.5. // @namespace chaturbate 13. 14. 15.6. // @description chaturbate 16. 17.7. // @include http://*.chaturbate.com/*/ded/?-_js./embed_js.php? 18. 19.8. // @include http://*.chaturbate.com//api/getchatuserlist/? 20. 21.9. // @include http://chaturbate.com/* 22. 23. 24.10. // @exclude http://serve.ads.chaturbate.com/* 25. 26. 27.11. // @run-at document-start 28. 29. 30.12. // @grant GM_getValue 31. 32. 33.13. // @grant GM_setValue 34. 35. 36.14. // @grant GM_addStyle 37. 38. 39.15. // @grant GM_xmlhttpRequest 40. 41. 42.16. // ==/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. //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 73. 74. 75.27. //>>>>>>>>>>>>>>>>>>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="
  559. Welcome in "+preformer+"'s room.
  560.  
  561. "; 298. 299. 300.102. text2="
  562. You are an anonymous user and you can not chat.
  563.  
  564. "; 301. 302. 303.103. text3="
  565. You are in mobile mode and you are not visible in the userlist.
  566.  
  567. "; 304. 305. 306.104. text4='
  568. Enter the private room--------Leave the private room
  569. '; 307. 308. 309.105. text5="
  570. Return to the profile.
  571.  
  572. "; 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
  573. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  574. 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. +'
  575. ' 907. 908. 909.305. +'
  576. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  577. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  578. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  579. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  580. ' 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+"
  581.  
  582. "; 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]+"
  583. "; 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]+"
  584. "; 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='
  585. 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='
  586. Enter the name of the user you want to locate:
  587. '; 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='
  588. '+msg3.substring(20)+'
  589. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  590. '+msg3.substring(20)+'
  591. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  592. '+msg3+'
  593. ';}}" 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
  594.  
  595. "; 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.
  596.  
  597. "; 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='
  598. ' 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. +'
  599. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  600.  
  601.  
  602. Shoutbox
  603.  
  604. '; 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="
  605. Welcome in "+preformer+"'s room.
  606.  
  607. "; 298. 299. 300.102. text2="
  608. You are an anonymous user and you can not chat.
  609.  
  610. "; 301. 302. 303.103. text3="
  611. You are in mobile mode and you are not visible in the userlist.
  612.  
  613. "; 304. 305. 306.104. text4='
  614. Enter the private room--------Leave the private room
  615. '; 307. 308. 309.105. text5="
  616. Return to the profile.
  617.  
  618. "; 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
  619. V '+scversion; 439. 440. 441.149. if(document.getElementById("player")){verstr=verstr+'
  620. 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. +'
  621. ' 907. 908. 909.305. +'
  622. ' 910. 911. 912.306. +'item5' 913. 914. 915.307. +' ' 916. 917. 918.308. +'
  623. ' 919. 920. 921.309. +'' 922. 923. 924.310. +'
  624. ' 925. 926. 927.311. +'' 928. 929. 930.312. +'' 931. 932. 933.313. +'•item8
  625. ' 934. 935. 936.314. +'•item9 min. online - item10 viewers
  626. ' 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+"
  627.  
  628. "; 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]+"
  629. "; 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]+"
  630. "; 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='
  631. 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='
  632. Enter the name of the user you want to locate:
  633. '; 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='
  634. '+msg3.substring(20)+'
  635. '}" 1462. 1463. 1464.490. +"if (msg3.indexOf('Notification privateshowrequest')!=-1){" 1465. 1466. 1467.491. +"msg4='
  636. '+msg3.substring(20)+'
  637. '}" 1468. 1469. 1470.492. +"if(document.getElementById('appnotice')){" 1471. 1472. 1473.493. +"if(document.getElementById('appnotice').checked==true){" 1474. 1475. 1476.494. +"msg4='
  638. '+msg3+'
  639. ';}}" 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
  640.  
  641. "; 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.
  642.  
  643. "; 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='
  644. ' 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. +'
  645. ' 2410. 2411. 2412.806. 2413. 2414. 2415.807. // shoutbox data 2416. 2417. 2418.808. sdata = '
  646.  
  647.  
  648. Shoutbox
  649.  
  650. '; 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement