load skopec.dev live in its window via an allowlisted header-stripping proxy (/api/frame)
This commit is contained in:
parent
d5dfea060f
commit
a4a12bfe2a
5 changed files with 147 additions and 12 deletions
|
|
@ -19,11 +19,19 @@ export interface TechProject {
|
|||
|
||||
export interface Friend {
|
||||
name: string;
|
||||
/** What the desktop window frames. A same-origin mirror when the live site blocks framing. */
|
||||
url: string;
|
||||
/** The live site: the window's `www` button and the status check use this. */
|
||||
realUrl: string;
|
||||
img: string;
|
||||
desc: string;
|
||||
/** Render in an iframe in a desktop window. */
|
||||
iframe: boolean;
|
||||
/**
|
||||
* Load `realUrl` through `/api/frame` (which strips framing headers) instead
|
||||
* of framing `url`. Use for sites that send a restrictive `X-Frame-Options`.
|
||||
*/
|
||||
proxy?: boolean;
|
||||
}
|
||||
|
||||
export const socials: Social[] = [
|
||||
|
|
@ -233,11 +241,15 @@ export const techProjects: TechProject[] = [
|
|||
export const friends: Friend[] = [
|
||||
{
|
||||
name: "Josef Skopec",
|
||||
// skopec.dev sends `X-Frame-Options: SAMEORIGIN` on every path, so the
|
||||
// window goes through /api/frame for the live site; /skopec.html is the
|
||||
// bundled mirror that was used before the proxy existed (kept as a fallback).
|
||||
url: "/skopec.html",
|
||||
realUrl: "https://skopec.dev/",
|
||||
img: "/skopec.svg",
|
||||
desc: "skopec.dev",
|
||||
iframe: true,
|
||||
proxy: true,
|
||||
},
|
||||
{
|
||||
name: "Filip Bukovina",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue