Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Started getting error 403 when syncing youtube channels since 2024-12-21 15:00 UTC #1141

Open
christiansacks opened this issue Dec 23, 2024 · 4 comments

Comments

@christiansacks
Copy link

Hi there,

For some reason since 2024-12-21 15:00 ytdl-sub is getting 403 errors when syncing youtube channels. It was working fine for ages, then the last couple of days I noticed no more youtube videos are syncing, checked the logs and saw this;

[ytdl-sub] The following error occurred for the subscription History Channel:
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/ytdl_sub/subscriptions/subscription_download.py", line 388, in exception_handling
    yield
  File "/usr/lib/python3.13/site-packages/ytdl_sub/cli/entrypoint.py", line 126, in _download_subscriptions_from_yaml_files
    subscription.download(dry_run=dry_run)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/ytdl_sub/subscriptions/subscription_download.py", line 375, in download
    return self._process_subscription(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^
        plugins=plugins,
        ^^^^^^^^^^^^^^^^
        downloader=downloader,
        ^^^^^^^^^^^^^^^^^^^^^^
        dry_run=dry_run,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/site-packages/ytdl_sub/subscriptions/subscription_download.py", line 315, in _process_subscription
    entry = downloader.download(entry)
  File "/usr/lib/python3.13/site-packages/ytdl_sub/downloaders/url/downloader.py", line 532, in download
    download_entry = self._extract_entry_info_with_retry(entry=entry)
  File "/usr/lib/python3.13/site-packages/ytdl_sub/downloaders/url/downloader.py", line 352, in _extract_entry_info_with_retry
    download_entry_dict = YTDLP.extract_info_with_retry(
        ytdl_options_overrides=self.download_ytdl_options(
    ...<8 lines>...
        url=entry.webpage_url,
    )
  File "/usr/lib/python3.13/site-packages/ytdl_sub/downloaders/ytdlp.py", line 137, in extract_info_with_retry
    raise FileNotDownloadedException(
        f"yt-dlp failed to download an entry with these arguments: {error_dict}"
    )
ytdl_sub.utils.exceptions.FileNotDownloadedException: yt-dlp failed to download an entry with these arguments: {'ytdl_options': {'ignoreerrors': True, 'outtmpl': '.ytdl-sub-working-directory/History Channel/%(id)S.%(ext)s', 'writethumbnail': True, 'ffmpeg_location': '/usr/bin/ffmpeg', 'download_archive': '.ytdl-sub-working-directory/History Channel/.ytdl-sub-History Channel-download-archive.json-ytdl-archive', 'max_downloads': 5, 'postprocessors': [{'key': 'FFmpegMetadata', 'add_chapters': True, 'add_metadata': False}], 'break_on_existing': True}, 'kwargs': {'url': 'https://www.youtube.com/watch?v=AVljpgWWnOs'}}

Not sure if that is enough to go on, if not I can add more... Interestingly I can download the video using the same url you see in that snipped using yt-dlp outside of ytdl-sub, so I think something happened to ytdl-sub in the last update perhaps?

Any ideas?

@christiansacks
Copy link
Author

Syncing channels on Odysee.com work fine still though - thought that might be useful to add 😅

@christiansacks
Copy link
Author

I think it's related to IPv6 - looks like maybe my ISP borked up something in their IPv6 somehow, and I had to use --force-ipv4 for yt-dlp for it to work, but I don't see any way in the yaml to do that for ytdl-sub, how would I pass --force-ipv4 to yt-dlp within the yaml?

@Jerroder
Copy link

It is related to IPv6, passing -4 or --force-ipv4 works for yt-dlp. However I could not find how to add those args from ytdl-sub directly but adding source_address: '0.0.0.0' to ytdl_options works for me.

ytdl_options:
  source_address: '0.0.0.0'

@christiansacks
Copy link
Author

Aha! I think I just figured out where to put it;

~ > head -5 .config/ytdl-sub/tv_show_subscriptions.yaml
__preset__:
  
  ytdl_options:
    source_address: '0.0.0.0'

This seems to be working 🤞🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants