# mesk **Mesk is a source-based package manager based on i2p protocols, tailored for independence and the absence of spyware.** > [!wARNING] > **It's hard to find a really working and at least** > **somehow documented i2p client library for absolutely any language.** > **But still, it was found in [emissary-core](https://github.com/altonen/emissary).** > **Big thanks from us all us! ❤️** **Themes:** - support us - policy in writing software # Package Structure `.mesk` - **is a compressed gzip tarball containing information on how to build, configure and install it**. ``` # Example file-tree of package.mesk . ├── BUILD ├── INSTALL ├── LICENSE ├── Makefile ├── SETTS └── src ├── some_code.c └── some_code.rs ``` - **BUILD:** Not required if the package does not require compilation/other assembly - **INSTALL:** Where or how to install the package? For example, you can just leave make install and the package will be installed by make, not mesk. - **SETTS:** What needs to be configured after installation? For example, install basic configurations (if this is not done in `INSTALL`) or export environment variables. **Binary packages are also supported, but the default installation is source-based.** You can set the package compilation parameters in the global /etc/mesk.toml. (Read more in the documentation.) For example, the compiler, optimization level settings, etc. Here we are similar to portage. The `.mesk` package can be generated automatically, given that the software is open source and based on standard build systems: `make`, `CMake`, `meson`, `cargo`. If the package does not require compilation, you must specify how and where to install it. **We only support open source software.** Binary builds of proprietary applications will not appear in the official repositories, but, for example, there will be open clients for messengers with a closed backend.