diff --git a/documentation/src/assets/integration-icons/adminoff.tsx b/documentation/src/assets/integration-icons/adminoff.tsx new file mode 100644 index 00000000..44ad66f6 --- /dev/null +++ b/documentation/src/assets/integration-icons/adminoff.tsx @@ -0,0 +1,25 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgAdminOff = (props: SVGProps) => ( + + + + + + + + +); + +export default SvgAdminOff; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/box.tsx b/documentation/src/assets/integration-icons/box.tsx new file mode 100644 index 00000000..44a9e355 --- /dev/null +++ b/documentation/src/assets/integration-icons/box.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgBox = (props: SVGProps) => ( + + + + + + +); + +export default SvgBox; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/cpu.tsx b/documentation/src/assets/integration-icons/cpu.tsx new file mode 100644 index 00000000..98b81482 --- /dev/null +++ b/documentation/src/assets/integration-icons/cpu.tsx @@ -0,0 +1,29 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgCPU = (props: SVGProps) => ( + + + + + + + + + + + + +); + +export default SvgCPU; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/factor.tsx b/documentation/src/assets/integration-icons/factor.tsx new file mode 100644 index 00000000..0fad03fc --- /dev/null +++ b/documentation/src/assets/integration-icons/factor.tsx @@ -0,0 +1,24 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgFactor = (props: SVGProps) => ( + + + + + + + +); + +export default SvgFactor; diff --git a/documentation/src/assets/integration-icons/firewall.tsx b/documentation/src/assets/integration-icons/firewall.tsx new file mode 100644 index 00000000..6c5d3ca4 --- /dev/null +++ b/documentation/src/assets/integration-icons/firewall.tsx @@ -0,0 +1,28 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgFirewall = (props: SVGProps) => ( + + + + + + + + + + + +); + +export default SvgFirewall; diff --git a/documentation/src/assets/integration-icons/index.ts b/documentation/src/assets/integration-icons/index.ts index 4ac74b05..1b784f3e 100644 --- a/documentation/src/assets/integration-icons/index.ts +++ b/documentation/src/assets/integration-icons/index.ts @@ -10,6 +10,17 @@ export { default as UserIP } from "./userip"; export { default as UserLogin } from "./userlogin"; export { default as Upgrade } from "./upgrade"; export { default as Search } from "./search"; +export { default as Firewall } from "./firewall"; +export { default as SSL } from "./ssl"; +export { default as Factor } from "./factor"; +export { default as ModSec } from "./modsec"; +export { default as CPU } from "./cpu"; +export { default as Box } from "./box"; +export { default as IPblock } from "./ipblock"; +export { default as Terminal } from "./terminal"; +export { default as AdminOff } from "./adminoff"; +export { default as Separate } from "./separate"; +export { default as Ports } from "./ports"; export { default as Ably } from "./ably"; export { default as Airtable } from "./airtable"; export { default as Antd } from "./antd"; diff --git a/documentation/src/assets/integration-icons/ipblock.tsx b/documentation/src/assets/integration-icons/ipblock.tsx new file mode 100644 index 00000000..9ceb8109 --- /dev/null +++ b/documentation/src/assets/integration-icons/ipblock.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgIPblock = (props: SVGProps) => ( + + + + +); + +export default SvgIPblock; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/keyboard.tsx b/documentation/src/assets/integration-icons/keyboard.tsx index a20bb9a6..786dd7b5 100644 --- a/documentation/src/assets/integration-icons/keyboard.tsx +++ b/documentation/src/assets/integration-icons/keyboard.tsx @@ -13,10 +13,14 @@ const SvgKeyboard = (props: SVGProps) => ( xmlns="http://www.w3.org/2000/svg" {...props} > - - - - + + + + + + + + ); diff --git a/documentation/src/assets/integration-icons/modsec.tsx b/documentation/src/assets/integration-icons/modsec.tsx new file mode 100644 index 00000000..60c3be1f --- /dev/null +++ b/documentation/src/assets/integration-icons/modsec.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgModSec = (props: SVGProps) => ( + + + + + +); + +export default SvgModSec; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/ports.tsx b/documentation/src/assets/integration-icons/ports.tsx new file mode 100644 index 00000000..07532c40 --- /dev/null +++ b/documentation/src/assets/integration-icons/ports.tsx @@ -0,0 +1,23 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgPorts = (props: SVGProps) => ( + + + + + + +); + +export default SvgPorts; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/separate.tsx b/documentation/src/assets/integration-icons/separate.tsx new file mode 100644 index 00000000..f94cc87d --- /dev/null +++ b/documentation/src/assets/integration-icons/separate.tsx @@ -0,0 +1,21 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgSeparate = (props: SVGProps) => ( + + + + +); + +export default SvgSeparate; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/ssl.tsx b/documentation/src/assets/integration-icons/ssl.tsx new file mode 100644 index 00000000..6a772fe6 --- /dev/null +++ b/documentation/src/assets/integration-icons/ssl.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgSSL = (props: SVGProps) => ( + + + + + +); + +export default SvgSSL; \ No newline at end of file diff --git a/documentation/src/assets/integration-icons/terminal.tsx b/documentation/src/assets/integration-icons/terminal.tsx new file mode 100644 index 00000000..af69f69d --- /dev/null +++ b/documentation/src/assets/integration-icons/terminal.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; +import { SVGProps } from "react"; + +const SvgTerminal = (props: SVGProps) => ( + + + + + +); + +export default SvgTerminal; \ No newline at end of file diff --git a/documentation/src/assets/integrations.ts b/documentation/src/assets/integrations.ts index ce9a0554..fa7d258b 100644 --- a/documentation/src/assets/integrations.ts +++ b/documentation/src/assets/integrations.ts @@ -12,6 +12,17 @@ import { UserServer, UserIP, UserLogin, + Firewall, + SSL, + ModSec, + Factor, + CPU, + Box, + IPblock, + Terminal, + AdminOff, + Ports, + Separate, Airtable, Antd, Ably, @@ -131,7 +142,7 @@ export const integrations: IntegrationsType = { }, { name: "SSH and Web Terminal", - icon: Strapi, + icon: Terminal, description: "Access the terminal remotely through SSH or log in automatically to the Web Terminal. Comes with preinstalled WPCLI and NPM for added convenience!", url: "/docs/panel/advanced/ssh/", @@ -360,7 +371,7 @@ export const integrations: IntegrationsType = { "live-providers": [ { name: "User containerisation", - icon: Ably, + icon: Box, description: "Every user account is containerised. Containers have no access to other users or server files.", url: "/docs/panel/intro/", @@ -368,7 +379,7 @@ export const integrations: IntegrationsType = { }, { name: "Resource limiting", - icon: Ably, + icon: CPU, description: "Administrators have the ability to set specific limits per plan, including port speed, disk usage, inodes, the number of websites, MySQL databases, and domains.", url: "/docs/admin/plans/hosting_plans/#create-a-plan", @@ -376,7 +387,7 @@ export const integrations: IntegrationsType = { }, { name: "SSL / TLS", - icon: Ably, + icon: SSL, description: "Automatically provision Let's Encrypt certificates. Users can generate new certificates and seamlessly redirect all website traffic to HTTPS.", url: "/docs/panel/domains/SSL/", @@ -384,7 +395,7 @@ export const integrations: IntegrationsType = { }, { name: "ModSecurity", - icon: Ably, + icon: ModSec, description: "Administrators can activate ModSecurity with a single click and configure the OWASP ruleset. Additionally, individual users have the flexibility to enable or disable ModSecurity per domain.", url: "/docs/admin/settings/waf/", @@ -392,7 +403,7 @@ export const integrations: IntegrationsType = { }, { name: "Firewall", - icon: Ably, + icon: Firewall, description: "Administrators can manage (UFW) firewall rules directly from the admin interface. Only needed ports are open for users, and administrators have full control over them.", url: "/docs/admin/settings/firewall/", @@ -400,7 +411,7 @@ export const integrations: IntegrationsType = { }, { name: "Two-Factor Authentication", - icon: Ably, + icon: Factor, description: "Users can enhance security by enabling Two-Factor Authentication for their OpenPanel account. Administrators have the flexibility to enforce or disable 2FA for any user.", url: "/docs/panel/account/2fa/", @@ -408,7 +419,7 @@ export const integrations: IntegrationsType = { }, { name: "Limited shell access", - icon: Ably, + icon: Terminal, description: "End users are restricted from root-level access to their container. Additionally, to increase security, all services within a user's container operate under distinct user accounts.", url: "/docs/panel/advanced/ssh/", @@ -416,7 +427,7 @@ export const integrations: IntegrationsType = { }, { name: "IP blocking", - icon: Ably, + icon: IPblock, description: "Each user has the capability to configure a domain-specific IP block list, providing a personalized means to restrict access to websites by blocking specific IP addresses.", url: "", @@ -424,7 +435,7 @@ export const integrations: IntegrationsType = { }, { name: "Disable admin panel", - icon: Ably, + icon: AdminOff, description: "Administrators can effortlessly disable the OpenAdmin interface with a single click, while preserving the core functionality of OpenPanel.", url: "/docs/admin/settings/adminpanel/#enable-features", @@ -432,7 +443,7 @@ export const integrations: IntegrationsType = { }, { name: "Separate services", - icon: Ably, + icon: Separate, description: "Both OpenAdmin and OpenPanel employ separate databases and webservers, maintaining full independence from user websites.", url: "", @@ -440,7 +451,7 @@ export const integrations: IntegrationsType = { }, { name: "Custom ports", - icon: Ably, + icon: Ports, description: "Administrators have the flexibility to customize the default port (e.g., change from 2083) and alter the directory path (e.g., from /openpanel) to cater to specific preferences.", url: "/docs/admin/settings/openpanel/",