Oh, my. My dislike—if not even hatred!—of JS and Tampermonkey made me blind to the fact that, as long as each and every GoComics page still has the day’s comic in og:image (this is what I am using in my comic-strip-browser), there should be a simple way to bypass the paywall and display the image in the browser!

TL;DR: go directly to the Tampermonkey script below.

The Reddit user __bobsson posted a fix 3 months ago:

Here’s a bookmarklet that will show the comic on the website in one click.

See it in action:

javascript:(function(){var img=document.querySelector('meta[property="og:image"]');if(!img||!img.content)return alert('No comic found');var src=img.content;var o=document.createElement('div');o.style.cssText='position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:99999;display:flex;align-items:center;justify-content:center;cursor:pointer;';var m=document.createElement('img');m.src=src;m.style.cssText='max-width:90vw;max-height:90vh;object-fit:contain;box-shadow:0 0 40px rgba(0,0,0,0.5);';o.appendChild(m);o.onclick=function(){o.remove();};document.body.appendChild(o);})();

To use it:

  1. Create a bookmark in your browser
  2. Add the code above as the URL
  3. Visit a comic on GoComics
  4. Click the bookmark and the comic will appear

I chose to make it a bookmarklet instead of going through publishing a Chrome/Firefox extension, because I am sure GoComics will lock this down eventually. But for now this is useful.

For those in need of more detailed instructions:

To create a bookmarklet in Firefox:

  1. Press Ctrl+B to ensure your Bookmarks Toolbar is visible.
  2. Right-click an empty space on the Bookmarks Toolbar or inside the Bookmarks Menu, then select New Bookmark….
  3. In the Name field, type a label (e.g., GoGoComics!).
  4. In the URL field, paste the JavaScript code. Make sure the code begins strictly with javascript:.
  5. Click Save to add the bookmarklet to your toolbar.

Now, this works, but it still leaves a limitation in place. Let’s see if you’ll guess it.

Say you go to gocomics.com/garfield. There, the paywall limits you to the comics from the last 2 weeks. So, if you use the calendar to navigate further into the past and click a day…

…you will be hit by this:

But if you click the bookmarklet… kaboom!

This bookmarklet will actually display the og:image for any page on any site! 😮 Magic, eh?

However, the blue paywall shield still blocks the navigation. To navigate to another day or comic, you have two choices:

  1. Manually change the URL from, say, www.gocomics.com/garfield/1986/11/12 to www.gocomics.com/garfield/1986/11/11. The problem with this approach is that not all comics are published daily!
  2. Go back to the root (www.gocomics.com) to select another comic, or go back to today’s comic for the respective title (www.gocomics.com/garfield in this case), so that the calendar becomes available for navigation. This is extremely annoying if you have to do it each time!

So, unsurprisingly, someone asked, “Do you think we can make this a Tampermonkey script? Then we wouldn’t even need the extra click.” (Oh, sweet summer child! It’s worse than needing one click!)

The fix, from the same guy, Braxton Hall by his real name, can be found here:

braxtonhall/gocomics-viewer.user.js. 👏

Once you have Tampermonkey installed and pinned to the toolbar, you can install the script by clicking on the “Raw” button in the script’s window. This normally displays the script alone in the browser, but because it’s a JS script, Tampermonkey intercepts it and prompts you to install it. Cool!

The only thing you need to do is make sure the script is enabled (it must have a green check!), because it isn’t by default.

You will notice the difference right away. With the script disabled:

With the script enabled:

Notice how the calendar remains visible!

Voilà! Someone from Vancouver, BC, fixed GoComic’s naïve paywall! The script isn’t rocket science, but I always had a beef with JS, so I don’t even know how to use the MutationObserver. In real life, though, not everything is Python, C/C++, or .NET.