diff --git a/LICENSE.md b/LICENSE.md index 06af4d1..0ad7de3 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -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: diff --git a/config.toml b/config.toml index e943bf0..998ca89 100644 --- a/config.toml +++ b/config.toml @@ -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 diff --git a/content/_index.md b/content/_index.md index f210bca..cb8c988 100644 --- a/content/_index.md +++ b/content/_index.md @@ -3,10 +3,10 @@ title = "Build your own" # The homepage contents [extra] -lead = 'cLan logo
cLan envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform that’s private, secure, and user-friendly. ' +lead = 'cLAN logo
cLAN envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform that’s private, secure, and user-friendly. ' url = "/docs/getting-started/introduction/" 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/" @@ -25,13 +25,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." +++ diff --git a/content/authors/Mic92.md b/content/authors/Mic92.md index e401ee0..308e6d0 100644 --- a/content/authors/Mic92.md +++ b/content/authors/Mic92.md @@ -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 diff --git a/content/blog/hello-world.md b/content/blog/hello-world.md index 7956c1a..6ba0c8f 100644 --- a/content/blog/hello-world.md +++ b/content/blog/hello-world.md @@ -1,6 +1,6 @@ +++ title = "Hello World" -description = "Introducing Clan, a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform that’s 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 that’s private, secure, and user-friendly." date = 2021-05-01T09:19:42+00:00 updated = 2021-05-01T09:19:42+00:00 draft = false diff --git a/content/docs/contributing/_index.md b/content/docs/contributing/_index.md index 0b29bd2..7695e10 100644 --- a/content/docs/contributing/_index.md +++ b/content/docs/contributing/_index.md @@ -1,6 +1,6 @@ +++ title = "Contributing" -description = "Find out how to contribute to Clan." +description = "Find out how to contribute to cLAN." date = 2025-05-01T18:00:00+00:00 updated = 2021-05-01T18:00:00+00:00 template = "docs/section.html" diff --git a/content/docs/contributing/how-to-contribute.md b/content/docs/contributing/how-to-contribute.md index 53bb74c..fa2f193 100644 --- a/content/docs/contributing/how-to-contribute.md +++ b/content/docs/contributing/how-to-contribute.md @@ -1,6 +1,6 @@ +++ title = "How to Contribute" -description = "Contribute to Clan, improve documentation, or submit to showcase." +description = "Contribute to cLAN, improve documentation, or submit to showcase." date = 2021-05-01T18:10:00+00:00 updated = 2021-05-01T18:10:00+00:00 draft = false @@ -9,7 +9,7 @@ sort_by = "weight" template = "docs/page.html" [extra] -lead = "Contribute to Clan, improve documentation, or submit to showcase." +lead = "Contribute to cLAN, improve documentation, or submit to showcase." toc = true top = false +++ diff --git a/content/docs/overview/index.md b/content/docs/overview/index.md index fee7d7d..3de2cab 100644 --- a/content/docs/overview/index.md +++ b/content/docs/overview/index.md @@ -1,6 +1,6 @@ +++ title = "Overview" -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,21 +9,21 @@ sort_by = "weight" template = "docs/page.html" [extra] -lead = "Overview of cLan's architecture, components and security" +lead = "Overview of cLAN's architecture, components and security" toc = true top = false +++ -# cLan +# cLAN -cLan envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform that's private, secure, and user-friendly. 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, user-friendly app store, and fleet management for small businesses. +cLAN envisions a new model for a decentralized network, designed to provide families, smaller groups, and small businesses a platform that's private, secure, and user-friendly. 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, user-friendly app store, and fleet management for small businesses. ## Architecture Overview ### Decentralized Network Model -cLan incorporates a decentralized network model to tackle the challenges posed by restrictive firewalls, NAT, and the scarcity of ipv4 address space. By leveraging end-to-end encryption, the model ensures all peers within the network are fully connected, allowing services and communication to occur directly. +cLAN incorporates a decentralized network model to tackle the challenges posed by restrictive firewalls, NAT, and the scarcity of ipv4 address space. By leveraging end-to-end encryption, the model ensures all peers within the network are fully connected, allowing services and communication to occur directly. This is achieved by the user of an 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. This network model uses a decentralized method, similar to a phonebook, that translates website names into addresses that computers understand (i.e. using mDNS), which helps improve how users interact with the network. Looking forward, for businesses, the model plans to include rules that decide who can access which parts of the network, depending on their job role. @@ -47,7 +47,7 @@ We will not add this to the initial prototype... ### NixOS as the Operating System -* Motivation: 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 by the use of configuration management. These systems require years of experience and are therefore not approchable by normal users. The solution so far to this problem is to provide instead appliances that are massivly locked in functionality or platforms they support. +* Motivation: 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 by the use of configuration management. These systems require years of experience and are therefore not approchable by normal users. The solution so far to this problem is to provide instead appliances that are massivly locked in functionality or platforms they support. * To overcome these limitations, we propose NixOS. * NixOS is an operating system that uses a single declarative and consistent configuration to describe the whole system using its own programming language called Nix * While Nix is not necessarily more user-friendly, we believe it's still the best fit to be configured through graphical user interface for the following reasons: The underlying data structures is simple enough to be generated from a user interface / assistant. Because it's declarative unlike other many configuration management systems, different modules can be composed and applied in any order. @@ -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 interface where they also would be notified about devices not being backed up and 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 interface where they also would be notified about devices not being backed up and 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. @@ -82,7 +82,7 @@ It is possible for users to back up devices in their global network, regardless ### Base-OS -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 knowledge, including a degree of proficiency in its unique programming language. However, our solution cLan aims to simplify this process, enabling even non-technical individuals 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 knowledge, including a degree of proficiency in its unique programming language. However, our solution cLAN aims to simplify this process, enabling even non-technical individuals to successfully install the system. Several approaches can be considered to simplify the Base OS installation process: @@ -111,16 +111,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 = { @@ -128,7 +128,7 @@ an example flake.nix for a virtual machine network: enable = true; sharedFolders = [ "/shared/docs" ]; }; - mumbleClient.server = "mumble.cLan"; + mumbleClient.server = "mumble.cLAN"; }; }; }; @@ -162,11 +162,11 @@ the upper flake.nix can also be split into a boilerplate flake.nix and a json, w ```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)); }; } ``` @@ -185,7 +185,7 @@ configs.json "sharedFolders": [ "/shared/docs" ] }, "mumbleClient": { - "server": "mumble.cLan" + "server": "mumble.cLAN" } } }