Commit Graph

1501 Commits

Author SHA1 Message Date
yubiuser 8e4adb6e39
Merge pull request #4788 from pi-hole/SKIP_INSTALL
Rename PH_TEST to SKIP_INSTALL
2022-07-09 00:01:48 +02:00
yubiuser 6aaa446354
Merge pull request #4802 from pi-hole/codespell
Fix spelling mistakes
2022-07-08 23:51:20 +02:00
Christian König 3d8672bc59
Clean consecutive mkdir
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-08 23:20:30 +02:00
Christian König b49db58ec2
Fix spelling mistakes
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-08 22:00:36 +02:00
Dan Schaper 56a32047b8
Logic fix
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-07 13:50:41 -07:00
Dan Schaper 48d5d6bed2
Always create the log target directory before any movements
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-07 13:23:13 -07:00
Adam Warner 04abc4dacd
Merge pull request #4792 from pi-hole/fix/mkdir_logs
Create new log directory
2022-07-07 20:18:18 +01:00
Dan Schaper fd41801977
Create new log directory
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-07 12:12:53 -07:00
Christian König 518cbd10e0
Rename also in docker files
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-06 22:58:14 +02:00
Christian König 0a8761ee68
Rename PH_TEST to SKIP_INSTALL
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-06 22:53:09 +02:00
Christian König 5c564e53ca
Fix indention in install script output
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-06 12:29:03 +02:00
Dan Schaper 853cd9670a
Merge pull request #4772 from pi-hole/tweak/dialog
Convert installer whiptail to dialog
2022-07-05 20:56:02 -07:00
Dan Schaper cfbc731eab
Apply suggestions from code review
Co-authored-by: yubiuser <ckoenig@posteo.de>

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-05 20:25:27 -07:00
Dan Schaper 46f991f578
Apply suggestions from code review
Co-authored-by: yubiuser <ckoenig@posteo.de>

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-05 20:11:00 -07:00
RD WebDesign ad70ece73e Fixing dialog line breaks
Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-07-05 23:10:40 -03:00
Dan Schaper 39cb1029e9
Clarify button labels
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-05 14:23:59 -07:00
Dan Schaper a39c470f2d
Requested changes.
Co-authored-by: MichaIng <micha@dietpi.com>

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-05 00:06:12 -07:00
Dan Schaper 72fcdb128a
Rework cenos7 functions
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-04 23:14:02 -07:00
Dan Schaper 44667b5ffb
Add dialog to RPM installer requirements.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-04 12:35:08 -07:00
yubiuser 696d1c4ec3
Merge pull request #4777 from pi-hole/tweak/default_log_path
Change default FTL log file path to /var/log/pihole/FTL.log
2022-07-03 22:19:14 +02:00
Dan Schaper 1ed5ff306d Align dialog texts.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-03 11:08:56 -07:00
Dan Schaper bf57a786e6 Convert whiptail to dialog.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-03 11:08:56 -07:00
Dan Schaper 80bef5f6b6
Direct pull for epel-release
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-07-03 10:47:05 -07:00
DL6ER bd8288d6ef
Special renaming for pihole-FTL.* to pihole/FTL.log.*
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-07-03 18:54:13 +02:00
Adam Warner 0be987239e
Adds spellcheck action to the smoke-tests (also moves editorconfig-checker to smoketests away from it's own action)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-02 14:04:08 +01:00
Christian König ed8c6c04d4
Use PHP_VERSION
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-14 23:04:31 +02:00
Christian König 4b674ecfe3
Fix first install
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-14 00:58:10 +02:00
Christian König 5818f3f997
Check for validity first
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-14 00:05:27 +02:00
Christian König 7d731870e5
Fix stickler
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-13 16:06:59 +02:00
Christian König 1f26e85399
Exit installer if no valid PHP version is found
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-13 15:50:51 +02:00
Christian König 2c07d27ad7 Forgot two places
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-04 22:42:41 +02:00
Christian König 0b9d4a47ad Remove IPv4 and IPv6 adresses from setupVars.conf
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-06-04 22:38:00 +02:00
yubiuser ae9d16baf2
Merge pull request #3732 from pi-hole/tweak/moveloglocation
Utilise /var/log/pihole/ for log storage
2022-05-31 22:59:32 +02:00
Christian König b7742ddb9b
Always install pihole-FTL.service file
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-05-19 06:17:46 +02:00
Christian König 60615e60aa
Make sure FTL is stopped before old logfiles are moved
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-05-18 21:11:38 +02:00
Christian König 110e752552
Move existing log files
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-05-15 22:30:17 +02:00
Christian König 9b9acfd4a7
Remove log files from new location during uninstalling
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-05-15 20:22:06 +02:00
yubiuser 2e2a3aa048
Add port info to explanation text 2022-05-09 17:14:16 +02:00
Leon 6a0c6c4a9b Add example for custom DNS server with port number
Signed-off-by: sed-i <82407168+sed-i@users.noreply.github.com>
2022-04-25 19:00:01 -04:00
Adam Warner 73aa43611f
Merge pull request #4700 from spmfox/4697-centos8-container-ftl-arch
Changed ldd binary check for better compatibility
2022-04-20 19:27:45 +01:00
Dan Schaper 71072b4beb
Stickler quoting 2022-04-20 10:21:24 -07:00
spmfox 9840148ba9
Update automated install/basic-install.sh
Co-authored-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-04-17 14:52:05 -04:00
spmfox 2601162243 Changed ldd binary check from /bin/ls to /usr/bin/bash
Signed-off-by: spmfox <spmfox@foxwd.com>
2022-04-16 16:46:07 -04:00
MichaIng 2b124b1c69
Do not pass whole environment for PIHOLE_SKIP_OS_CHECK=true
With `sudo -E`, the whole environment is passed to the root shell, which is a potential security and/or privacy issue when command overrides/functions, PATH or private user info are passed. To pass `PIHOLE_SKIP_OS_CHECK=true`, it can be passed alone to the bash/script call within the sudo session, so the `-E` flag can be omitted.

Signed-off-by: MichaIng <micha@dietpi.com>
2022-04-13 21:30:12 +02:00
yubiuser 9356d7bbb1
Remove unnecessary case in uninstall script (#4692)
* Remove unnecessary case in uninstall script

* Better answer

Signed-off-by: Christian König <ckoenig@posteo.de>
2022-04-12 11:36:49 -07:00
yubiuser b33434d02a
Let uses know how long they need to wait (max)
Co-authored-by: Adam Warner <me@adamwarner.co.uk>
2022-04-07 09:11:53 +02:00
Christian König c0a2ab7b77
Fix indention
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-04-04 16:59:13 +02:00
Christian König 30ba79f6a0
Let users know what's going on
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-04-04 16:48:34 +02:00
Christian König cd3c97f113
Exit installer if dpkg lock is held for more then 30 seconds
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-04-04 16:38:30 +02:00
Adam Warner fe9031b26f
Merge pull request #4669 from pi-hole/master
sync: master to development
2022-04-02 00:05:49 +01:00
Dan Schaper 8a5c7dec71
Ensure existing files are proper owner and mode.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
co-authored-by: RD WebDesign <github@rdwebdesign.com.br>
2022-04-01 14:08:09 -07:00
Dan Schaper d45c9fc522
Final touch to install fix.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-04-01 11:08:26 -07:00
Dan Schaper c2384ecc6f
Change touch that would always fire to install.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-03-31 14:23:39 -07:00
Dan Schaper 2f38452565
Wrap touch calls with if/then guards for Buster docker.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2022-03-31 12:03:17 -07:00
Christian König c756bcb9d1
Add procps to dependencies
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-03-01 09:07:51 +01:00
yubiuser c3c5342b48
Fix reviewer's comment
Co-authored-by: DL6ER <DL6ER@users.noreply.github.com>
2022-02-04 21:11:54 +01:00
Christian König 7c60ee8df1 Remove pihole-FTL.conf man page
Signed-off-by: Christian König <ckoenig@posteo.de>

Remove double https://

Signed-off-by: Christian König <ckoenig@posteo.de>
2022-02-04 20:43:47 +01:00
DL6ER e09dd56807
Remove RPM package sqlite as well
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-02-01 07:38:57 +01:00
DL6ER 8cbffa179d
Replace remaining sqlite3 calls by calls to our embedded pihole-FTL sqlite3 engine and remove sqlite3 as dependency in the installer.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-30 11:18:17 +01:00
MichaIng c2080324b7
Install netcat-openbsd as dependency explicitly
Since Debian Stretch and Ubuntu Bionic, the "netcat" package is a transitional dummy package which pulls in "netcat-traditional" on Debian Stretch+Buster and Ubuntu Bionic, and "netcat-openbsd" on Debian Bullseye, Ubuntu Focal and up.

On Debian Bookworm (testing), however, the "netcat" package has been removed during the last 3 days at time or writing, so that it fails do be installed. While "netcat-traditional" and "netcat-openbsd" both "Provides: netcat", since it's two alternatives, APT does not automatically pick one but aborts, and the only solution is to install one explicitly.

While this is likely a temporary state of the Debian testing suite, having a closer look at the two alternatives shows that "netcat-openbsd" is a much more actively maintained newer version with additional support for IPv6, proxies, and UNIX sockets, which is likely the reason for the gradual transition via meta package from "netcat-traditional" to "netcat-openbsd". This commit hence consequently follows this aim by skipping the transitional dummy package and installing "netcat-openbsd" explicitly as dependency, to avoid any possible errors like the one which occurs currently on Bookworm.

Both packages can be installed concurrently and do no conflict, but are managed via dpkg's "update-alternatives".

For reference:
- https://packages.debian.org/netcat
- https://packages.ubuntu.com/netcat

Signed-off-by: MichaIng <micha@dietpi.com>
2022-01-07 18:55:15 +01:00
DL6ER 5823f5e254
Use ss instead of lsof (#4518)
* Use ss instead of lsof for pihole status checks

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Use ss FILTER instead of piping into bash

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Use ss in debug log generation

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Remove lsof from dependencies

Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-01-05 16:41:46 +00:00
yubiuser c6a2a6f739
Install pihole-FTL.conf template on fresh installation (#4496)
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-01-04 19:09:30 +00:00
yubiuser 0e359a6321
Set dnsmasq interface listening by default to local (#4509)
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-01-04 09:40:07 +01:00
WaLLy3K 5bd7cc9c9d
Replace `which` with `command -v` (#4499)
Signed-off-by: WaLLy3K WaLLy3K@users.noreply.github.com
2022-01-01 18:02:20 +00:00
DL6ER 886f0c7df3
Merge pull request #4485 from pi-hole/tweak/web_status
Return the port FTL is listening on in pihole status function
2021-12-29 11:13:12 +01:00
Matthew Nickson 71ed842dfd
Fixed path to 404 file when using custom.php (#4488)
Signed-off-by: Computroniks <mnickson@sidingsmedia.com>
2021-12-28 19:32:06 +01:00
Christian König 2a869419b4
Add netcat to dependencies
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-12-28 12:18:39 +01:00
Chiller Dragon e485a7b9bb
Some shellchecks in basic-install.sh (#4088)
* Some shellchecks in basic-install.sh

Signed-off-by: ChillerDragon <ChillerDragon@gmail.com>

* Use more explicit grep (thanks to @MichaIng)

Signed-off-by: ChillerDragon <ChillerDragon@gmail.com>
2021-12-02 14:44:50 +01:00
jbzdarkid bc8150adfa Clean up bash script formatting
Done with the help of beautysh (a python-based bash formatter)

Signed-off-by: jbzdarkid <jbzdarkid@gmail.com>
2021-11-25 14:12:09 -08:00
MichaIng 996a2c74fa
Use a fixed list height for network interface selection
This solves the issue reported here: https://github.com/pi-hole/pi-hole/issues/4196
It replaces the other suggested solution here: https://github.com/pi-hole/pi-hole/pull/4197

The benefit of using a fixed/limited list height, compared to allowing larger whiptail/dialogue dimension, is that it works on small screens as well, where the screen or console size itself is too small to hold the interface list + text above + whiptail frame.

It the amount of list elements exceeds the defined list height, automatically a visual scroll bar is added and the list can be scrolled with up/down pageup/pagedown buttons, hence it is generally not required to adjust a list height based on the amount of elements. The fixed height of "6" is chosen since all other "--radiolist" calls use this fixed height as well, it fits and looks good within a 20 rows high whiptail dialogue, and in the common Pi-hole use cases there are no more than 6 network interfaces.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-11-22 13:25:13 +01:00
yubiuser ac4a975be5
Allow users to skip setting static IP adress (#4419)
* Allow users to skip setting static IP adresss

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-11-06 20:32:03 +00:00
yubiuser 996f8fff28
Recommend apt instead of apt-get if updating the package cache failed (#4421)
* Only change the recommendation to use apt

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-11-04 15:55:16 -07:00
MichaIng 04f9e92bff
Fix PHP8.0 detection (#4383)
The phpInsNewer variable is not set anymore, so that the JSON module is now always tried to be installed. Instead of checking for phpInsNewer to derive whether PHP was installed already, phpInsMajor is now checked. If it is set, PHP is installed already, and only if the major version is lower than 8, the JSON module can be installed.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-10-11 20:43:12 +01:00
Adam Warner 99981b5e66 now that whiptail size is fixed, lose a couple of lines from the final whiptail output
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-10-11 09:55:56 +02:00
yubiuser 9535e2fd6d
Merge pull request #4363 from xanoni/update-upstream-dns-capabilities
Update upstream DNS server capability descriptions
2021-10-06 07:18:14 +02:00
Adam Warner 0ea7344c30
add --no-rebase to the git pull command(s) to squelch hint message in newer versions of git (#4226)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-10-06 01:19:28 +01:00
Adam Warner 55dce14655
Add execution bit accidentally dropped in #4106 (#4368)
Add some smoke tests for the repository.
 - Add x bit to piholeCheckout.sh. Possibly not needed, but consistency is no bad thing
 - Ensure all files in script directorys have executable bit set

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-10-05 19:34:51 +01:00
MichaIng c5828df198
Consequently use defined file path variables (#4105)
The script defines variables for the most important file paths which are not always used to call the file paths. "lighttpdConfig" was never used in the script itself, so that a shellcheck exception needed to be used. With this change, the defined variables are consequently used, which makes the shellcheck exception obsolete as well.

Additionally the assigned strings are quoted, which is not necessary here but aligns with the coding standard and highlights the strings in most editors and development platforms for developer convenience.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-10-05 16:40:12 +01:00
yubiuser 80560d4a4a
Do not export `DNS_FQDN_REQUIRED` and `DNS_BOGUS_PRIV` unconditionally (#4354)
* Do not export unconditionally

Signed-off-by: Christian König <ckoenig@posteo.de>

* Check if variable is unset instead of grep for it

Signed-off-by: Christian König <ckoenig@posteo.de>

* Use bash's buld in word syntax

Signed-off-by: Christian König <ckoenig@posteo.de>

* Move export back to their brothers

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-05 14:36:00 +01:00
yubiuser 2b74b47b4a
Remove netcat from dependencies (#4346)
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-05 01:47:18 +01:00
yubiuser 109340033e
Do not account for refactor anymore (#4355)
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-05 01:22:27 +01:00
xanoni 0f246b8df5
Update upstream DNS server capability descriptions
Mention that the below 3 upstream DNS support DNSSEC:
- Cloudflare (see https://developers.cloudflare.com/1.1.1.1/faq#how-does-1111-work-with-dnssec)
- DNS.WATCH (see https://dns.watch/index)
- Google (see https://developers.google.com/speed/public-dns/faq#dnssec)
- Quad9 (see https://www.quad9.net/support/faq/#dnssec)

Other providers and capabilities (e.g., ECS) were not checked.

Signed-off-by: xanoni <77220130+xanoni@users.noreply.github.com>
2021-10-04 13:55:20 -04:00
Adam Warner 5b03160295
Install script comment tweaks (#4361) 2021-10-04 11:40:53 +01:00
Christian König a9b9718ffa Do not let the user select if they want to blocking via IPv4 and/or IPv6
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-10-02 23:29:23 +02:00
MichaIng fd050693a2 Remove obsolete DEB package name checks
The installer contains three checks for specific DEB package names, which did change in past Debian/Ubuntu versions. These checks are obsolete with the current set of supported distro versions:

iproute vs iproute2: All distro versions down to Debian Jessie and Ubuntu Xenial ship the iproute2 package:
- https://packages.debian.org/search?keywords=iproute
- https://packages.ubuntu.com/search?suite=all&keywords=iproute

php5 vs php: None of the Ubuntu version down to Xenial and only Debian Jessie ships the php5 package:
- https://packages.debian.org/search?keywords=php5
- https://packages.ubuntu.com/search?suite=all&keywords=php5
Moreover, installs with PHP5 would fail anyway for a longer time, due to the added php-xml module package, which became a dedicated package with PHP7.0 while being part of the core package with PHP5:
- https://packages.debian.org/search?keywords=php5-xml

php-sqlite vs php-sqlite3: With PHP7, the SQLite module package name changed to sqlite3 prefix:
- https://packages.debian.org/search?keywords=php-sqlite
- https://packages.ubuntu.com/search?suite=all&keywords=php-sqlite

Additionally the code comment about minimal apt-get call output was moved to the actual apt-get install call section, as if refers to issues with package installs that require interactive action and hence output about it to the console. The package cache update as well requires an interactive confirmation when the underlying suite code name changes, e.g. when "buster" becomes "oldstable" and "bullseye" becomes "stable". But that is not what the referred issue was about.

The comments around the installer and Pi-hole package dependencies have been aligned with the current v6 branch as attempt to resolve merge conflicts in the first place.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-10-01 16:12:06 +02:00
yubiuser 841222fa21
Add to INSTALLER_DEPS (#4343)
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-09-26 10:50:03 -07:00
Christian König a88a94c4f1 Export DNS_FQDN_REQUIRED and DNS_BOGUS_PRIV to setupVars.conf during installation
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-09-13 08:06:19 +02:00
yubiuser 1c286c7bc4
Select proper PHP version on RPM based OS after INSTALLER_DEPS have been installed (#4325)
* Select proper PHP version on RPM based OS after INSTALLER_DEPS have been installed

* Remove check for unsupported RPM distros as it is checked in os_check already

* Add select_rpm_php function to tox tests

Signed-off-by: Christian König <ckoenig@posteo.de>
2021-09-12 13:40:37 -07:00
Adam Warner e393048488
Merge pull request #4229 from MichaIng/patch-3
Hardcode whiptail dimensions to 20 rows and 70 chars width
2021-09-11 21:37:14 +01:00
Adam Warner 89e187947e
Merge pull request #4282 from pi-hole/new/RFC6761
Install RFC6761 config file
2021-09-11 20:44:46 +01:00
Christian König 839a70cc37 Add sudo to apt-get recommendation
Signed-off-by: Christian König <ckoenig@posteo.de>
2021-08-27 19:16:15 +02:00
DL6ER ff64d8cf4d
Use variable in user output, too
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-08-16 09:57:12 +02:00
MichaIng e1dca46423 Hardcode whiptail dimensions to 20 rows and 70 chars width
With the suggested way to call the installer via "curl -sSL https://install.pi-hole.net | bash", STDIN is no terminal, but overridden by the curl output, hence in most cases, the minimum dimensions were applied, even on larger screens. All whiptail calls are hence assured to work fine with those dimensions, aside of one case, making the calculations obsolete.

This commit hardcodes the whiptail dimensions to the prior minimum and removes the calculations. This also helps with testing, as it does not matter anymore how the script is called, and developers have a clearly defined space to make dialogs look nice, including line breaks, menu and list heights.

The only case which does not fit the 70 character width, the second menu entry of the "pihole -r" dialog, has been shortened accordingly. This was not an issue before, as "pihole -r" does not override the scripts STDIN and hence did allow larger dimensions based on the now removed calculations.

See the following discussions for reference:
- https://github.com/pi-hole/pi-hole/issues/3323
- https://github.com/pi-hole/pi-hole/pull/4197#issuecomment-876702380

Signed-off-by: MichaIng <micha@dietpi.com>
2021-08-15 18:04:11 +02:00
DL6ER ea5a3bf0b2
Install RFC6761 config file
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-08-15 11:21:24 +02:00
Adam Warner bdab701470
Remove dhcpcd5 dependency, however still help the user set the static IP if dhcpd5 is already installed (i.e on raspbian)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:37 +01:00
Adam Warner 1ecb9165ee
Remove weird global counter
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:37 +01:00
Adam Warner 2ff3b95117
put FTL Install back to where it was
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:37 +01:00
Adam Warner 3ad5097b12
Change initial install script order:
1. Ensure we have a compatible package manager
  2. Install required packages for os_check to run (we need dnsutils and grep for this
  3. Try to install FTL
  4. FTL installed? Install installer dependencies and continue as normal - no other dependencies are installed until user has gone through all whiptails

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:37 +01:00
Adam Warner d68a2ffaf3
Install only minimal requiered package before performing os_check
Co-authored-by: Christian König <ckoenig@posteo.de>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:36 +01:00
Adam Warner 913dcead7f
move chmod/chown of macvendor.db to pihole-FTL.service
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:36 +01:00
Adam Warner 1358209a9a
rename distro_check to package_manager_detect, as it is more in keeping with what the function actually does
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2021-08-05 19:02:36 +01:00
DL6ER d0eb0d5037
Remove extra failure display when installation of logrotate file is skipped because the file already exists
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-07-28 21:18:02 +02:00
Dan Schaper b1ea60484e
Guard for logrotate func non-zero return
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-07-26 13:22:26 -07:00
Daniel fdca19e66d Support and test Debian Bullsye (11)
Signed-off-by: Daniel <daniel@developerdan.com>
2021-07-07 19:09:54 +00:00
Adam Warner 8c926d6af6
Merge pull request #4158 from MichaIng/patch-2
Remove false statement about dependency removal on Raspbian
2021-07-04 00:43:09 +01:00
Adam Warner c120f8a8d8
Revert "Include lighttpd-mod-deflate since it is no longer provided by default in Bullsye" 2021-07-02 22:09:41 +01:00
Daniel 2b49988013
Include lighttpd-mod-deflate in the PIHOLE_WEB_DEPS list since it is no longer provided by default in Debian Bullseye
Signed-off-by: Daniel <daniel@developerdan.com>
2021-07-01 02:20:22 +00:00
Dan Schaper 4f660966d0
Shellchecker
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-06-20 11:19:19 -07:00
Dan Schaper 7df22cd8e0
Check for logroate script existing first.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-06-20 11:18:33 -07:00
MichaIng c901443676 Remove false statement about dependency removal on Raspbian
The statement "All dependencies are safe to remove on Raspbian" has been added at a time where a much smaller list of dependencies were installed, all indeed relatively safe to purge. Nowadays this list has grown and includes important system packages, like iproute2, psmisc, sudo, curl and others, which are often again dependencies of other packages, like network stacks (ifupdown) and others, so that inexperienced users, following that statement, may break their systems network capabilities and more.

This message has hence been removed.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-05-02 13:29:28 +02:00
MichaIng f3ceebbe06
Re-remove wget from dependencies
The dependency has been removed here: https://github.com/pi-hole/pi-hole/pull/3185
But accidentally re-added here: 982c1b0059 (diff-595630a29a855f6d667a84ca0662042e826bf3ec56322ef61d4a6ef149147d23)

wget is still not used in any Pi-hole script, hence it can be removed safely from dependencies.

Signed-off-by: MichaIng <micha@dietpi.com>
2021-04-30 20:48:12 +02:00
MichaIng 2ba350984f Enable PHP8 support for Debian/Ubuntu
Since PHP8.0, the JSON extension is a core PHP extension and hence the php8.0-json package does not exist and is not required:
- https://www.php.net/manual/json.installation.php
- https://packages.debian.org/php8.0-json

Solves: https://discourse.pi-hole.net/t/php-8-packages-not-found/46286

Signed-off-by: MichaIng <micha@dietpi.com>
2021-04-18 15:33:05 +02:00
DL6ER 74948ae5c1
The correct port separator is '#' not ':' in dnsmasq style. This should not have been changed in #4083 in the first place.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-14 22:53:12 +02:00
bcambl d5f13018a7 Merge branch 'release/v5.3' into fedora_33_support
Signed-off-by: bcambl <blayne@blaynecampbell.com>
2021-04-12 20:06:11 -06:00
jbzdarkid 8090071eff Update regex to disallow leading zeros
Also updated a comment to point to a non-experimental RFC.

Signed-off-by: jbzdarkid <jbzdarkid@gmail.com>
2021-03-21 16:27:08 -07:00
Joseph Blackman 89c80947df Improve regexes for ipv4 matching
Signed-off-by: jbzdarkid <jbzdarkid@gmail.com>
2021-03-21 16:24:35 -07:00
jbzdarkid 20b6f9cceb Improve comments in basic-install.sh
Signed-off-by: jbzdarkid <jbzdarkid@gmail.com>
2021-03-17 18:37:18 -07:00
bcambl c6810a0124 touch sysconfig network script when absent
sysconfig network scripts are missing on pure NetworkManager installs.
This commit touches a placeholder to allow the network configuration to
be generated and loaded via NetworkManager.

Signed-off-by: bcambl <blayne@blaynecampbell.com>
2021-01-19 23:06:39 -06:00
freddii 7c0c30fb0b fixed typos 2021-01-19 19:33:38 +01:00
Dan Schaper 3f8fedfb16
Revert "Further failsafe check for available APT packages" 2021-01-17 11:10:24 -08:00
Dan Schaper 523f650157
Use the 'Location:' header only.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2021-01-12 13:42:51 -08:00
DL6ER c5ed8f8bed
Merge pull request #3537 from MichaIng/patch-2
Further failsafe check for available APT packages
2021-01-07 11:56:52 +01:00
bcambl a5422dbdf6 fix release check for centos stream
fixes #3947 #3953

Signed-off-by: bcambl <blayne@blaynecampbell.com>
2020-12-30 19:45:51 -06:00
Christian König 0d710fc9e3 Change wording in whiptail for adlist selection
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-12-24 21:19:14 +01:00
Adam Warner eb86a5e3b0
Merge pull request #3937 from yubiuser/remove_malwaredomains
Remove deprecated malwaredomains list
2020-12-24 15:24:48 +00:00
Dan Schaper 60fa93ab47
Add fallback for arch detection on i386/x86_64
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2020-12-23 14:59:28 -08:00
Christian König b4102547ac Remove deprecated malwaredomains list
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-12-21 13:11:59 +01:00
MichaIng eb5661b553 Further failsafe check for available APT packages
- "apt-cache show package" succeeds as well if package is listed as (optional) dependency or conflict by another package, hence is not a 100% reliable measure.
- There is no command which explicitly checks which package/name can be selected by apt-get for install. An install simulation/dry-run is possible as it was before Pi-hole v5.1, or the whole package cache can be scraped, which is still the less time consuming solution.
- Allow to succeed if another package "provides" it, like "php7.3-apcu" provided by "php-apcu" or "awk" provided by "mawk" and "gawk", in which case the non-virtual package is selected automatically by apt-get.

For reference: 066b89fa41

Signed-off-by: MichaIng <micha@dietpi.com>
2020-12-18 23:20:24 +01:00
Adam Warner e47eb30a6e
Update automated install/basic-install.sh
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-12-02 20:49:07 +00:00
Adam Warner 641951b3a0
add some meaningful outputSigned-off-by: Adam Warner <me@adamwarner.co.uk> 2020-12-02 20:40:51 +00:00
Adam Warner 61f13a334d
Don't delete an existing directory and clone our repo in its place. TODO: Something more robust
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-12-02 20:19:59 +00:00
Christian König 0ecb8bf5e9 Add lsof to dependencies for non Debian OS
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-11-29 21:05:40 +01:00
Adam Warner a8e97257d7
Ensure entries of `PIHOLE_DNS_10` and above are not deleted when removing PIHOLE_DNS_1 and PIHOLE_DNS_2
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-11-29 15:08:46 +00:00
Christian König 065e5cb1fe Add DNSSEC to OpenDNS description
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-11-24 21:02:53 +01:00
Adam Warner 541b53229c
Include secondary upstream DNS for Quad9+Filter+ECS
Co-authored-by: Daniel Tulleman <github@be-lumino.us>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-11-18 22:06:03 +00:00
Grégory Sanchez e26472756f Merge branch 'development' into fix/unattended_install 2020-11-16 23:33:07 +01:00
Grégory Sanchez 6826d9f316 fix(basic-install): unattended install should finish without interaction
Fixes: https://github.com/pi-hole/pi-hole/issues/3617

Signed-off-by: Grégory Sanchez <gregory.sanchez@icloud.com>
2020-11-16 23:15:02 +01:00
Adam Warner bd6ca0ad62
Merge pull request #3825 from yubiuser/tweak/cross
Change icon from cross to [i] for root user check
2020-11-15 20:42:05 +00:00
Viet Hung Nguyen ae4e41eaaa Re-run the script as root instead of piping to bash
Signed-off-by: Viet Hung Nguyen <hvn@familug.org>
2020-10-30 23:53:31 +07:00
Christian König 0ae020ef82 Change icon from cross to [i]# for root user check
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-10-29 20:37:08 +01:00
DL6ER 83f2e2d85a
Merge pull request #3801 from pi-hole/new/armv4_armv5_armv8
Add native ARMv4T, ARMv5TE and ARMv8-A support
2020-10-18 19:53:56 +02:00
DL6ER 01c9bbd3ca
Improve processor detection to use the new dedicated ARMv4T, ARMv5TE and ARMv8-A binaries we provide for FTL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-10-14 20:31:22 +02:00
Adam Warner 59b0a6af6f
Remove references to privacy level 4 (no longer functional)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-10-13 23:53:23 +01:00
MichaIng 615b19c3d6
web server question enhancements (#3225)
+ Do not ask to install the web server, if the web interface has been deselected before.
+ Add additional info, that PHP modules need to be installed manually, when web server is deselected and the web server user needs to be member of the "pihole" group.
+ Consequently use webroot variable instead of /var/www/html

Signed-off-by: MichaIng <micha@dietpi.com>
2020-10-09 16:12:21 +02:00
Christian König e9796d5671 Remove traces of previous default adlists
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-09-28 06:15:46 +02:00
Adam Warner d6c4f0696f
Merge pull request #3698 from yubiuser/remove/FreeSpaceCheck
Remove check for free disk space and associated variables
2020-09-21 08:47:41 +01:00
DirkJanIT b88510d89a
Add CACHE_SIZE to setupVars (#3170)
* Update 01-pihole.conf

Signed-off-by: DoubleOhmSeven <57564379+DoubleOhmSeven@users.noreply.github.com>

* Update basic-install.sh

Signed-off-by: DoubleOhmSeven <57564379+DoubleOhmSeven@users.noreply.github.com>

Co-authored-by: DoubleOhmSeven <57564379+DoubleOhmSeven@users.noreply.github.com>
2020-09-17 23:13:40 +02:00
Blayne Campbell 4d98e156b6
Merge pull request #3607 from cgzones/selinux
basic-install: document how to continue after SELinux check
2020-09-16 23:54:05 -06:00
Adam Warner e02cf6fac5
further tweaks, plus a spelling mistake correction
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-08-23 14:50:04 +01:00
Adam Warner 8e219cb799
Make output more meaningful in case of dig failure.
Include dig return code and response in debug run

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-08-23 10:48:15 +01:00
Christian König 65786ba5d6 Remove check for free disk space and associated variables
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-08-18 20:16:35 +02:00
Adam Warner 42f55f5202
Merge pull request #3688 from pi-hole/tweak/os-check
Tweaks to os_check() Redux
2020-08-17 17:31:58 +01:00
Adam Warner 725f02f442
Merge pull request #3673 from yubiuser/fix/double_check_adlist_not_selected
Revert "fix #3336 by creating adlist file even if no list was selecte…
2020-08-17 17:30:31 +01:00
Dan Schaper ebdb68a47a
display_warning fixes
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2020-08-15 10:54:31 -07:00
Dan Schaper 623ce1fe18
Tabs and debug.sh
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2020-08-14 14:37:58 -07:00
Dan Schaper 57e65dd5c0
Use fewer subshells and descriptive variables.
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2020-08-14 11:42:54 -07:00
Adam Warner bb1a6243d6
Merge pull request #3669 from pi-hole/release/v5.1.2
Release/v5.1.2 to development
2020-08-14 16:28:53 +01:00
Christian König 5c72ff75d9 Revert "fix #3336 by creating adlist file even if no list was selected by user"
This reverts commit 3c6ea2612d.

Signed-off-by: Christian König <ckoenig@posteo.de>
2020-08-10 23:52:53 +02:00
DL6ER b5983a3fc1
Do not require first element to be a hex value at any costs. It may also be a : in the valid address ::1
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-04 22:11:32 +02:00
DL6ER 319b8eef75
Merge pull request #3527 from MichaIng/patch-1
Add default locations to PATH to assure that all basic commands are available
2020-07-31 18:14:45 +02:00
Adam Warner 48820d181c
Merge pull request #3620 from yubiuser/tweak/dig_supportedOS
Report and exit if dig supportedOS returns nothing
2020-07-30 17:00:01 +01:00
Christian Göttsche 51daeaa6ab basic-install: document how to continue after SELinux check
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
2020-07-30 14:50:42 +02:00
Christian König 6fc7dc28a2 Count elements of array instead
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-28 10:25:57 +02:00
Christian König b207ceeab2 Report and exit if dig supportedOS returns nothing
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-28 09:51:31 +02:00
Christian König 8380112129 Resolve conflicts
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-28 09:40:45 +02:00
Adam Warner 0ff32c3629
Use ns1.pi-hole.net to resolve versions.pi-hole.net so that we do not see DNS cookie issues
Co-Authored-by: Dan Schaper <dan.schaper@pi-hole.net>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-27 17:44:22 +01:00
Dan Schaper 0a81d687e8
Update automated install/basic-install.sh 2020-07-26 12:31:11 -07:00
Christian König dfcdfd4b0a Remove empty line
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-26 12:27:55 +02:00
Christian König ec9f490fcc Remove separate install function, move to installConfigs(), use pihole syntax
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-24 20:32:32 +02:00
Christian König 331502e14c Add variable that got lost
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-23 20:52:21 +02:00
Christian König 18c24d985f Create custom.list during install/update if it doesn't exist
Signed-off-by: Christian König <ckoenig@posteo.de>
2020-07-23 20:43:12 +02:00
Adam Warner ddb36c013d
it helps if the echo goes variable set goes in the right place
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-22 22:39:03 +01:00
Adam Warner 98dc51869e
accidentally missed \\n
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-22 22:30:51 +01:00
Adam Warner 510b646736
change up the verbiage with something that works (tested)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-22 22:29:38 +01:00
Adam Warner ea22774d16
Wrap entire function in the check for the ENVVAR
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-21 18:47:13 +01:00
MichaIng 25b873cf7b Add default locations to PATH to assure that all basic commands are available
Signed-off-by: MichaIng <micha@dietpi.com>
2020-07-18 17:30:27 +02:00
Adam Warner 643d2c0f3e
add missing port number validation section to valid_ip6
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-16 21:31:45 +01:00
Adam Warner 533e5dddd0
clarify examples in case of unsupported OS
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-16 18:33:53 +01:00
Adam Warner acfb092e4b
fix minor bug in 5.1
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-07-15 23:38:08 +01:00
Adam Warner 3205606fc3
Also validate IPV6 in the `setdns` function
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-23 20:38:18 +01:00
DL6ER 2c3aa9ab00
Merge pull request #3491 from pi-hole/fix_ip_address_section
Fix fresh install on dev branch not working
2020-06-21 21:58:36 +02:00
DL6ER bf392d7a60
Merge pull request #3489 from pi-hole/ip_validation
Improve IP validation function
2020-06-21 21:56:30 +02:00
Adam Warner bbfbf67fcf
further simplify the function, per @dl6er's suggestion
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-15 22:52:24 +01:00
Adam Warner fe30ce10d3
simpler regex suggested by @MichaIng
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-15 21:21:40 +01:00
Adam Warner 7ea6d7b92b
remove ; so IFS changes don't stick
Co-authored-by: Dan Schaper <dan.schaper@pi-hole.net>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-14 00:17:51 +01:00
Adam Warner 1ebf0785b6
move dnsutils/bind-utils to installed deps and only check OS is supported after installing installer deps
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-13 21:33:03 +01:00
Adam Warner 95f4c632f7
expand valid_ip to allow for custom ports
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-13 20:30:03 +01:00
Dan Schaper 4b59287683
Merge pull request #3441 from pi-hole/new/os_check
Display warning if unsupported OS is detected
2020-06-05 13:39:39 -07:00
Adam Warner 9844a3288f
Same change as 03a8cff
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-06-05 21:06:25 +01:00
jesterchen 7248d1a504 Ensure that adlistFile is created before chmodding
If an user installs Pi-hole without selecting any adlists, the installer emits a warning and exits. By touching the file this is prevented.

Signed-off-by: jesterchen <github@jesterweb.de>
2020-06-01 12:06:02 +02:00
XhmikosR 7579ab178a Update links
* use https when possible
* replace coverage with a link to the docs page in README.md
* remove obsolete affiliate link in README.md

Signed-off-by: XhmikosR <xhmikosr@gmail.com>
2020-05-30 21:50:16 +03:00
Adam Warner 4f7bb7b811
Remove deprecated Disconnect lists from "defaults"
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-05-26 21:23:44 +01:00
DL6ER b60ec8a48f
Merge pull request #3248 from MichaIng/patch-8
Start pihole-FTL after network
2020-05-25 21:27:27 +02:00
Adam Warner acf2879057
Address sticklr complaints
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-05-25 17:49:19 +01:00
Adam Warner af1129fc28
Add a check at the top of the script to determine if the script is being run on a supported OS
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-05-25 17:40:20 +01:00
Adam Warner 414ab53d9a
Use `toggle` instead of `select` to remove any hint of a doubt that the option already selected by default can be deselected
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-05-18 22:29:36 +01:00
MichaIng 5c17e41cf1 Start pihole-FTL after network
"$network" on a systemd-driven OS leads to "After=network-online.target" in the generated systemd unit.
This target is no guarantee that all network interfaces have been fully configured, as it depends on the related network services types, but at least it reduces the risk that those have not fully finished their job when pihole-FTL starts. If this is the case, certain issues can occur:
- https://github.com/pi-hole/pi-hole/issues/2924
- https://discourse.pi-hole.net/t/have-to-pihole-restartdns-after-reboot/28772

Runtime files are now consistently created in "/run" instead of "/var/run". The second is a symlink to the first for backwards compatibility but on none-ancient distro versions one should use "/run", systemd even prints a warnings if service files use "/var/run". The service file used "/run" and "/var/run" both, in cases for the same files/directories before, which does not directly cause issues currently, due to the symlink, but is inconsistent at best.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-05-16 13:38:18 +02:00
pvogt09 3c6ea2612d fix #3336 by creating adlist file even if no list was selected by user
Signed-off-by: pvogt09 <50047961+pvogt09@users.noreply.github.com>
2020-05-15 17:52:57 +02:00
Dan Schaper c76435883b
Merge pull request #3360 from dnicolson/fix-github-capitalisation
Fix GitHub capitalisation
2020-05-13 16:56:36 -07:00
Dave Nicolson ab753e88a2 Fix GitHub capitalisation
Signed-off-by: Dave Nicolson <david.nicolson@gmail.com>
2020-05-13 12:55:00 +02:00