Commit Graph

92 Commits (2ad62c43c0d77e7ec5e1f316c1fc13fcaf1214c9)

Author SHA1 Message Date
Justin Reichardt 2ad62c43c0 Added the webserver option to the config
This allows turning the web server on or off
2022-08-19 18:56:04 -05:00
Justin Reichardt 5551cab919 Cleaned up the cfg file
I did a bunch of convoluted things to achieve something simple
Also added some comments
2022-08-19 16:47:08 -05:00
Justin Reichardt 2cb3b541b8 serve now pulls config and config panics if it fails to create
Had to also add var to allow serve to pull certs

If it cannot manage the config it needs to exit, so it made more sense to add it
there then check every time it is called
2022-08-19 15:27:31 -05:00
Justin Reichardt abb66d2498 hosts now pulls the config itself 2022-08-19 15:03:20 -05:00
Justin Reichardt d8a697d3f7 Added sys to cfg
Creating a single cfg that can be passed around instead of several variables
2022-08-19 14:55:25 -05:00
Justin Reichardt 08721b9289 Performed some cleanup
Mostly go formatting but a little creative spacing and comments
2022-08-19 13:49:24 -05:00
Justin Reichardt f0d459d437 Removed uneeded args from hosts.Update 2022-08-19 13:39:08 -05:00
Justin Reichardt 64c2a166cd Split config and hosts into separate modules
This cleans up the main file to make things easier to work with
2022-08-19 13:36:07 -05:00
Justin Reichardt 8930f00748 Added a simple http server
This will later be used for serving false content
2022-08-19 12:28:02 -05:00
Justin Reichardt 011feaf557 Now detects the OS at compilation
Using build tags was a more elegant way of determining the OS. Hopefully making
less room for errors and easier configuration later

Also it is now a negligibly smaller binary
2022-08-19 12:00:29 -05:00
Justin Reichardt 4d37aab047 Forgot to add the default config file... 2022-06-13 22:08:23 -05:00
Justin Reichardt e5df9dd3ae Moved the default cfg to a file
This allows for it to be edited in a single location, be able to be copied to
the share directory for easy recovery, and later be available at install when packaging
2022-06-13 00:56:43 -05:00
Justin Reichardt 51e487fccb Edited the default config file to be 80 char or less per line 2022-06-13 00:32:23 -05:00
Justin Reichardt a641b9cd96 Informs the user when the deamon will restart the process 2022-06-12 23:04:53 -05:00
Justin Reichardt e5dd948b98 If a config file doesn't exist, create one 2022-06-12 22:07:52 -05:00
Justin Reichardt 36ae1964ad Added removetimestamp flag
This is useful for logging programs such as systemd to run the program without
having double timestamps. It also remove the GPL license information

Updated the Systemd service to use this
2022-06-12 21:09:06 -05:00
Justin Reichardt dec121cb2d Corrected systemd path location of config 2022-06-12 20:52:12 -05:00
Justin Reichardt 3f446fbaca Do not display time if not in daemon mode 2022-06-12 20:45:11 -05:00
Justin Reichardt 0d063f31a2 Added version information to the program
--version flag shows version information
2022-06-12 20:30:03 -05:00
Justin Reichardt ef5fddc323 Added the copyright notice to the program 2022-06-12 20:13:16 -05:00
Justin Reichardt 75f393d8bd Checks for rhosts.cfg and parent directory
If the directory doesn't exist it tries to create it. If the config
doesn't exist it fails with a log error explaining.
2022-03-01 21:59:49 -06:00
Justin Reichardt 2d19f1692d Removed old placeholders 2022-03-01 13:23:42 -06:00
Justin Reichardt 199c132db2 Whitelisted items are removed
All items are now counted and displayed after processing
2022-03-01 13:14:17 -06:00
Justin Reichardt b3f50d4260 Whitelisted entries are removed from hosts file 2022-03-01 12:36:30 -06:00
Justin Reichardt 901f8c537e Detects whitelist in the options
Passes the addresses of the variables when parsing the config file
Fills out the whitelist string array with config entries
2022-03-01 10:44:46 -06:00
Justin Reichardt c32bed5041 Added ipv6 to the hostfile
Now routes all urls to 0.0.0.0 and ::
2022-02-26 23:42:57 -06:00
Justin Reichardt 006ea0aa11 Enabled Windows
Windows is still not ready fro prime time, but it does function
2022-02-26 21:06:09 -06:00
Justin Reichardt 6a5b2b7363 Filters out duplicates and comments
Creates a list of only the sites that can then be used to remove
duplicates and then set the sending address, currently 0.0.0.0
2022-02-23 21:22:12 -06:00
Justin Reichardt 01584ea27a Removed the uneeded i variable in main
Was originally used since the for loop doesn't have a dowhile, but
breaking when not false made the code simpler to understand
2022-02-23 13:45:43 -06:00
Justin Reichardt 6715716701 Made sure there was a comment for every function 2022-01-26 21:22:54 -06:00
Justin Reichardt fbb39ff8e3 Checks old records if cannot download from online
Before giving up on a download entry, it will check the hosts file for a
previous record to continue using
2021-12-09 20:58:59 -06:00
Justin Reichardt f8a6a284c2 Remove rhosts temp file when completed 2021-12-09 18:09:51 -06:00
Justin Reichardt 17d3abc90a Corrected cfgparse return values
Accidentally changed the return value to not return anything ever
2021-12-09 18:06:23 -06:00
Justin Reichardt 1d3f426beb Gracefully exits on failure 2021-12-09 18:02:18 -06:00
Justin Reichardt 49612063d7 Added minimal support for daemon mode 2021-12-09 17:43:39 -06:00
Justin Reichardt b42829d904 Writes temp file to hosts file 2021-12-09 17:03:00 -06:00
Justin Reichardt f356390104 Adds sites to tmp file 2021-12-09 16:55:14 -06:00
Justin Reichardt 9eb4d9d543 Download saves to the same tmp file as everyone 2021-12-09 16:44:09 -06:00
Justin Reichardt 1f9d3faa8b Add a header and trailing new line to downloads
Header allows the reader to know where the additions came from and the
new line makes sure that 2 entries down get jumbled together
2021-12-09 16:37:55 -06:00
Justin Reichardt 6529fe49fd Copies the original content of hosts
Copies it to the tmp file to be copied back later
2021-12-09 16:28:30 -06:00
Justin Reichardt 99b17d68b0 Performs downloads to tmp directory 2021-12-09 16:08:57 -06:00
Justin Reichardt 12e774a3b4 Pass lists of downloads and sites
Main is now passed 2 arrays or strings: downloads and sites
2021-12-09 15:36:45 -06:00
Justin Reichardt 40c6572a81 Moved setting sys params to sysdetect
Cleans up the main function
2021-12-09 15:21:54 -06:00
Justin Reichardt ad1410410b Moved config parsing to a seperate function
This will allow for easier looping later on when this can be run as a
daemon
2021-12-09 15:12:44 -06:00
Justin Reichardt 154bd3dfe8 Parses config file
Parses the config file using cfgparseline
2021-12-09 15:02:58 -06:00
Justin Reichardt 8bfc224d5b Reads the cfg config file to stdout 2021-12-08 14:29:15 -06:00
Justin Reichardt 66ab1732bc Detects the running OS 2021-12-01 14:25:47 -06:00
Justin Reichardt 2a4c78c152 Changing language to go
It is being changed to go in order to practice the language before I
start another project.
2021-12-01 13:56:41 -06:00
Justin Reichardt a8677c97c9 Changed fgetc variables to int
fgetc used "char c" for all returns. Unfortunately this doesn't work for
all architectures. So an "int b" variable was created to recieve the
return before casting it into c.
2021-09-17 12:53:31 -05:00
Justin Reichardt d125a99347 Removed old makefile instructions from README 2021-09-17 11:59:41 -05:00