Jump to content

Sharing is Caring


JadenStar10
 Share

Recommended Posts

5 hours ago, Suyash Adhikari said:

As the old saying goes, Sharing is Communism Caring.

Rewarded ads, ever heard of em? I have... and I am way too lazy to click a button 25 times. My Slave Our tech guy (@Scatheon/@Scatheon aka Blast) worked on a little script that fully automated watching 25 rewarded ads a day. Now before you worry, dont worry, it passes Alex's Regulations: image.thumb.png.275156f786cc8c0f2d5baa210b5325d4.png

All you gotta do is have a separate window (not tab!) of your browser running the script while you do stuff on your main window (or are not doing anything on your computer), though I would recommend muting the tab.

Headover to this site for the script: https://valyrianfreehold.com/bookmarklets/index4.html

Blast/Scatheon made a little tutorial video for all you lost birdies: 

Enjoy the $2m!

communism is stealing

  • Upvote 1
  • Downvote 2
Link to comment
Share on other sites

Had a few people ask about whether the script is gonna install viruses on their computer, so I figured I'd break things down for you. You can inspect the link in Chrome by right clicking it, then clicking `Inspect element`. Inside the href attribute is the following code:

 

javascript:(function()%7Bconst%20%24adButton%20%3D%20%24('%23btnAds')%3B%20%0Aconst%20%24adCounter%20%3D%20%24('%23rewarded_ads_watched_today')%3B%0Aconst%20getCurrentAdCount%20%3D%20()%20%3D%3E%20parseInt(%24adCounter.text().trim()%2C%2010)%3B%0Alet%20clicks%20%3D%20getCurrentAdCount()%3B%0Alet%20warningShown%20%3D%20false%3B%0A%0Aconst%20timer%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%2F%2F%20we%20hit%20the%20daily%20ad%20limit%2C%20quit%20forever%0A%20%20if%20(clicks%20%3E%3D%2025)%20%7B%0A%20%20%20%20clearInterval(timer)%3B%0A%20%20%20%20alert(%22All%20done.%20Scatheon%2FBlast%20says%20hi.%22)%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20the%20ad%20button%20is%20still%20hidden%2C%20quit%20this%20interval%20and%20try%20again%20in%201%20second%0A%20%20if%20(!%24adButton.is('%3Avisible'))%20%7B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20the%20server%20isn't%20tracking%20ads%20at%20the%20same%20rate%20we%20are%20anymore%0A%20%20if%20(!warningShown%20%26%26%20clicks%20!%3D%3D%20getCurrentAdCount())%20%7B%0A%20%20%20%20alert(%60Did%20the%20daily%20update%20happen%3F%20Clicks%20(%24%7Bclicks%7D)%20are%20getting%20out%20of%20sync%20with%20what%20the%20server%20is%20reporting%20(%24%7BgetCurrentAdCount()%7D).%20Refresh%20and%20retry%20recommended.%60)%3B%0A%20%20%20%20warningShown%20%3D%20true%3B%0A%20%20%7D%0A%0A%20%20%24adButton.trigger('click')%3B%0A%20%20clicks%20%2B%3D%201%3B%0A%7D%2C%201000)%3B%7D)()%3B

The `javascript:` at the start of the code indicates to the browser that the anchor tag is meant to execute JavaScript rather than navigate to a URL. It also has a bunch of URL-encoded characters. If you use a URL decoder, like this one that I just googled, you get the following. I cleaned up some of the spacing a bit, but it's otherwise exactly as it came from the decoder website:

(function () {
  const $adButton = $('#btnAds'); 
  const $adCounter = $('#rewarded_ads_watched_today');
  const getCurrentAdCount = () => parseInt($adCounter.text().trim(), 10);
  let clicks = getCurrentAdCount();
  let warningShown = false;

  const timer = setInterval(() => {
    // we hit the daily ad limit, quit forever
    if (clicks >= 25) {
      clearInterval(timer);
      alert("All done. Scatheon/Blast says hi.");
      return;
    }

    // the ad button is still hidden, quit this interval and try again in 1 second
    if (!$adButton.is(':visible')) {
      return;
    }

    // the server isn't tracking ads at the same rate we are anymore
    if (!warningShown && clicks !== getCurrentAdCount()) {
      alert(`Did the daily update happen? Clicks (${clicks}) are getting out of sync with what the server is reporting (${getCurrentAdCount()}). Refresh and retry recommended.`);
      warningShown = true;
    }

    $adButton.trigger('click');
    clicks += 1;
  }, 1000);
})();

The code itself is honestly really simple. It's literally just checking every second whether the button is visible, then clicking it when it is. It also does its best to stop once 25 ads have been watched. The only time that doesn't happen is when the daily update occurs, but it'll also try to track for that and alert you when it happens.

Edited by Scatheon aka Blast
  • Like 2

Yes hello I am a politic and war

 

 

 

Link to comment
Share on other sites

  • Wiki Mod

Just to be clear. Request validation is the ad service's problem, so dealing with this is their problem not alex's and he has more important places to devote his time. If you get blacklisted by them or whatever that is equally not alex's problem. 

  • Upvote 2

 

 

23:38 Skable that's why we don't want Rose involved, so we can take the m all for ourselves

23:39 [] but Mensa is the cute girl at the school dance and she's only dancing with us right now to get our friend jealous

23:39 [] If Rose comes in and gives Mensa what she wants, she'll just toss us aside and forget we ever existed

23:39 zombie_lanae yeah I do hope we can keep having them all to ourselves

23:40 zombie_lanae I know it's selfish but I want all their love

 

 

6:55 PM <+Isolatar> Praise Dio

Pubstomper|BNC [20:01:55] Rose wouldn't plan a hit on Mensa because it would be &#33;@#&#036;ing stupid

Link to comment
Share on other sites

18 hours ago, Wubba said:

Knowing Alex, he'll make a rule that you can't do this anymore. Such a killjoy. 

Alex doesnt care wither you stay at your laptop for 45 min clicking "Watch Rewarded Ads", or if a bot does it for you. He cares that the company sees 25 ads watched. period. 

 

He gets his irl cash to feed himself, we get the LED lights on your laptop to display 2,000,000 more in pixels. Win-win-win

  • Like 2
Link to comment
Share on other sites

On 8/2/2021 at 6:16 AM, Scatheon aka Blast said:

Had a few people ask about whether the script is gonna install viruses on their computer, so I figured I'd break things down for you. You can inspect the link in Chrome by right clicking it, then clicking `Inspect element`. Inside the href attribute is the following code:

 

javascript:(function()%7Bconst%20%24adButton%20%3D%20%24('%23btnAds')%3B%20%0Aconst%20%24adCounter%20%3D%20%24('%23rewarded_ads_watched_today')%3B%0Aconst%20getCurrentAdCount%20%3D%20()%20%3D%3E%20parseInt(%24adCounter.text().trim()%2C%2010)%3B%0Alet%20clicks%20%3D%20getCurrentAdCount()%3B%0Alet%20warningShown%20%3D%20false%3B%0A%0Aconst%20timer%20%3D%20setInterval(()%20%3D%3E%20%7B%0A%20%20%2F%2F%20we%20hit%20the%20daily%20ad%20limit%2C%20quit%20forever%0A%20%20if%20(clicks%20%3E%3D%2025)%20%7B%0A%20%20%20%20clearInterval(timer)%3B%0A%20%20%20%20alert(%22All%20done.%20Scatheon%2FBlast%20says%20hi.%22)%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20the%20ad%20button%20is%20still%20hidden%2C%20quit%20this%20interval%20and%20try%20again%20in%201%20second%0A%20%20if%20(!%24adButton.is('%3Avisible'))%20%7B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%0A%20%20%2F%2F%20the%20server%20isn't%20tracking%20ads%20at%20the%20same%20rate%20we%20are%20anymore%0A%20%20if%20(!warningShown%20%26%26%20clicks%20!%3D%3D%20getCurrentAdCount())%20%7B%0A%20%20%20%20alert(%60Did%20the%20daily%20update%20happen%3F%20Clicks%20(%24%7Bclicks%7D)%20are%20getting%20out%20of%20sync%20with%20what%20the%20server%20is%20reporting%20(%24%7BgetCurrentAdCount()%7D).%20Refresh%20and%20retry%20recommended.%60)%3B%0A%20%20%20%20warningShown%20%3D%20true%3B%0A%20%20%7D%0A%0A%20%20%24adButton.trigger('click')%3B%0A%20%20clicks%20%2B%3D%201%3B%0A%7D%2C%201000)%3B%7D)()%3B

The `javascript:` at the start of the code indicates to the browser that the anchor tag is meant to execute JavaScript rather than navigate to a URL. It also has a bunch of URL-encoded characters. If you use a URL decoder, like this one that I just googled, you get the following. I cleaned up some of the spacing a bit, but it's otherwise exactly as it came from the decoder website:

(function () {
  const $adButton = $('#btnAds'); 
  const $adCounter = $('#rewarded_ads_watched_today');
  const getCurrentAdCount = () => parseInt($adCounter.text().trim(), 10);
  let clicks = getCurrentAdCount();
  let warningShown = false;

  const timer = setInterval(() => {
    // we hit the daily ad limit, quit forever
    if (clicks >= 25) {
      clearInterval(timer);
      alert("All done. Scatheon/Blast says hi.");
      return;
    }

    // the ad button is still hidden, quit this interval and try again in 1 second
    if (!$adButton.is(':visible')) {
      return;
    }

    // the server isn't tracking ads at the same rate we are anymore
    if (!warningShown && clicks !== getCurrentAdCount()) {
      alert(`Did the daily update happen? Clicks (${clicks}) are getting out of sync with what the server is reporting (${getCurrentAdCount()}). Refresh and retry recommended.`);
      warningShown = true;
    }

    $adButton.trigger('click');
    clicks += 1;
  }, 1000);
})();

The code itself is honestly really simple. It's literally just checking every second whether the button is visible, then clicking it when it is. It also does its best to stop once 25 ads have been watched. The only time that doesn't happen is when the daily update occurs, but it'll also try to track for that and alert you when it happens.

It works well on Microsoft edge too :) and i am using it everyday now!! Tysm!

  • Like 2

image.png.4824d77377c05ab0639aa7b3275e3aea.png

Link to comment
Share on other sites

Made a new version of the script: https://valyrianfreehold.com/bookmarklets/index5.html

It hasn't been thoroughly tested but I've added in some timing randomization as per the suggestion of @Zukran from Guardian. Feel free to DM me if there's anything weird.

@Suyash Adhikari could you update the OP?

  • Like 1

Yes hello I am a politic and war

 

 

 

Link to comment
Share on other sites

32 minutes ago, Scatheon aka Blast said:

Made a new version of the script: https://valyrianfreehold.com/bookmarklets/index5.html

It hasn't been thoroughly tested but I've added in some timing randomization as per the suggestion of @Zukran from Guardian. Feel free to DM me if there's anything weird.

@Suyash Adhikari could you update the OP?

Done

  • Like 1

TCM3_1_281x175.png.d5f909d45f36d3dcb3722580e7b7ecc2.png
Coal Duke (Imperator Emeritus) of The Coal Mines
Diety Emeritus of The Immortals, Patres Conscripti (President Emeritus) of the Independent Republic of Orange Nations, Lieutenant Emeritus of Black Skies, Imperator Emeritus of the Valyrian Freehold, Imperator Emeritus of the Divine Phoenix, Prefect Emeritus of Carthago, Regent Emeritus of the New Polar Order

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and the Guidelines of the game and community.