Rules | Pluckeye

Pluckeye rules change what you are able to access over the Internet, and which programs are allowed to access the Internet. They live in your Pluckeye configuration. Rules are different than commands.

How to add or remove a rule

If you are new to Pluckeye, note that some rule changes will be subject to your delay. If you want to add a rule for a program rather than a website, see the Program section below.

Through the browser extension

To add or remove a rule using the browser extension, first visit the website or page that you want to add a or remove a rule for in your browser. If you are not comfortable doing this, you can use one of the other methods below. How you proceed after you are on the right page depends on what version of Pluckeye you are using.

v1.0

Are you adding or removing a rule?

  • If you are adding a rule:
    1. Click the Pluckeye button in the top right of your Internet browser.
    2. On the new page that opens, use the drop down menus to specify what the rule should be. Click “advanced” for additional options.
    3. Click the button immediately below “New Rule” that is labelled with your new rule.
  • If you are removing a rule, is it an allow rule or a block rule?
    • If you are removing an allow rule:
      1. Click the Pluckeye button in the top right of your Internet browser.
      2. Click “verdicts” in the navigation bar at the top.
      3. Click on the website or page that was allowed. You will probably need to scroll down a bit to find it.
      4. The rule that caused the website or page to be allowed will be shown. Click the “delete” button to remove the rule.
    • If you are removing a block rule, the page you tried to visit will have been blocked, redirecting you to a page that says “Blocked”. Click on the url just below “Blocked”. This will show you the rule that caused the page to be blocked. Click the “delete” button to remove the rule.

v0.99 and older

If you want to add a fairly simple rule, like allow en.wikipedia.org, you can do so through the browser extension. If you want to specify a recurring schedule, a media type, a program, or something else advanced, or if you want to enable or disable a feature, you will have to use one of the other methods below.

  1. Click on the Pluckeye button in the top right of your browser.
  2. Are you adding or removing a rule?
    • If you are adding a rule:
      • If you want a simple allow or block rule for the whole website (e.g., wikipedia.org), just click the “allow” button or the “block” button.
      • If you want to add a rule for a subdomain (e.g., en.wikipedia.org) or a particular page, click the arrow next to “allow” or “block” and select exactly what you want to be allowed or blocked.
      • If you want to add a temporary rule, click “always” and select how long you want the rule to take effect for. Then use the “allow” or “block” button.
    • If you are removing a rule, use the “revert” button. It has an arrow next to it to select whether you want to remove rules for the whole website, a sub-domain, or just the one page you are on.

Through https://u.pluckeye.net/

If you already have an account and a configuration on the users site, and the configuration is assigned to the device you are using, follow the instructions below. Otherwise, see Synchronizing configurations.

  1. If you are adding a rule, determine what rule you want to add, using the examples and info given below.
  2. Go to the page for the configuration. (You can see a list of your configurations by clicking “configurations” > “mine” in the navigation bar at the top.)
  3. Click the “Edit” tab.
  4. Add or remove rules from the list of rules. You should not type pluck + ~ or ~pluck - ~ before a rule (just omit that part), and for configurations that have "allow" or "block" in their configuration type (like allowed urls lists), you should not include "allow" or "block" in the rule, as it is implied. It does not matter where in the list you add it; the list will be automatically sorted alphabetically. The rules in a general configuration appear slightly different than how you type them in a console (e.g., ~action:allow host:wikipedia.org instead of allow wikipedia.org), but you can use either form and it will work fine.
  5. Click “Save”.

Note that the rule will probably not take effect immediately, because (in addition to your delay) it takes some time for your computer to find out that the rules have changed on the users site. You can speed this up by opening a console window and running the command pluck sync, but if you need a rule to take effect immediately, you should use one of the other methods.

Through a console

  1. Determine what rule you want to add, using the examples and info given below.
  2. Open a console window. If this is new to you, reading Notation may also be helpful.
  3. Depending on your version:

Actions

All rules contain an action, generally allow or block.

allow

Examples

    pluck + allow google.com
    pluck + allow https://www.youtube.com/watch?v=AkoML0_FiV4

SVG images are not pictures taken by cameras, but are created using gemoetric shapes. As such, they are not a concern for most who wish to avoid problematic images online. To allow SVG images:

    pluck + allow image/svg

Description

Allows content from a specified website, page, or program, or allows a specific type of content. If you allow a whole website (e.g., pluck + allow wikipedia.org), all resources (images, videos, etc.) on all pages on the website will be allowed, even if those resources are from a different website (unless the website that the resouces are from is blocked). For example, if your friend has a blog and you allow the blog, you will be able to watch YouTube videos they embed in their blog posts unless you block youtube.com.

Console usage: pluck [+|-] allow <context>

block

Examples

    pluck + block youtube.com
    pluck + block https://www.youtube.com/watch?v=8ftDjebw8aA
    pluck + block image/png

To block video thumbnails on YouTube:

    pluck + block i.ytimg.com

Description

Blocks content from a specified website, page, or program, or blocks a specific type of content. If you block an entire website (e.g., pluck + block youtube.com), all resources (images, videos, etc.) from the website will be blocked, even when they are embedded in a page on a different website. For example, if you block youtube.com, you will not be able to watch any YouTube videos, even ones that people have posted on Facebook (even if you have an allow rule for Facebook).

Console usage: pluck [+|-] block <context>

v1.0

In Pluck v1.0+, if you attempt to visit a blocked page, Pluck will redirect you to a page saying that the page is blocked and allowing you to view the rule that caused it to be blocked.

when

Examples

To block all internet access on Mondays, Wednesdays, and Fridays (MWF) from midnight to 8 am (0-8):

    pluck + when MWF0-8 block everything

To allow Facebook every day from noon to 1 pm (12-13) and also from 7 pm to 9 pm (19-21).

    pluck + when 12-13&19-21 allow facebook.com

You can also specify a time relative to the present. To block YouTube for the next half an hour (30m):

    pluck + when now+30m block youtube.com

Description

when isn’t an action per se, but modifies other actions by causing them to “turn on and off” according to a schedule. hrs3 describes the format of this schedule and gives examples. The users site has a point-and-click tool you can use to find a schedule to describe a specific set of recurring time periods.

See also: hrs3

Console usage: pluck [+|-] when <schedule> <action> <context>

Experimental and legacy

These actions are either no longer supported or are new and experimental. Old actions may still work in older versions of Pluckeye. New actions may be unavailable in old versions and buggy in new ones.

blackout

Deprecated since v0.99.11 or earlier. Replaced by block everything.

deny

Replaced by block.

flee

New and experimental.

Main article: Flee

noop

Known to not work well. noop can be used to override a rule at the same priority level. It can be thought of as “unblock” or “unallow”. Added in v0.99.13.

sometimes

Replaced by when, which works similarly.

onetime

Replaced by when. when used with now works similarly to how onetime with now worked.

whiteout

Replaced by allow everything. Deprecated since v0.99.11 or earlier.

Contexts

A context are things that can be allowed or blocked, like websites, page, programs, etc. Contexts are used inside of rules. A few of the sub-sections below use technical terms you may not know. If so, just skip those sub-sections.

everything

Examples

This will give you full internet access (as long as you don’t already have block everything in your configuration):

    pluck + allow everything

See when above for an example of blocking everything only at certain times.

Description

everything refers to all websites, pages, programs, etc. block everything takes precedence over every other rule, so it will block all Internet access. allow everything will override all rules except block everything, giving full Internet access. everything is often used with in a when rule.

See also: clear

Console usage: pluck [+|-] <action> everything

Hosts

Examples

    pluck + allow google.com

Description

Host is basically just a fancy term for a website.

Console usage: pluck [+|-] <action> <host>

IP addresses

Examples

IP v4

     pluck + block 192.168.0.1

IP v6

     pluck + allow ::1
     pluck + block [::1234]

Description

You probably don’t have a use for this unless you know what IP addresses are.

Console usage: pluck [+|-] <action> <IP address>

Media types

Main article: Media types

otherwise

Examples

To block everything that is not specifically allowed until 3 pm (15) every day:

    pluck + when 0-15 block otherwise

Description

Otherwise refers to all websites, pages, programs, etc. which are not controlled by another rule. This serves as a weaker form of everything, allowing everything that is not specifically blocked, or blocking everything that is not specifically allowed.

Console usage: pluck [+|-] <action> otherwise

Ports

Examples

    pluck + allow port 25
    pluck + allow 192.168.1.42 port 17

Description

Allow everything for a particular TCP / UDP port. (If you don’t know what that means, you probably have no use for this.)

Console usage: pluck [+|-] <action> [ip address] port <port number>

Programs

Examples

Windows

      pluck + allow program "C:\Program Files\Zoom\bin\Zoom.exe"
      pluck + block program "C:\Program Files\Steam"

macOS

      pluck + allow program /usr/bin/git
      pluck + allow program /usr/local/bin   # allows all programs in this directory and subdirectories

Linux

      pluck + allow program /usr/bin/git
      pluck + allow program /usr/local/bin   # allows all programs in this directory and subdirectories

Description

Controls a program’s internet access.

Console usage: pluck [+|-] <action> program <program name | executable | directory>

Finding the name of a program

To add a rule for a program, you first need to know the exact name that Pluckeye uses to refer to the program. To find this, open the program, interact with it, and then run the verdicts command (pluck verdicts) in a console window. The output of the command is explained on the commands page.

Subnets

Examples

To allow 192.168.x.x:

    pluck + allow 192.168.0.0

Description

If the last few sections of an IP address are 0’s, Pluckeye interprets this as a subnet mask. (If you don’t know what this means, you probably don’t have a use for this.)

Console usage: pluck [+|-] <action> <subnet mask>

Urls

Examples

    pluck + allow https://en.wikipedia.org/wiki/Main_Page

Description

Control access to specific urls. Note that all sub-urls will also be affected. For example, if you have allow https://www.reddit.com/r/pluckeye, then https://www.reddit.com/r/pluckeye/8s61j7 will also be allowed.

Console usage: pluck [+|-] <action> <URL>

Explicit form

Most syntax on this page is technically called “implicit form”. When using implicit form, the meaning of strings are inferred based on their syntax. E.g., 1.2.3.4 is an IP v4 address. However, you can and sometimes must explicitly qualify what you mean using one of the following prefixes:

  • host
  • ipv4
  • ipv6
  • port
  • program
  • mediaType
  • when
  • url

Such qualification is mandatory for the port, program, and when terms as well as any term immediately following program, because program values can contain spaces. For example, the following three entries have the same meaning:

allow pluckeye.net
allow host pluckeye.net
allow host:pluckeye.net