A proxy to help you control over your procrastination habits
I got some complains from people about the anti-procrastination apps, that are easily bypassed. So I thought, what about a proxy that blocks the websites you want to avoid? It's still not perfect, but it's a bit harder to uninstall or just turn off.
- Configurable focus time periods
- Customizable list of blocked websites
- Simple YAML configuration
- It's written in Go #lol 😎
To install GoCrastination Proxy, you can just clone this repo and run go build
in the root directory.
git clone https://github.com/Pliavi/gocrastination.git
cd gocrastination
go build
I promise I'll make a release soon, please have mercy on me 😭
It's simple as running the binary.
./gocrastination --port 62222 --config gocrast.yaml
- The
--port
flag is optional, it defaults to62222
. - The
--config
flag is "required", it will not enforce you to add, but it will not work without it, but I'll add a default config file soon, for now, you can use thegocrast.yaml
from theexamples/
folder
The proxy is configured using a YAML file. You can create it wherever you want, and just point the --config
flag to it.
Here's an example configuration:
everyday:
start: 480 # 8h == 8 * 60 = 480
end: 1320 # 18h == 18*60 = 1080
sites:
- twitter.com
- facebook.com
- instagram.com
- reddit.com
everyday
is the only configuration for now, so the proxy will work for all days in the week- The time for
start
andend
is minute based - You can put any site you want to block in the
sites
list
Contributions are welcome! If you have any ideas for improvement, feature requests, or bug reports, please open an issue on GitHub or submit a pull request.
-
Site Blocking Configuration:
- Implement the ability to block access to specific sites using a YAML-defined list of URLs.
- Allow configuration of blocking schedules for different days of the week.
-
Redirection Personalization:
- SSL Certificate Issue Resolution:
- Investigate solutions to bypass the invalid certificate issue when using the Man-in-the-Middle method for redirection.
- Explore viable alternatives that ensure connection security without compromising proxy functionality.
- Develop the functionality to redirect blocked sites to other designated sites.
- Enable the creation of a list of alternative redirects for each blocked site, with the option for random selection.
- SSL Certificate Issue Resolution:
-
Configuration Improvements:
- Simplify the setup process for users, eliminating the need to manually point to configuration files unless preferred.
-
Testing:
- Improve the testing of the proxy, including unit tests for the core functionality.
-
Documentation:
- Prepare comprehensive documentation describing the installation, configuration, and usage of the reverse proxy.