Tasin5541 / docker-py-revanced

Python util to build Revanced apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker-Py-ReVanced

A little python script that will help you in building Revanced apps directly from GitHub. This fork support Youtube, Youtube Music, twitter, reddit, tiktok and WARNWETTER. The original script documentation is not as detailed as this one for newbies. So read the following. This fork has cleaned some unuseful actions like post to telegram and check APK with Virus Total api.

Build

🚀 In GitHub (Recommended)

  1. Fork the project image

  2. Add following repository secrets

    • GH_TOKEN (required) - GitHub token so that it can upload to GitHub and create release after building. See how to generate token here.
    • ENVS (optional but I recommand to custom as below) - required only if you want to cook specific apps/versions.
    🛈 How to
    • Go to the repo settings to create the secret variables step_1 step_2

    • ENVS secret might look like this (You should copy your ENVS content somewhere before saving because secret var can not be edited or copied after. You’ll have to click update to recreate from blank if you want change your ENVS settings.)

      PATCH_APPS=youtube,twitter
      EXCLUDE_PATCH_YOUTUBE=hide-cast-button,hide-autoplay-button,premium-heading,disable-fullscreen-panels,old-quality-layout,tablet-mini-player,always-autorepeat,enable-debugging,hide-infocard-suggestions
      EXCLUDE_PATCH_YOUTUBE_MUSIC=yt-music-is-shit
      YOUTUBE_VERSION=17.32.39
      YOUTUBE_MUSIC_VERSION=latest
      TWITTER_VERSION=latest    
  3. Go to actions tab. Select Build Revanced APK. Click on Run Workflow.

    • It can take a few minute to start. Just be patient.
    📖 See report
    • access logs action_1 action_2 action_3
  4. If the building process is successful, you’ll get your APKs in the releases

    • image

Note

By default, script builds the version as recommended by Revanced team.

  1. Supported values for <REVANCED_APPS_NAME> are :
    • youtube
    • youtube_music
    • twitter
    • reddit
    • tiktok
    • warnwetter
  2. If you want to build a specific version . Add version in environment 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
    Check available versions on APKMirror.
  3. If you want to a latest version, whatever latest is available (including beta) . Add latest in environment 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   
  4. 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 environment in the format
    PATCH_APPS=<REVANCED_APPS_NAME>
    Example:
    PATCH_APPS=youtube,twitter
  5. 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 environment like
     KEYSTORE_FILE_NAME=revanced.keystore
  6. If you want to exclude any patch. Set comma separated patch in environment 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
    Patches list available for all supported apps are here.
  7. By default, the --experimental flag is used to allow patching new but untested apps releases. There is two ways to force the script only patches the apps releases supported and tested by ReVanced.
    1. Create a new ENVS and use <APPNAME>_VERSION=<VERSION>
    2. Edit the main.py file line 376 to change is_experimental = True to is_experimental = False

Generate Token

  1. Go to your account setting → developper settings (at the bottom of the page)
  2. Give it a meaningful name token 1
  3. Grant those permissions and valid token 2

Back to top

Thanks to @aliharslan0 for his work.

About

Python util to build Revanced apps

License:GNU General Public License v3.0


Languages

Language:Python 88.4%Language:Dockerfile 9.3%Language:Shell 2.3%