Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/revanced/revanced-api

🚀 API server for ReVanced
https://github.com/revanced/revanced-api

api kotlin revanced

Last synced: 3 months ago
JSON representation

🚀 API server for ReVanced

Awesome Lists containing this project

README

        













   





   





   





   





   





   










Continuing the legacy of Vanced

# 🚀 ReVanced API

![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/ReVanced/revanced-api/release.yml)
![AGPLv3 License](https://img.shields.io/badge/License-AGPL%20v3-yellow.svg)

API server for ReVanced.

## ❓ About

ReVanced API is a server that is used as the backend for ReVanced.
ReVanced API acts as the data source for [ReVanced Website](https://github.com/ReVanced/revanced-website) and powers [ReVanced Manager](https://github.com/ReVanced/revanced-manager)
with updates and ReVanced Patches.

## đŸ’Ē Features

Some of the features ReVanced API include:

- đŸ“ĸ **Announcements**: Post and get announcements grouped by channels
- ℹī¸ **About**: Get more information such as a description, ways to donate to,
and links of the hoster of ReVanced API
- 🧩 **Patches**: Get the latest updates of ReVanced Patches, directly from ReVanced API
- đŸ‘Ĩ **Contributors**: List all contributors involved in the project
- 🔄 **Backwards compatibility**: Proxy an old API for migration purposes and backwards compatibility

## 🚀 How to get started

ReVanced API can be deployed as a Docker container or used standalone.

## đŸŗ Docker

To deploy ReVanced API as a Docker container, you can use Docker Compose or Docker CLI.
The Docker image is published on GitHub Container registry,
so before you can pull the image, you need to [authenticate to the Container registry](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry).

### 🗄ī¸ Docker Compose

1. Create an `.env` file using [.env.example](.env.example) as a template
2. Create a `configuration.toml` file using [configuration.example.toml](configuration.example.toml) as a template
3. Create a `docker-compose.yml` file using [docker-compose.example.yml](docker-compose.example.yml) as a template
4. Run `docker-compose up -d` to start the server

### đŸ’ģ Docker CLI

1. Create an `.env` file using [.env.example](.env.example) as a template
2. Create a `configuration.toml` file using [configuration.example.toml](configuration.example.toml) as a template
3. Start the container using the following command:
```shell
docker run -d --name revanced-api \
# Mount the .env file
-v $(pwd)/.env:/app/.env \
# Mount the configuration.toml file
-v $(pwd)/configuration.toml:/app/configuration.toml \
# Mount the persistence folder
-v $(pwd)/persistence:/app/persistence \
# Expose the port 8888
-p 8888:8888 \
# Use the start command to start the server
-e COMMAND=start \
# Pull the image from the GitHub Container registry
ghcr.io/revanced/revanced-api:latest
```

## đŸ–Ĩī¸ Standalone

To deploy ReVanced API standalone, you can either use the pre-built executable or build it from source.

### đŸ“Ļ Pre-built executable

A Java Runtime Environment (JRE) must be installed.

1. [Download](https://github.com/ReVanced/revanced-api/releases/latest) ReVanced API to a folder
2. In the same folder, create an `.env` file using [.env.example](.env.example) as a template
3. In the same folder, create a `configuration.toml` file
using [configuration.example.toml](configuration.example.toml) as a template
4. Run `java -jar revanced-api.jar start` to start the server

### 🛠ī¸ From source

A Java Development Kit (JDK) and Git must be installed.

1. Run `git clone [email protected]:ReVanced/revanced-api.git` to clone the repository
2. Copy [.env.example](.env.example) to `.env` and fill in the required values
3. Copy [configuration.example.toml](configuration.example.toml) to `configuration.toml` and fill in the required values
4. Run `gradlew run --args=start` to start the server

## 📚 Everything else

### 📙 Contributing

Thank you for considering contributing to ReVanced API. You can find the contribution guidelines [here](CONTRIBUTING.md).

### 🛠ī¸ Building

To build ReVanced API, a Java Development Kit (JDK) and Git must be installed.
Follow the steps below to build ReVanced API:

1. Run `git clone [email protected]:ReVanced/revanced-api.git` to clone the repository
2. Run `gradlew build` to build the project

## 📜 Licence

ReVanced API is licensed under the AGPLv3 licence. Please see the [licence file](LICENSE) for more information.
[tl;dr](https://www.tldrlegal.com/license/gnu-affero-general-public-license-v3-agpl-3-0) you may copy, distribute and
modify ReVanced API as long as you track changes/dates in source files.
Any modifications to ReVanced API must also be made available under the GPL along with build & install instructions.