Before reading this page, first see command line basics.

This page should describe the pluck commands in more detail.

More help

The output of pluck more-help (as of v1.0.64) for your convenience:

Usage:

  pluck [help|more-help]
  pluck [add|del|+|-] <rule>
  pluck export

More Usage:

  pluck abort [term]            # discard pending changes that match term
  pluck bug                     # interact with bug reporting system
  pluck clear                   # clear configuration (requires 0 delay)
  pluck compact                 # maintenance command to shrink data
  pluck delay [n]               # print or set the delay
  pluck delays                  # print delay and non-standard delays
  pluck email <address|none>    # set email address for bug reports
  pluck eval [-x] <context(s)>  # show whether context would be allowed
  pluck expedite [term(s)]      # create expedite requests for recent rules
  pluck export                  # export configuration
  pluck factoryreset            # use factory defaults
  pluck features                # print enabled features
  pluck find <term(s)>          # print configuration items that match term(s)
  pluck future                  # like export, but only print the future
  pluck import <file>           # import rules from file
  pluck import-allow <file>     # add hosts to allow
  pluck import-block <file>     # add hosts to block
  pluck mety .<ext>             # show media type for extension ext
  pluck repair                  # attempt to repair Internet
  pluck refresh                 # refetch configurations from u.pluckeye.net
  pluck supplicate              # send expedite requests to u.pluckeye.net
  pluck sync                    # immediately synchronize with u.pluckeye.net
  pluck trim                    # maintenance command to shrink data
  pluck unimport <file>         # remove rules matching those in file
  pluck unimport-allow <file>   # remove hosts to allow
  pluck unimport-block <file>   # remove hosts to block
  pluck uninstall               # uninstall (requires 0 delay)
  pluck upload                  # upload configurations to u.pluckeye.net
  pluck verdicts                # print recent allow/block verdicts
  pluck version                 # print version

  pluck [+|-] <rule1>   <+|-> <rule2>
  pluck [+|-] <rule1> , [+|-] <rule2>

Examples:

  pluck + allow ok.com
  pluck + block http://no.com/something
  pluck - block um.com
  pluck export

More Examples:

  pluck export                  # show the current configuration
  pluck export >file.txt        # put configuration into file.txt
  pluck eval http://a.com/p.png # would http://a.com/p.png be allowed?
  pluck eval http://a.com/ image/ # would an image on a.com be allowed?
  pluck find google             # search configuration for google
  pluck import file.txt         # import configuration from file.txt
  pluck import-allow good.txt   # allow all hosts listed in good.txt
  pluck import-block bad.txt    # block all hosts listed in bad.txt
  pluck delay 3600              # set delay to 1 hour
  pluck delay                   # print the current delay
  pluck abort                   # abort all pending changes
  pluck abort foo               # abort pending changes that contain "foo"
  pluck mety a.txt              # print the default media type for a.txt
  pluck + system                # enable the system feature (aka level 2)
  pluck - system                # disable the system feature
  pluck + nhb                   # enable the nhb feature
  pluck + block image/          # block images
  pluck + block port 123        # block port 123
  pluck + block 1.2.3.4         # block ip address 1.2.3.4
  pluck + block youtube.com     # block youtube.com
  pluck + block facebook.com image/  # block images on facebook.com
  pluck + when 8-9 allow google.com  # allow google.com from 8-9 AM
  pluck + allow program git     # allow git
  pluck + when now+10m a.com    # allow a.com ASAP, but only for 10 minutes
  pluck + allow ok.com + block no.com # fancy
  pluck + allow ok.com , block no.com # fancy

Even more Examples:

  # block all aa.com
  pluck find aa.com | pluck replace allow "when now+5m block" | pluck import -

Features:

  diedisable                    # legacy, prevent extension removal
  diedisable2                   # legacy, like diedisable but gentler
  diedisable3                   # legacy, like diedisable but harsher
  nhb                           # block 'more' (unspecified)
  nobrave                       # disallow brave-based browsers
  nochrome                      # disallow chrome-based browsers
  nochromesignin                # disallow chrome sign-in
  nochromesync                  # disallow chrome sync
  nodoh                         # disallow DNS over HTTPS
  noexpedite                    # disable expedite
  nofirefox                     # disallow firefox-based browsers
  nohistoryclear                # disallow clearing of history
  nosync                        # disable synchronization to u.pluckeye.net
  nounbork                      # disable unbork completely
  okincognito                   # permit incognito mode in chrome
  safe                          # use experimental "safe" browsing features
  safer                         # like safe, but more so
  slowunbork                    # allow unbork time to exceed 1 day
  system                        # integrate with the system (aka 'level 2')

Advice:

  Use a short delay while learning how to use Pluck.

  Use the 'system' feature (aka level 2), but ignore most of the rest
  unless you discover a need for one of them.

  Don't import big blacklists using `pluck import`.  Instead, use
  https://u.pluckeye.net/ and create a host or ip specific blacklist
  and import it on the site.  That will keep your specific
  customizations separate from the big blacklist, and it will allow
  you to share the blacklist with other pluckers if you so choose.

  If you still need help, see https://r.pluckeye.net/help .

  Finally, as the Dread Pirate Roberts says, "Get used to disappointment."

Pluckeye commands are typed in a console window and can be used to control Pluckeye. They are different than Pluckeye rules.

If you are new to Pluckeye or you are looking just for the most commonly used commands, see Command line basics.

If you are unfamiliar with running commands in a console you should not need to do so often, as most actions can also be performed by clicking buttons in the Pluckeye browser extension. (If you have the browser extension installed, click on the Pluckeye button in the top right of your browser to get started.) If you do want to use commands, see Notation for exactly how to type them in.

To search this page by keyword, use Ctrl + F on Windows & Linux or Command + F on Mac.

add (+)

The add command is so common, that pluck uses the add symbol (+) for it.

pluck + allow example.com

In some contexts, one can use the word add instead of +.

pluck add allow example.com

Here are some simple examples:

pluck + allow example.com
pluck + allow https://example.com/page
pluck + allow program:C:\Program Files\foo.exe
pluck + block program bar.exe
pluck + allow user susan
pluck + block user edmund

For a more thorough treatment of what can be allowed or blocked, see rules.

remove (-)

The opposite of add, the remove (or delete) command is usually expressed as the minus symbol (-).

pluck - allow example.com

In some contexts, one can use the abbreviation del instead of -.

pluck del allow example.com

Attempting to remove a rule that is not in your configuration does nothing.

abort

The abort command allows one to abort pending configuration changes.

In all of the following examples a rule change is entered, but the rule never comes into effect if you have a non-zero delay, because the change is aborted.

pluck + allow wikipedia.org
pluck abort
pluck + allow https://example.com/foo
pluck abort example.com
pluck + allow example.com image/
pluck abort image

Aborts pending rule changes (those that will take effect once the delay has elapsed). By default all pending rule changes are removed. If a website, page, program, etc. is given, all pending changes that match that context are removed.

clear

The clear command can be used to clear Pluckeye configuration. This command only has an effect if the current delay is 0. This command will destroy your configuration, so use with care. See also: allow everything.

pluck clear

compact

A maintenance command to shrink data.

pluck compact

delay

The delay command can be used to print or to set the delay.

pluck delay
pluck delay 30

See delay.

delays

Prints the current delay, and also non-standard delays that apply to specific websites, pages, programs, etc.

pluck delays

eval

The eval command evaluates a given blocking context in the pluckeye rule engine. The output you see when you run this command will depend on your Pluckeye configuration; the default configuration produces outputs similar to the ones shown here.

Input (what you type):

pluck eval google.com

Output (what the computer prints):

allow because of rule 330: allow

In this example, pluck eval google.com reports that google.com is allowed, but this does not mean that all content, such as images, will necessarily be visible on the website. All it means is that you should be able to visit the page. In order to determine if images will be shown, add image/.

Input:

pluck eval google.com image/

Output:

block because of rule 420: block image/

The eval command evaluates whether a given website, url, url, program, user, etc. is allowed according to your current configuration. It can be used to troubleshoot why something is or isn’t being displayed, but the system verdicts or the in browser verdicts are more authoritative as eval is a prediction of what Pluckeye will do, not what Pluckeye has actually done.

By default, the command has an exit code of 0 unless an error occurs. If the -x flag is used, the command will have an exit code of 0 if the result was allow or null, and a non-zero exit code if it was block. If you have no idea what this means, then you have no use for the -x flag. This is mainly useful in scripts.

pluck eval -x google.com image/

expedite

Sends expedite requests to https://u.pluckeye.net/ for up to 10 recent rules so that someone else can approve them. If a term follows expedite, only items matching that term may be expedited. For example, the following sequence will only create an expedite request for allow ok.com.

pluck + delay 99
pluck + allow ok.com
pluck + allow hmm.com
pluck expedite ok.com

If no terms follow expedite, expedite requests are created for each of the 10 most recently added but still pending configuration items.

pluck expedite

See expedite.

export

The export command prints the contents of Pluckeye configuration. It can be used to back-up or inspect your Pluckeye configuration, although a synchronized configuration is recommended for more reliable backups.

The following example should create a file named “pluckeye-configuration.txt” on your desktop.

Windows

cd %HOMEPATH%\Desktop
pluck export > pluckeye-configuration.txt

Linux or macOS

cd Desktop
pluck export > pluckeye-configuration.txt

See also the import command described below.

factoryreset

The factoryreset command resets Pluckeye to its “factory default” settings (i.e., as if you had just installed for the first time). Like the clear command, it requires a delay of 0 to work. Also like clear, unless your configuration is synchronized, it will be lost. If you plan to reuse or restore your current configuration, make sure you export and save it to a configuration file before performing the factory reset.

pluck factoryreset

features

Prints the enabled features, such as system and nhb.

pluck features

find

The find command searches your Pluckeye configuration for a matching item. It can be used to quickly search for configuration from the command line. It uses substring matching rather than regular expression matching.

Input:

pluck find image/

Output:

allow image/svg+xml
block image/

The timeline section of the config page of the browser interface is another way to search configuration.

future

Prints all pending changes to your configuration.

pluck future

import

The import command is different and older than the import directive that allows one to dynamically import a configuration.

The import command imports all the rules contained in a local file into the main configuration. It is the opposite of the export command. Indeed, it is so named because at one time, pluck export and pluck import were the main commands used to store and transfer Pluckeye configuration between computers. Nowadays, synchronization does that automatically.

Before running this command, first open the terminal in the directory (AKA folder) containing the pluckeye-configuration.txt file that you want to import.

Windows

cd %HOMEPATH%\Desktop
pluck import pluckeye-configuration.txt

Linux or macOS

cd Desktop
pluck import pluckeye-configuration.txt

import-allow

The import-allow command is like import except that it automatically prepends + allow to each line of its import. Thus, it can be used to allow a lists of hosts created by another tool.

pluck import-allow good-websites.txt

good-websites.txt might contain:

google.com
facebook.com
https://youtube.com/watch

import-block

The import-block command is like import except that it automatically prepends + block to each line of its import. Thus, it can be used to block a lists of hosts created by another tool.

pluck import-block bad-websites.txt

bad-websites.txt might contain:

bad1.com
bad2.com
1.2.3.4

mety

The mety command prints the usual media type for a given file extension.

Input:

pluck mety .css

Output:

.css -> text/css

That indicates that usual media type of a CSS file is text/css.

See also media types.

refresh

The refresh command is similar to the sync command in that it synchronizes configuration with https://u.pluckeye.net/ . It is different in that it can be used to completely replace local configuration that has become corrupt. It is not usually needed as pluck sync usually works fine.

pluck refresh

repair

The repair command attempts to repair Internet access.

pluck repair

replace

The replace command reads its input and replaces its first argument with its second argument using exact string matching. It could be used to perform an operation on many Pluckeye rules. For example, the following pipeline finds all rules in your configuration that contain “example.com”, replaces “allow” with “when now+5m block” in all of the rules, and then imports these new rules into the main configuration. The point is to cause all content on example.com that was allowed by allow rules before to be blocked for the next five minutes.

pluck find example.com | pluck replace allow "when now+5m block" | pluck import -

sync

The sync command synchronizes the device to and from https://u.pluckeye.net/. If you don’t know what this means, check out the synchronization guide.

pluck sync

trim

The trim command is a maintenance command to shrink data.

pluck trim

unimport

The unimport command is similar to import, except that it removes all of the rules in the configuration file instead of adding them.

pluck unimport pluckeye-configuration.txt

unimport-allow

The unimport-allow command is similar to similar to import-allow, except that it removes allow rules for each of the websites, pages, programs, etc. in the file instead of adding them.

pluck unimport-allow websites.txt

unimport-block

The unimport-block command is similar to similar to import-block, except that it removes block rules for each of the websites, pages, programs, etc. in the file instead of adding them.

pluck unimport-block websites.txt

uninstall

The uninstall command uninstalls Pluckeye. The delay must be 0 before you do this.

pluck unimport-block websites.txt

See also how to uninstall.

upload

The upload command uploads local configurations to https://u.pluckeye.net/. See Synchronizing configurations for more info.

pluck upload

verdicts

The verdicts command prints recent Internet connection attempts and whether Pluckeye allowed or blocked them.

pluck verdicts

Understanding the output

The command will print many lines, each of which will have this form:

12:50:48.320 allow 1541 chromium google.com [2607:f8b0:400a:0806:0000:0000:0000:200e]:80 rule allow

This line tells us that at 12:50:48 the program named chromium attempted to connect to google.com, and Pluckeye allowed this connection.

This information can be useful when you want to allow or block a particular program.

Note that these are different from in-browser verdicts.

version

Print the version of Pluckeye that is installed.

pluck version

unbork

Replaced by repair.