Commit graph

331 commits

Author SHA1 Message Date
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
Promofaux
f6ac0d73b4 Add force delete option 2016-08-17 19:08:55 +01:00
Promofaux
ae47be0ce9 Add HelpFunc 2016-08-17 18:59:00 +01:00
Dan Schaper
024b741552 Merge pull request #490 from bcambl/fedora-armhf7
Fedora Support
2016-06-29 14:25:23 -07:00
Mcat12
4e95f4678f Merge pull request #540 from pi-hole/bugfix/curl-redirect
Have `curl` auto-redirect
2016-06-26 13:42:40 -04:00
Dan Schaper
7670b4e380 Mahakala User Agen modernization
Update Curl User Agent for Maha list.
2016-06-25 06:00:49 -07:00
Dan Schaper
636a9123b8 Have curl auto-redirect
This should solve the redirection issue if a list is moved.
2016-06-23 18:37:45 -07:00
bcambl
27a9642090 check for sudo via 'command -v' instead of dkpg-query 2016-06-11 15:58:49 -06:00
Jim Liu
08e95ed606 Update gravity.sh
Change piholeIPfile to a permanent location.
2016-04-22 01:40:42 +08:00
Jim Liu
a5ad48aa18 Update gravity.sh 2016-04-21 23:40:44 +08:00
Promofaux
ad574f5e90 Replace kill with killall 2016-04-16 15:52:38 +01:00
Promofaux
4941a657bf remove -s switch, as it turns out it worked afterall. 2016-04-16 12:59:40 +01:00
Promofaux
3d4bff9414 Add -s switch to kill command to increase compatability 2016-04-16 10:56:49 +01:00
Adam Warner
99a5b3a98a remove all mentions of spinner 2016-04-11 11:29:14 +01:00
Promofaux
8514f42d0d Correct variable name (Missing capital letter! whoops!) 2016-04-05 08:53:52 +01:00
Promofaux
0c0dd914f7 Fix source lists not being skipped if they are already up to date 2016-04-04 23:48:34 +01:00
Promofaux
c6405bc93b Ensure addn-hosts value is updated in /etc/dnsmasq.d/01-pihole.conf if user has a custom value set in pihole.conf 2016-04-04 23:38:46 +01:00
nate
5347ee4896 Write verbose status of processes to debug log & Minor UI Fixes 2016-04-04 00:59:24 -05:00
Promofaux
d710b97276 Fix issue raised in #421 (Use variable instead of hardcoded path, do not delete user created pihole.conf!) 2016-04-03 22:10:04 +01:00
Promofaux
0e6e8040ba Change spinstr to match install and uninstall scripts 2016-04-03 21:54:16 +01:00
nate
767b72fbfa Merged branch development into PiHoleController 2016-04-02 17:34:41 -05:00
Mcat12
0fbf72bb09 Change dummy domain and show device's hostname in ping
* Change dummy domain
Allows users to access Pi-hole console with my.pi-hole.net instead of the IP address

* Cleaned up formatting

* Put device hostname at the top of the list
Changed my.pi-hole.net to pi.hole and placed it under the device hostname. This way, ping will return the device hostname but you still can access the web interface with pi.hole/admin
2016-04-01 20:19:47 -04:00
nate
bb66d559e7 Merge branch 'development'
Conflicts:
	gravity.sh
2016-04-01 11:08:46 -05:00
nate
7b8fa3b922 Permissions changed for /etc/pihole and cleaned up some output 2016-04-01 01:11:59 -05:00
nate
28f2a1309e Merge branch 'development'
Conflicts:
	automated install/uninstall.sh
2016-03-31 20:25:54 -05:00
nate
45f24c8a85 Readded cats that were originally considered UUOC 2016-03-30 19:56:11 -05:00
nate
f8427ab789 Merge remote-tracking branch 'refs/remotes/pi-hole/development'
Conflicts:
	README.md
	advanced/Scripts/blacklist.sh
	advanced/Scripts/whitelist.sh
	automated install/basic-install.sh
	gravity.sh
2016-03-29 12:57:22 -05:00
Nate
31fc2bfeb7 Modified gravity.sh to point to new file locations and fixed permission issue 2016-03-29 00:25:40 -05:00
nate
37c1999965 Merged branch ScriptCleanup-Dev into development 2016-03-28 18:46:08 -05:00
nate
86dd4dd784 New spinner for gravity.sh
Spinner in gravity.sh now matches basic-install.sh and uninstall.sh
2016-03-28 18:45:55 -05:00
nate
00b65abd09 Minor changes to reflect new tool usage
Removed symlink of scripts to u/l/b
Added copy for setupLCD to /opt/pihole/
New spinner added to gravity.sh to reflect new spinner in basic-install.sh and uninstall.sh
2016-03-28 18:44:54 -05:00
nate
f2150ee7e1 Merge conflict resolution 2016-03-28 13:07:51 -05:00
nate
2311b42bca Merge branch 'ScriptCleanup-Dev'
Conflicts:
	README.md
	advanced/Scripts/blacklist.sh
	advanced/Scripts/piholeDebug.sh
	advanced/Scripts/whitelist.sh
	automated install/basic-install.sh
	gravity.sh
2016-03-28 12:58:44 -05:00
nate
8ef4c12f97 Merge branch 'ScriptCleanup'
Conflicts:
	README.md
	advanced/Scripts/blacklist.sh
	advanced/Scripts/whitelist.sh
	automated install/basic-install.sh
	gravity.sh
2016-03-28 12:21:18 -05:00
nate
0b9e78df2c Cleaned code and added prompt for purge on uninstall 2016-03-26 16:57:01 -05:00
Carter Maxwell
e4ddf8bc33 remove trailing whitespace gravity.sh 2016-03-05 21:13:43 -08:00
Adam Warner
88674e21cf Update gravity.sh
Clear out `pihole.*` files from `/etc/pihole` as they are no longer needed.
2016-02-21 20:45:56 +00:00
Promofaux
bffc77e478 Add support for comments and blank lines in adlists.default/adlists.list 2016-02-21 17:45:25 +00:00
Adam Warner
b7cb3df9bc Merge pull request #305 from fayetted/Issue_304
Set file permisions on `/etc/pihole` directory. fixes #304
2016-02-16 22:54:54 +00:00
Adam Warner
3a887af513 Addresses #313
path to white and blacklist scripts moved to variables and updated to include full path
2016-02-14 22:24:21 +00:00
Mcat12
af360a1a20 Merge pull request #298 from fayetted/Issue_297
Fixes gravity_transport variable interpretation.
2016-02-10 20:10:05 -05:00
Daniel Fayette
73bfbba5f7 Set file permisions on /etc/pihole
Ensures file permisions on $piholeDir before reload/restart of dnsmasq
2016-02-10 15:07:31 -06:00
Daniel Fayette
a734927591 Fixes gravity_transport variable interpretation.
Adding (") around Variables passed to function ensures
  spaces are handled and that missing arguments are
  accounted for.
2016-02-09 19:51:03 -06:00
Promofaux
5111880edf remove erroneous -o 2016-01-27 22:35:52 +00:00
Promofaux
b75b290351 adlists.default copied on each run of gravity. In case it has been overwritten 2016-01-27 21:14:23 +00:00
Promofaux
352ebc3193 outsource list of adlists to a file in /etc/pihole/. 2016-01-26 20:26:09 +00:00
Adam Warner
e87443b3e4 add 'http://mirror1.malwaredomains.com/files/justdomains' to list of ad-list sources, can be removed if it causes problems 2016-01-25 15:53:49 +00:00
Adam Warner
74ea597bd8 Cosmetic enhancement. Add the domain 'Pi-Hole.IsWorking.OK' to the top of the domain list to return a friendlier looking domain when pinging a blocked host! 2016-01-25 15:52:22 +00:00
Promofaux
6b76270889 Remove spinner call when adding URLs of adlist to array.. seems to break it. 2016-01-24 22:30:12 +00:00
Promofaux
cebdcc71a7 Add $SUDO call to spinner() in gravity.sh 2016-01-24 21:27:25 +00:00
Promofaux
39507b9d0d Added echo ':::' to the top of the file 2016-01-24 16:47:38 +00:00
Promofaux
a539dc41f3 Tidy up gravity output to match install script 2016-01-24 15:25:24 +00:00
Leo
8b18fdd322 Update gravity.sh 2016-01-21 17:19:09 -05:00
Leo
1349f584be Use Sudo Detection from Installer in Gravity.sh Also
Prevents errors from being thrown when gravity.sh is run as root and the user doesn't have sudo installed (just like install.sh does)
2016-01-21 17:14:55 -05:00
Adam Warner
5d842a7533 Merging 2016-01-15 18:45:12 +00:00
Adam Warner
2284a27814 Consumes blacklist.sh now, too. 2016-01-15 15:54:11 +00:00
Adam Warner
cc62d984d2 Changed whitelist function to outsource to whitelist.sh 2016-01-15 14:49:16 +00:00
jacobsalmela
ca5e34a9a9 Merge branch 'master' into whitelist
# Conflicts:
#	gravity.sh
2016-01-14 18:12:45 -06:00
Jacob Salmela
3fc1817e7a Merge branch 'master' into ipv6 2016-01-01 18:34:33 -06:00
Clinton
987e4e02a9 Fix bug in gravity.sh where IPv6 list was not always populated
Failed to be populated if /tmp/piholeIP does not exist. This may happen under
the following conditions:

- was not generated during install
- gravity.sh being run again after the original install (the file is deleted
  during the installation process)
2016-01-01 14:11:46 +00:00
Salmela
d646612a25 Block ads over IPv6
I’m pretty sure this works well.  Maybe someone else can try it out.
2015-12-31 20:26:05 -06:00
Jacob Salmela
26dcbfc1f9 hide minor error
An error shows up on the first install that `latentWhitelist.txt` doesn't exist and can't be removed.  Redirecting STDERR should fix this.
2015-12-27 12:25:35 -06:00
klaas01
a6313c9e9e Update gravity.sh
Fix kill command and only run as last step.
2015-12-26 14:37:51 -04:00
Jacob Salmela
c88982d0d5 chmod doesn't apply at initial install 2015-12-09 15:52:53 -06:00