Full Code of HarvsG/WireGuardMeshes for AI

main 77833dbfbbee cached
5 files
12.7 KB
3.8k tokens
1 requests
Download .txt
Repository: HarvsG/WireGuardMeshes
Branch: main
Commit: 77833dbfbbee
Files: 5
Total size: 12.7 KB

Directory structure:
gitextract_k_bwb2oz/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── correction.md
│   │   ├── feature_request.md
│   │   └── new-row--or-update-.md
│   └── PULL_REQUEST_TEMPLATE/
│       └── pull_request_template.md
└── readme.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/correction.md
================================================
---
name: Correction
about: Create a report to help us improve
title: "[Correction]"
labels: correction
assignees: HarvsG

---

**Describe the error and suggest correction**
A clear and concise description of what the error is and what the correct emoji/text should be in each box. Reference the boxes to be corrected using `row`/`column` e.g `wireguard vanilla`/`iOS`, `android`

**Evidence and Justification**
Justify your correction and include evidence.

**Additional context**
Add any other context about the problem here.


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: "[Feature Request]"
labels: enhancement
assignees: HarvsG

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. This repo is unclear... 

**Describe the solution you'd like**
A clear and concise description of what you would like this repo to include

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered. (If applicable)

**Additional context**
Add any other context or screenshots about the feature request here.


================================================
FILE: .github/ISSUE_TEMPLATE/new-row--or-update-.md
================================================
---
name: New row (or update)
about: Use this ready-made template to add a new row to the table or update an existing
  one
title: "[Content]"
labels: documentation
assignees: HarvsG

---

<!-- Legend
:credit_card: Paid version only
:globe_with_meridians: Client can join as memeber of the full mesh
:eight_pointed_black_star: Client can join as a 'spoke' off a node/gateway on the mesh
:snowflake: Client can join the network but updates to the network are not automatically propgated to the client
[:exclamation:<sup>0<sup>]() Significant exception to the feature (you must specify what this exception is at the bottom of the issue)
-->

# Please add and delete the emoji as appropriate and add any from the legend above
- Software name: 
- Open source: :x: :white_check_mark: 
- Free: :x: :white_check_mark: 
- Full Mesh: :x: :white_check_mark:
- Auto conf: :x: :white_check_mark:
- Devices: Unlimited 
- Supports Users: :x: :white_check_mark:
- Allows full tunnel: :x: :white_check_mark:
- Subnet Access: :x: :white_check_mark:
- NAT traversal: :x: :white_check_mark:
- Linux: :x:  :globe_with_meridians: :eight_pointed_black_star:
- Windows: :x: :globe_with_meridians: :eight_pointed_black_star:
- MacOS: :x:  :globe_with_meridians: :eight_pointed_black_star:
- Android: :x: :globe_with_meridians: :eight_pointed_black_star:
- iOS: :x: :globe_with_meridians: :eight_pointed_black_star:
- OpenWRT: :x: :white_check_mark: :globe_with_meridians: :eight_pointed_black_star:
- Custom DNS: :x: :white_check_mark:
- Repo URL: 

#Explanations


================================================
FILE: .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
================================================
<!-- 
1. Please use the emoji specified in the legend. If you wish to add an emoji feel free to include that in the PR but you must justify doing so
Legend:
- 3️⃣ Limited amount on free tier (e.g 3)
- 💳 Paid version only
- 🌐 Client can join as memeber of the full mesh
- ✳️ Client can join as a 'spoke' off a node/gateway on the mesh
- ❄️ Client can join the network but updates to the network are not automatically propgated to the client
- ❗ Significant exception to the feature (should link to explanation)
2. Use https://www.tablesgenerator.com/markdown_tables# to generate the table (File -> paste table contents) enable the `Compact Mode` Check box
3. Where possible please only paste/overwrite the lines that you have altered so the git blame remains clean
--> 


================================================
FILE: readme.md
================================================
# Compare WireGuard Mesh Tools
[WireGuard](https://wireguard.com/) is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography and supports mesh networking. However, by default it requires manual configuration. Adding a new client to the network would require the admin to update O(n<sup>2</sup>) client configurations each time. [wg-dynamic](https://git.zx2c4.com/wg-dynamic/about/docs/idea.md) was a proposed native WireGuard tool that would help with autoconfiguration, unfortunately development of this has gone stale. So here are a list of alternatives.

## Table
| Feature\Software | Open source | Free | Full Mesh | Auto conf | Devices | Supports Users | Allows full tunnel | Subnet Access | NAT traversal | Linux | Windows | MacOS | Android | iOS | OpenWRT | Custom DNS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| [Vanilla WireGuard](https://www.wireguard.com/repositories/) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | Unlimited | :x: | :white_check_mark: | :white_check_mark: | :x: | :eight_pointed_black_star: | :eight_pointed_black_star: | :eight_pointed_black_star: | :eight_pointed_black_star: | :eight_pointed_black_star: | :eight_pointed_black_star: | :white_check_mark: |
| [Tailscale](https://github.com/tailscale/tailscale) | :white_check_mark:[:exclamation:<sup>0<sup>](#tsexplain1) | :x::free: | :white_check_mark: | :white_check_mark: | Unlimited :one::zero::zero: | :white_check_mark: :three: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians::lock_with_ink_pen: | :globe_with_meridians::lock_with_ink_pen: | :globe_with_meridians: | :globe_with_meridians::lock_with_ink_pen: | :white_check_mark: | :white_check_mark: [:exclamation:<sup>3<sup>](#tsexplain2) |
| [Headscale](https://github.com/juanfont/headscale) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians: | :globe_with_meridians: | :globe_with_meridians:[:exclamation:<sup>2<sup>](#hsexplain1) | :globe_with_meridians::lock_with_ink_pen:[:exclamation:<sup>2<sup>](#hsexplain1) | :white_check_mark: | :white_check_mark: |
| [Netmaker](https://github.com/gravitl/netmaker) | :white_check_mark:[:exclamation:<sup>1<sup>](#nmexplain1) | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians: | :globe_with_meridians: | :eight_pointed_black_star::snowflake: | :eight_pointed_black_star::snowflake: | :white_check_mark: | :white_check_mark: |
| [WGSD](https://github.com/jwhited/wgsd) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | Unlimited | :x: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: |
| [Innernet](https://github.com/tonarino/innernet ) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | Unlimited | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | :x: | :x: | :x: |  |
| [Wesher](https://github.com/costela/wesher) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :x: |  |  |  | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: |
| [NetBird](https://github.com/netbirdio/netbird) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited :one::zero::zero: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians: | :white_check_mark: | :white_check_mark: |
| [wgmesh](https://github.com/aschmidt75/wgmesh) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :x: | :white_check_mark: | :x: | :x: | :globe_with_meridians: | :x: | :x: | :x: | :x: | :x: | :x: |
| [wiresmith](https://github.com/svenstaro/wiresmith) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :x: | :x: | :x: | :x: | :globe_with_meridians: | :x: | :x: | :x: | :x: | :x: | :x: |
| [webmesh](https://github.com/webmeshproj/webmesh) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | Unlimited | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians: | :globe_with_meridians: | :soon: | :soon: | :soon: | :white_check_mark: |
| [NordVPN Meshnet](https://github.com/NordSecurity/libtelio) | :white_check_mark: [:exclamation:<sup>4<sup>](#nvmexplain1) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :one::zero: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :globe_with_meridians: | :globe_with_meridians: :lock_with_ink_pen: | :globe_with_meridians: :lock_with_ink_pen: | :globe_with_meridians: :lock_with_ink_pen: | :globe_with_meridians: :lock_with_ink_pen: | :soon: | :white_check_mark: |
  
 <sup>0</sup><a name="tsexplain1">Tailscale's client code is open source. Tailscale's control server code is entirely closed source (It's a SaaS product).</a>  
  
 <sup>1</sup><a name="nmexplain1">Netmaker uses the SSPL license, which is not an "official" open source license occording to the OSI.</a>  
  
 <sup>2</sup><a name="hsexplain1">Headscale uses the tailscale mobile clients. <a href="https://github.com/juanfont/headscale/blob/main/docs/android-client.md">Andriod instructions</a></a>. <a href="https://github.com/juanfont/headscale/blob/main/docs/iOS-client.md">iOS</a></a>
  
 <sup>3</sup><a name="tsexplain2">When routing all traffic through an exit node tailscale ignores custom DNS. <a href="https://github.com/tailscale/tailscale/issues/8237">Issue</a></a>

 <sup>4</sup><a name="nvmexplain1">Open source parts: `libtelio` - multiplatform meshnet library, `nordvpn-linux` - vpn client app for linux with integrated meshnet feature, `libdrop` - multiplatform file-sharing-over-meshnet library.</a>

 <sup>5</sup><a name="nvmexplain2">10 peers per account. Can connect to up to 50 devices from other accounts.</a>
 
## Legend
- :free: Has free tier
- :three: Limited amount on free tier (e.g 3)
- :lock_with_ink_pen: This software version is closed source
- :credit_card: Paid version only
- :globe_with_meridians: Client can join as member of the full mesh
- :eight_pointed_black_star: Client can join as a 'spoke' off a node/gateway on the mesh
- :snowflake: Client can join the network but updates to the network are not automatically propgated to the client
- :soon: Developer claims the feature is coming soon
- [:exclamation:<sup>0<sup>](https://github.com/HarvsG/WireGuardMeshes/blob/main/readme.md#legend) Significant exception to the feature (should link to explanation)

## Disclaimers
- [WireGuard](https://wireguard.com/) is a registered trademark of Jason A. Donenfeld.
- I do not independently verify each of the features and generally rely on the honesty of contributors please open an issue if you find any mistakes.

## Changes
Please help update this table by using [issues](https://github.com/HarvsG/WireGuardMeshes/issues) or [pull requests](https://github.com/HarvsG/WireGuardMeshes/pulls). You may find https://www.tablesgenerator.com/markdown_tables helpful (File -> paste table data)

## Columns
| Column | Description |
|---|---|
| Feature\Software | The name and hyperlink to the project's main repository or website. |
| Open source | Is the project open source. |
| Free | Is the project entirely free to download, install and use. |
| Full Mesh | Does the project allow every peer to communicate with every other peer directly. Relying on `AllowedIPs` to route traffic via a central peer in a hub and spoke model does not count. |
| Auto conf | When a new peer is added to the mesh, are all other peers update automatically. Usually a requirement to be featured in this repo |
| Devices | How many devices can the mesh support. |
| Supports Users | Does the project allow users to be configured, usually for user access control. |
| Allows full tunnel | Is the project capable of tunnelling all external traffic over at least one of the peers. |
| Subnet Access | Can a device 'expose' the devices on its subnet to peers, usually using wiregaurd's `AllowedIPs`. This could allow you to access resources on your home network if your router was connected to the mesh, for example. |
| NAT traversal | Can two peers that are each behind a separate NAT communicate with one another. This usually requires some other non-NATed central peer to update each NATed peer with the other's IP and port. Sometimes called NAT hole-punching |
| Linux | Can the project be set up on a Linux machine e.g Ubuntu |
| Windows | Can the project be installed on a Windows machine. |
| MacOS | Can the project be installed on a MacOS machine. |
| Android | Is there an Android App and can it connect to every other peer. |
| iOS | Is there an iOS App and can it connect to every other peer. |
| OpenWRT | Can the project be installed on an OpenWRT router. Useful if you want everything on your network to be able to access the devices on the mesh |
| Custom DNS | Can the DNS provider used by all peers be configured centrally. |
Download .txt
gitextract_k_bwb2oz/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── correction.md
│   │   ├── feature_request.md
│   │   └── new-row--or-update-.md
│   └── PULL_REQUEST_TEMPLATE/
│       └── pull_request_template.md
└── readme.md
Condensed preview — 5 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (14K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/correction.md",
    "chars": 528,
    "preview": "---\nname: Correction\nabout: Create a report to help us improve\ntitle: \"[Correction]\"\nlabels: correction\nassignees: Harvs"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 649,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"[Feature Request]\"\nlabels: enhancement\nassigne"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/new-row--or-update-.md",
    "chars": 1540,
    "preview": "---\nname: New row (or update)\nabout: Use this ready-made template to add a new row to the table or update an existing\n  "
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE/pull_request_template.md",
    "chars": 769,
    "preview": "<!-- \n1. Please use the emoji specified in the legend. If you wish to add an emoji feel free to include that in the PR b"
  },
  {
    "path": "readme.md",
    "chars": 9547,
    "preview": "# Compare WireGuard Mesh Tools\n[WireGuard](https://wireguard.com/) is an extremely simple yet fast and modern VPN that u"
  }
]

About this extraction

This page contains the full source code of the HarvsG/WireGuardMeshes GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5 files (12.7 KB), approximately 3.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!