{"id":18472357,"url":"https://github.com/m4heshd/ufc-ripper","last_synced_at":"2025-04-08T11:32:51.212Z","repository":{"id":177439250,"uuid":"539711518","full_name":"m4heshd/ufc-ripper","owner":"m4heshd","description":"📹 Video downloader tool for UFC Fight Pass 🥊","archived":false,"fork":false,"pushed_at":"2025-01-29T03:58:37.000Z","size":3346,"stargazers_count":39,"open_issues_count":2,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-05T22:03:27.696Z","etag":null,"topics":["axum","ffmpeg","media-processing","mma","nodejs","rust","tokio","ufc","video","video-downloader","video-processing","vue","youtube-dl","yt-dlp"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m4heshd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"m4heshd","ko_fi":"m4heshd","custom":"https://www.paypal.me/m4heshdtt"}},"created_at":"2022-09-21T22:46:47.000Z","updated_at":"2025-04-01T03:43:07.000Z","dependencies_parsed_at":"2023-10-03T04:54:51.964Z","dependency_job_id":"2af56122-332f-4595-b043-71f4eda3a0db","html_url":"https://github.com/m4heshd/ufc-ripper","commit_stats":null,"previous_names":["m4heshd/ufc-ripper"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4heshd%2Fufc-ripper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4heshd%2Fufc-ripper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4heshd%2Fufc-ripper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m4heshd%2Fufc-ripper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m4heshd","download_url":"https://codeload.github.com/m4heshd/ufc-ripper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247834247,"owners_count":21003936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axum","ffmpeg","media-processing","mma","nodejs","rust","tokio","ufc","video","video-downloader","video-processing","vue","youtube-dl","yt-dlp"],"created_at":"2024-11-06T10:19:54.496Z","updated_at":"2025-04-08T11:32:51.205Z","avatar_url":"https://github.com/m4heshd.png","language":"Rust","funding_links":["https://github.com/sponsors/m4heshd","https://ko-fi.com/m4heshd","https://www.paypal.me/m4heshdtt"],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"project-res/images/ufcr-banner.svg\" width=\"500px\" alt=\"UFC Ripper\"\u003e\n    \u003cbr\u003e\n    \u003cimg height=\"35\"\u003e\n    UFC Ripper: 📹 Video downloader tool for \u003ca href=\"https://ufcfightpass.com\"\u003eUFC Fight Pass\u003c/a\u003e 🥊\n    \u003cbr\u003e\n    \u003cimg height=\"40\"\u003e\n    \u003c!--badges--\u003e\n    \u003ca href=\"https://github.com/m4heshd/ufc-ripper/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/downloads/m4heshd/ufc-ripper/total?logo=github\u0026color=0344ab\u0026style=for-the-badge\" alt=\"ufc-ripper total downloads\"\u003e\n    \u003c/a\u003e \u003c!--Downloads--\u003e\n    \u003ca href=\"https://hub.docker.com/r/m4heshd/ufc-ripper\"\u003e\n        \u003cimg src=\"https://img.shields.io/docker/pulls/m4heshd/ufc-ripper?logo=docker\u0026color=0db7ed\u0026style=for-the-badge\" alt=\"ufc-ripper on Docker Hub\"\u003e\n    \u003c/a\u003e \u003c!--Docker--\u003e\n    \u003ca href=\"https://github.com/m4heshd/ufc-ripper/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/m4heshd/ufc-ripper?color=41b883\u0026style=for-the-badge\" alt=\"ufc-ripper license\"\u003e\n    \u003c/a\u003e \u003c!--License--\u003e\n    \u003ca href=\"https://paypal.variatix.net\"\u003e\n        \u003cimg src=\"https://img.shields.io/static/v1?logo=paypal\u0026label=%E2%80%8B\u0026message=PayPal\u0026color=blue\u0026style=for-the-badge\" alt=\"PayPal\"\u003e\n    \u003c/a\u003e \u003c!--PayPal--\u003e\n    \u003ca href=\"https://ko-fi.variatix.net\"\u003e\n        \u003cimg src=\"https://img.shields.io/static/v1?logo=ko-fi\u0026label=%E2%80%8B\u0026message=Ko-fi\u0026color=ff5e5b\u0026style=for-the-badge\" alt=\"Ko-fi\"\u003e\n    \u003c/a\u003e \u003c!--Ko-fi--\u003e\n    \u003cbr\u003e\n    \u003cbr\u003e\n    \u003ca href=\"https://t.me/+1aacMrVWdr1jOWY1\"\u003e\n        \u003cimg src=\"https://img.shields.io/static/v1?logo=telegram\u0026label=%E2%80%8B\u0026message=Telegram group\u0026color=2592c8\u0026style=for-the-badge\" alt=\"UFC Ripper Telegram support group\"\u003e\n    \u003c/a\u003e \u003c!--Telegram--\u003e\n    \u003ca href=\"https://discord.gg/cQeXkvxCMn\"\u003e\n        \u003cimg src=\"https://img.shields.io/static/v1?logo=discord\u0026label=%E2%80%8B\u0026message=Discord\u0026color=5865f2\u0026style=for-the-badge\" alt=\"UFC Ripper Discord server\"\u003e\n    \u003c/a\u003e \u003c!--Discord--\u003e\n    \u003c!----------\u003e\n\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cbr\u003e\n    \u003cimg src=\"project-res/images/ufcr-repo-demo.gif\" alt=\"UFC Ripper demo\"\u003e\n    \u003cbr\u003e\n\u003c/p\u003e\n\n### What is UFC Ripper?\n\nAn open-source video downloader tool for UFC Fight Pass, powered by [**Rust**](https://www.rust-lang.org/)\nand [**Vue**](https://vuejs.org/), that can run on both the desktop and the cloud. The only thing it can't do is STEAL\nvideos free of charge for you. A **paid Fight Pass subscription** is required for this tool to work.\n\n### [👉🏻 Read about UFC Ripper on TorrentFreak.](https://torrentfreak.com/ufc-ripper-tool-can-download-ufc-fight-pass-streams-240524/)\n\n\u003e [!WARNING]\n\u003e### Intellectual property (DISCLAIMER) ⚠️\n\u003e\n\u003eThe UFC logo and the UFC Fight Pass logo used in this project are intellectual properties of Zuffa LLC.\n\u003e\n\u003eThe user will be responsible for any content downloaded through this tool. Redistribution of that content in any form\n\u003e is illegal, and this application or I (the developer) will not be liable for that.\n\n### Dear Dana White,\n\nThis isn't a tool created for pirating your copyrighted content. This tool requires a **PAID FIGHT PASS SUBSCRIPTION**\nto function. This merely eliminates the need to stream a massive amount of data through metered connections every time\nyou want to go back and watch your favorite fighters. I want your fighters to be paid more. Not less. This tool is not\nin any way meant to rob you or them of any revenue coming in.\n\nThe whole reason for me to create this tool is for my own need. I live in a third-world country that was destroyed by\npoliticians. That made internet services more of a luxury than a right for the people of this country. Our internet\nconnections are very spotty and extremely limited. 1GB of data here costs more than a meal. Imagine that. I also travel,\nand the only thing that can keep me entertained is some UFC. But how do I watch UFC if I can hardly find 4G\ncoverage in my messed-up land? 🤷🏽\n\nThe thing about Fight Pass is, you can't control how much of your quota it's going to burn. Also, repeated viewings\nwaste a ton of data. But my love for MMA and UFC is unconditional. So I decided to whip up this tool to eliminate all of\nthese mentioned issues. Then I thought, \"Why not share this with the world? There might be a ton of other people like me\naround the world\". So here we are. Hope you'd understand Dana. 🙂\n\n# Support this project 🙏🏽\n\nI get it, this isn't a well-done tool. The code isn't super tidy, no tests, a lot of missing stuff, and a few bugs here\nand there. But this COULD improve a lot. Working on this project requires a lot of time and energy.\n\nYou can help me by buying me a few coffees ☕, so I'm all buzzed up and got time to work on this further.\nOr you can send a few monies my way to simply say thanks for the work that's already been done.\n\n**Wise is the preferred method for donations because PayPal takes a huge chunk (~22%) off of every donation _(ko-fi also uses PayPal)_.**\n\n[![Donate to m4heshd on Wise](https://i.ibb.co/s9nT2hfp/donate-on-wise.png)](https://wise.variatix.net/)\n\nOther donation methods:\n\n[![Donate to m4heshd](https://i.ibb.co/8PgVcwK/Paypal.png)](https://paypal.variatix.net)\n\nOr you can buy me a \"ko-fi\" by clicking this button\n\n[![ko-fi](https://i.ibb.co/QmQknmc/ko-fi.png)](https://ko-fi.variatix.net)\n\n# Join the conversation 💬\n\nWe have two social groups dedicated to any discussion regarding UFC Ripper.\n\n- ### Discord:\n  [![UFC Ripper Discord server](https://img.shields.io/static/v1?logo=discord\u0026label=%E2%80%8B\u0026message=Discord\u0026color=5865f2\u0026style=for-the-badge)](https://discord.gg/cQeXkvxCMn)\n\n- ### Telegram:\n  [![UFC Ripper Telegram support group](https://img.shields.io/static/v1?logo=telegram\u0026label=%E2%80%8B\u0026message=Telegram%20group\u0026color=2592c8\u0026style=for-the-badge)](https://t.me/+1aacMrVWdr1jOWY1)\n\n# How to use?\n\n## Installation\n\n\u003e [!NOTE]\n\u003e UFC Ripper is currently only available for Windows and Linux systems, only in `x64`. It can also be run on the cloud\n\u003e as a docker container.\n\n### Desktop\n\nUFC Ripper is available on desktop, both as an Installer _(Windows)_ and a portable app.\n\n1. Download the latest release corresponding to your system,\n    - ### [Windows (x64) [Installer]](https://github.com/m4heshd/ufc-ripper/releases/download/v3.1.0/ufc-ripper_3.1.0_x64-setup.exe)\n    - ### [Windows (x64) [Portable]](https://github.com/m4heshd/ufc-ripper/releases/download/v3.1.0/ufc-ripper-v3.1.0-win32-x64.zip)\n    - ### [Linux (x64) [Portable]](https://github.com/m4heshd/ufc-ripper/releases/download/v3.1.0/ufc-ripper-v3.1.0-linux-x64.zip)\n\n2. Run the installer or extract the content of the zip file to anywhere you like\n\n3. Run the executable file (`ufc-ripper.exe` or `ufc-ripper`) _(Installer version should have a shortcut on the start\n   menu)_\n\n4. Open the browser and visit the URL shown in the console window. _(it should automatically open on the default\n   browser)_\n\n5. The first run might ask you to download some third-party tools used by UFC Ripper. Click yes, and it will\n   automatically download the latest versions from [media-tools](https://github.com/m4heshd/media-tools) repo.\n\n### Docker\n\n\u003e [!NOTE]\n\u003e Currently, the docker image is only built for `linux/amd64` systems which means it cannot be run on ARM-based systems\n\u003e like Raspberry Pis.\n\nYou can either build the docker image locally and run using [`docker-compose.yaml`](docker-compose.yaml) or use the\npublished [official image](https://hub.docker.com/r/m4heshd/ufc-ripper).\n\nTo build and run locally, simply run `npm run docker:up`.\n\nHere's a docker-compose template for you lazies out there.\n\n```yaml\nversion: \"3\"\n\nservices:\n  ufc-ripper:\n    image: m4heshd/ufc-ripper:latest # Using the latest version of the official image\n    container_name: ufc-ripper\n    restart: unless-stopped\n    volumes:\n      - ./config:/ufcr/config # Any configuration files will be stored here\n      - ~/Downloads/ufc-ripper:/downloads # Downloaded videos will be stored here\n    ports:\n      - \"8383:8383\" # Web UI port\n```\n\nThat's it.\n\n## Usage\n\n\u003e [!IMPORTANT]\n\u003e You need to have a UFC Fight Pass account with a **paid subscription**, and to be logged into that account to use UFC\n\u003e Ripper.\n\n1. Open up the GUI in the browser and go into Configuration (⚙️ button) and log in with your UFC Fight Pass account\n   using the \"Fight Pass account\" section.\n\n2. Once successfully logged in, you can search for videos and download them, or copy and paste a link to a UFC Fight\n   Pass video in the \"Link\" input and hit the download button.\n\n3. Optionally, look through the configuration to change any download settings (video quality, audio quality, etc..) to\n   your needs\n\n## Mention-worthy features\n\n### Advanced search\n\nIf you have ever used UFC Fight Pass search, you know how difficult it is to find the video you're actually looking for\non there. But not to worry because UFC Ripper supports much more advanced and precise searching of the Fight Pass\nlibrary than UFC Fight Pass itself.\n\nYou can restrict the search algorithm to only look inside the event titles which would result in way more accurate\nresults, or you can use advanced query syntax like double quotes and negative symbol like you would on Google search.\n\n### Streaming\n\nUFC Ripper can stream videos directly, right from the search results. The advantage of streaming in UFC Ripper is you're\nthe one in control. You can force the player to stream the video in your preferred settings, unlike the UFC Fight Pass.\nYou choose how much of your data quota you'll be burning to watch a video.\n\n### Concurrent multi-fragment downloads\n\nUFC Fight Pass streams are very heavily limited to slower bandwidths. But these streams are broken down to little\nfragments. This feature allows you to download the given number of fragments concurrently, which multiplies the speed of\ndownloads by the number of allowed concurrent fragment downloads. You can set the amount in the configuration as you\nwish.\n\n### Proxy support\n\nThis might come in handy when you run UFC Ripper as a docker container in the cloud because the service blocks any\nrequests initiated using a datacenter IP address.\n\nIf you set up a proxy, UFC Ripper will forward all API requests through that proxy server. Remember, only the API\nrequests will go through the proxy. Not the downloads. This also means that your proxy server will hardly have to\ntransfer any data through it.\n\n### File numbering\n\nUFC Ripper can automatically number each download incrementally. Let's say you discovered a fighter you haven't watched\nbefore and interested in watching all of their fights in order. This feature would be beneficial in an event like that.\n\n## Development\n\nYou need to have the Rust compiler, platform build-tools, and Node.js (\u003e=18) installed locally to develop, compile,\nand package this project yourself.\n\n1. Run `git clone https://github.com/m4heshd/ufc-ripper.git`\n\n2. `cd` into the `ufc-ripper` directory and run `npm install`\n\nThat's it. Now you're ready to go.\n\n**To run for development,**\n\nIn development mode, the backend is set to run on port `8383` and the frontend is set to run on port `8384`.\nYou can change this behavior by editing the port in `config.json`, `frontend/.env` and `vite.config.mjs`\n\n1. Run `npm run dev` to start the frontend and the backend with Vue HMR support\n\n2. Open the browser and visit `http://localhost:8384/` _(if you visit `http://localhost:8383/`, you'll be viewing the\n   production version of the frontend without the HMR support instead)_\n\n**To package the application for production,**\n\n1. Run `npm run build:backend:win32` or `npm run build:backend:linux` to build both the frontend and the backend\n\n2. Run `npm run pack:win32` or `npm run pack:linux` (packaging process is NOT cross-platform compatible)\n\n**To build and run the docker container,**\n\n1. Run `npm run build:backend:linux`\n\n2. Run `npm run pack:linux`\n\n3. Run `npm run docker:up`\n\n# Future improvements planned\n\n- [x] Rewrite the backend in Rust\n- [x] Ability to search the Fight Pass library right from UFC Ripper\n- [x] Migrate to Vite (dev)\n- [x] Support for concurrent multi-fragment download\n- [x] Ability to restart failed/canceled downloads\n- [x] Support for downloading custom formats\n- [x] Support for streaming VODs\n- [ ] Support for more architectures, including ARM-based systems\n- [ ] Mobile-responsive Web UI\n- [ ] Make completed files downloadable right from the UFC Ripper Web UI (hosted)\n- [ ] Authentication support using username and password for the Web UI (hosted)\n\n# Attribution\n\nUFC Ripper uses a lot of third-party open-source tools to work. Following is a list.\n\n- [yt-dlp](https://github.com/yt-dlp/yt-dlp)\n- [FFmpeg](https://ffmpeg.org/)\n- [AtomicParsley](https://github.com/wez/atomicparsley)\n\nThank you to all the developers of these projects for their hard work. 🙏🏽\n\n# License\n\nThis project is licensed under [MIT License](LICENSE). Use and alter at your wish.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm4heshd%2Fufc-ripper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm4heshd%2Fufc-ripper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm4heshd%2Fufc-ripper/lists"}