diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 16caecf..6727f6d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -337,7 +337,7 @@ Contributions are licensed under the [GNU Affero General Public License v3.0](LI
(AGPL-3.0), matching the other [VocaHQ](https://github.com/VocaHQ) distribution
projects ([VocaMac](https://github.com/VocaHQ/vocamac),
[VocaPhone](https://github.com/VocaHQ/vocaphone),
-[VocaServer](https://github.com/VocaHQ/vocaserver)). By opening a pull request, you
+[VocaGateway](https://github.com/VocaHQ/vocagateway)). By opening a pull request, you
agree that your contribution may be distributed under that license.
---
diff --git a/README.md b/README.md
index c341aef..f8d3d25 100644
--- a/README.md
+++ b/README.md
@@ -497,7 +497,7 @@ This project is licensed under the **GNU Affero General Public License v3.0**
([AGPL-3.0](LICENSE)), aligning with the other [VocaHQ](https://github.com/VocaHQ)
distribution projects ([VocaMac](https://github.com/VocaHQ/vocamac),
[VocaPhone](https://github.com/VocaHQ/vocaphone),
-[VocaServer](https://github.com/VocaHQ/vocaserver)).
+[VocaGateway](https://github.com/VocaHQ/vocagateway)).
You may use, study, modify, and redistribute the software under AGPL-3.0. If you
run a modified version as a network service, AGPL also requires that you make the
diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx
index 2a208ac..9b6781a 100644
--- a/web/src/app/page.tsx
+++ b/web/src/app/page.tsx
@@ -16,17 +16,22 @@ import {
import { ThemeToggle } from "@/components/theme-toggle";
import { VocalinuxLogo } from "@/components/optimized-image";
import { ThemeScreenshotImage } from "@/components/theme-screenshot";
+import { GITHUB_REPO_URL } from "@/lib/seo";
+
+const GITHUB_REPO_PATH = GITHUB_REPO_URL.replace("https://github.com/", "");
+const GITHUB_RAW_BASE = `https://raw.githubusercontent.com/${GITHUB_REPO_PATH}`;
+const GITHUB_API_REPO_URL = `https://api.github.com/repos/${GITHUB_REPO_PATH}`;
// Always uses main/install.sh. The installer dynamically resolves the latest release tag via GitHub API
const installCommands = {
- interactiveInstallCommand: `curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --interactive`,
+ interactiveInstallCommand: `curl -fsSL ${GITHUB_RAW_BASE}/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --interactive`,
interactiveInstallDisplayCommand: `curl -fsSL \\
- https://raw.githubusercontent.com/VocaHQ/vocalinux/main/install.sh \\
+ ${GITHUB_RAW_BASE}/main/install.sh \\
-o /tmp/vl.sh && \\
bash /tmp/vl.sh --interactive`,
- uninstallCommand: `curl -fsSL https://raw.githubusercontent.com/VocaHQ/vocalinux/main/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
+ uninstallCommand: `curl -fsSL ${GITHUB_RAW_BASE}/main/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
uninstallDisplayCommand: `curl -fsSL \\
- https://raw.githubusercontent.com/VocaHQ/vocalinux/main/uninstall.sh \\
+ ${GITHUB_RAW_BASE}/main/uninstall.sh \\
-o /tmp/vul.sh && \\
bash /tmp/vul.sh`,
};
@@ -40,7 +45,7 @@ const homeJsonLd = [
applicationCategory: "UtilitiesApplication",
operatingSystem: "Linux",
isAccessibleForFree: true,
- license: "https://github.com/VocaHQ/vocalinux/blob/main/LICENSE",
+ license: `${GITHUB_REPO_URL}/blob/main/LICENSE`,
offers: {
"@type": "Offer",
price: "0",
@@ -55,7 +60,7 @@ const homeJsonLd = [
url: "https://github.com/jatinkrmalik",
},
url: "https://vocalinux.com/",
- downloadUrl: "https://github.com/VocaHQ/vocalinux",
+ downloadUrl: GITHUB_REPO_URL,
screenshot: "https://vocalinux.com/og-image.png",
featureList: [
"100% offline speech recognition",
@@ -320,7 +325,7 @@ export default function HomePage() {
const [mobileMenuOpen, setMobileMenuOpen] = useState(false);
useEffect(() => {
- fetch("https://api.github.com/repos/VocaHQ/vocalinux")
+ fetch(GITHUB_API_REPO_URL)
.then((res) => res.json())
.then((data) => {
if (data.stargazers_count) setStars(data.stargazers_count);
@@ -380,7 +385,7 @@ export default function HomePage() {
),
)}
vocalinux
AppImage downloads
@@ -1072,7 +1077,7 @@ export default function HomePage() {
status: "You are here",
body: "System tray app with whisper.cpp, Vulkan, and full offline support on Linux.",
site: "#install",
- gh: "https://github.com/VocaHQ/vocalinux",
+ gh: GITHUB_REPO_URL,
primary: true,
},
{
@@ -1139,7 +1144,7 @@ export default function HomePage() {
Install Vocalinux