mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-02 16:56:39 +00:00
consolidate install commands
This commit is contained in:
@@ -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":
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user