diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3cb776d..1082af6 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -7,7 +7,8 @@ "workspaceFolder": "/workspace/anubis", "postStartCommand": "npm ci && go mod download", "features": { - "ghcr.io/xe/devcontainer-features/ko:1.1.0": {} + "ghcr.io/xe/devcontainer-features/ko:1.1.0": {}, + "ghcr.io/devcontainers/features/github-cli:1": {} }, "initializeCommand": "mkdir -p ${localEnv:HOME}${localEnv:USERPROFILE}/.local/share/atuin", "customizations": { diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 55ea3e4..e90e56c 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -22,7 +22,6 @@ berr bingbot Bitcoin bitrate -blogging Bluesky blueskybot boi @@ -71,6 +70,7 @@ DDOS Debian debrpm decaymap +devcontainers Diffbot discordapp discordbot diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index 9aa29ba..87776b4 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -6,7 +6,7 @@ import type * as Preset from '@docusaurus/preset-classic'; const config: Config = { title: 'Anubis', - tagline: 'Weigh the soul of incoming HTTP requests using proof-of-work to stop AI crawlers', + tagline: 'Weigh the soul of incoming HTTP requests to protect your website!', favicon: 'img/favicon.ico', // Set the production url of your site here @@ -40,27 +40,20 @@ const config: Config = { [ 'classic', { - docs: { - sidebarPath: './sidebars.ts', - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/TecharoHQ/anubis/tree/main/docs/', - }, blog: { showReadingTime: true, feedOptions: { type: ['rss', 'atom', "json"], xslt: true, }, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', - // Useful options to enforce blogging best practices + editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/', onInlineTags: 'warn', onInlineAuthors: 'warn', - onUntruncatedBlogPosts: 'warn', + onUntruncatedBlogPosts: 'throw', + }, + docs: { + sidebarPath: './sidebars.ts', + editUrl: 'https://github.com/TecharoHQ/anubis/tree/main/docs/', }, theme: { customCss: './src/css/custom.css', @@ -74,7 +67,7 @@ const config: Config = { respectPrefersColorScheme: true, }, // Replace with your project's social card - image: 'img/docusaurus-social-card.jpg', + image: 'img/social-card.jpg', navbar: { title: 'Anubis', logo: { @@ -82,23 +75,28 @@ const config: Config = { src: 'img/favicon.webp', }, items: [ + { to: '/blog', label: 'Blog', position: 'left' }, { type: 'docSidebar', sidebarId: 'tutorialSidebar', position: 'left', label: 'Docs', }, - { to: '/blog', label: 'Blog', position: 'left' }, { - href: 'https://github.com/sponsors/Xe', - label: "Sponsorship", - position: 'left' + to: '/docs/admin/botstopper', + label: "Unbranded Version", + position: "left" }, { href: 'https://github.com/TecharoHQ/anubis', label: 'GitHub', position: 'right', }, + { + href: 'https://github.com/sponsors/Xe', + label: "Sponsor the Project", + position: 'right' + }, ], }, footer: { diff --git a/docs/src/components/HomepageFeatures/index.tsx b/docs/src/components/HomepageFeatures/index.tsx index 8eef6af..3d7b991 100644 --- a/docs/src/components/HomepageFeatures/index.tsx +++ b/docs/src/components/HomepageFeatures/index.tsx @@ -5,49 +5,50 @@ import styles from "./styles.module.css"; type FeatureItem = { title: string; - Svg: React.ComponentType>; + imageURL: string; description: ReactNode; }; const FeatureList: FeatureItem[] = [ { title: "Easy to Use", - Svg: require("@site/static/img/undraw_docusaurus_mountain.svg").default, + imageURL: require("@site/static/img/anubis/happy.webp").default, description: ( <> - Anubis is easy to set up, lightweight, and helps get rid of the lowest - hanging fruit so you can sleep at night. + Anubis sits in the background and weighs the risk of incoming requests. + If it asks a client to complete a challenge, no user interaction is + required. ), }, { title: "Lightweight", - Svg: require("@site/static/img/undraw_docusaurus_tree.svg").default, + imageURL: require("@site/static/img/anubis/pensive.webp").default, description: ( <> - Anubis is efficient and as lightweight as possible, blocking the worst - of the bots on the internet and makes it easy to protect what you host - online. + Anubis is so lightweight you'll forget it's there until you look at your + hosting bill. On average it uses less than 128 MB of ram. ), }, { - title: "Multi-threaded", - Svg: require("@site/static/img/undraw_docusaurus_react.svg").default, + title: "Block the scrapers", + imageURL: require("@site/static/img/anubis/reject.webp").default, description: ( <> - Anubis uses a multi-threaded proof of work check to ensure that users - browsers are up to date and support modern standards. + Anubis uses a combination of heuristics to identify and block bots + before they take your website down. You can customize the rules with{" "} + your own policies. ), }, ]; -function Feature({ title, Svg, description }: FeatureItem) { +function Feature({ title, description, imageURL }: FeatureItem) { return (
- +
{title} diff --git a/docs/src/pages/index.tsx b/docs/src/pages/index.tsx index fbe6e5e..8f505a6 100644 --- a/docs/src/pages/index.tsx +++ b/docs/src/pages/index.tsx @@ -31,19 +31,12 @@ export default function Home(): ReactNode { const { siteConfig } = useDocusaurusContext(); return (
- -
-

- This is all placeholder text. It will be fixed. Give me time. I am - one person and my project has unexpectedly gone viral. -

-
); diff --git a/docs/static/img/anubis/happy.webp b/docs/static/img/anubis/happy.webp new file mode 100644 index 0000000..40b979d Binary files /dev/null and b/docs/static/img/anubis/happy.webp differ diff --git a/docs/static/img/anubis/pensive.webp b/docs/static/img/anubis/pensive.webp new file mode 100644 index 0000000..e26faef Binary files /dev/null and b/docs/static/img/anubis/pensive.webp differ diff --git a/docs/static/img/anubis/reject.webp b/docs/static/img/anubis/reject.webp new file mode 100644 index 0000000..17bc939 Binary files /dev/null and b/docs/static/img/anubis/reject.webp differ diff --git a/docs/static/img/docusaurus-social-card.jpg b/docs/static/img/docusaurus-social-card.jpg deleted file mode 100644 index ffcb448..0000000 Binary files a/docs/static/img/docusaurus-social-card.jpg and /dev/null differ diff --git a/docs/static/img/social-card.jpg b/docs/static/img/social-card.jpg new file mode 100644 index 0000000..ae9b2cb Binary files /dev/null and b/docs/static/img/social-card.jpg differ