Skip to main content
Titanis ships as a set of standalone executables built for Windows and Linux. You do not need to install the .NET 8 runtime separately — each binary is self-contained.
If you prefer to build Titanis yourself from source, see Building from Source instead.

Download the binaries

1

Download the latest release archive

Go to the Titanis releases page on GitHub and download the archive for your platform.Each release includes a zip or tarball containing all CLI tool binaries pre-compiled for both Windows and Linux.
2

Extract the archive

Extract the archive to a directory of your choice.
tar -xzf titanis-<version>-linux.tar.gz -C ~/titanis
3

Make executables runnable (Linux only)

On Linux, the extracted files do not have the execute bit set. You must add it before running any tool:
# Make a single tool executable
chmod +x ~/titanis/Smb2Client/Smb2Client

# Or make all tools executable at once
find ~/titanis -type f ! -name "*.*" -exec chmod +x {} \;
On Linux, skipping chmod +x will result in a Permission denied error when you try to run a tool.
4

(Optional) Add the tool directories to your PATH

To run Titanis tools from any working directory, add them to your PATH.
Add the following to your ~/.bashrc, ~/.zshrc, or equivalent shell profile:
export PATH="$PATH:$HOME/titanis/Smb2Client"
# Repeat for each tool you use frequently
Then reload your shell:
source ~/.bashrc
5

Verify the installation

Run any tool with the -? flag to confirm it is working correctly:
./Smb2Client -?
If the tool prints its help text, the installation is working.

Setting up KRB5CCNAME

Titanis uses the KRB5CCNAME environment variable to determine where Kerberos credentials are stored and read from. Setting this variable is strongly recommended when working with Kerberos authentication.
Use one ccache file per identity. This lets you switch between credentials without re-authenticating by updating KRB5CCNAME to point to the appropriate file.
Set KRB5CCNAME in your shell profile for a persistent default, or export it inline for a specific session:
# Persistent default in ~/.bashrc or ~/.zshrc
export KRB5CCNAME=/home/user/.creds/adminuser.ccache

# Session-scoped override
KRB5CCNAME=/home/user/.creds/serviceaccount.ccache ./Smb2Client ...
Titanis stores tickets received from the KDC in the file pointed to by KRB5CCNAME and reuses them automatically for subsequent commands. If you need to use multiple identities simultaneously, create a separate .ccache file for each and update KRB5CCNAME accordingly.

Cross-platform support

Titanis targets .NET 8 and runs on Windows and Linux without modification. The same tool binaries work identically across platforms — all protocol implementations, authentication methods, and output formats are available on both operating systems.
macOS is not an officially supported platform, though .NET 8 itself runs on macOS. Your mileage may vary.

Next steps

User Guide

Learn the command line syntax, authentication options, and how to use each tool.

Building from Source

Compile Titanis yourself to get the latest changes or modify the code.

Build docs developers (and LLMs) love