Compare commits

...

71 Commits

Author SHA1 Message Date
Adam Warner
60b6a1016c v5.17.2 (#5421) 2023-10-11 10:41:25 +01:00
Adam Warner
1fa5cb84db Update references to web repo (#5418) 2023-10-08 19:51:39 +01:00
Adam Warner
71357ecae7 adminlte->web
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-10-08 14:12:02 +01:00
yubiuser
0385b1d076 Bump actions/setup-python from 4.7.0 to 4.7.1 (#5412) 2023-10-07 16:45:34 +02:00
dependabot[bot]
f52b2b9863 Bump actions/setup-python from 4.7.0 to 4.7.1
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.7.0...v4.7.1)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-07 10:23:00 +00:00
yubiuser
bef5d85e6b Yu vs uh (#5411) 2023-10-07 06:09:23 +02:00
Christian König
afa688e3a0 Yu vs uh
(https://www.theguardian.com/guardian-observer-style-guide-r#:~:text=re/re%2D,re%2Dsign/resign)

Signed-off-by: Christian König <ckoenig@posteo.de>
2023-10-07 00:21:06 +02:00
yubiuser
f5885c8f64 Fix spellcheck errors (#5410) 2023-10-07 00:15:11 +02:00
Christian König
edf0060acf Fix spellcheck errors
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-10-06 22:26:08 +02:00
yubiuser
3f4e2105b3 Bump actions/checkout from 4.0.0 to 4.1.0 (#5396) 2023-09-23 13:17:29 +02:00
dependabot[bot]
c3d1f366ec Bump actions/checkout from 4.0.0 to 4.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 10:39:24 +00:00
yubiuser
4955c52af7 Remove fake user agent when downloading adlists (#5366) 2023-09-10 21:20:14 +02:00
Adam Warner
d6a018a3f8 Sync master back into development (#5391) 2023-09-10 16:22:32 +01:00
Adam Warner
fef2861eae Do not try to remove stale label on PRs (#5292) 2023-09-10 12:52:27 +01:00
yubiuser
7fbc7d458b Bump tox from 4.11.1 to 4.11.3 in /test (#5389) 2023-09-09 19:54:45 +02:00
yubiuser
c46a06b522 Bump pytest from 7.4.0 to 7.4.2 in /test (#5390) 2023-09-09 19:54:05 +02:00
yubiuser
3f6e41e8f4 Bump actions/checkout from 3.6.0 to 4.0.0 (#5387) 2023-09-09 17:08:51 +02:00
dependabot[bot]
55f72ac925 Bump pytest from 7.4.0 to 7.4.2 in /test
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.0 to 7.4.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 10:58:32 +00:00
dependabot[bot]
047eac6d9c Bump tox from 4.11.1 to 4.11.3 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.11.1 to 4.11.3.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.11.1...4.11.3)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 10:58:28 +00:00
dependabot[bot]
1f241a3d45 Bump actions/checkout from 3.6.0 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-09 10:08:40 +00:00
yubiuser
f035687fca Ignore ABP style entries in debug log dig test (#5381) 2023-09-07 22:49:57 +02:00
Christian König
843f57399c Ignore ABP style entries in debug log dig test
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-09-07 22:27:49 +02:00
Christian König
cdc1c1ace1 Remove user agent when downloading adlists
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-09-03 23:40:58 +02:00
yubiuser
ff72650b8d Bump tox from 4.10.0 to 4.11.1 in /test (#5379) 2023-09-02 18:14:39 +02:00
dependabot[bot]
9084b170cb Bump tox from 4.10.0 to 4.11.1 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.10.0 to 4.11.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.10.0...4.11.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-02 10:35:16 +00:00
yubiuser
fb831b5f48 Bump actions/checkout from 3.5.3 to 3.6.0 (#5372) 2023-08-27 14:41:25 +02:00
yubiuser
2878c1ba84 Bump tox from 4.9.0 to 4.10.0 in /test (#5371) 2023-08-27 14:34:14 +02:00
dependabot[bot]
9b68fa0b27 Bump tox from 4.9.0 to 4.10.0 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.9.0...4.10.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-27 12:28:54 +00:00
yubiuser
a7ed968ee2 Bump pytest-testinfra from 8.1.0 to 9.0.0 in /test (#5370) 2023-08-27 14:28:17 +02:00
dependabot[bot]
924f8b8844 Bump actions/checkout from 3.5.3 to 3.6.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.3...v3.6.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-26 10:20:12 +00:00
dependabot[bot]
1c6919cf07 Bump pytest-testinfra from 8.1.0 to 9.0.0 in /test
Bumps [pytest-testinfra](https://github.com/pytest-dev/pytest-testinfra) from 8.1.0 to 9.0.0.
- [Release notes](https://github.com/pytest-dev/pytest-testinfra/releases)
- [Changelog](https://github.com/pytest-dev/pytest-testinfra/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest-testinfra/compare/8.1.0...9.0.0)

---
updated-dependencies:
- dependency-name: pytest-testinfra
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-26 10:08:08 +00:00
yubiuser
996234ad66 Bump tox from 4.7.0 to 4.9.0 in /test (#5365) 2023-08-19 18:14:20 +02:00
dependabot[bot]
272ca8c55d Bump tox from 4.7.0 to 4.9.0 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.7.0 to 4.9.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.7.0...4.9.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-19 10:48:18 +00:00
yubiuser
9fc01263e6 Bump tox from 4.6.4 to 4.7.0 in /test (#5360) 2023-08-12 13:32:41 +02:00
dependabot[bot]
7747cd2232 Bump tox from 4.6.4 to 4.7.0 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.4 to 4.7.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.4...4.7.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-12 10:52:02 +00:00
Adam Warner
98c7d877ec Update test dependencies (v5) (#5343) 2023-07-18 08:12:34 +01:00
Adam Warner
7e240251d5 Drop docker-compose from requirements.txt, it's not used. This was the only thing preventing us from using pyyaml 6.0.1 which fixes issues we were seeing with tests not running (https://github.com/yaml/pyyaml/pull/702)
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-07-18 08:03:05 +01:00
Adam Warner
30661fedcb Sync master back into development (#5337) 2023-07-16 22:36:32 +01:00
Adam Warner
8495565a6f Update dependabot.yml (#5334) 2023-07-16 22:35:34 +01:00
Adam Warner
cefbfdf2a4 Bump actions/setup-python from 4.6.1 to 4.7.0 (#5336) 2023-07-16 22:24:01 +01:00
dependabot[bot]
91dabc574d Bump actions/setup-python from 4.6.1 to 4.7.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.1 to 4.7.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.6.1...v4.7.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 10:30:37 +00:00
Adam Warner
80091232a7 Add missing env:, tweak conditional
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-07-13 17:43:48 +01:00
Adam Warner
924de1d9ed Update dependabot.yml
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-07-11 23:51:28 +01:00
yubiuser
60a7c50120 Bump tox from 4.6.3 to 4.6.4 in /test (#5332) 2023-07-08 14:55:31 +02:00
dependabot[bot]
a01d31e25d Bump tox from 4.6.3 to 4.6.4 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.3 to 4.6.4.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.3...4.6.4)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 10:15:54 +00:00
yubiuser
1eb4ad8238 Bump pytest from 7.3.2 to 7.4.0 in /test (#5325) 2023-06-25 11:46:08 +02:00
dependabot[bot]
5490625d8d Bump pytest from 7.3.2 to 7.4.0 in /test
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.2 to 7.4.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.2...7.4.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 16:03:56 +00:00
yubiuser
5389ef1a70 Bump tox from 4.6.2 to 4.6.3 in /test (#5324) 2023-06-24 18:03:17 +02:00
dependabot[bot]
198ca65f7d Bump tox from 4.6.2 to 4.6.3 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.2...4.6.3)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 10:57:28 +00:00
yubiuser
7bc1126978 Bump tox from 4.6.0 to 4.6.2 in /test (#5317) 2023-06-17 19:46:04 +02:00
dependabot[bot]
7a66083e68 Bump tox from 4.6.0 to 4.6.2 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.0 to 4.6.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.0...4.6.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 11:35:38 +00:00
yubiuser
17fffa4e49 Bump pytest from 7.3.1 to 7.3.2 in /test (#5318) 2023-06-17 13:35:00 +02:00
dependabot[bot]
3fd7b4ee24 Bump pytest from 7.3.1 to 7.3.2 in /test
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.1...7.3.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 10:59:42 +00:00
DL6ER
306df56203 Add tests for Debian 12 (#5312) 2023-06-11 08:46:59 +02:00
Christian König
117c15319d Add tests for Debian 12
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-06-10 23:03:43 +02:00
yubiuser
b8419ba3c5 Bump tox from 4.5.2 to 4.6.0 in /test (#5311) 2023-06-10 14:14:59 +02:00
yubiuser
8347de1cc6 Bump actions/checkout from 3.5.2 to 3.5.3 (#5310) 2023-06-10 14:06:32 +02:00
dependabot[bot]
8e481e27da Bump tox from 4.5.2 to 4.6.0 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.5.2 to 4.6.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.5.2...4.6.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 11:00:35 +00:00
dependabot[bot]
7d3f354dd7 Bump actions/checkout from 3.5.2 to 3.5.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 10:57:12 +00:00
Adam Warner
eb0bd026d7 Sync master back into development (#5296) 2023-06-04 22:16:58 +01:00
yubiuser
34a261e522 Bump tox from 4.5.1 to 4.5.2 in /test (#5304) 2023-06-04 22:15:36 +02:00
dependabot[bot]
b0fa3795e9 Bump tox from 4.5.1 to 4.5.2 in /test
Bumps [tox](https://github.com/tox-dev/tox) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.5.1...4.5.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 10:58:23 +00:00
Christian König
364537b324 Use env variable
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-06-01 15:15:49 +02:00
Christian König
b2c73f8325 Do not try to remove stale lables on PRs
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-06-01 15:15:49 +02:00
Adam Warner
6a45c6a8e0 v5.17.1 (#5295) 2023-05-30 19:27:52 +01:00
DL6ER
c1335c6852 Fix gravity adlist status not being updated (#5294) 2023-05-30 19:02:07 +02:00
DL6ER
6c302c9bc8 Adlist properties need to be stored in the new ("temp") database rather than the old.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-30 17:01:58 +02:00
yubiuser
fc67de8c19 Fix Faulty Regex pattern in custom DNS domain validation (#5291) 2023-05-29 09:13:33 +02:00
Adam Warner
494734bf27 Add in a test case
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-05-28 23:48:16 +01:00
Adam Warner
11679a5188 @MrDuck2742 dropped a ] on the floor without me seeing. I picked it up and put it back again
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2023-05-28 23:31:51 +01:00
Adam Warner
aa9b4530c8 Sync master back into development (#5289) 2023-05-28 13:08:25 +01:00
19 changed files with 131 additions and 53 deletions

View File

@@ -20,3 +20,24 @@ updates:
target-branch: development
reviewers:
- "pi-hole/core-maintainers"
# As above, but for development-v6
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
day: saturday
time: "10:00"
open-pull-requests-limit: 10
target-branch: development-v6
reviewers:
- "pi-hole/core-maintainers"
- package-ecosystem: pip
directory: "/test"
schedule:
interval: weekly
day: saturday
time: "10:00"
open-pull-requests-limit: 10
target-branch: development-v6
reviewers:
- "pi-hole/core-maintainers"

View File

@@ -25,7 +25,7 @@ jobs:
steps:
-
name: Checkout repository
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.1.0
# Initializes the CodeQL tools for scanning.
-
name: Initialize CodeQL

View File

@@ -23,23 +23,26 @@ jobs:
days-before-stale: 30
days-before-close: 5
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days.'
stale-issue-label: $stale_label
stale-issue-label: '${{ env.stale_label }}'
exempt-issue-labels: 'Internal, Fixed in next release, Bug: Confirmed, Documentation Needed'
exempt-all-issue-assignees: true
operations-per-run: 300
close-issue-reason: 'not_planned'
remove_stale: # trigger "stale" removal immediately when stale issues are commented on
if: github.event_name == 'issue_comment'
remove_stale:
# trigger "stale" removal immediately when stale issues are commented on
# we need to explicitly check that the trigger does not run on comment on a PR as
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issue_comment-on-issues-only-or-pull-requests-only
if: ${{ !github.event.issue.pull_request && github.event_name != 'schedule' }}
permissions:
contents: read # for actions/checkout
issues: write # to edit issues label
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.1.0
- name: Remove 'stale' label
run: gh issue edit ${{ github.event.issue.number }} --remove-label $stale_label
run: gh issue edit ${{ github.event.issue.number }} --remove-label ${{ env.stale_label }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -33,7 +33,7 @@ jobs:
name: Syncing branches
steps:
- name: Checkout
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.1.0
- name: Opening pull request
run: gh pr create -B development -H master --title 'Sync master back into development' --body 'Created by Github action' --label 'internal'
env:

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.1.0
- name: Check scripts in repository are executable
run: |
@@ -51,6 +51,7 @@ jobs:
[
debian_10,
debian_11,
debian_12,
ubuntu_20,
ubuntu_22,
ubuntu_23,
@@ -64,10 +65,10 @@ jobs:
DISTRO: ${{matrix.distro}}
steps:
- name: Checkout repository
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.1.0
- name: Set up Python 3.10
uses: actions/setup-python@v4.6.1
uses: actions/setup-python@v4.7.1
with:
python-version: "3.10"

View File

@@ -150,7 +150,7 @@ You can read our [Core Feature Breakdown](https://docs.pi-hole.net/core/pihole-c
### The Web Interface Dashboard
This [optional dashboard](https://github.com/pi-hole/AdminLTE) allows you to view stats, change settings, and configure your Pi-hole. It's the power of the Command Line Interface, with none of the learning curve!
This [optional dashboard](https://github.com/pi-hole/web) allows you to view stats, change settings, and configure your Pi-hole. It's the power of the Command Line Interface, with none of the learning curve!
Some notable features include:

View File

@@ -233,7 +233,7 @@ get_sys_stats() {
if [[ -n "${ph_ver_raw[0]}" ]]; then
ph_core_ver="${ph_ver_raw[0]}"
if [[ ${#ph_ver_raw[@]} -eq 2 ]]; then
# AdminLTE not installed
# web not installed
ph_lte_ver="(not installed)"
ph_ftl_ver="${ph_ver_raw[1]}"
else

View File

@@ -449,7 +449,7 @@ os_check() {
}
diagnose_operating_system() {
# error message in a variable so we can easily modify it later (or re-use it)
# error message in a variable so we can easily modify it later (or reuse it)
local error_msg="Distribution unknown -- most likely you are on an unsupported platform and may run into issues."
# Display the current test that is running
echo_current_diagnostic "Operating system"
@@ -861,11 +861,15 @@ dig_at() {
local record_type="A"
fi
# Find a random blocked url that has not been whitelisted.
# Find a random blocked url that has not been whitelisted and is not ABP style.
# This helps emulate queries to different domains that a user might query
# It will also give extra assurance that Pi-hole is correctly resolving and blocking domains
local random_url
random_url=$(pihole-FTL sqlite3 "${PIHOLE_GRAVITY_DB_FILE}" "SELECT domain FROM vw_gravity ORDER BY RANDOM() LIMIT 1")
random_url=$(pihole-FTL sqlite3 "${PIHOLE_GRAVITY_DB_FILE}" "SELECT domain FROM vw_gravity WHERE domain not like '||%^' ORDER BY RANDOM() LIMIT 1")
# Fallback if no non-ABP style domains were found
if [ -z "${random_url}" ]; then
random_url="flurry.com"
fi
# Next we need to check if Pi-hole can resolve a domain when the query is sent to it's IP address
# This better emulates how clients will interact with Pi-hole as opposed to above where Pi-hole is
@@ -1499,7 +1503,7 @@ upload_to_tricorder() {
# If no token was generated
else
# Show an error and some help instructions
# Skip this if being called from web interface and autmatic mode was not chosen (users opt-out to upload)
# Skip this if being called from web interface and automatic mode was not chosen (users opt-out to upload)
if [[ "${WEBCALL}" ]] && [[ ! "${AUTOMATED}" ]]; then
:
else

View File

@@ -11,7 +11,7 @@
# Please see LICENSE file for your rights under this license.
# Variables
readonly ADMIN_INTERFACE_GIT_URL="https://github.com/pi-hole/AdminLTE.git"
readonly ADMIN_INTERFACE_GIT_URL="https://github.com/pi-hole/web.git"
readonly ADMIN_INTERFACE_DIR="/var/www/html/admin"
readonly PI_HOLE_GIT_URL="https://github.com/pi-hole/pi-hole.git"
readonly PI_HOLE_FILES_DIR="/etc/.pihole"

View File

@@ -97,10 +97,10 @@ if [[ "${INSTALL_WEB_INTERFACE}" == true ]]; then
WEB_HASH="$(get_local_hash /var/www/html/admin)"
addOrEditKeyValPair "${VERSION_FILE}" "WEB_HASH" "${WEB_HASH}"
GITHUB_WEB_VERSION="$(get_remote_version AdminLTE)"
GITHUB_WEB_VERSION="$(get_remote_version web)"
addOrEditKeyValPair "${VERSION_FILE}" "GITHUB_WEB_VERSION" "${GITHUB_WEB_VERSION}"
GITHUB_WEB_HASH="$(get_remote_hash AdminLTE "${WEB_BRANCH}")"
GITHUB_WEB_HASH="$(get_remote_hash web "${WEB_BRANCH}")"
addOrEditKeyValPair "${VERSION_FILE}" "GITHUB_WEB_HASH" "${GITHUB_WEB_HASH}"
fi

View File

@@ -28,7 +28,7 @@ fi
getLocalVersion() {
case ${1} in
"Pi-hole" ) echo "${CORE_VERSION:=N/A}";;
"AdminLTE" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_VERSION:=N/A}";;
"web" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_VERSION:=N/A}";;
"FTL" ) echo "${FTL_VERSION:=N/A}";;
esac
}
@@ -36,7 +36,7 @@ getLocalVersion() {
getLocalHash() {
case ${1} in
"Pi-hole" ) echo "${CORE_HASH:=N/A}";;
"AdminLTE" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_HASH:=N/A}";;
"web" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_HASH:=N/A}";;
"FTL" ) echo "${FTL_HASH:=N/A}";;
esac
}
@@ -44,7 +44,7 @@ getLocalHash() {
getRemoteHash(){
case ${1} in
"Pi-hole" ) echo "${GITHUB_CORE_HASH:=N/A}";;
"AdminLTE" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${GITHUB_WEB_HASH:=N/A}";;
"web" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${GITHUB_WEB_HASH:=N/A}";;
"FTL" ) echo "${GITHUB_FTL_HASH:=N/A}";;
esac
}
@@ -52,7 +52,7 @@ getRemoteHash(){
getRemoteVersion(){
case ${1} in
"Pi-hole" ) echo "${GITHUB_CORE_VERSION:=N/A}";;
"AdminLTE" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${GITHUB_WEB_VERSION:=N/A}";;
"web" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${GITHUB_WEB_VERSION:=N/A}";;
"FTL" ) echo "${GITHUB_FTL_VERSION:=N/A}";;
esac
}
@@ -60,13 +60,13 @@ getRemoteVersion(){
getLocalBranch(){
case ${1} in
"Pi-hole" ) echo "${CORE_BRANCH:=N/A}";;
"AdminLTE" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_BRANCH:=N/A}";;
"web" ) [ "${INSTALL_WEB_INTERFACE}" = true ] && echo "${WEB_BRANCH:=N/A}";;
"FTL" ) echo "${FTL_BRANCH:=N/A}";;
esac
}
versionOutput() {
if [ "$1" = "AdminLTE" ] && [ "${INSTALL_WEB_INTERFACE}" != true ]; then
if [ "$1" = "web" ] && [ "${INSTALL_WEB_INTERFACE}" != true ]; then
echo " WebAdmin not installed"
return 1
fi
@@ -117,7 +117,7 @@ defaultOutput() {
versionOutput "Pi-hole" "$@"
if [ "${INSTALL_WEB_INTERFACE}" = true ]; then
versionOutput "AdminLTE" "$@"
versionOutput "web" "$@"
fi
versionOutput "FTL" "$@"
@@ -130,7 +130,7 @@ Show Pi-hole, Admin Console & FTL versions
Repositories:
-p, --pihole Only retrieve info regarding Pi-hole repository
-a, --admin Only retrieve info regarding AdminLTE repository
-a, --admin Only retrieve info regarding web repository
-f, --ftl Only retrieve info regarding FTL repository
Options:
@@ -143,7 +143,7 @@ Options:
case "${1}" in
"-p" | "--pihole" ) shift; versionOutput "Pi-hole" "$@";;
"-a" | "--admin" ) shift; versionOutput "AdminLTE" "$@";;
"-a" | "--admin" ) shift; versionOutput "web" "$@";;
"-f" | "--ftl" ) shift; versionOutput "FTL" "$@";;
"-h" | "--help" ) helpFunc;;
* ) defaultOutput "$@";;

View File

@@ -348,7 +348,7 @@ SetDNSServers() {
IFS=',' read -r -a array <<< "${args[2]}"
for index in "${!array[@]}"
do
# Replace possible "\#" by "#". This fixes AdminLTE#1427
# Replace possible "\#" by "#". This fixes web#1427
local ip
ip="${array[index]//\\#/#}"
@@ -664,7 +664,7 @@ checkDomain()
local domain validDomain
# Convert to lowercase
domain="${1,,}"
validDomain=$(grep -P "^((-|_)*[a-z0-9]((-|_)*[a-z0-9)*(-|_)*)(\\.(-|_)*([a-z0-9]((-|_)*[a-z0-9])*))*$" <<< "${domain}") # Valid chars check
validDomain=$(grep -P "^((-|_)*[a-z0-9]((-|_)*[a-z0-9])*(-|_)*)(\\.(-|_)*([a-z0-9]((-|_)*[a-z0-9])*))*$" <<< "${domain}") # Valid chars check
validDomain=$(grep -P "^[^\\.]{1,63}(\\.[^\\.]{1,63})*$" <<< "${validDomain}") # Length of each label
echo "${validDomain}"
}

View File

@@ -68,11 +68,11 @@ webroot="/var/www/html"
# We clone (or update) two git repositories during the install. This helps to make sure that we always have the latest versions of the relevant files.
# AdminLTE is used to set up the Web admin interface.
# web is used to set up the Web admin interface.
# Pi-hole contains various setup scripts and files which are critical to the installation.
# Search for "PI_HOLE_LOCAL_REPO" in this file to see all such scripts.
# Two notable scripts are gravity.sh (used to generate the HOSTS file) and advanced/Scripts/webpage.sh (used to install the Web admin interface)
webInterfaceGitUrl="https://github.com/pi-hole/AdminLTE.git"
webInterfaceGitUrl="https://github.com/pi-hole/web.git"
webInterfaceDir="${webroot}/admin"
piholeGitUrl="https://github.com/pi-hole/pi-hole.git"
PI_HOLE_LOCAL_REPO="/etc/.pihole"
@@ -334,7 +334,7 @@ package_manager_detect() {
# Packages required for the Web admin interface (stored as an array)
# It's useful to separate this from Pi-hole, since the two repos are also setup separately
PIHOLE_WEB_DEPS=(lighttpd "${phpVer}-common" "${phpVer}-cgi" "${phpVer}-sqlite3" "${phpVer}-xml" "${phpVer}-intl")
# Prior to PHP8.0, JSON functionality is provided as dedicated module, required by Pi-hole AdminLTE: https://www.php.net/manual/json.installation.php
# Prior to PHP8.0, JSON functionality is provided as dedicated module, required by Pi-hole web: https://www.php.net/manual/json.installation.php
if [[ -z "${phpInsMajor}" || "${phpInsMajor}" -lt 8 ]]; then
PIHOLE_WEB_DEPS+=("${phpVer}-json")
fi
@@ -2685,7 +2685,7 @@ main() {
# Check for and disable systemd-resolved-DNSStubListener before reloading resolved
# DNSStubListener needs to remain in place for installer to download needed files,
# so this change needs to be made after installation is complete,
# but before starting or resarting the dnsmasq or ftl services
# but before starting or restarting the dnsmasq or ftl services
disable_resolved_stublistener
# If the Web server was installed,

View File

@@ -229,7 +229,7 @@ database_table_from_file() {
# Check if a column with name ${2} exists in gravity table with name ${1}
gravity_column_exists() {
output=$( { printf ".timeout 30000\\nSELECT EXISTS(SELECT * FROM pragma_table_info('%s') WHERE name='%s');\\n" "${1}" "${2}" | pihole-FTL sqlite3 "${gravityDBfile}"; } 2>&1 )
output=$( { printf ".timeout 30000\\nSELECT EXISTS(SELECT * FROM pragma_table_info('%s') WHERE name='%s');\\n" "${1}" "${2}" | pihole-FTL sqlite3 "${gravityTEMPfile}"; } 2>&1 )
if [[ "${output}" == "1" ]]; then
return 0 # Bash 0 is success
fi
@@ -244,11 +244,11 @@ database_adlist_number() {
return;
fi
output=$( { printf ".timeout 30000\\nUPDATE adlist SET number = %i, invalid_domains = %i WHERE id = %i;\\n" "${2}" "${3}" "${1}" | pihole-FTL sqlite3 "${gravityDBfile}"; } 2>&1 )
output=$( { printf ".timeout 30000\\nUPDATE adlist SET number = %i, invalid_domains = %i WHERE id = %i;\\n" "${2}" "${3}" "${1}" | pihole-FTL sqlite3 "${gravityTEMPfile}"; } 2>&1 )
status="$?"
if [[ "${status}" -ne 0 ]]; then
echo -e "\\n ${CROSS} Unable to update number of domains in adlist with ID ${1} in database ${gravityDBfile}\\n ${output}"
echo -e "\\n ${CROSS} Unable to update number of domains in adlist with ID ${1} in database ${gravityTEMPfile}\\n ${output}"
gravity_Cleanup "error"
fi
}
@@ -260,11 +260,11 @@ database_adlist_status() {
return;
fi
output=$( { printf ".timeout 30000\\nUPDATE adlist SET status = %i WHERE id = %i;\\n" "${2}" "${1}" | pihole-FTL sqlite3 "${gravityDBfile}"; } 2>&1 )
output=$( { printf ".timeout 30000\\nUPDATE adlist SET status = %i WHERE id = %i;\\n" "${2}" "${1}" | pihole-FTL sqlite3 "${gravityTEMPfile}"; } 2>&1 )
status="$?"
if [[ "${status}" -ne 0 ]]; then
echo -e "\\n ${CROSS} Unable to update status of adlist with ID ${1} in database ${gravityDBfile}\\n ${output}"
echo -e "\\n ${CROSS} Unable to update status of adlist with ID ${1} in database ${gravityTEMPfile}\\n ${output}"
gravity_Cleanup "error"
fi
}
@@ -401,7 +401,7 @@ gravity_DownloadBlocklists() {
unset sources
fi
local url domain agent str target compression
local url domain str target compression
echo ""
# Prepare new gravity database
@@ -457,9 +457,6 @@ gravity_DownloadBlocklists() {
saveLocation="${piholeDir}/list.${id}.${domain}.${domainsExtension}"
activeDomains[$i]="${saveLocation}"
# Default user-agent (for Cloudflare's Browser Integrity Check: https://support.cloudflare.com/hc/en-us/articles/200170086-What-does-the-Browser-Integrity-Check-do-)
agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
echo -e " ${INFO} Target: ${url}"
local regex check_url
# Check for characters NOT allowed in URLs
@@ -472,7 +469,7 @@ gravity_DownloadBlocklists() {
if [[ "${check_url}" =~ ${regex} ]]; then
echo -e " ${CROSS} Invalid Target"
else
gravity_DownloadBlocklistFromUrl "${url}" "${agent}" "${sourceIDs[$i]}" "${saveLocation}" "${target}" "${compression}"
gravity_DownloadBlocklistFromUrl "${url}" "${sourceIDs[$i]}" "${saveLocation}" "${target}" "${compression}"
fi
echo ""
done
@@ -504,7 +501,7 @@ compareLists() {
# Download specified URL and perform checks on HTTP status and file content
gravity_DownloadBlocklistFromUrl() {
local url="${1}" agent="${2}" adlistID="${3}" saveLocation="${4}" target="${5}" compression="${6}"
local url="${1}" adlistID="${2}" saveLocation="${3}" target="${4}" compression="${5}"
local heisenbergCompensator="" listCurlBuffer str httpCode success="" ip cmd_ext
# Create temp file to store content on disk instead of RAM
@@ -564,7 +561,7 @@ gravity_DownloadBlocklistFromUrl() {
fi
# shellcheck disable=SC2086
httpCode=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression} ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" -A "${agent}" "${url}" -o "${listCurlBuffer}" 2> /dev/null)
httpCode=$(curl --connect-timeout ${curl_connect_timeout} -s -L ${compression} ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" "${url}" -o "${listCurlBuffer}" 2> /dev/null)
case $url in
# Did we "download" a local file?

View File

@@ -212,7 +212,7 @@ Available commands and options:
.br
-p, --pihole Only retrieve info regarding Pi-hole repository
.br
-a, --admin Only retrieve info regarding AdminLTE
-a, --admin Only retrieve info regarding web
repository
.br
-f, --ftl Only retrieve info regarding FTL repository
@@ -339,7 +339,7 @@ Displaying version information
\fBpihole -v -a -c\fR
.br
Display the current version of AdminLTE
Display the current version of web
.br
Temporarily disabling Pi-hole

View File

@@ -0,0 +1,17 @@
FROM buildpack-deps:bookworm-scm
ENV GITDIR /etc/.pihole
ENV SCRIPTDIR /opt/pihole
RUN mkdir -p $GITDIR $SCRIPTDIR /etc/pihole
ADD . $GITDIR
RUN cp $GITDIR/advanced/Scripts/*.sh $GITDIR/gravity.sh $GITDIR/pihole $GITDIR/automated\ install/*.sh $SCRIPTDIR/
ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SCRIPTDIR
RUN true && \
chmod +x $SCRIPTDIR/*
ENV SKIP_INSTALL true
ENV OS_CHECK_DOMAIN_NAME dev-supportedos.pi-hole.net
#sed '/# Start the installer/Q' /opt/pihole/basic-install.sh > /opt/pihole/stub_basic-install.sh && \

View File

@@ -1,6 +1,6 @@
docker-compose == 1.29.2
pytest == 7.3.1
pyyaml == 6.0.1
pytest == 7.4.2
pytest-xdist == 3.3.1
pytest-testinfra == 8.1.0
tox == 4.5.1
pytest-testinfra == 9.0.0
tox == 4.11.3

View File

@@ -70,7 +70,7 @@ def test_setupVars_are_sourced_to_global_scope(host):
def test_setupVars_saved_to_file(host):
"""
confirm saved settings are written to a file for future updates to re-use
confirm saved settings are written to a file for future updates to reuse
"""
# dedent works better with this and padding matching script below
set_setup_vars = "\n"
@@ -1151,3 +1151,30 @@ def test_package_manager_has_web_deps(host):
assert "No package" not in output.stdout
assert output.rc == 0
def test_webpage_sh_valid_domain(host):
"""Confirms checkDomain function in webpage.sh works as expected"""
check1 = host.run(
"""
source /opt/pihole/webpage.sh
checkDomain "pi-hole.net"
"""
)
check2 = host.run(
"""
source /opt/pihole/webpage.sh
checkDomain "ab.pi-hole.net"
"""
)
check3 = host.run(
"""
source /opt/pihole/webpage.sh
checkDomain "abc.pi-hole.net"
"""
)
assert "pi-hole.net" in check1.stdout
assert "ab.pi-hole.net" in check2.stdout
assert "abc.pi-hole.net" in check3.stdout

8
test/tox.debian_12.ini Normal file
View File

@@ -0,0 +1,8 @@
[tox]
envlist = py3
[testenv:py3]
allowlist_externals = docker
deps = -rrequirements.txt
commands = docker buildx build --load --progress plain -f _debian_12.Dockerfile -t pytest_pihole:test_container ../
pytest {posargs:-vv -n auto} ./test_any_automated_install.py ./test_any_utils.py