Repository: yt-dlp
Issue: Site Support Request for Fansly.com (NSFW)
Labels: site-request,NSFW,account-needed,triage,can-share-account

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [X] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

United States

### Example URLs

- Single video: https://fansly.com/post/713619348626874370
- Live stream, username version: https://fansly.com/live/YuukoVT
- Live stream, user ID version: https://fansly.com/live/419672342336118784

### Provide a description that is worded well enough to be understood

Fansly is a livestream platform for content creators. There is a combination of SFW and NSFW content. I would like to be able to record free livestreams of interest using yt-dlp, but it fails at the task.

Fansly also has vods of past streams. It would be helpful to be able to record these as well.

For testing yt-dlp, discovering currently live streams on fansly is a challenge because there is no global list of everyone who is live. However, the webapp will suggest live channels you are following. This means that it's best to follow many channels so at any given time you have a good chance of having one of your followed channels being live. I have an account following hundreds of channels which I would be willing to share.

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [X] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
[debug] Command-line config: ['-vU', 'https://fansly.com/live/YuukoVT']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2024.07.25 from yt-dlp/yt-dlp [f0993391e] (zip)
[debug] Python 3.12.6 (CPython x86_64 64bit) - Linux-6.10.13-3-MANJARO-x86_64-with-glibc2.40 (OpenSSL 3.3.2 3 Sep 2024, glibc 2.40)
[debug] exe versions: ffmpeg 7.0.2 (setts), ffprobe 7.0.2, rtmpdump 2.4
[debug] Optional libraries: certifi-2024.08.30, requests-2.32.3, secretstorage-3.3.3, sqlite3-3.46.1, urllib3-1.26.20
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests
[debug] Loaded 1829 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] Downloading _update_spec from https://github.com/yt-dlp/yt-dlp/releases/latest/download/_update_spec
[debug] Downloading SHA2-256SUMS from https://github.com/yt-dlp/yt-dlp/releases/download/2024.11.04/SHA2-256SUMS
Current version: stable@2024.07.25 from yt-dlp/yt-dlp
Latest version: stable@2024.11.04 from yt-dlp/yt-dlp
Current Build Hash: 72a16e7a277643eb9e42046737e263e63ec75c6e4532914c918883ebe64db527
Updating to stable@2024.11.04 from yt-dlp/yt-dlp ...
[debug] Downloading yt-dlp from https://github.com/yt-dlp/yt-dlp/releases/download/2024.11.04/yt-dlp
Updated yt-dlp to stable@2024.11.04 from yt-dlp/yt-dlp
[debug] Restarting: python3 /home/cj/.local/bin/yt-dlp -vU https://fansly.com/live/YuukoVT
[debug] Command-line config: ['-vU', 'https://fansly.com/live/YuukoVT']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2024.11.04 from yt-dlp/yt-dlp [197d0b03b] (zip)
[debug] Python 3.12.6 (CPython x86_64 64bit) - Linux-6.10.13-3-MANJARO-x86_64-with-glibc2.40 (OpenSSL 3.3.2 3 Sep 2024, glibc 2.40)
[debug] exe versions: ffmpeg 7.0.2 (setts), ffprobe 7.0.2, rtmpdump 2.4
[debug] Optional libraries: certifi-2024.08.30, requests-2.32.3, secretstorage-3.3.3, sqlite3-3.46.1, urllib3-1.26.20
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2024.11.04 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2024.11.04 from yt-dlp/yt-dlp)
[generic] Extracting URL: https://fansly.com/live/YuukoVT
[generic] YuukoVT: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] YuukoVT: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://fansly.com/live/YuukoVT
Traceback (most recent call last):
  File "/home/cj/.local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1625, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cj/.local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1760, in __extract_info
    ie_result = ie.extract(url)
                ^^^^^^^^^^^^^^^
  File "/home/cj/.local/bin/yt-dlp/yt_dlp/extractor/common.py", line 742, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cj/.local/bin/yt-dlp/yt_dlp/extractor/generic.py", line 2553, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://fansly.com/live/YuukoVT
```