mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
fix: complete PR #948 integration and documentation
This commit is contained in:
1 parent
80449af6bd
commit
0dce2f8d04
3 files changed
+26
No files matched your search
@@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
God's Eye View is a local-first client for **public** data. It is built for exploration, demos, and learning — not as a hardened production service. This document explains the security model so you can run it safely and report issues responsibly.
|
God's Eye View is a local-first client for **public** data. It is built for exploration, demos, and learning — not as a hardened production service. This document explains the security model so you can run it safely and report issues responsibly.
|
||||||
|
|
||||||
|
Vite's development file server also denies `.gev-logs/`, `.gev-cache/`, and
|
||||||
|
the package checkout's root `dist/` directory. Dependency `dist/` directories
|
||||||
|
remain available. This filesystem deny list does not filter `public/` assets or
|
||||||
|
preview output; never put private artifacts in a public asset directory.
|
||||||
|
|
||||||
## Reporting a vulnerability
|
## Reporting a vulnerability
|
||||||
|
|
||||||
Please report security issues **privately** — do not open a public issue for anything exploitable.
|
Please report security issues **privately** — do not open a public issue for anything exploitable.
|
||||||
|
|||||||
@@ -5385,6 +5385,12 @@ pins and share links already supply complete boxes.
|
|||||||
|
|
||||||
## Auth + Launch
|
## Auth + Launch
|
||||||
|
|
||||||
|
Vite's development filesystem deny list excludes local `.gev-logs/` and
|
||||||
|
`.gev-cache/` contents and the package checkout's root `dist/`, while allowing
|
||||||
|
dependency `dist/` assets. Checkout glob characters are escaped. This does not
|
||||||
|
apply to `public/` assets or built-preview serving.
|
||||||
|
|
||||||
|
|
||||||
- Recommended launcher: `./scripts/dev-fresh.sh` (also: `dev-secure.sh` for stricter bindings, `dev-cctv.sh` for CCTV source-pack tuning)
|
- Recommended launcher: `./scripts/dev-fresh.sh` (also: `dev-secure.sh` for stricter bindings, `dev-cctv.sh` for CCTV source-pack tuning)
|
||||||
- A successful Pinokio install writes the owner-only `pinokio/.installed`
|
- A successful Pinokio install writes the owner-only `pinokio/.installed`
|
||||||
marker. The nested launcher menu resolves that marker from its own directory:
|
marker. The nested launcher menu resolves that marker from its own directory:
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
import test from 'node:test';
|
import test from 'node:test';
|
||||||
import assert from 'node:assert/strict';
|
import assert from 'node:assert/strict';
|
||||||
import { readFileSync } from 'node:fs';
|
import { readFileSync } from 'node:fs';
|
||||||
@@ -30,6 +31,20 @@ test('explicit build inputs preserve browser-only defines, plugin order and loop
|
|||||||
assert.deepEqual(config.server.allowedHosts, ['localhost', '127.0.0.1']);
|
assert.deepEqual(config.server.allowedHosts, ['localhost', '127.0.0.1']);
|
||||||
assert.ok(config.server.fs.deny.includes('**/ENVIRONMENT'));
|
assert.ok(config.server.fs.deny.includes('**/ENVIRONMENT'));
|
||||||
assert.ok(config.server.fs.deny.includes('.env.*'));
|
assert.ok(config.server.fs.deny.includes('.env.*'));
|
||||||
|
assert.ok(config.server.fs.deny.includes('**/.gev-logs/**'));
|
||||||
|
assert.ok(config.server.fs.deny.includes('**/.gev-cache/**'));
|
||||||
|
const root = fileURLToPath(new URL('../../', import.meta.url))
|
||||||
|
.replace(/\\/g, '/')
|
||||||
|
.replace(/\/$/, '');
|
||||||
|
assert.deepEqual(
|
||||||
|
config.server.fs.deny.filter((pattern) => pattern.endsWith('/dist/**')),
|
||||||
|
[`${escapeFsDenyPath(root)}/dist/**`],
|
||||||
|
'only project build output is denied, not dependency dist directories',
|
||||||
|
);
|
||||||
|
assert.equal(
|
||||||
|
escapeFsDenyPath('C:/Users/a/project (1) [test]{copy}'),
|
||||||
|
'C:/Users/a/project \\(1\\) \\[test\\]\\{copy\\}',
|
||||||
|
);
|
||||||
assert.equal(config.server.headers['X-Frame-Options'], 'DENY');
|
assert.equal(config.server.headers['X-Frame-Options'], 'DENY');
|
||||||
assert.equal(config.server.headers['X-Content-Type-Options'], 'nosniff');
|
assert.equal(config.server.headers['X-Content-Type-Options'], 'nosniff');
|
||||||
const csp = config.server.headers['Content-Security-Policy'];
|
const csp = config.server.headers['Content-Security-Policy'];
|
||||||
|
|||||||
Reference in new issue
Block a user