Skip to content

Latest commit

 

History

History
executable file
·
82 lines (70 loc) · 5.19 KB

README.md

File metadata and controls

executable file
·
82 lines (70 loc) · 5.19 KB

CATnet

CATNET Logo License Stars Watchers Forks Code Factor Grade Linux Supported! MacOS Supported! Fuck Windows! Last Commit AUR Last Modified

CATnet is a more desentralized web for a more modern age.

User use

Cloning

Either download a .tar.gz/.zip from the green download button above, or clone via git: Cloning

git clone https://github.com/ZincSoft/CATNET.git

Building

CATnet uses the Meson build system, because quite simply, it is one of the best build systems for C++. But you're not here to find out why Meson is so awesome, you just want to build CATnet. To build CATnet, you must have Meson and Ninja installed on your system. If on Linux, just install your distros meson package, and ninja will be installed along side it. Same on Mac OS. On Windows, winget doesn't have a package for it. Please look up installation directions for Meson and Ninja on Windows. Or throw your Windows cursed hard drive in a bin. Either works.
As of now, you need to libraries installed: LibSodium and Google Protobuf. In the future, we hope to include these in the project so you won't have to download and install them seperate. Your package manager should have packages for them. The following is how to build CATnet. Also, you need a swift compiler. This is not techinically needed on Linux, but due to limitations of Meson, you we have to require the same compilers on all platforms. Building

meson build --buildtype=release
cd build
ninja

Use

Participant

Look at the help menu, then run with the flags/arguments you want! Participant

catnetd participant --help

Registrar

Look at the help menu, then run with the flags/arguments you want! Registrar

catnet registrar --help

Software Development

Usefull flags

During development of CATnet, you may wish these flags:

  • -l0, enables all levels of logging. Please note that trace and info logging are disabled in release builds.
  • -Denable-docs, pass this to meson while configuring to also generate docs inside build/src/docs/html

Building

The way to build CATnet is basically the same as how a regular user would, but instead of running meson build you run meson build --buildtype=debug

Logging

Please see src/logging/include/log.hpp to see the macros availble. Please choose the right one.

Code Guidelines

In order to make CATnet easier to maintain and understand, we follow the CppCoreGuidelines. If you need to find out how to style a specific C++ feature, please use your browsers built in search function, or clone it onto your system and find . | grep x. The first time you use a feature (even if it is trivial, such as function declaration), please look up the prefered way to use it in the guidelines.

Git Workflow

Pretend the other people working on this code base are insane, have a shotgun, and know where you live. As such, please follow WORKFLOW.MD.

Specification

Here is a link to our specifications document.

Contributing

GitHub last commit GitHub commit activity the past week, 4 weeks GitHub commits since Issues
Pull Requests PR's Welcome :D
Thank you for even considering contributing to this project. At this time, we will NOT be merging pull requests that are linked to issues that themselves are linked to a certain project. We are, however, eternally greatfull for bug fixes.