consolidate install commands

This commit is contained in:
miloschwartz
2025-10-27 16:58:11 -07:00
parent 16ec50a6ee
commit 6270fb3237
2 changed files with 23 additions and 109 deletions

View File

@@ -72,12 +72,11 @@ interface TunnelTypeOption {
} }
type Commands = { type Commands = {
mac: Record<string, string[]>; unix: Record<string, string[]>;
linux: Record<string, string[]>;
windows: Record<string, string[]>; windows: Record<string, string[]>;
}; };
const platforms = ["linux", "mac", "windows"] as const; const platforms = ["unix", "windows"] as const;
type Platform = (typeof platforms)[number]; type Platform = (typeof platforms)[number];
@@ -128,8 +127,8 @@ export default function Page() {
number | null number | null
>(null); >(null);
const [platform, setPlatform] = useState<Platform>("linux"); const [platform, setPlatform] = useState<Platform>("unix");
const [architecture, setArchitecture] = useState("amd64"); const [architecture, setArchitecture] = useState("All");
const [commands, setCommands] = useState<Commands | null>(null); const [commands, setCommands] = useState<Commands | null>(null);
const [olmId, setOlmId] = useState(""); const [olmId, setOlmId] = useState("");
@@ -148,43 +147,15 @@ export default function Page() {
version: string version: string
) => { ) => {
const commands = { const commands = {
mac: { unix: {
"Apple Silicon (arm64)": [ All: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
],
"Intel x64 (amd64)": [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
]
},
linux: {
amd64: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
],
arm64: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
],
arm32: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
],
arm32v6: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
],
riscv64: [
`curl -fsSL https://pangolin.net/get-olm.sh | bash`, `curl -fsSL https://pangolin.net/get-olm.sh | bash`,
`sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}` `sudo olm --id ${id} --secret ${secret} --endpoint ${endpoint}`
] ]
}, },
windows: { windows: {
x64: [ x64: [
`# Download and run the installer`,
`curl -o olm.exe -L "https://github.com/fosrl/olm/releases/download/${version}/olm_windows_installer.exe"`, `curl -o olm.exe -L "https://github.com/fosrl/olm/releases/download/${version}/olm_windows_installer.exe"`,
`# Then run olm with your credentials`,
`olm.exe --id ${id} --secret ${secret} --endpoint ${endpoint}` `olm.exe --id ${id} --secret ${secret} --endpoint ${endpoint}`
] ]
} }
@@ -194,10 +165,8 @@ export default function Page() {
const getArchitectures = () => { const getArchitectures = () => {
switch (platform) { switch (platform) {
case "linux": case "unix":
return ["amd64", "arm64", "arm32", "arm32v6", "riscv64"]; return ["All"];
case "mac":
return ["Apple Silicon (arm64)", "Intel x64 (amd64)"];
case "windows": case "windows":
return ["x64"]; return ["x64"];
default: default:
@@ -209,12 +178,12 @@ export default function Page() {
switch (platformName) { switch (platformName) {
case "windows": case "windows":
return "Windows"; return "Windows";
case "mac": case "unix":
return "macOS"; return "Unix & macOS";
case "docker": case "docker":
return "Docker"; return "Docker";
default: default:
return "Linux"; return "Unix & macOS";
} }
}; };
@@ -249,8 +218,8 @@ export default function Page() {
switch (platformName) { switch (platformName) {
case "windows": case "windows":
return <FaWindows className="h-4 w-4 mr-2" />; return <FaWindows className="h-4 w-4 mr-2" />;
case "mac": case "unix":
return <FaApple className="h-4 w-4 mr-2" />; return <Terminal className="h-4 w-4 mr-2" />;
case "docker": case "docker":
return <FaDocker className="h-4 w-4 mr-2" />; return <FaDocker className="h-4 w-4 mr-2" />;
case "kubernetes": case "kubernetes":

View File

@@ -79,9 +79,7 @@ interface RemoteExitNodeOption {
} }
type Commands = { type Commands = {
mac: Record<string, string[]>; unix: Record<string, string[]>;
linux: Record<string, string[]>;
freebsd: Record<string, string[]>;
windows: Record<string, string[]>; windows: Record<string, string[]>;
docker: Record<string, string[]>; docker: Record<string, string[]>;
kubernetes: Record<string, string[]>; kubernetes: Record<string, string[]>;
@@ -90,13 +88,11 @@ type Commands = {
}; };
const platforms = [ const platforms = [
"linux", "unix",
"docker", "docker",
"kubernetes", "kubernetes",
"podman", "podman",
"mac",
"windows", "windows",
"freebsd",
"nixos" "nixos"
] as const; ] as const;
@@ -190,7 +186,7 @@ export default function Page() {
const [loadingPage, setLoadingPage] = useState(true); const [loadingPage, setLoadingPage] = useState(true);
const [platform, setPlatform] = useState<Platform>("linux"); const [platform, setPlatform] = useState<Platform>("unix");
const [architecture, setArchitecture] = useState("amd64"); const [architecture, setArchitecture] = useState("amd64");
const [commands, setCommands] = useState<Commands | null>(null); const [commands, setCommands] = useState<Commands | null>(null);
@@ -250,47 +246,11 @@ PersistentKeepalive = 5`;
: ""; : "";
const commands = { const commands = {
mac: { unix: {
All: [ All: [
`curl -fsSL https://pangolin.net/get-newt.sh | bash`, `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
`newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}` `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
] ]
// "Intel x64 (amd64)": [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ]
},
linux: {
All: [
`curl -fsSL https://pangolin.net/get-newt.sh | bash`,
`newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
]
// arm64: [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ],
// arm32: [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ],
// arm32v6: [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ],
// riscv64: [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ]
},
freebsd: {
All: [
`curl -fsSL https://pangolin.net/get-newt.sh | bash`,
`newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
]
// arm64: [
// `curl -fsSL https://pangolin.net/get-newt.sh | bash`,
// `newt --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ]
}, },
windows: { windows: {
x64: [ x64: [
@@ -353,9 +313,6 @@ WantedBy=default.target`
All: [ All: [
`nix run 'nixpkgs#fosrl-newt' -- --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}` `nix run 'nixpkgs#fosrl-newt' -- --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
] ]
// aarch64: [
// `nix run 'nixpkgs#fosrl-newt' -- --id ${id} --secret ${secret} --endpoint ${endpoint}${acceptClientsFlag}`
// ]
} }
}; };
setCommands(commands); setCommands(commands);
@@ -363,11 +320,7 @@ WantedBy=default.target`
const getArchitectures = () => { const getArchitectures = () => {
switch (platform) { switch (platform) {
case "linux": case "unix":
// return ["amd64", "arm64", "arm32", "arm32v6", "riscv64"];
return ["All"];
case "mac":
// return ["Apple Silicon (arm64)", "Intel x64 (amd64)"];
return ["All"]; return ["All"];
case "windows": case "windows":
return ["x64"]; return ["x64"];
@@ -377,11 +330,7 @@ WantedBy=default.target`
return ["Helm Chart"]; return ["Helm Chart"];
case "podman": case "podman":
return ["Podman Quadlet", "Podman Run"]; return ["Podman Quadlet", "Podman Run"];
case "freebsd":
// return ["amd64", "arm64"];
return ["All"];
case "nixos": case "nixos":
// return ["x86_64", "aarch64"];
return ["All"]; return ["All"];
default: default:
return ["x64"]; return ["x64"];
@@ -392,20 +341,18 @@ WantedBy=default.target`
switch (platformName) { switch (platformName) {
case "windows": case "windows":
return "Windows"; return "Windows";
case "mac": case "unix":
return "macOS"; return "Unix & macOS";
case "docker": case "docker":
return "Docker"; return "Docker";
case "kubernetes": case "kubernetes":
return "Kubernetes"; return "Kubernetes";
case "podman": case "podman":
return "Podman"; return "Podman";
case "freebsd":
return "FreeBSD";
case "nixos": case "nixos":
return "NixOS"; return "NixOS";
default: default:
return "Linux"; return "Unix / macOS";
} }
}; };
@@ -440,16 +387,14 @@ WantedBy=default.target`
switch (platformName) { switch (platformName) {
case "windows": case "windows":
return <FaWindows className="h-4 w-4 mr-2" />; return <FaWindows className="h-4 w-4 mr-2" />;
case "mac": case "unix":
return <FaApple className="h-4 w-4 mr-2" />; return <Terminal className="h-4 w-4 mr-2" />;
case "docker": case "docker":
return <FaDocker className="h-4 w-4 mr-2" />; return <FaDocker className="h-4 w-4 mr-2" />;
case "kubernetes": case "kubernetes":
return <SiKubernetes className="h-4 w-4 mr-2" />; return <SiKubernetes className="h-4 w-4 mr-2" />;
case "podman": case "podman":
return <FaCubes className="h-4 w-4 mr-2" />; return <FaCubes className="h-4 w-4 mr-2" />;
case "freebsd":
return <FaFreebsd className="h-4 w-4 mr-2" />;
case "nixos": case "nixos":
return <SiNixos className="h-4 w-4 mr-2" />; return <SiNixos className="h-4 w-4 mr-2" />;
default: default: