Commit graph

294 commits

Author SHA1 Message Date
WaLLy3K
b9bcfe36ff Place errors on newline 2017-09-24 11:57:15 +10:00
WaLLy3K
cd7c00ef8e Fix Ctrl-C inadvertently deleting domains files 2017-09-23 10:32:56 +10:00
WaLLy3K
3aa525b0c0 Ensure domains files are not deleted upon w/blist 2017-09-22 14:17:56 +10:00
WaLLy3K
47099e2855 Ensure resolver test occurs each second
* Ensure that gravity will run the second the resolver is available
* Increase timeout to 120s
2017-09-22 03:56:53 +10:00
WaLLy3K
2deb2bf03f Fix broken whitelist functionality 2017-09-22 02:23:43 +10:00
WaLLy3K
a6f9272d4b Fix gravity from only parsing one adlist URL
* Redirect `grep` correctly to $sources (instead of using `awk`)
* Redirect $sourceDomains correctly
* Replace use of ${COL_LIGHT_BLUE}
* Add numeric count informing user of unique source domains being whitelisted
2017-09-20 22:25:33 +10:00
Adam Warner
8d8482d60b
<<<$() back to < <()
Signed-off-by: Adam Warner <adamw@rner.email>
2017-09-19 19:02:50 +01:00
WaLLy3K
d02bf258af Improve non-standard list parsing
* Add 504 status (Gateway connection timed out)
* Add text for non-standard list parsing
* Improve adblock parsing
* Ensure adblock exception rules are removed from file
* Ensure "www." is not treated as a URL-format list
* Corrected typo
* Ensure script does not fail if "-f" is used when there are no blocklists generated

Signed off by WaLLy3K <wally3k@pi-hole.net>
2017-09-18 17:36:03 +10:00
WaLLy3K
c957124fad Optimised parsing of domains on IPv6 servers
* Remove WHITELIST_COMMAND
* Place IPv4/IPv6 availability test underneath setupVars.conf source
* Improved clarity on comments
* Define default lookupDomain on local line
* Use `getent hosts` instead of nslookup (faster)
* Make gravity_DNSLookup() function more readable
* Use bold on "Neutrino emissions detected"
* Swap conditionals around on adlists file handling
* Add comments to both gravity_Collapse() `awk`s
* Removed unnecessary "${str}" from gravity_Pull()
* Merge function variables into local line
* Place .phgbp suffice on mktemp, so patternbuffers can be cleaned up all at once in gravity_Cleanup()
* Removed success="false" from $httpCode case, placed empty success var in local
* Reordered $httpCode case numerically because I can
* Provide error if Dnsmasq format list is being parsed
* Remove IPv4 check when determining URL list (too slow on large lists)
* Check ${#sources[@]} to ensure we're checking the number of entries and not the character count
* Define empty plural in local line, removing unnecessary plural=;
* Optimised readability of gravity_Whitelist()
* Removed uninformative "Nothing to blacklist"/"No wildcards used" text
* Optimised parsing of domains into hosts format on IPv6 enabled servers
* Ensure /etc/hostname is non-zero
* Use `: >` instead of `rm` as consistent with the rest of the script
* Ensured that gravity_Cleanup() removes ${localList}.tmp
* Optimised readability of gravity_ParseUserDomains()
* Moved dnsRestart to ${var} case statement, renaming it to dnsRestartType for readability
* Set default $listType to ensure script passes "bash strict mode"
2017-09-15 22:39:17 +10:00
WaLLy3K
ff5411a93a Add 'Connection Refused' for 000 status
* Shift default dnsRestart value into unset default parameter expansion value
* Change nslookup timeout to 5 seconds 
* Use &> instead of >
* Standardise plural code
* Update some comments
* Add "000" when connection is refused
* Condense adblock detection logic
* Add Dnsmasq format detection and parsing logic
* Removed unnecessary echo
* Add dnsWasOffline variable to ensure that if DNS service has been stopped, that it doesn't start and also get reloaded
2017-09-14 20:23:49 +10:00
WaLLy3K
d3073e5e23 Fix array of unique $sourceDomains 2017-09-14 17:09:52 +10:00
WaLLy3K
8191ec01e5 Gravity Bugfixes
* Merge development OpenVPN code
* Determine which domain to resolve depending on existence of $localList
* Re-add code to remove $localList, preventing duplicate local entries
* Minor shellcheck validation fix
2017-09-14 16:39:30 +10:00
WaLLy3K
0a00936e99 Update resolver test & added more comments
* Add/update code comments
* Change resolver check to test for pi.hole
* Make resolver check timeout after 10 seconds
* Use > instead of &> where appropriate
* Make resolver check sleep for 30 seconds (effectively waiting up to 50s for dnsmasq to be resolvable)
* Provide confirmation upon success of resolver check availability
* Quotes and Braced remaining variables as appropriate
* Removed duplicate local
2017-08-28 11:36:02 +10:00
WaLLy3K
f24ab8508e WIP cleanup
* Changed supernova/eventHorizon variables to match their purpose
* Add gravity_DNSLookup() function
* Ensure all comments are clear and relevant
* Use && instead of || in gravity_Collapse()
* Renamed existing functions, and placed them in order of script execution
* Use \t instead of literal tab in gravity_ParseFileIntoDomains()
* Replace instances of "truncate" with : > (e.g: gravity_Schwarzschild())
* Ensure correct variables are local'd
* Use phrase "Cleaning up stray matter" when gravity_Cleanup() is called
* Add black/white/wildcard switches for list.sh
* Ensure necessary functions are called when modifying black/white/wildcards

Signed-off-by: WaLLy3K <wally3k@pi-hole.net>
2017-07-27 12:34:35 +10:00
WaLLy3K
6830b08723 Clean up and optimise Gravity
* Shellcheck validation
* Made variable names, function names, comments and output clearer to understand
* Quoted and braced variables and conditionals
* Fix adlists.list handling logic, and remove any CR line endings
* Make CP/MV/RM provide user-friendly output upon failure
* Change adlists.list retrieval logic
* Moved and fixed adlists.list domain parsing logic
* Create gravity_ParseFileAsDomains() function to handle parsing of source files
* If no changes to a list is detected, print no output
* Ensure each source blocklist has a final newline
* Format number output as currency
* Make array of adlists domain sources unique to prevent redundant whitelisting
* Merged bash IPv4/IPv6 hosts formatting IF statement into an awk one-liner
* Trap Ctrl-C cancellations and run gravity_Cleanup()
* Use new gravity_Cleanup() function on errors and script completion
* Ensure that dnsmasq uses force-reload when gravity is invoked
* Add --wildcard option to ensure dnsmasq is restarted upon b/wlisting of a wildcard

Signed-off-by: WaLLy3K <wally3k@pi-hole.net>
2017-07-24 21:24:34 +10:00
Mcat12
1e31fa89aa Remove /* from IPv6 as well as IPv4
Fixes Discourse issue: https://discourse.pi-hole.net/t/ipv6-aaaa-dns-issue/3830
2017-06-26 09:51:21 -04:00
Adam Warner
536585b846 Colourise Core Output Text (#1471)
* Define colours within COL_TABLE
* Do not output colours for non-terminal instances
* Removed ":::"
* Fixed indenting & spacing
* Made output consistent throughout project
* Reworded text to fit on standard 80 char wide Terminal screen
* Made 'sudo raspi-config' warning (insufficient disk space) only show on RPi
* Make "Installation/Update Complete" the final msg
* Remove redundant messages
* Simplify update available message
* Confirm user would like to begin uninstall
* If "git pull" string says "Already up-to-date.", place [i] before it
* Colour Temp/Interface output
* Made `pihole disable 5z` invalid
* Added error fallback if invalid argument (not s/m) is detected
* Quoted "$2" for consistency
* Updated help text
* L185/286: Replaced echo with redirect
* User agents for adblock.mahakala.is/adaway.org unnecessary 
* Print newline on confirmation of repository reset
* Add output to admin-related dnsmasq restarts
* Return error message for "pihole -q"
* Imply default checkout behaviour with y/N
* Fix uninstall failing to remove pihole user
* Print checkout 'git remote show origin' STDERR on new line
* Replaced checkout "AdminLTE" wording with "Web Admin"
2017-06-21 21:49:05 +10:00
DL6ER
05798fe07a
cp + rm === mv (well, almost) 2017-06-19 20:22:03 +02:00
DL6ER
8bad56e897
Improve displayed messages and overall logic 2017-06-17 14:24:30 +02:00
DL6ER
92e691408f
Remove useless cat 2017-06-17 14:14:07 +02:00
DL6ER
0a9c234127
Add "pihole -g -b" to *only* update black.list (saves a bunch of time when adding/changing only blacklisted files - won'tdownload lal lists, but only processes the blacklist and restars dnsmasq) 2017-06-17 13:57:27 +02:00
DL6ER
0283a1ab74
Introduce new file black.list for blacklist content 2017-06-17 13:50:10 +02:00
Dan Schaper
6a2b885988
Update default User Agent to modern browser.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2017-04-27 11:41:08 -07:00
Mcat12
5e308dbd51 Delete the temp files created by gravity 2017-04-18 20:35:06 -04:00
Mcat12
a96b4d28e1 Merge pull request #1365 from pi-hole/adlistImprovements
Adlist improvements
2017-04-06 16:15:50 -04:00
Mcat12
ce86205df0 Use correct agent when downloading adaway.org list
See https://discourse.pi-hole.net/t/2278
2017-04-02 12:44:00 -04:00
Adam Warner
02040cd25d
We no longer need to do this, either 2017-03-31 19:23:26 +01:00
Adam Warner
bdc6bd4135
Don't need this comment anymore 2017-03-31 19:18:28 +01:00
Adam Warner
e720de401d
One file to rule them all, same functionality (made changes and want to go back to default? Delete your adlists.list) 2017-03-31 19:16:09 +01:00
Adam Warner
ce97896ffd
account for new adlists.custom file 2017-03-31 19:00:04 +01:00
DL6ER
d7b5870ba6
Use absolute path for pihole command in gravity.sh. Fixes #1318 2017-03-12 23:15:23 +01:00
Jacob Salmela
7a1a2dec67
update license to EUPL on core files 2017-02-22 11:55:20 -06:00
Markus Napp
66616eb0f0 Rename missing plurals check 2017-02-01 19:55:33 +01:00
Markus Napp
72a1fc3f64 Fix output for wildcards in gravity.sh 2017-02-01 00:07:47 +01:00
DL6ER
a8ac212ee6
Show number of wildcard blocked domains in gravity's summary 2017-01-29 13:46:27 +01:00
Promofaux
c2e1819098 This should not have been commented out. It's stopping any changes we make to the default lists getting out. 2017-01-17 19:48:20 +00:00
DL6ER
322cb2387b
Also accept the last line of the adlist file if there is no newline at the end 2017-01-13 11:02:51 +01:00
DL6ER
cd0c3f9418 Better output if file has not been downloaded because it has not been changed 2016-12-17 23:46:28 +01:00
DL6ER
efaee2b68b Improvements for gravity (errors shouldn't be able to escape the black hole if even light cannot do this!) 2016-12-17 23:33:09 +01:00
Promofaux
a3d519b671 no need to remove list, because of echo > 2016-12-14 19:33:15 +00:00
Promofaux
8591f9d576 check for list before removing it 2016-12-14 19:31:57 +00:00
Promofaux
db89fa9881 initial support for additional hosts file 2016-12-14 19:26:55 +00:00
Mcat12
d8912fd0a7 Merge pull request #952 from pi-hole/fix/exit_codes
Fix/exit codes
2016-12-01 18:24:30 -05:00
Dan Schaper
d92646324c
Double worded
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2016-12-01 13:59:58 -08:00
Dan Schaper
c9fe62a691
Clarify what the command is doing.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2016-12-01 13:58:40 -08:00
Dan Schaper
2ec4acfe52
Begin fixing exit values.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2016-12-01 12:21:08 -08:00
Adam Warner
c97cfde9f9 Update gravity.sh
Only include domain part of lines that contain `/` e.g `www.fakenewswatch.com/megynkelly`
2016-11-21 22:51:59 +00:00
DL6ER
cdee6d55d3 Minor change 2016-11-20 17:40:22 +01:00
DL6ER
e5a1afaa26 Added another missing "done" 2016-11-20 17:31:27 +01:00
Mcat12
08e7b7e0ad Fix typo 2016-11-19 14:00:56 -05:00
DL6ER
4945f33254 Added "-n" to first echo call 2016-11-18 17:39:34 +01:00
DL6ER
3fa05293fc Fixed file permissions 2016-11-18 17:37:13 +01:00
DL6ER
27e5f2798d Added missing "done." output 2016-11-18 17:33:46 +01:00
Adam Warner
99057ed859 Update var names from setupVars.conf in gravity.sh 2016-11-02 04:21:54 -07:00
Adam Warner
21fc6344bf Merge pull request #849 from pi-hole/aManHasNoNameResolution
[BugFix] A man has no name resolution
2016-10-27 19:41:07 +01:00
Promofaux
9e4e1d1cb2 improve comments 2016-10-27 11:09:24 +01:00
Promofaux
60142cd960 remove reference to whitelist.sh (no longer exists) replace with pihole -w 2016-10-27 11:06:11 +01:00
Promofaux
4c853defb2 add if traps to check for existence of whitelist.txt / blacklist.txt 2016-10-25 22:27:35 +01:00
Adam Warner
e0ac109dd1 remove hostname insertion into gravity.list from gravity.sh 2016-10-25 15:07:29 +01:00
Adam Warner
7653b3d088 Remove pi.hole references in gravity.sh 2016-10-25 15:01:16 +01:00
Promofaux
d0826b2c33 Merge branch 'development' of https://github.com/airencracken/pi-hole into airencracken-dev 2016-10-23 19:33:28 +01:00
Marcus Hildum
ebbe1fc236 More consistency
Odd mix of variables quoted with and without no-op parameter expansion

(i.e. ${thing})

More ${thing} than not, make that the standard
2016-10-21 23:11:17 -07:00
Marcus Hildum
aac8e45397 Imbue gravity.sh with some consistency
Mish-mash of tabs and spaces used for indentation. Mostly tabs though,
so going with those. Also indenting blocks and enforcing the

loop statement; do
done

style over the newline for do since it seemed to be more common.
2016-10-21 23:02:45 -07:00
Adam Warner
8f9ff930b3 Merge pull request #823 from tuplink/EnableOrDisable
Enable or disable
2016-10-21 11:02:10 +01:00
Promofaux
9ab6df0e54 Merge branch 'development' into promoTweaksTheSecond
# Conflicts:
#	advanced/Scripts/blacklist.sh
#	advanced/Scripts/whitelist.sh
2016-10-20 21:06:28 +01:00
Tommy Huff
15d68467a1 attempt to fix 2016-10-20 10:12:02 -04:00
Tommy Huff
3b6ecc573e fix conflict
Merge remote-tracking branch 'upstream/promoTweaksTheSecond' into EnableOrDisable
2016-10-20 10:09:23 -04:00
Tommy Huff
3ca3eaa62c change restartdnsmasq to restartdns 2016-10-20 09:40:45 -04:00
Tommy Huff
dda448e050 use finction in pihole to restart dnsmasq 2016-10-20 09:15:03 -04:00
Tommy Huff
60873144ea make last line of script return a new line been bugging me for awhile 2016-10-20 09:09:35 -04:00
Tommy Huff
a9d17c96be include status at end of gravity so if it is disabled you will see it when running 2016-10-20 09:03:20 -04:00
Tommy Huff
7d7e17b351 add toggle to enable or disable pi-hole 2016-10-20 08:45:20 -04:00
Adam Warner
c71a976e76 kill off an old ugly hack 2016-10-20 13:37:07 +01:00
Marcus Hildum
0efda04920 Use heredocs instead of multiple calls to echo
There were a lot of places (like in help functions) that used multiple
echo calls instead of heredocs. Personal opinion but this seems cleaner.
2016-10-19 20:46:37 -07:00
Marcus Hildum
28eeaf201b Standardize function declaration
There were no fewer than three styles of function declaration going
on in these files, so I attempted to standardize them to the typical

myfucn() {
}

style.
2016-10-19 19:47:45 -07:00
Promofaux
9aa38cf0ae mv patternbuffer instead of cp, then no need to clean up 2016-10-19 23:57:43 +01:00
Promofaux
a7fa7466fb remove no longer needed code 2016-10-19 23:54:43 +01:00
Promofaux
3f73c61cee cache event horizon before white/blacklists are applied for quicker processing on white/blacklist calls of gravity 2016-10-19 23:52:54 +01:00
Promofaux
b88fe572fe Whitelist/Blacklist domains directly in the Event Horizon. 2016-10-19 23:15:05 +01:00
Promofaux
59ba6f8aec add flag to skip download of lists 2016-10-19 22:06:19 +01:00
Promofaux
25343da6b7 wrong variable name 2016-10-19 20:03:29 +01:00
Promofaux
60d17b97f5 spacing 2016-10-19 19:51:32 +01:00
Promofaux
8cb72d87e4 make IPv4/IPv6 checking more robust in gravity 2016-10-19 19:50:21 +01:00
Promofaux
49f48e2aaa wrong word. #admincrimes 2016-10-17 22:24:59 +01:00
Promofaux
8c0f860601 Use systemctl/service calls instead of killall to restart/reload dnsmasq 2016-10-16 17:16:59 +01:00
Promofaux
7ee1110351 ugh. pihole.conf. 2016-10-15 20:09:38 +01:00
Promofaux
51c4c51d9e Add trap to check existence of setupVars 2016-10-15 20:03:33 +01:00
Promofaux
fc4fe54099 standardise function naming 2016-10-15 20:02:57 +01:00
Promofaux
4c42f00a86 remove uses of ${SUDO} and root check from gravity. As this is handled by pihole command. 2016-10-15 18:42:53 +01:00
Promofaux
4f35aac6dd transpose $ and " 2016-10-10 22:32:30 +01:00
Dan Schaper
4418ca9e9f Missing quote replacement. 2016-10-10 11:41:29 -07:00
Dan Schaper
07b7e8a1a6 Track down a couple more variable name changes. 2016-10-10 06:33:56 -07:00
Dan Schaper
7ae2fc37c0 Match up descriptive variable names with setupVars.conf. Rectifies Ubuntu 16.04 gravity.list bug. 2016-10-10 06:23:17 -07:00
Adam Warner
ac49e639bd Fix #718 2016-09-26 11:58:07 +01:00
bcambl
21d4199a38 Merge branch 'development' into dns-hostname-fixes 2016-09-19 17:33:32 -06:00
Promofaux
3ed62d45f5 Source IP addresses from /etc/pihole/setupVars.conf 2016-09-16 23:05:08 +01:00
bcambl
640af300cb additional hostname checks in gravity.sh
- Test if /etc/hostname exists before attempting to cat the file.
 - Add alternative hostname discovery via hostname command
 - Add an error message to stdout if unable to determine host fqdn
2016-09-07 21:16:52 -06:00
Promofaux
6796b8bdad pass argument from pihole command to gravity for -f check 2016-08-19 23:06:56 +01:00
Promofaux
475d016029 hmmm 2016-08-19 22:52:55 +01:00
Promofaux
201304e678 fix variables in gravity to stop it using -f wether it's set or not 2016-08-19 22:51:09 +01:00