# Linux

A Linux release of OF-DL is not available at this time, however you can run OF-DL on Linux using Docker.
Please refer to the [Docker](/installation/docker) page for instructions on how to run OF-DL in a Docker container.
If you do not have Docker installed, you can download it from [here](https://docs.docker.com/desktop/install/linux-install/).
If you would like to run OF-DL natively on Linux, you can build it from source by following the instructions below.

## Building from source

- Install FFmpeg (and FFprobe)

Follow the installtion instructions from FFmpeg ([https://ffmpeg.org/download.html](https://ffmpeg.org/download.html)) for your distro (Ubuntu, Debian, Fedora, etc.) to install FFmpeg and FFprobe

!!! warning

    Be sure to install FFmpeg version >= 6 and < 8. Other versions of FFmpeg may not decrypt DRM protected videos correctly.

- Install .NET 10

Follow the installation instructions from Microsoft ([https://learn.microsoft.com/en-us/dotnet/core/install/linux](https://learn.microsoft.com/en-us/dotnet/core/install/linux)) for your distro (Ubuntu, Debian, Fedora, etc.) to install .NET 10.

- Clone the repo

```bash
git clone https://git.ofdl.tools/sim0n00ps/OF-DL.git
cd 'OF-DL'
```

- Build the project. Replace `%VERSION%` with the current version number of OF-DL (e.g. `1.9.20`).

```bash
dotnet publish "OF DL/OF DL.csproj" -p:Version=%VERSION% -p:PackageVersion=%VERSION% -c Release
cd 'OF DL/bin/Release/net10.0'
```

- Download the windows release as described on [here](/installation/windows#installation).

- Add the `config.conf` and `rules.json` files as well as the `cdm` folder to the `OF DL/bin/Release/net10.0` folder.

- Run the application

```bash
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 ./'OF DL'
```
