Skip to content

Commit cc1cc28

Browse files
authored
Pi-hole Web v6.2 (#3444)
2 parents 1eaddca + abd4d9d commit cc1cc28

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+2034
-2387
lines changed

.devcontainer/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM node:21-alpine3.18
1+
FROM node:22-alpine3.21
22
RUN apk add --no-cache \
3-
git \
4-
nano\
5-
openssh
3+
git \
4+
nano \
5+
openssh
66

77
USER node

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax
2+
3+
# These owners will be the default owners for everything in
4+
# the repo. Unless a later match takes precedence,
5+
* @pi-hole/web-maintainers

.github/dependabot.yml

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
version: 2
22
updates:
3-
- package-ecosystem: npm
4-
directory: "/"
5-
schedule:
6-
interval: weekly
7-
day: saturday
8-
time: "10:00"
9-
open-pull-requests-limit: 10
10-
target-branch: development
11-
versioning-strategy: increase
12-
reviewers:
13-
- "pi-hole/web-maintainers"
14-
- package-ecosystem: github-actions
15-
directory: "/"
16-
schedule:
17-
interval: weekly
18-
day: saturday
19-
time: "10:00"
20-
open-pull-requests-limit: 10
21-
target-branch: development
22-
reviewers:
23-
- "pi-hole/web-maintainers"
3+
- package-ecosystem: npm
4+
directory: "/"
5+
schedule:
6+
interval: weekly
7+
day: saturday
8+
time: "10:00"
9+
open-pull-requests-limit: 10
10+
target-branch: development
11+
versioning-strategy: increase
12+
- package-ecosystem: github-actions
13+
directory: "/"
14+
schedule:
15+
interval: weekly
16+
day: saturday
17+
time: "10:00"
18+
open-pull-requests-limit: 10
19+
target-branch: development

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@ jobs:
3131
persist-credentials: false
3232

3333
- name: Initialize CodeQL
34-
uses: github/codeql-action/init@v3.28.13
34+
uses: github/codeql-action/init@v3.28.18
3535
with:
3636
config-file: ./.github/codeql/codeql-config.yml
3737
languages: "javascript"
3838
queries: +security-and-quality
3939

4040
- name: Autobuild
41-
uses: github/codeql-action/autobuild@v3.28.13
41+
uses: github/codeql-action/autobuild@v3.28.18
4242

4343
- name: Perform CodeQL Analysis
44-
uses: github/codeql-action/analyze@v3.28.13
44+
uses: github/codeql-action/analyze@v3.28.18
4545
with:
4646
category: "/language:javascript"

.github/workflows/codespell.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Codespell
33
on:
44
push:
55
branches:
6-
- '**'
6+
- "**"
77
pull_request:
88
types: [opened, synchronize, reopened, ready_for_review]
99

@@ -12,11 +12,12 @@ jobs:
1212
if: github.event.pull_request.draft == false
1313
runs-on: ubuntu-latest
1414
steps:
15-
-
16-
name: Checkout repository
15+
- name: Clone repository
1716
uses: actions/checkout@v4.2.2
18-
-
19-
name: Spell-Checking
17+
with:
18+
persist-credentials: false
19+
20+
- name: Spell-Checking
2021
uses: codespell-project/actions-codespell@master
2122
with:
2223
ignore_words_file: .codespellignore

.github/workflows/editorconfig-checker.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ jobs:
99
name: editorconfig-checker
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v4.2.2
12+
- name: Clone repository
13+
uses: actions/checkout@v4.2.2
14+
with:
15+
persist-credentials: false
1316
- uses: editorconfig-checker/action-editorconfig-checker@main
1417
- run: editorconfig-checker

.github/workflows/stale.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Mark stale issues
22

33
on:
44
schedule:
5-
- cron: '0 8 * * *'
5+
- cron: "0 8 * * *"
66
workflow_dispatch:
77
issue_comment:
88

@@ -17,17 +17,17 @@ jobs:
1717
issues: write
1818

1919
steps:
20-
- uses: actions/stale@v9.1.0
21-
with:
22-
repo-token: ${{ secrets.GITHUB_TOKEN }}
23-
days-before-stale: 30
24-
days-before-close: 5
25-
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.'
26-
stale-issue-label: '${{ env.stale_label }}'
27-
exempt-issue-labels: 'internal, Fixed In Next Release, Bug, never-stale'
28-
exempt-all-issue-assignees: true
29-
operations-per-run: 300
30-
close-issue-reason: 'not_planned'
20+
- uses: actions/stale@v9.1.0
21+
with:
22+
repo-token: ${{ secrets.GITHUB_TOKEN }}
23+
days-before-stale: 30
24+
days-before-close: 5
25+
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."
26+
stale-issue-label: "${{ env.stale_label }}"
27+
exempt-issue-labels: "internal, Fixed In Next Release, Bug, never-stale, Bug: Confirmed"
28+
exempt-all-issue-assignees: true
29+
operations-per-run: 300
30+
close-issue-reason: "not_planned"
3131

3232
remove_stale:
3333
# trigger "stale" removal immediately when stale issues are commented on
@@ -40,8 +40,10 @@ jobs:
4040
issues: write # to edit issues label
4141
runs-on: ubuntu-latest
4242
steps:
43-
- name: Checkout
43+
- name: Clone repository
4444
uses: actions/checkout@v4.2.2
45+
with:
46+
persist-credentials: false
4547
- name: Remove 'stale' label
4648
run: gh issue edit ${{ github.event.issue.number }} --remove-label ${{ env.stale_label }}
4749
env:

.github/workflows/stale_pr.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@ name: Close stale PR
55

66
on:
77
schedule:
8-
- cron: '0 10 * * *'
8+
- cron: "0 10 * * *"
99
workflow_dispatch:
1010

1111
jobs:
1212
stale:
13-
1413
runs-on: ubuntu-latest
1514
permissions:
1615
issues: write
@@ -27,9 +26,9 @@ jobs:
2726
# Close PRs immediately, after marking them 'stale'
2827
days-before-pr-close: 0
2928
# only run the action on merge conflict PR
30-
any-of-labels: 'Merge Conflicts'
31-
exempt-pr-labels: 'internal, never-stale, ON HOLD, WIP'
29+
any-of-labels: "Merge Conflicts"
30+
exempt-pr-labels: "internal, never-stale, ON HOLD, WIP"
3231
exempt-all-pr-assignees: true
3332
operations-per-run: 300
34-
stale-pr-message: ''
35-
close-pr-message: 'Existing merge conflicts have not been addressed. This PR is considered abandoned.'
33+
stale-pr-message: ""
34+
close-pr-message: "Existing merge conflicts have not been addressed. This PR is considered abandoned."

.github/workflows/sync-back-to-dev.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ jobs:
1010
runs-on: ubuntu-latest
1111
name: Syncing branches
1212
steps:
13-
- name: Checkout
13+
- name: Clone repository
1414
uses: actions/checkout@v4.2.2
15+
with:
16+
persist-credentials: false
1517
- name: Opening pull request
1618
run: gh pr create -B development -H master --title 'Sync master back into development' --body 'Created by Github action' --label 'internal'
1719
env:

.github/workflows/test.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ jobs:
2020
steps:
2121
- name: Clone repository
2222
uses: actions/checkout@v4.2.2
23+
with:
24+
persist-credentials: false
2325

2426
- name: Set up Node.js
25-
uses: actions/setup-node@v4.3.0
27+
uses: actions/setup-node@v4.4.0
2628
with:
27-
node-version: "20.x"
29+
node-version: "22.x"
2830
cache: npm
2931

3032
- name: Install npm dependencies

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ Lists, domains (block or allow) and regex entries can be managed through groups.
206206

207207
**Local DNS Settings:**
208208
- Local DNS records
209-
- Local CNAME records records
209+
- Local CNAME records
210210

211211
**All Settings** (only visible in Expert mode):
212212
- Advanced settings page, containing all available options

error403.lp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
mg.include('scripts/lua/header.lp','r')
1111
?>
12-
<body class="hold-transition layout-boxed login-page">
12+
<body class="hold-transition layout-boxed login-page page-<?=pihole.format_path(mg.request_info.request_uri)?>">
1313
<div class="box login-box">
1414
<section style="padding: 15px;">
1515
<h2 class="error-headline text-danger">403</h2>

error404.lp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
mg.include('scripts/lua/header.lp','r')
1111
?>
12-
<body class="hold-transition layout-boxed login-page">
12+
<body class="hold-transition layout-boxed login-page page-<?=pihole.format_path(mg.request_info.request_uri)?>">
1313
<div class="box login-box">
1414
<section style="padding: 15px;">
1515
<h2 class="error-headline text-yellow">404</h2>

gravity.lp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ mg.include('scripts/lua/header_authenticated.lp','r')
2727
<button type="button" id="gravityBtn" class="btn btn-lg btn-primary btn-block">Update</button>
2828
<pre id="output" style="width: 100%; height: 100%;" hidden></pre>
2929

30-
<script defer src="<?=pihole.fileversion('scripts/js/gravity.js')?>"></script>
30+
<script src="<?=pihole.fileversion('scripts/js/gravity.js')?>"></script>
3131
<? mg.include('scripts/lua/footer.lp','r')?>

groups-clients.lp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ mg.include('scripts/lua/header_authenticated.lp','r')
9595
</div>
9696
</div>
9797

98-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
99-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
100-
<script defer src="<?=pihole.fileversion('scripts/js/ip-address-sorting.js')?>"></script>
101-
<script defer src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
102-
<script defer src="<?=pihole.fileversion('scripts/js/groups-clients.js')?>"></script>
98+
<script src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
99+
<script src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
100+
<script src="<?=pihole.fileversion('scripts/js/ip-address-sorting.js')?>"></script>
101+
<script src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
102+
<script src="<?=pihole.fileversion('scripts/js/groups-clients.js')?>"></script>
103103

104104
<? mg.include('scripts/lua/footer.lp','r')?>

groups-domains.lp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
7575
</div>
7676
<div class="form-group">
7777
<strong>Hint:</strong> Need help to write a proper RegEx rule? Have a look at our online
78-
<a href="https://docs.pi-hole.net/ftldns/regex/tutorial" rel="noopener" target="_blank">
78+
<a href="https://docs.pi-hole.net/ftldns/regex/tutorial" rel="noopener noreferrer" target="_blank">
7979
regular expressions tutorial</a>.
8080
</div>
8181
</div>
@@ -156,9 +156,9 @@ mg.include('scripts/lua/header_authenticated.lp','r')
156156
</div>
157157
</div>
158158

159-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
160-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
161-
<script defer src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
162-
<script defer src="<?=pihole.fileversion('scripts/js/groups-domains.js')?>"></script>
159+
<script src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
160+
<script src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
161+
<script src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
162+
<script src="<?=pihole.fileversion('scripts/js/groups-domains.js')?>"></script>
163163

164164
<? mg.include('scripts/lua/footer.lp','r')?>

groups-lists.lp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ mg.include('scripts/lua/header_authenticated.lp','r')
9494
</div>
9595
</div>
9696

97-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
98-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
99-
<script defer src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
100-
<script defer src="<?=pihole.fileversion('scripts/js/groups-lists.js')?>"></script>
97+
<script src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
98+
<script src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
99+
<script src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
100+
<script src="<?=pihole.fileversion('scripts/js/groups-lists.js')?>"></script>
101101

102102
<? mg.include('scripts/lua/footer.lp','r')?>

groups.lp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ mg.include('scripts/lua/header_authenticated.lp','r')
7979
</div>
8080
</div>
8181

82-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
83-
<script defer src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
84-
<script defer src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
85-
<script defer src="<?=pihole.fileversion('scripts/js/groups.js')?>"></script>
82+
<script src="<?=pihole.fileversion('vendor/bootstrap-select/bootstrap-select.min.js')?>"></script>
83+
<script src="<?=pihole.fileversion('vendor/bootstrap-toggle/bootstrap-toggle.min.js')?>"></script>
84+
<script src="<?=pihole.fileversion('scripts/js/groups-common.js')?>"></script>
85+
<script src="<?=pihole.fileversion('scripts/js/groups.js')?>"></script>
8686

8787
<? mg.include('scripts/lua/footer.lp','r')?>

index.lp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
1616
<!-- small box -->
1717
<div class="small-box bg-aqua no-user-select" id="total_queries" title="Total number of queries">
1818
<div class="inner">
19-
<p>Total queries</p>
19+
<p>Total Queries</p>
2020
<h3 class="statistic"><span id="dns_queries">---</span></h3>
2121
</div>
2222
<div class="icon">
@@ -108,7 +108,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
108108
</div>
109109
<div class="box-body">
110110
<div class="chart" style="width: 100%; height: 180px">
111-
<canvas id="clientsChart" class="extratooltipcanvas no-user-select"></canvas>
111+
<canvas id="clientsChart" class="no-user-select"></canvas>
112112
</div>
113113
</div>
114114
<div class="overlay">
@@ -144,7 +144,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
144144
</div>
145145
<div class="box-body">
146146
<div style="width:50%">
147-
<canvas id="forwardDestinationPieChart" width="280" height="280" class="extratooltipcanvas no-user-select"></canvas>
147+
<canvas id="forwardDestinationPieChart" width="280" height="280" class="no-user-select"></canvas>
148148
</div>
149149
<div class="chart-legend" style="width:50%" id="forward-destinations-legend"></div>
150150
</div>
@@ -166,7 +166,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
166166
<!-- /.box-header -->
167167
<div class="box-body">
168168
<div class="table-responsive">
169-
<table class="table table-bordered">
169+
<table class="table table-striped table-bordered">
170170
<thead>
171171
<tr>
172172
<th>Domain</th>
@@ -195,7 +195,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
195195
<!-- /.box-header -->
196196
<div class="box-body">
197197
<div class="table-responsive">
198-
<table class="table table-bordered">
198+
<table class="table table-striped table-bordered">
199199
<thead>
200200
<tr>
201201
<th>Domain</th>
@@ -226,7 +226,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
226226
<!-- /.box-header -->
227227
<div class="box-body">
228228
<div class="table-responsive">
229-
<table class="table table-bordered">
229+
<table class="table table-striped table-bordered">
230230
<thead>
231231
<tr>
232232
<th>Client</th>
@@ -255,7 +255,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
255255
<!-- /.box-header -->
256256
<div class="box-body">
257257
<div class="table-responsive">
258-
<table class="table table-bordered">
258+
<table class="table table-striped table-bordered">
259259
<thead>
260260
<tr>
261261
<th>Client</th>
@@ -279,7 +279,7 @@ mg.include('scripts/lua/header_authenticated.lp','r')
279279
</div>
280280
<!-- /.row -->
281281

282-
<script defer src="<?=pihole.fileversion('scripts/js/charts.js')?>"></script>
283-
<script defer src="<?=pihole.fileversion('scripts/js/index.js')?>"></script>
282+
<script src="<?=pihole.fileversion('scripts/js/charts.js')?>"></script>
283+
<script src="<?=pihole.fileversion('scripts/js/index.js')?>"></script>
284284

285285
<? mg.include('scripts/lua/footer.lp','r')?>

0 commit comments

Comments
 (0)