This repository has been archived by the owner on May 15, 2024. It is now read-only.
1.0.0 (2023-08-20)
TLDR
- Login to the dashboard using Pi-Hole Admin credentials
- Requires the IP address and port number of the Admin portal)
- User is stayed logged in for 5 hours
- Display Pi-Hole summary
- Total queries
- Total blocked queries
- Percent blocked queries
- Total Domains on AdList
- Display blocked vs allowed queries on a bar chart
- Display clients and number of queries on a bar chart
- Display query types on a pie chart
- Display upstream servers (who handled the query. ex: blocked, allowed forward to router) on a pie chart
- Display a table of top allowed queries
- Display a table of top blocked queries
- Display a table of top allowed queries grouped by clients
- Display a table of top blocked queries grouped by clients
✨ Features
- api: add api endpoint '/api/auth/login' (3bebdfc)
- api: add API endpoint '/api/auth/logout' (fc4db10)
- api: add API endpoint '/api/auth/session' (ebbb273)
- api: add API endpoint '/api/auth/unauthorized' (309a74e)
- api: add API endpoint for '/api/summary' with formatted data (62e050a)
- api: add API endpoint for '/api/summary' with raw data (646dc23)
- api: add NextJS 'GET' API endpoint for '/api/forwardedDestinations' (808b6d5)
- api: add NextJS 'GET' API endpoint for '/api/queries/topBlocked' (847be60)
- api: add NextJS 'GET' API endpoint for '/api/queries/topPermitted' (4ea4acc)
- api: add NextJS 'GET' API endpoint for '/api/queryTypes' (54c77ad)
- api: add NextJS 'GET' API endpoint for
/api/queries/clients/topAllowed
(089ef52) - api: add NextJS 'GET' API endpoint for
/api/queries/clients/topBlocked
(47fe337) - api: add NextJS 'GET' API endpoint for
/api/queries/overtime?formatted=true
(e757c04), closes /github.com/pi-hole/AdminLTE/blob/master/scripts/pi-hole/js/index.js#L219-L286 - api: add NextJS 'GET' API endpoint for
/api/queries/overtime
(5c1da54) - api: add NextJS
GET
API endpoint for/api/queries/clients/overtime?formatted=true
(487fd5e), closes /github.com/pi-hole/AdminLTE/blob/master/scripts/pi-hole/js/index.js#L330-L417 - api: add NextJS
GET
API endpoint for/api/queries/clients/overtime
(c3e6080) - api: create helper functions for 'iron-session' (3ac8974)
- api: load 'port' from endpoint '/api/auth/login' (71ce6b7)
- api: send response based on axios error for api '/api/auth/login' (47fa60c)
- api: store authenticated credentials to an encrypted session cookie (f903ee0)
- component: add 'AppBar' component (2c0eeb8)
- component: add 'Drawer' component (2eb440f)
- component: add 'Logout' page link (28d8103)
- component: add Bar chart to display clients overtime in the last 24 hours (39d39c9), closes /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/utils.js#L71-L73 /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/index.js#L953-L1047 /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/index.js#L1081-L1102
- component: add Bar chart to display queries overtime in 24 hours (12c59bc), closes /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/utils.js#L71-L73 /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/index.js#L858-L900 /github.com/pi-hole/AdminLTE/blob/c2afe4221ac275a1c082e1d8e14ccbb6113b0e7b/scripts/pi-hole/js/index.js#L1059-L1079
- component: add chart to render Forwarded destinations (2ff7267)
- component: add chart to render Query Types (7510797)
- component: add component 'LoginForm' (60a886d)
- component: add component 'Summary' (f46796f)
- component: add component for rendering authenticated Drawer items (d95ae36)
- component: add helper object to manage pages (9db8df1)
- component: add property 'numeric' to Pi-hole IP address text field (adf04f8)
- component: add table to display top blocked queries (af5eb2e)
- component: add table to display top clients allowed queries (5078176)
- component: add table to display top clients blocked queries (056718f)
- component: add table to display top permitted queries (caa99d8)
- component: display error message for LoginForm after HTTP request (0e9e89c)
- component: display loading when authenticating LoginForm (89542dc)
- component: display pi-hole ip address and port when authenticated (d52a6f4)
- component: go to page '/' after logging in (571cc0d)
- component: offset main content to right by drawer width (bb913e9)
- component: provide Redux store to the entire app (7e8a8f9)
- component: redirect to Login page if AuthSession has expired (90fcb04)
- component: render 'AppBar' in the app (a433b71)
- component: render Authenticated drawer items when the user's logged in (81e3eaf)
- component: render Skeleton for component 'Summary' when loading data (e9a7572)
- component: use custom colours for 'ForwardDestinations' component (cdd694a)
- lib: add function 'isApiAuthenticated' (752284b)
- lib: add helper functions to load protected page routes (c91484e)
- middleware: add api route '/api/queries/topBlocked' to NextJS middleware (cd50668)
- middleware: add api route '/api/queries/topPermitted' to NextJS middleware (90a83b7)
- middleware: add api route '/api/queryTypes' to NextJS middleware (c3cce50)
- middleware: add api route
/api/queries/clients/topAllowed
to NextJS middleware (414c15b) - middleware: add api route
/api/queries/clients/topBlocked
to NextJS middleware (c1a4f0b) - middleware: add NextJS middleware (fd8ccf8)
- page: add 'login' page (28b9b51)
- page: add
About
page (4c44a3f) - page: redirect Home page to Login page IF not logged in (44d456e)
- page: redirect login page to Home page if the user is logged in (2b5c2b4)
- page: render
Clients overtime
bar chart in Home page (5d42e92) - page: render
Queries overtime
bar chart in Home page (6a63933) - page: render
TopBlockedQueries
table in home page (4381a31) - page: render
TopClientsAllowedTable
table in home page (43b055f) - page: render
TopClientsBlockedTable
table in home page (212b46b) - page: render
TopPermittedQueries
table in home page (1e44e05) - page: render component 'Summary' on page '/' (2acace1)
- page: render ForwardedDestinations chart on main page (5a33e62)
- page: render QueryTypes chart on main page (775779f)
- redux: add API queries for 'Summary' using Redux toolkit Query (c223210)
- redux: add API queries for AuthSession using Redux Toolkit Query (1d2014a)
- redux: add API query for 'ForwardedDestinations' using Redux Toolkit Query (b3f6168)
- redux: add API query for 'QueryTypes' using Redux Toolkit Query (dfc90c4)
- redux: add API query for 'TopBlocked' using Redux Toolkit Query (f0c41cd)
- redux: add API query for 'TopPermitted' using Redux Toolkit Query (4c1284e)
- redux: add API query for
/api/queries/clients/overtime?formatted=true
using Redux Toolkit Query (2b3a80d) - redux: add API query for
/api/queries/clients/overtime
using Redux Toolkit Query (c30384e) - redux: add API query for
/api/queries/clients/topAllowed
using Redux Toolkit Query (cb70c83) - redux: add API query for
/api/queries/clients/topBlocked
using Redux Toolkit Query (5630773) - redux: add API query for
/api/queries/overtime?formatted=true
using Redux Toolkit Query (8e2a532) - redux: add API query for
/api/queries/overtime
using Redux Toolkit Query (680a361) - redux: create Redux store (ca7db90)
- redux: create Redux toolkit query API (6b306c5)
- redux: fetch
forwardedDestinations
in an interval (cd47ed3) - url: add API url for pi-hole API endpoints (d8432cb)
🐛 Bug Fixes
- api: fix error type for axios interceptor in '/api/auth/login' endpoint (94fb326)
- component: fetching number of entries for
topBlockedClientQueries
and fetch polling (923d9bf) - component: offsetting content when drawer is visible (1b1192d)
- component: set link address if
ipAddress
is not provided forTopBlockedClientsQueries
(a296c3b) - component: tooltip clipping for ClientsOvertime bar chart (d3c3d8c), closes /github.com/pi-hole/AdminLTE/blob/41682f17b72d3fb83837a7a08fa68b3e37cd35b7/scripts/pi-hole/js/index.js#L33-L214 #546
- docker: pass
.env.local
to the final stage of docker image building (a66af30) - nextjs: building nextjs app by dynamic importing nivo chart (f9b5a80), closes /github.com/plouc/nivo/issues/2310#issuecomment-1552663752
- page: load favicon when running NextJS in production mode (4da7b95)