Master SurfPal: Limit Your Online Screen Time
As previously introduced, SurfPal allows you to configure highly customized rules to limit your browsing time on different websites. This article will elaborate on how to set up these rules to meet your needs. Let’s get started.
Open the Time Limit Rules page:
You’ll notice there’s a preset global rule that hasn’t been activated. There can only be one global rule, and it cannot be deleted. Click the button below to create a new rule:
Target: The website or group this rule applies to. Open the dropdown menu to choose from websites you’ve visited or groups you’ve created, or you can manually enter a new domain.
Period: The timeframe within which browsing time is calculated.
Max Duration: The maximum browsing duration allowed within a single period.
Rotate At: The time point when the old and new periods switch.
Effective Days: The days on which this rule is effective.
At this point, we need to understand some concepts. Many websites have subdomains, like google.com has gemini.google.com and docs.google.com, forming a tree structure:
Thus, SurfPal uses a tree structure to organize data, tracking browsing time for each node:
When setting up rules, not only can you specify any node, but you can also decide whether the rule applies to its descendants. For instance, setting the target as google.com applies the rule to google.com and all its subdomains, including gemini.google.com and so on, while setting the target as @.google.com applies the rule only to google.com itself, excluding its subdomains.
Often, we wish to limit browsing time for a category of websites rather than just one. This introduces the concept of “group” where rules can also be applied. In SurfPal, you can create groups, each consisting of multiple websites. Here, we’ve created a group called entertainment, containing tiktok.com and youtube.com:
Suppose we want to limit browsing tiktok.com or youtube.com to a maximum of two hours during weekdays. We can create the following rule:
You’ll notice the rotation time is set for 6 AM daily. Why? It’s mainly related to our sleeping patterns. If you’re a night owl, staying up from 10:00 PM to 2:00 AM surfing the internet, setting the rotation time to the default 00:00 would allow you to browse tiktok.com or youtube.com for 4 consecutive hours, which is unreasonable as it spans two periods.
Another common need is to configure exceptions, such as limiting browsing time on all websites except for a few. This can be done using SurfPal’s rule priority concept, where priorities go from high to low as follows: sub.example.com > example.com > group > global. For instance, to limit weekly internet use to 20 hours, but not restrict browsing time on google.com, you could set it up like this:
When the configured maximum browsing time is reached, SurfPal will display a block page in a new tab without allowing you to switch tabs. You can close all matching tabs with a single click or ignore the limit for some time:
Why does it use a new tab instead of displaying it on the original page? Because modifying the target page’s HTML requires obtaining high-level permissions, and the ability to modify means it could potentially read content on the webpage. SurfPal places a high priority on protecting your privacy and will not acquire these permissions.