-
Notifications
You must be signed in to change notification settings - Fork 399
FAQ
SelfControl is a free and open-source application for macOS that lets you block your own access to distracting websites, your mail servers, or anything else on the Internet. Just set a period of time to block for, add sites to your blocklist, and click "Start." Until that timer expires, you will be unable to access those sites — even if you restart your computer or delete the application. You can download SelfControl at selfcontrolapp.com.
Hopefully! To get started, go to our Support Hub and find the point that best suits your problem, then follow the instructions listed for help.
Do note that SelfControl is free software maintained as a volunteer project, almost entirely by one person (hi, I’m Charlie). I do try to reply to SelfControl-related issues/emails eventually, but if I’m having a busy period (or off on a long backpacking trip, etc) the reply time could be months. Please use the Support Hub and try to solve your own issue whenever possible!
To block websites, just add their domain names to your SelfControl blocklist, then adjust the block duration and click Start. For example, to block Facebook, you would add facebook.com
to your block list.
Sometimes websites have different domains for different functions, and you may need to block all of them to get it working fully (e.g. to block Gmail, you'll need to block mail.google.com
). On the other hand, sometimes a domain is used for multiple things and you need to be careful blocking it, e.g. blocking google.com
may prevent access to many different Google services. Try a short block to make sure it's working as expected before starting a longer one!
Choose Help --> Get Started from the menu bar in SelfControl to pull up a quick tutorial.
You can't. That's the idea. Just wait.
"But, but but..." you say.
Seriously, chill out. It's not the end of the world.
The timer will run out and the internet will come back again. In the meantime, you may find comfort in curling up in a ball under your desk and rocking back and forth for a while.
No. Except maybe cause problems with the block ending at the proper time. Don't do it!
No, SelfControl will not block websites properly if you're using a VPN. This is not technically feasible, unfortunately.
If you are using a "partial VPN" like Junos Pulse Secure or Cisco AnyConnect to connect to corporate/university servers, please ensure it is disconnected while SelfControl runs. These applications have a tendency to save your networking state when they connect and restore to that state when they disconnect - so if you turn them on while SelfControl's running, and turn them off after it finishes, your block may "mysteriously" come back.
No. But the source code is free, and others have made similar applications.
Some applications we're aware of for Windows:
- SelfRestraint - GPL and based on SelfControl
- Cold Turkey that a nice guy made and seems to work.
And for Linux:
- Chomper - GPL and allows you to create blocklists/allowlists of domains and/or specific URLs.
iOS is too restricted and the App Store does not allow GPL code - get mad at them. But if you ask nice and pay him well Simon Remiszewski might build you one of these.
Hm, you didn’t follow that Support Hub link above, did you? :) Go here for instructions to help you remove your block.
In the latest versions of Firefox (starting in 2020), the "DNS over HTTPS" (DoH) feature is enabled by default. Unfortunately, this can make SelfControl blocks unreliable or fail entirely. To fix this, you need to quit and restart your Firefox browser after starting each block.
SelfControl will block all sites that run on the same servers or domain names as a site on your blocklist. For some larger sites, this can produce surprising behavior. Test with a short block before running a long block, to avoid unpleasant surprises.
Yes, but we hide that functionality because it's really easy to screw up longer blocks. You will start your 134-day block and then realize on day 3 that you accidentally blocked something critical, and then panic, and email me, and it will take me 23 days just to reply to you and it won't be fun for either of us. But if you really want to, see here for instructions on how to make this happen.
Q: The block is over but I still can't access the site or can only access part of it, how can I fix it?
Try:
- Refreshing the page.
- Clearing your cache (what does clearing your cache mean?)
- Restarting your browser
If that doesn't work, set the timer for 1 minute, do another block, and try again once the time has expired.
First, try:
- Refreshing the page
- Clearing your cache
- Restarting your browser
If that doesn't work, SelfControl blocks websites based on the machine the site is hosted at, not the actual website address. Sometimes this won't work that well. Try adding other subdomains of the website (e.g. new.facebook.com in addition to facebook.com).
First, wait for your current running block to expire. This is critical: you cannot uninstall SelfControl while a block is running, and you cannot stop the block early. You just have to wait.
After the block has ended, just quit the SelfControl app and drag it to the trash, and you're done.
Technically, yes, but I promise it really doesn't matter. It leaves a few small settings files that don't do anything. If you really feel the need to clear them, you can run the following commands in Terminal:
sudo find -E /usr/local/etc -regex '.*\/\.[a-z0-9]{40}\.plist' -delete -print
defaults delete org.eyebeam.SelfControl
sudo rm /etc/SelfControl.lock
This seems to be an issue with Firefox, mainly. Clear your browser cache, restart your browser, and your problem should go away.
This is usually because you have nothing on your blocklist and/or the timer is set to 0.
Yes. using :port or *:port notation, gives some flexibility. For example, if you wanted to run torrents and do nothing else, the following steps might help:
- Set as an allowlist
- Add an entry for *:6881, or whatever port number your client is set to use (check your settings).
- Add entries for the trackers you use, for example to allow The Pirate Bay you would add tracker.thepiratebay.org:80.
- Add any other things you want to allowlist
- Start! You can use File—> Save to save blocklists for easy loading later.
Yes. Under File > Save. Or Command-S. Just like saving everything else on a mac.
Maybe you could even post the file on your website to share. Unless it's embarrassing.
You sure can! Check out Running SelfControl from the Terminal for details. Advanced users can use the CLI to write scripts that make SelfControl do what they want.
No. And that's the point, so think before you act.
No.
BUT hey, you could do it. This is a free and open source project and you are welcome to alter the software however you like. Or you could hire someone to. It might cost less than you expect. We'd also be interested in seeing your code and incorporating your possibly awesome ideas so consider forking the project here on GitHub.