Commit graph

1423 commits

Author SHA1 Message Date
Glenn Strauss
c6342ed84c
lighttpd: do not overwrite /etc/lighttpd/lighttpd.conf
Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2022-12-19 16:19:03 -05:00
Glenn Strauss
08c7691d1e
lighttpd pihole-admin.conf for admin interface
Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2022-12-19 02:34:29 -05:00
Glenn Strauss
dafc9983f5
lighttpd include external.conf using file glob
lighttpd 1.4.40 and later support 'include' using file glob

(The prior code for compatibility was presumably for Debian Jessie
 and earlier, now obsolete.  Debian Stretch -- currently oldstable --
 ships with lighttpd 1.4.45)

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2022-12-18 12:52:58 -05:00
Adam Warner
c2bb190dce
Explicitly create group pihole on installation (#5039) 2022-12-11 14:05:24 +00:00
MichaIng
06de172952
Skip setcap on installs with systemd
since the systemd unit uses "AmbientCapabilities" to grant capabilities.

Signed-off-by: MichaIng <micha@dietpi.com>

Signed-off-by: MichaIng <micha@dietpi.com>
2022-11-28 21:27:57 +01:00
Adam Warner
ff5ee29566
Add native systemd service (#4924) 2022-11-27 21:41:35 +00:00
Christian König
33d2163f19
Explicitly create group pihole on installation
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-11-24 22:06:04 +01:00
Christian König
6d8abc2e30
Don't install which
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-11-18 23:50:34 +01:00
Adam Warner
6b8ba3c15e
Replace deprecated shell commands (#4907) 2022-11-14 17:52:31 +00:00
Adam Warner
64e61aac4a
Simplify versions.sh (#4959) 2022-11-09 17:15:51 +00:00
Stephan Pillhofer
122bc6b927
Fix static IP not set because of in-line comment
Signed-off-by: Stephan Pillhofer <43667664+StephanPillhofer@users.noreply.github.com>
2022-11-02 22:35:39 +01:00
Stephan Pillhofer
06cf7afbc2 Fix static IP not set
Signed-off-by: Stephan Pillhofer <43667664+StephanPillhofer@users.noreply.github.com>
2022-10-30 20:19:38 +01:00
MichaIng
81927334f2
Add native systemd service
Inspired by: https://github.com/pi-hole/pi-hole/pull/2112

A pre-start and a post-stop script are added to reduce doubled setup and cleanup code.

Since systemd services do not natively support dynamic users, test once whether capabilities are supported during install/update, and remove User=pihole otherwise.

Signed-off-by: MichaIng <micha@dietpi.com>
Co-authored-by: DL6ER <dl6er@dl6er.de>
2022-10-30 19:40:33 +01:00
a1346054
e3db5fc601
basic-install.sh: Use command -v instead of which
`command -v` is the standardized version of `which` and doesn't require
any extra packages

Signed-off-by: a1346054 <36859588+a1346054@users.noreply.github.com>
2022-10-11 14:33:30 +00:00
a1346054
9c51050283
basic-install.sh: Use grep -E instead of egrep
Signed-off-by: a1346054 <36859588+a1346054@users.noreply.github.com>
2022-10-11 14:33:30 +00:00
RD WebDesign
c5b3b8dd68
Fix pihole -r dialog exit
- if an option is selected: Get option (repair/reconfigure);
- if exit or ESC: Get exit code (1/255)

Signed-off-by: RD WebDesign <github@rdwebdesign.com.br>
2022-10-10 00:27:03 -03:00
Christian König
18d28533eb
Update local and remote versions at the same time
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-10-06 12:36:17 +02:00
Adam Warner
755ec8bf2f
$$ != $
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-09-24 16:08:45 +01:00
Adam Warner
1c1407e083
Use utils.sh in install script (#4872) 2022-09-24 14:00:22 +01:00
Christian König
d4ce5b1c2a
Fix tabs in dialog boxes
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-09-22 14:49:25 +02:00
yubiuser
2ff1fa1b85
Merge branch 'development' into use_utils 2022-09-17 16:14:31 +02:00
Christian König
1335c44deb
Add jq to dependencies
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-25 09:55:42 +02:00
Christian König
9b5ea13a33 Use utils.sh in install script
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-24 08:49:20 +02:00
yubiuser
37102e5a01
Merge branch 'development' into removeblockpagefunctionality 2022-08-17 21:29:58 +02:00
MichaIng
b3c8045b52
Skip web server dialog if --disable-install-webserver has been passed
Prior to https://github.com/pi-hole/pi-hole/pull/4772, the web server dialog was skipped if --disable-install-webserver was passed (INSTALL_WEB_SERVER=false). This commit restores this behaviour.

Signed-off-by: MichaIng <micha@dietpi.com>
2022-08-17 20:48:11 +02:00
Christian König
97447b2f3b
Do not remove blockingpage.css from existing installations as some users might use them for custom.php
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-08 18:20:49 +01:00
Christian König
27fa284eda
Fix missing PI_HOLE_BLOCKPAGE_DIR
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-08 17:21:29 +01:00
Christian König
6c9bd7a632
Remove blockingpage.css
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-08 17:20:13 +01:00
Adam Warner
c78cf82fc6
no need to declare $viewPort
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-08-08 17:12:09 +01:00
Christian König
c7410b0be9
Always indent
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-07 15:50:05 +02:00
Christian König
7320c10dd3
Fix git indention
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-08-06 21:44:19 +02:00
Adam Warner
c6da627b7d
Move release version check inside the else block
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-31 18:55:05 +01:00
Adam Warner
9028898ba7
Move code from check_epel_repo_required into the rpm branch of the if check on package_manager_detect(), adjust tests to accommodate
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-30 19:27:00 +01:00
Adam Warner
0e8c1ec023
Flip logic on epel check - if _not_ fedora, then (try to, depending on supported OS) install EPEL.
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-30 19:03:46 +01:00
Adam Warner
313c0ddf28
Update automated install/basic-install.sh
Co-authored-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: Adam Warner <github@adamwarner.co.uk>
2022-07-30 18:59:57 +01:00
Adam Warner
b613758419
rename select_rpm_php and simplify it to remove code no longer needed (discussed internally removing the unsupported dialog here to match behaviour on non rpm distros)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-30 16:27:31 +01:00
Adam Warner
9c03915cb0
Remove special Centos7 hand holds. Move the unsupported dialog out to a further if block so that a user may still continue to install on centos7 (provided they have the pre-requisites installed)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-30 16:27:31 +01:00
Christian König
2610739624
Indent installation/update complete message
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-29 23:43:20 +02:00
Christian König
8c778c14dc
Move linebreaks
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-26 23:43:49 +02:00
yubiuser
d5c798d1a9
Apply reviewers suggestion
Co-authored-by: RD WebDesign <github@rdwebdesign.com.br>
Signed-off-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-26 23:39:02 +02:00
Christian König
14e1eea22d
Fix spaces in dialog msg
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-26 23:39:02 +02:00
yubiuser
c7108a632c
Merge pull request #4824 from pi-hole/Alam_Rocky
Don't fail if Alma or Rocky are detected
2022-07-16 09:59:22 +02:00
Christian König
bc8fcc744c
Fix shellcheck warnings
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-15 20:43:42 +02:00
Christian König
a3f1317add
Don't fail if Alma or Rocky is detected
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-15 20:04:37 +02:00
Adam Warner
13135498c1
Merge pull request #4811 from pi-hole/CAPS
Print all SELINUX output in lowercase
2022-07-10 13:43:29 +01:00
Christian König
b25805348f Print all SELINUX output in lowercase
Signed-off-by: Christian König <ckoenig@posteo.de>
2022-07-10 14:33:24 +02:00
Adam Warner
59dab6a568
Simplifications per @yubiuser's suggestion
Co-authored-by: yubiuser <ckoenig@posteo.de>
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-10 11:50:09 +01:00
Adam Warner
ecfb96d339
If old log paths exist in logrotate file, replace them with new ones
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-10 10:06:55 +01:00
Adam Warner
e4444ae6a5
fixes "Set static IP using custom values results in error" (#4807)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2022-07-09 19:02:40 +01:00
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
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
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