Skip to content

PrivateGER/docker-py-revanced

 
 

Repository files navigation

Docker-Py-ReVanced

A little python script that will help you in building Revanced and Revanced-Extended apps

Note - I prefer Revanced Extended more (for YouTube & YouTube Music) hence the YouTube and YouTube Music builds in this repo are from Revanced Extended.

Pre-Built APKs

You can get pre-built apks here

Build Yourself

You can use any of the following methods to build.

  • 🚀In GitHub (Recommended)
    1. Fork the project. image

    2. Add following secrets to the repo.

      1. GH_TOKEN (required) - GitHub token so that it can upload to GitHub after building. Click here to learn how to get that.
      2. VT_API_KEY (optional) - required only if you want Virus total scan.
      3. ENVS (optional) - required only if you want to cook specific apps/versions.
      🚶Detailed step by step guide
      • Go to the repo settings and then to actions->secret step_1
      • Add Repository secret step_2
    3. Go to actions tab. Select Build Revanced APK.Click on Run Workflow.

      1. It can take a few minute to start. Just be patient.
      🚶Detailed step by step guide
      • Go to actions tab action_0
      • Check the status of build, It should look green. action_1
      • Check logs if something fails. action_2 action_3
    4. If the building process is successful, you’ll get your APKs in the releases

      • apks
    5. Click on Build-<SomeRandomDate> and download the apk file.

🐳With Docker Compose
  1. Install Docker(Skip if already installed)
    curl -fsSL https://get.docker.com -o get-docker.sh
    sh get-docker.sh
  2. Grant Permissions with(Skip if already there)
     sudo usermod -a -G docker ec2-user
     sudo usermod -a -G docker $USER
     sudo chmod 777 /var/run/docker.sock
  3. Install Docker compose(Skip if already installed or using Docker Desktop)
    curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  4. Clone the repo
    git clone https://github.com/nikhilbadyal/docker-py-revanced
  5. cd to the cloned repo
    cd docker-py-revanced
  6. Run script with
    docker-compose up
🐳With Docker
  1. Install Docker(Skip if already installed)
    curl -fsSL https://get.docker.com -o get-docker.sh
    sh get-docker.sh
  2. Run script with
    docker run -v "$(pwd)"/apks:/app/apks/  nikhilbadyal/docker-py-revanced
    You can pass below envs with -e flag.
🫠Without Docker
  1. Install Java17 (zulu preferred)
  2. Install Python
  3. Create virtual environment
    python3 -m venv venv
    
  4. Activate virtual environment
    source venv/bin/activate
    
  5. Install Dependencies with
    pip install -r requirements.txt
    
  6. Run the script with
    python python main.py
    

Note

(Pay attention to 3,4)
By default, script build the version as recommended by Revanced team.

  1. Supported values for <REVANCED_APPS_NAME> are :

    1. youtube
    2. youtube_music
    3. twitter
    4. reddit
    5. tiktok
    6. warnwetter
    7. spotify
  2. Remember to download the Microg. Otherwise, you will not be able to open YouTube.

  3. By default, it will build all build app supported by Revanced team. If you don't want to waste time and build only few apps. Add the apps you want to build in .env file or in ENVS in GitHub secrets in the format

    PATCH_APPS=<REVANCED_APPS_NAME>

    Example:

    PATCH_APPS=youtube,twitter,reddit
  4. If you want to exclude any patch. Set comma separated patch in .env file or in ENVS in GitHub secrets (Recommended) in the format

    EXCLUDE_PATCH_<REVANCED_APPS_NAME>=<PATCH_TO_EXCLUDE-1,PATCH_TO_EXCLUDE-2>

    Example:

     EXCLUDE_PATCH_YOUTUBE=custom-branding,hide-get-premium
     EXCLUDE_PATCH_YOUTUBE_MUSIC=yt-music-is-shit

    If you are using Revanced Extended. Add _EXTENDED in exclude options. Example:

     EXCLUDE_PATCH_YOUTUBE_EXTENDED=custom-branding-red,custom-branding-blue,materialyou
     EXCLUDE_PATCH_YOUTUBE_MUSIC_EXTENDED=custom-branding-music
  5. If you want to build a specific version . Add version in .env file or in ENVS in GitHub secrets (Recommended) in the format

    <APPNAME>_VERSION=<VERSION>

    Example:

    YOUTUBE_VERSION=17.31.36
    YOUTUBE_MUSIC_VERSION=X.X.X
    TWITTER_VERSION=X.X.X
    REDDIT_VERSION=X.X.X
    TIKTOK_VERSION=X.X.X
    WARNWETTER_VERSION=X.X.X
    SPOTIFY_VERSION=X.X.X
  6. If you want to build latest version, whatever latest is available(including beta) . Add latest in .env file or in ENVS in GitHub secrets (Recommended) in the format

    <APPNAME>_VERSION=latest

    Example:

    YOUTUBE_VERSION=latest
    YOUTUBE_MUSIC_VERSION=latest
    TWITTER_VERSION=latest
    REDDIT_VERSION=latest
    TIKTOK_VERSION=latest
    WARNWETTER_VERSION=latest
    SPOTIFY_VERSION=latest
  7. If you don't want to use default keystore. You can provide your own by placing it inside apks folder. And adding the name of keystore-file in .env file or in ENVS in GitHub secrets (Recommended) in the format

     KEYSTORE_FILE_NAME=revanced.keystore
  8. If you want to use Revanced-Extended for YouTube and YouTube Music. Add the following adding in .env file or in ENVS in GitHub secrets (Recommended) in the format

     BUILD_EXTENDED=True

    or disable it with (default)

     BUILD_EXTENDED=True
  9. For Telegram Upload.

    1. Set up a telegram channel, send a message to it and forward the message to this telegram bot
    2. Copy id and save it to TELEGRAM_CHAT_ID
      chat id
    3. TELEGRAM_BOT_TOKEN - Telegram provides BOT_TOKEN. It works as sender. Open bot and create one copy api key
      bot api
    4. TELEGRAM_API_ID - Telegram API_ID is provided by telegram here
      tg api
    5. TELEGRAM_API_HASH - Telegram API_HASH is provided by telegram here
      tg api hash
    6. After Everything done successfully the actions secrets of the repository will look something like
  10. Configuration defined in ENVS in GitHub secrets will override the configuration in .env file. You can use this fact to define your normal configurations in .env file and sometimes if you want to build something different just once. Add it in GitHub secrets or you can ignore .env file and always use GitHub secrets because to modify .env you need to modify the repo. Edit it and make a commit.

  11. If you want to build YouTube with original icon and custom branding icon both. Add BUILD_OG_BRANDING_YOUTUBE in .env file or in ENVS in GitHub secrets (Recommended) in the format

     BUILD_OG_BRANDING_YOUTUBE=True

    You can also specify the branding patch to use for custom icon build. This can be done with by adding BRANDING_PATCH in ENVS in GitHub secrets (Recommended) in the format

     BRANDING_PATCH=custom-branding-icon-blue
  12. You can build only for a particular arch in order to get smaller apk files.This can be done with by adding comma separated ARCHS_TO_BUILD in ENVS in GitHub secrets (Recommended) in the format.

     ARCHS_TO_BUILD=arm64-v8a,armeabi-v7a

    Possible values for ARCHS_TO_BUILD are: armeabi-v7a,x86,x86_64,arm64-v8a Make sure you are using revanced-extended as revanced doesn't support this.

  13. Sample Envs envs

Generate Token

  1. Go to your account developer settings. Click on generate new token.
  2. Give a nice name. and grant following permissions

Thanks to @aliharslan0 for his work.

About

One Click Python util to build all Revanced apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 91.4%
  • Dockerfile 5.7%
  • Shell 2.9%