rename cLAN to Clan
All checks were successful
check / test (pull_request) Successful in 14s

This commit is contained in:
Jörg Thalheim 2024-05-03 12:57:55 +02:00
parent 85b3d99421
commit c7a1db4255
12 changed files with 55 additions and 47 deletions

View File

@ -1,4 +1,4 @@
Copyright 2023 cLAN contributers
Copyright 2023 Clan contributers
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@ -1,6 +1,6 @@
# The URL the site will be built for
base_url = "https://clan.lol"
title = "cLAN"
title = "Clan"
# The site theme to use.
theme = "adidoks"
@ -44,7 +44,7 @@ highlight_code = true
[extra]
# Put all your custom variables here
author = "cLAN contributors"
author = "Clan contributors"
email = "admin@clan.lol"
# If running on netlify.app site, set to true
@ -58,7 +58,7 @@ theme_color = "#fff"
# More about site's title
title_separator = "-" # set as |, -, _, etc
title_addition = "Build your own cLAN"
title_addition = "Build your own Clan"
# Set date format in blog publish metadata

View File

@ -3,10 +3,10 @@ title = "Build your own"
# The homepage contents
[extra]
lead = '<img src="/logo/clan-dark.png" class="clogo" width="100px" height="100px" alt="cLAN logo"></img> <br><b>cLAN</b> envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a private, secure, and user-friendly computing platform. '
lead = '<img src="/logo/clan-dark.png" class="clogo" width="100px" height="100px" alt="Clan logo"></img> <br><b>Clan</b> envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a private, secure, and user-friendly computing platform. '
url = "/docs/thevision/"
url_button = "Learn more"
repo_version = "cLAN v0.0.0-alpha"
repo_version = "Clan v0.0.0-alpha"
repo_license = "Open-source MIT License."
repo_url = "https://git.clan.lol/clan/"
@ -43,13 +43,13 @@ weight = 20
[[extra.list]]
title = "Easy to use"
content = 'cLAN provides a user-friendly interface that allows you to establish your own private network, complete with services.'
content = 'Clan provides a user-friendly interface that allows you to establish your own private network, complete with services.'
[[extra.list]]
title = "Open-source"
content = 'All code for cLAN is freely available and open-source.'
content = 'All code for Clan is freely available and open-source.'
[[extra.list]]
title = "Decentralized"
content = "The design of cLAN enables the distribution of your applications/services across several machines. This increases the resilience of the network, ensuring continued operation even if some computers become unavailable."
content = "The design of Clan enables the distribution of your applications/services across several machines. This increases the resilience of the network, ensuring continued operation even if some computers become unavailable."
+++

View File

@ -1,6 +1,6 @@
+++
title = "Architecture"
description = "Overview of cLAN's architecture, components and security"
description = "Overview of Clan's architecture, components and security"
date = 2021-05-01T18:10:00+00:00
updated = 2021-07-13T18:10:00+00:00
draft = false
@ -9,15 +9,15 @@ sort_by = "weight"
template = "section.html"
[extra]
lead = "Overview of cLAN's architecture, components and security"
lead = "Overview of Clan's architecture, components and security"
toc = true
section = "architecture"
+++
### cLAN
### Clan
cLAN envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a private, secure, and user-friendly computing platform. The system transcends the conventional reliance on centralized services, allowing for direct, end-to-end encrypted communication among users. Rooted in open-source software, cLAN ensures no vendor lock-in, and introduces robust features including:
Clan envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a private, secure, and user-friendly computing platform. The system transcends the conventional reliance on centralized services, allowing for direct, end-to-end encrypted communication among users. Rooted in open-source software, Clan ensures no vendor lock-in, and introduces robust features including:
- Remote management
- Backup functionality
@ -26,7 +26,7 @@ cLAN envisions a new model for a decentralized network, designed to provide fami
### Decentralized Network Model
cLAN incorporates a decentralized network model to tackle the challenges posed by restrictive firewalls, NAT, and the scarcity of the IPv4 address space. By leveraging end-to-end encryption, the model ensures that all peers within the network are fully connected, allowing direct communication.
Clan incorporates a decentralized network model to tackle the challenges posed by restrictive firewalls, NAT, and the scarcity of the IPv4 address space. By leveraging end-to-end encryption, the model ensures that all peers within the network are fully connected, allowing direct communication.
This is achieved by setting up decentralized virtual private network (VPN). A decentralized VPN is a system that uses multiple servers spread across different locations to create a secure, private network within an organization, enabling secure communication and data transfer without relying on a central server. The VPN serves as an added layer of security, shielding internal services from exposure to the open internet.
@ -51,7 +51,7 @@ We will not add this to the initial prototype...
### NixOS as the Operating System
Maintaining and configuring a decentralized system like cLAN with heterogeneous services on heterogeneous platforms is a challenging task. In professional setups this is usually solved with configuration management systems. These systems require years of experience and are therefore not approchable by non-expert users. The solution to this problem so far is to instead provide end-users with appliances that are massivly locked-down in terms of the functionality or platforms they support. To overcome these limitations, we cLAN is based on NixOS.
Maintaining and configuring a decentralized system like Clan with heterogeneous services on heterogeneous platforms is a challenging task. In professional setups this is usually solved with configuration management systems. These systems require years of experience and are therefore not approchable by non-expert users. The solution to this problem so far is to instead provide end-users with appliances that are massivly locked-down in terms of the functionality or platforms they support. To overcome these limitations, we Clan is based on NixOS.
NixOS is an operating system that uses a single declarative and consistent configuration to describe the whole system, using a purpose-built programming language called the Nix language. While the Nix language itself is not necessarily more accessible to non-experts, we believe it's still the best fit for the task. The underlying data structures used by NixOS are simple enough to be managed from a graphical user interface.
@ -68,9 +68,9 @@ From the perspective of the user, software and systems that once required years
### Self-hosted backup and restore
cLAN enables users to easily self-host and backup their data, since one of the perils of self-hosting is data loss. Users can build pre-configured servers from the same interface where they also would be notified about devices not being backed up. They can also view information about the storage device, such as available storage and state of arrays.
Clan enables users to easily self-host and backup their data, since one of the perils of self-hosting is data loss. Users can build pre-configured servers from the same interface where they also would be notified about devices not being backed up. They can also view information about the storage device, such as available storage and state of arrays.
It is possible for users to back up devices in their global network, regardless of how they are connected. Services installed provided by cLAN also need to be aware of the backup process i.e. some applications, such as databases, have custom backup and restore procedures that needs to be integrated in the backup procedure.
It is possible for users to back up devices in their global network, regardless of how they are connected. Services installed provided by Clan also need to be aware of the backup process i.e. some applications, such as databases, have custom backup and restore procedures that needs to be integrated in the backup procedure.
## Components
@ -82,7 +82,7 @@ It is possible for users to back up devices in their global network, regardless
### Base Operating System
Initially, we will utilize NixOS as the foundational operating system for hosting network-specific virtual machines. Presently, the installation process of NixOS involves advanced technical expertise, including a degree of proficiency in its unique programming language. However, our solution cLAN aims to simplify this process, enabling even non-technical users to successfully install the system.
Initially, we will utilize NixOS as the foundational operating system for hosting network-specific virtual machines. Presently, the installation process of NixOS involves advanced technical expertise, including a degree of proficiency in its unique programming language. However, our solution Clan aims to simplify this process, enabling even non-technical users to successfully install the system.
Several approaches can be considered to simplify the Base OS installation process:
@ -112,16 +112,16 @@ An example flake.nix for a virtual machine network:
```nix
{
inputs.cLAN.url = "git+https://git.cLAN.com/cLAN";
inputs.Clan.url = "git+https://git.Clan.com/Clan";
outputs = { self, cLAN, ... }:
outputs = { self, Clan, ... }:
{
nixosModules = {
default = inputs.cLAN.nixosSystem {
default = inputs.Clan.nixosSystem {
imports = [
cLAN.nixosModules.default
Clan.nixosModules.default
];
cLAN = {
Clan = {
adminMode = "local";
networkLayer= "yggdrasil";
applications = {
@ -129,7 +129,7 @@ An example flake.nix for a virtual machine network:
enable = true;
sharedFolders = [ "/shared/docs" ];
};
mumbleClient.server = "mumble.cLAN";
mumbleClient.server = "mumble.Clan";
};
};
};
@ -160,11 +160,11 @@ The above `flake.nix` can also be split into a boilerplate `flake.nix` and a JSO
```nix
{
inputs.cLAN.url = "git+https://git.cLAN.com/cLAN";
inputs.Clan.url = "git+https://git.Clan.com/Clan";
outputs = { self, cLAN, ... }:
outputs = { self, Clan, ... }:
{
nixosModules = cLAN.lib.generateNixosModules (builtins.fromJSON (import ./configs.json));
nixosModules = Clan.lib.generateNixosModules (builtins.fromJSON (import ./configs.json));
};
}
```
@ -181,7 +181,7 @@ The above `flake.nix` can also be split into a boilerplate `flake.nix` and a JSO
"sharedFolders": [ "/shared/docs" ]
},
"mumbleClient": {
"server": "mumble.cLAN"
"server": "mumble.Clan"
}
}
}

View File

@ -1,6 +1,6 @@
+++
title = "Lassulus"
description = "Contributor to cLAN."
description = "Contributor to Clan."
date = 2021-04-01T08:50:45+00:00
updated = 2021-04-01T08:50:45+00:00
draft = false

View File

@ -1,6 +1,6 @@
+++
title = "Mic92"
description = "Contributor to cLAN."
description = "Contributor to Clan."
date = 2021-04-01T08:50:45+00:00
updated = 2021-04-01T08:50:45+00:00
draft = false

View File

@ -1,6 +1,6 @@
+++
title = "Qubasa"
description = "Contributor to cLAN."
description = "Contributor to Clan."
+++
Contributor to **clan**.

View File

@ -1,6 +1,6 @@
+++
title = "Introducing Clan: Full-Stack Computing Redefined"
description = "Introducing cLAN, a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform thats private, secure, and user-friendly."
description = "Introducing Clan, a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform thats private, secure, and user-friendly."
date = 2024-03-19T09:19:42+00:00
updated = 2024-03-19T09:19:42+00:00
draft = false
@ -44,13 +44,16 @@ Clan embodies a new philosophy in system, application, and network design. It en
{{ video(name="show_run.webm")}}
- **Robust Backup Management:** Keep your data safe _forever_ - never worry about cloud services disappearing in 10 years.
{{ asciinema(name="backups.cast") }}
{{ asciinema(name="backups.cast") }}
- **Intuitive Secret Management:** Clan simplifies digital security by automating the creation and management of encryption keys and passwords for your services.
{{ asciinema(name="secrets.cast") }}
{{ asciinema(name="secrets.cast") }}
- **Remote Install:** Set up and manage Clan systems anywhere in the world with just a QR scan or SSH access, making remote installations as easy as snapping a photo or sharing a link.
{{ asciinema(name="nixos-install.cast") }}
{{ asciinema(name="nixos-install.cast") }}
## Who Stands to Benefit?

View File

@ -1,6 +1,6 @@
+++
title = "Contributing"
description = "Contribute to cLAN, improve documentation, or submit to showcase."
description = "Contribute to Clan, improve documentation, or submit to showcase."
date = 2025-05-01T18:00:00+00:00
updated = 2021-05-01T18:00:00+00:00
template = "section.html"
@ -18,4 +18,4 @@ section = "contributing"
👉 Source code for this site: [git.clan.lol/clan/clan-homepage](https://git.clan.lol/clan/clan-homepage/src/branch/main/content/docs)
👉 Join [cLAN on Matrix](https://matrix.to/#/#clan:lassul.us) to contact maintainers
👉 Join [Clan on Matrix](https://matrix.to/#/#clan:lassul.us) to contact maintainers

View File

@ -1,6 +1,6 @@
+++
title = "Documentation"
description = "cLAN Documentation"
description = "Clan Documentation"
date = 2025-05-01T08:00:00+00:00
updated = 2021-05-01T08:00:00+00:00
sort_by = "weight"

View File

@ -13,30 +13,30 @@ section = "vision"
+++
cLAN aims to offer a compelling alternative to the ever-increasing centralization of the internet.
Clan aims to offer a compelling alternative to the ever-increasing centralization of the internet.
### Decentralized Networking
Instead of relying on a centralized cloud accessible via the clearnet, our objective is to establish an encrypted network of interconnected computers, essentially creating a decentralized darknet, which we affectionately call a cLAN.
Instead of relying on a centralized cloud accessible via the clearnet, our objective is to establish an encrypted network of interconnected computers, essentially creating a decentralized darknet, which we affectionately call a Clan.
### Seamless Access
Our vision includes providing users with a seamless experience when they join one or multiple cLANs through invitation links. Clicking the link will trigger a popup that seeks confirmation to connect to the network.
Our vision includes providing users with a seamless experience when they join one or multiple Clans through invitation links. Clicking the link will trigger a popup that seeks confirmation to connect to the network.
### Effortless Integration
During the joining process, the user's computer (referred to as the client hereafter) will download a file containing information about a virtual machine (VM). The client will then automatically set up the VM, and once complete, this VM will become part of the cLAN.
During the joining process, the user's computer (referred to as the client hereafter) will download a file containing information about a virtual machine (VM). The client will then automatically set up the VM, and once complete, this VM will become part of the Clan.
Users can also choose to seamlessly integrate the cLAN configuration into their base system, effectively allowing the cLAN admin(s) to remotely manage their system.
Users can also choose to seamlessly integrate the Clan configuration into their base system, effectively allowing the Clan admin(s) to remotely manage their system.
### Dashboard for Services
Once connected, users will have access to a dashboard displaying all the services offered within this specific cLAN. Within this dashboard, users can easily add applications or decide to host services for fellow cLAN members, such as a Nextcloud instance or backup endpoints.
Once connected, users will have access to a dashboard displaying all the services offered within this specific Clan. Within this dashboard, users can easily add applications or decide to host services for fellow Clan members, such as a Nextcloud instance or backup endpoints.
### Decentralization and Redundancy
The core idea is to ensure service decentralization without a single point of failure. If one service fails, another machine within the cLAN network can spin up a replacement service. VMs are designed to be lightweight, minimizing resource consumption.
The core idea is to ensure service decentralization without a single point of failure. If one service fails, another machine within the Clan network can spin up a replacement service. VMs are designed to be lightweight, minimizing resource consumption.
### Administrative Control
Within a cLAN, administrators define the configuration file and have control over who becomes part of the network.
Within a Clan, administrators define the configuration file and have control over who becomes part of the network.

View File

@ -4,5 +4,10 @@
$ USE_TMPDIR=1 TMPDIR=$(pwd) nix run .#nixosConfigurations.installer.config.system.build.nixos-shell
$ clan machines install machine-to-install root@localhost:2222
vm> poweroff
$ qemu-kvm -enable-kvm -hda ./empty0.qcow2 -m 512 -nographic
qemu-kvm \
-enable-kvm -m 2048 \
-nographic \
-usb -device u2f-passthru
-drive file=disk.img,if=none,id=nvm \
-device nvme,serial=deadbeef,drive=nvm
```