Compare commits

..

6 Commits

Author SHA1 Message Date
Crowdin Bot
0a83b2100f New Crowdin translations by GitHub Action 2025-09-05 12:13:17 +00:00
shamoon
78b73e8166 Refactor basic auth header generation 2025-09-04 10:23:43 -07:00
dependabot[bot]
547ef0c4c5 Chore(deps): Bump actions/setup-python from 5 to 6 (#5746)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 16:55:44 +00:00
dependabot[bot]
11d148fff0 Chore(deps): Bump actions/setup-node from 4 to 5 (#5747)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 16:44:40 +00:00
dependabot[bot]
eb61d69626 Chore(deps): Bump actions/stale from 9 to 10 (#5745)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 16:29:39 +00:00
dependabot[bot]
876304cda5 Chore(deps): Bump actions/github-script from 7 to 8 (#5744)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 09:13:22 -07:00
4 changed files with 20 additions and 16 deletions

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@v5 uses: actions/checkout@v5
- name: Install python - name: Install python
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: 3.x python-version: 3.x
@@ -38,7 +38,7 @@ jobs:
run_install: false run_install: false
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: 20 node-version: 20
cache: 'pnpm' cache: 'pnpm'
@@ -96,7 +96,7 @@ jobs:
run_install: false run_install: false
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: 20 node-version: 20
cache: 'pnpm' cache: 'pnpm'

View File

@@ -19,7 +19,7 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v5
- name: Install python - name: Install python
uses: actions/setup-python@v5 uses: actions/setup-python@v6
with: with:
python-version: 3.x python-version: 3.x
- name: Check files - name: Check files
@@ -33,7 +33,7 @@ jobs:
- pre-commit - pre-commit
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions/setup-python@v5 - uses: actions/setup-python@v6
with: with:
python-version: 3.x python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
@@ -59,7 +59,7 @@ jobs:
run: | run: |
git config user.name github-actions[bot] git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5 - uses: actions/setup-python@v6
with: with:
python-version: 3.x python-version: 3.x
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV - run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV

View File

@@ -18,7 +18,7 @@ jobs:
name: 'Stale' name: 'Stale'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v10
with: with:
days-before-stale: 7 days-before-stale: 7
days-before-close: 14 days-before-close: 14
@@ -57,7 +57,7 @@ jobs:
name: 'Close Answered Discussions' name: 'Close Answered Discussions'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v7 - uses: actions/github-script@v8
with: with:
script: | script: |
function sleep(ms) { function sleep(ms) {
@@ -113,7 +113,7 @@ jobs:
name: 'Close Outdated Discussions' name: 'Close Outdated Discussions'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v7 - uses: actions/github-script@v8
with: with:
script: | script: |
function sleep(ms) { function sleep(ms) {
@@ -204,7 +204,7 @@ jobs:
name: 'Close Unsupported Feature Requests' name: 'Close Unsupported Feature Requests'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/github-script@v7 - uses: actions/github-script@v8
with: with:
script: | script: |
function sleep(ms) { function sleep(ms) {

View File

@@ -8,6 +8,10 @@ import widgets from "widgets/widgets";
const logger = createLogger("credentialedProxyHandler"); const logger = createLogger("credentialedProxyHandler");
function basicAuthHeader(widget) {
return `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
}
export default async function credentialedProxyHandler(req, res, map) { export default async function credentialedProxyHandler(req, res, map) {
const { group, service, endpoint, index } = req.query; const { group, service, endpoint, index } = req.query;
@@ -61,7 +65,7 @@ export default async function credentialedProxyHandler(req, res, map) {
if (widget.key) { if (widget.key) {
headers.Authorization = `Bearer ${widget.key}`; headers.Authorization = `Bearer ${widget.key}`;
} else { } else {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} }
} else if (widget.type === "proxmox") { } else if (widget.type === "proxmox") {
headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`; headers.Authorization = `PVEAPIToken=${widget.username}=${widget.password}`;
@@ -78,31 +82,31 @@ export default async function credentialedProxyHandler(req, res, map) {
if (widget.key) { if (widget.key) {
headers["NC-Token"] = `${widget.key}`; headers["NC-Token"] = `${widget.key}`;
} else { } else {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} }
} else if (widget.type === "paperlessngx") { } else if (widget.type === "paperlessngx") {
if (widget.key) { if (widget.key) {
headers.Authorization = `Token ${widget.key}`; headers.Authorization = `Token ${widget.key}`;
} else { } else {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} }
} else if (widget.type === "azuredevops") { } else if (widget.type === "azuredevops") {
headers.Authorization = `Basic ${Buffer.from(`$:${widget.key}`).toString("base64")}`; headers.Authorization = `Basic ${Buffer.from(`$:${widget.key}`).toString("base64")}`;
} else if (widget.type === "glances") { } else if (widget.type === "glances") {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} else if (widget.type === "plantit") { } else if (widget.type === "plantit") {
headers.Key = `${widget.key}`; headers.Key = `${widget.key}`;
} else if (widget.type === "myspeed") { } else if (widget.type === "myspeed") {
headers.Password = `${widget.password}`; headers.Password = `${widget.password}`;
} else if (widget.type === "esphome") { } else if (widget.type === "esphome") {
if (widget.username && widget.password) { if (widget.username && widget.password) {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} else if (widget.key) { } else if (widget.key) {
headers.Cookie = `authenticated=${widget.key}`; headers.Cookie = `authenticated=${widget.key}`;
} }
} else if (widget.type === "wgeasy") { } else if (widget.type === "wgeasy") {
if (widget.username && widget.password) { if (widget.username && widget.password) {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; headers.Authorization = basicAuthHeader(widget);
} else { } else {
headers.Authorization = widget.password; headers.Authorization = widget.password;
} }