robots.txt
See which AI crawlers other sites block →# As a condition of accessing this website, you agree to abide by the following
# content signals:
# (a) If a Content-Signal = yes, you may collect content for the corresponding
# use.
# (b) If a Content-Signal = no, you may not collect content for the
# corresponding use.
# (c) If the website operator does not include a Content-Signal for a
# corresponding use, the website operator neither grants nor restricts
# permission via Content-Signal with respect to the corresponding use.
# The content signals and their meanings are:
# search: building a search index and providing search results (e.g., returning
# hyperlinks and short excerpts from your website's contents). Search does not
# include providing AI-generated search summaries.
# ai-input: inputting content into one or more AI models (e.g., retrieval
# augmented generation, grounding, or other real-time taking of content for
# generative AI search answers).
# ai-train: training or fine-tuning AI models.
# use: how AI systems may consume the content (immediate, reference, or full).
# ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF
# RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT
# AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET.
# BEGIN Cloudflare Managed content
User-agent: *
Content-Signal: search=yes,ai-train=no,use=reference
Allow: /
# Training crawlers
User-agent: Amazonbot
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Diffbot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: omgili
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: cohere-ai
Disallow: /
User-agent: MistralAI-Training
Disallow: /
User-agent: meta-externalagent
Disallow: /
User-agent: GoogleOther
Disallow: /
User-agent: Baiduspider
Disallow: /
User-agent: PetalBot
Disallow: /
User-agent: AwarioSmartBot
User-agent: AwarioRssBot
Disallow: /
User-agent: Google-CloudVertexBot
Disallow: /
User-agent: QualifiedBot
Disallow: /
User-agent: Cotoyogi
Disallow: /
User-agent: ICC-Crawler
Disallow: /
User-agent: atlassian-bot
Disallow: /
User-agent: FishBot
Disallow: /
User-agent: BorderxBot
Disallow: /
User-agent: NavuBot
Disallow: /
User-agent: SemrushBot-SWA
Disallow: /
User-agent: WARDBot
Disallow: /
User-agent: magpie-crawler
Disallow: /
User-agent: KimiBot
Disallow: /
User-agent: CitibotSiteCrawler
Disallow: /
# END Cloudflare Managed Content
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Liam Cottle">
<title>MeshCore - Official Site</title>
<!-- icon -->
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- seo -->
<meta property="og:type" content="website"/>
<meta property="og:title" content="MeshCore - Official Site">
<meta property="og:description" content="Off-Grid, Encrypted, Mesh Communications">
<meta property="og:image" content="/assets/images/icon.png"/>
<meta property="og:image:alt" content="Logo"/>
<meta property="og:url" content="https://meshcore.io">
<meta property="og:site_name" content="MeshCore - Official Site">
<meta name="description" content="Off-Grid, Encrypted, Mesh Communications">
<link rel="canonical" href="https://meshcore.io">
<!-- social accounts -->
<link rel="me" href="https://mastodon.social/@meshcore"/>
<script src="assets/js/tailwindcss-3.4.17.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JRW3QH54CP"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-JRW3QH54CP');
</script>
</head>
<body>
<!-- background -->
<canvas id="mesh-canvas"></canvas>
<!-- overlay when sidebar shown -->
<div id="sidebar-overlay" class="fixed inset-0 z-[90] bg-black/50 hidden transition-opacity duration-200"></div>
<!-- navigation -->
<nav class="sticky top-0 z-50 glass-nav px-6 py-4">
<div class="max-w-7xl mx-auto flex justify-between items-center">
<!-- logo and menu button -->
<div class="flex items-center gap-4">
<button id="mobile-menu-toggle" class="md:hidden text-white text-xl">
<i class="fas fa-bars"></i>
</button>
<a href="/">
<img src="assets/images/meshcore.svg" alt="MeshCore" class="w-auto h-5">
</a>
</div>
<!-- links -->
<div class="hidden md:flex space-x-8 text-xs font-medium uppercase tracking-widest text-gray-400">
<a href="https://meshcore.io" class="hover:text-white transition">Home</a>
<a href="https://blog.meshcore.io" class="hover:text-white transition">Blog</a>
<a href="https://docs.meshcore.io" target="_blank" class="hover:text-white transition">Docs</a>
<a href="https://meshcore.io/flasher" class="hover:text-white transition">Flasher</a>
<a href="https://map.meshcore.io" target="_blank" class="hover:text-white transition">Map</a>
<a href="https://merch.meshcore.io" target="_blank" class="hover:text-white transition">Merch</a>
</div>
<!-- launch app -->
<a href="https://app.meshcore.nz" target="_blank" class="btn-white px-3 py-1 sm:px-4 sm:py-2 rounded-full font-bold text-xs uppercase tracking-wide flex items-center justify-center gap-3">
<i class="fas fa-external-link text-gray-800 text-lg"></i>
<span class="hidden sm:inline">Launch App</span>
<span class="inline sm:hidden">App</span>
</a>
</div>
</nav>
<!-- announcement banner -->
<div id="announcement-banner" class="relative isolate flex items-center gap-x-6 overflow-hidden bg-gray-50 px-6 py-2.5 sm:px-3.5 sm:before:flex-1 dark:bg-gray-800/50 dark:after:pointer-events-none dark:after:absolute dark:after:inset-x-0 dark:after:bottom-0 dark:after:h-px dark:after:bg-white/10">
<div aria-hidden="true" class="absolute left-[max(-7rem,calc(50%-52rem))] top-1/2 -z-10 -translate-y-1/2 transform-gpu blur-2xl">
<div style="clip-path: polygon(74.8% 41.9%, 97.2% 73.2%, 100% 34.9%, 92.5% 0.4%, 87.5% 0%, 75% 28.6%, 58.5% 54.6%, 50.1% 56.8%, 46.9% 44%, 48.3% 17.4%, 24.7% 53.9%, 0% 27.9%, 11.9% 74.2%, 24.9% 54.1%, 68.6% 100%, 74.8% 41.9%)" class="aspect-[577/310] w-[36.0625rem] bg-gradient-to-r from-[#ff80b5] to-[#9089fc] opacity-30 dark:opacity-40"></div>
</div>
<div aria-hidden="true" class="absolute left-[max(45rem,calc(50%+8rem))] top-1/2 -z-10 -translate-y-1/2 transform-gpu blur-2xl">
<div style="clip-path: polygon(74.8% 41.9%, 97.2% 73.2%, 100% 34.9%, 92.5% 0.4%, 87.5% 0%, 75% 28.6%, 58.5% 54.6%, 50.1% 56.8%, 46.9% 44%, 48.3% 17.4%, 24.7% 53.9%, 0% 27.9%, 11.9% 74.2%, 24.9% 54.1%, 68.6% 100%, 74.8% 41.9%)" class="aspect-[577/310] w-[36.0625rem] bg-gradient-to-r from-[#ff80b5] to-[#9089fc] opacity-30 dark:opacity-40"></div>
</div>
<div class="flex flex-wrap items-center gap-x-4 gap-y-2">
<p class="text-sm/6 text-gray-900 dark:text-gray-100">
<span class="font-semibold">MeshCore Merch</span>
<span> • 30% OFF • LIMITED TIME SALE</span>
</p>
<a target="_blank" href="https://merch.meshcore.io" class="flex-none rounded-full bg-gray-900 px-3.5 py-1 text-sm font-semibold text-white shadow-sm hover:bg-gray-700 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-900 dark:bg-white/10 dark:ring-white/20 dark:hover:bg-white/15 dark:focus-visible:outline-white">
Shop Now <span aria-hidden="true">→</span>
</a>
</div>
<div class="flex flex-1 justify-end">
<button onclick="dismissAnnouncement()" type="button" class="-m-3 p-3 focus-visible:-outline-offset-4">
<span class="sr-only">Dismiss</span>
<svg viewBox="0 0 20 20" fill="currentColor" data-slot="icon" aria-hidden="true" class="size-5 text-gray-900 dark:text-gray-100">
<path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" />
</svg>
</button>
</div>
</div>
<div id="mobile-sidebar" class="fixed top-0 left-0 w-64 h-full bg-sidebar z-[100] transform -translate-x-full transition-transform duration-300 ease-in-out border-r border-gray-800 flex flex-col overflow-y-auto">
<!-- logo and close button -->
<div class="flex items-center gap-4 px-4 py-5 border-b border-gray-800">
<!-- close button -->
<button id="close-menu-btn" class="text-gray-400 hover:text-white text-xl">
<i class="fas fa-angles-left"></i>
</button>
<!-- logo -->
<img src="assets/images/meshcore.svg" alt="MeshCore" class="h-5">
</div>
<!-- links -->
<div class="flex flex-col space-y-6 text-sm font-medium uppercase tracking-widest text-gray-400 flex-grow p-6">
<a href="https://meshcore.io" class="hover:text-white transition">Home</a>
<a href="https://blog.meshcore.io" class="hover:text-white transition">Blog</a>
<a href="https://docs.meshcore.io" target="_blank" class="hover:text-white transition">Docs</a>
<a href="https://meshcore.io/flasher" class="hover:text-white transition">Flasher</a>
<a href="https://map.meshcore.io" target="_blank" class="hover:text-white transition">Map</a>
<a href="https://merch.meshcore.io" target="_blank" class="hover:text-white transition">Merch</a>
</div>
<!-- sidebar footer -->
<div class="mt-8 border-t border-gray-800 px-6 py-5 text-center">
<div class="text-[10px] text-gray-500 font-extrabold uppercase tracking-widest leading-loose mb-4">
<div>🇳🇿 App made in New Zealand</div>
<div>🇦🇺 Firmware made in Australia</div>
</div>
<div class="flex gap-4 justify-center text-gray-500 text-2xl">
<a href="https://facebook.com/groups/meshcore" target="_blank" class="hover:text-white transition"><i class="fab fa-facebook"></i></a>
<a href="https://reddit.com/r/meshcore" target="_blank" class="hover:text-white transition"><i class="fab fa-reddit"></i></a>
<a href="https://meshcore.gg" target="_blank" class="hover:text-white transition"><i class="fab fa-discord"></i></a>
<a href="https://mastodon.social/@meshcore" target="_blank" class="hover:text-white transition"><i class="fab fa-mastodon"></i></a>
<a href="https://x.com/mesh_core" target="_blank" class="hover:text-white transition"><i class="fab fa-x-twitter"></i></a>
</div>
</div>
</div>
<header class="max-w-7xl mx-auto px-6 pt-24 text-center">
<div class="text-5xl md:text-7xl font-semibold mb-6 tracking-tight text-white">
<div>Off-Grid, Open-Source<span class="inline md:hidden">, Encrypted Messaging</span></div>
<div class="hidden md:flex">
<div class="mx-auto italic text-white lg:bg-blue-500/25 font-bold rounded-md">Encrypted Messaging</div>
</div>
</div>
<div class="text-lg text-gray-400 max-w-3xl mx-auto mb-10 leading-relaxed">
<div>MeshCore is a simple, secure, off-grid mesh communications system.</div>
<div>Build your own low-cost, long-range, encrypted messaging network.</div>
<div>You can still send messages even when WiFi, Cellular, and Starlink are down.</div>
</div>
<div class="flex flex-col md:flex-row justify-center items-center gap-4 mb-12">
<a href="https://github.com/meshcore-dev/meshcore" target="_blank"
class="btn-white w-full md:w-auto h-14 px-8 rounded-lg font-bold text-xs uppercase tracking-widest flex items-center justify-center gap-3">
<i class="fab fa-github text-gray-800 text-lg"></i> View on GitHub
</a>
<a href="https://meshcore.gg" target="_blank"
class="bg-[#5865F2] hover:bg-[#4752C4] w-full md:w-auto h-14 px-8 rounded-lg font-bold text-xs uppercase tracking-widest flex items-center justify-center gap-3 transition duration-200 text-white">
<i class="fab fa-discord text-xl"></i> Join Our Discord
</a>
<a href="https://reddit.com/r/meshcore" target="_blank"
class="bg-[#FF5700] hover:bg-[#FF4500] w-full md:w-auto h-14 px-8 rounded-lg font-bold text-xs uppercase tracking-widest flex items-center justify-center gap-3 transition duration-200 text-white">
<i class="fab fa-reddit-alien text-xl"></i> Join Our Reddit
</a>
</div>
</header>
<!-- main content -->
<main class="max-w-7xl mx-auto px-6 pb-24">
<div id="features" class="scroll-mt-24 pb-8 mt-12">
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6">
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-code-branch text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Open Source</h3>
<p class="text-gray-400 text-sm">MIT licensed firmware, tooling and libraries you can trust and contribute to.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-lock text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Encrypted Messaging</h3>
<p class="text-gray-400 text-sm">Messages are end-to-end encrypted to ensure your chats stay private.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-tower-broadcast text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Long Range</h3>
<p class="text-gray-400 text-sm">Uses LoRa, long range, low power radio technology for true off-grid connectivity.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-zap text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Low Power</h3>
<p class="text-gray-400 text-sm">Optimized power consumption allows batteries to last over a week on a single charge.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-hashtag text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Public Channels</h3>
<p class="text-gray-400 text-sm">Join public group channels and discuss interesting topics with the mesh community.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-key text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Private Channels</h3>
<p class="text-gray-400 text-sm">Create private encrypted group channels for securely talking with friends and family.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-sun text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">Solar Powered Repeaters</h3>
<p class="text-gray-400 text-sm">Expand the range of your MeshCore network with solar powered repeaters in high locations.</p>
</div>
<div class="card-bg p-6 rounded-2xl shadow-xl hover:-translate-y-1">
<i class="fas fa-mobile-alt text-white text-3xl mb-4"></i>
<h3 class="font-bold text-lg mb-2">MeshCore App</h3>
<p class="text-gray-400 text-sm">Download our free app, available on Android, iOS, Windows, Mac, Linux and Web.</p>
</div>
</div>
</div>
<!-- how to get started -->
<div class="scroll-mt-24 py-4">
<div class="text-center mb-16">
<h2 class="text-3xl font-bold mb-2 tracking-tight uppercase">How to Get Started</h2>
<p class="text-gray-400 text-sm">Get the App, Buy a Node, Start Messaging!</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-12 relative">
<div class="hidden md:block absolute top-[22px] left-[15%] right-[15%] h-[2px] bg-gray-600"></div>
<div class="flex flex-col items-center text-center relative z-10">
<div class="step-number">1</div>
<h3 class="font-bold text-xl mb-3">Get the App</h3>
<p class="text-gray-400 text-sm max-w-xs mb-4">Install MeshCore on your phone or computer. Keep an offline copy ready to use when the internet is unavailable.</p>
<a href="#download" class="mt-auto px-6 py-2 bg-white shadow hover:bg-gray-200 text-gray-800 rounded-lg text-xs font-bold uppercase transition">Go to Downloads</a>
</div>
<div class="flex flex-col items-center text-center relative z-10">
<div class="step-number">2</div>
<h3 class="font-bold text-xl mb-3">Buy a Node</h3>
<p class="text-gray-400 text-sm max-w-xs mb-4">Pick a supported LoRa device. Each user needs a "Companion Node" to connect them to the mesh network.</p>
<a href="#hardware" class="mt-auto px-6 py-2 bg-white shadow hover:bg-gray-200 text-gray-800 rounded-lg text-xs font-bold uppercase transition">View Hardware</a>
</div>
<div class="flex flex-col items-center text-center relative z-10">
<div class="step-number">3</div>
<h3 class="font-bold text-xl mb-3">Flash & Connect</h3>
<p class="text-gray-400 text-sm max-w-xs mb-4">Use our Web Flasher to install the MeshCore firmware. Once flashed, pair your phone to the node and start chatting.</p>
<a href="https://flasher.meshcore.io" target="_blank" class="mt-auto px-6 py-2 bg-white shadow hover:bg-gray-200 text-gray-800 rounded-lg text-xs font-bold uppercase transition">Launch Flasher</a>
</div>
</div>
</div>
<!-- download app -->
<div id="download" class="scroll-mt-12 pt-12">
<div class="text-center mb-6">
<div class="flex mb-4">
<img src="assets/images/app_icon.png" class="mx-auto rounded-xl size-28 shadow border border-gray-600"/>
</div>
<h2 class="text-3xl font-bold mb-2">Download the MeshCore App</h2>
<p class="text-gray-500">Available on all major mobile and desktop platforms.</p>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 max-w-5xl mx-auto">
<!-- android -->
<a href="https://play.google.com/store/apps/details?id=com.liamcottle.meshcore.android" class="btn-platform">
<i class="fab fa-google-play text-2xl"></i>
<div class="flex flex-col">
<span class="text-[10px] uppercase font-bold text-gray-400 leading-tight">Get it On</span>
<span class="text-lg font-bold leading-tight">Google Play</span>
</div>
</a>
<!-- ios -->
<a href="https://apps.apple.com/nz/app/meshcore/id6742354151" class="btn-platform">
<i class=