qdm12 / gluetun

VPN client in a thin Docker container for multiple VPN providers, written in Go, and using OpenVPN or Wireguard, DNS over TLS, with a few proxy servers built-in.
https://hub.docker.com/r/qmcgaw/gluetun
MIT License
7.51k stars 354 forks source link

Bug: can't use http proxy with ffmpeg #1646

Open r567i opened 1 year ago

r567i commented 1 year ago

Is this urgent?

No

Host OS

Ubuntu 20.04.5 LTS

CPU arch

x86_64

VPN service provider

NordVPN

What are you using to run the container

docker-compose

What is the version of Gluetun

Running version latest built on 2023-06-01T09:15:45.657Z (commit 5927ee9)

What's the problem 🤔

The proxy in curl or browser is working fine I tested this demo page hls in browser/ffmpeg through a proxy and it plays in the browser but does not connect in ffmpeg

https://hlsjs.video-dev.org/demo/ https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8

It works fine in ffmpeg without a proxy Do you have any idea on this?

R:\Temp>curl https://ipinfo.io { "ip": "188.241.157.118", "hostname": "118.157.241.188.baremetal.zare.com", "city": "Glasgow", "region": "Scotland", "country": "GB", "loc": "55.8667,-4.2500", "org": "AS25369 Hydra Communications Ltd", "postal": "G90", "timezone": "Europe/London", "readme": "https://ipinfo.io/missingauth" } R:\Temp>ffmpeg -loglevel debug -i "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8" -c copy "test.ts" ffmpeg version 2023-03-05-git-912ac82a3c-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12.2.0 (Rev10, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 58. 3.100 / 58. 3.100 libavcodec 60. 6.100 / 60. 6.100 libavformat 60. 4.100 / 60. 4.100 libavdevice 60. 2.100 / 60. 2.100 libavfilter 9. 4.100 / 9. 4.100 libswscale 7. 2.100 / 7. 2.100 libswresample 4. 11.100 / 4. 11.100 libpostproc 57. 2.100 / 57. 2.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-i' ... matched as input url with argument 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8'. Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'. Reading option 'test.ts' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8. Successfully parsed a group of options. Opening an input file: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8. [NULL @ 00000247e2f89a00] Opening 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8' for reading [https @ 00000247e2f89f00] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy' [tcp @ 00000247e2f8a140] Original list of addresses: [tcp @ 00000247e2f8a140] Address 192.168.0.66 port 9993 [tcp @ 00000247e2f8a140] Interleaved list of addresses: [tcp @ 00000247e2f8a140] Address 192.168.0.66 port 9993 [tcp @ 00000247e2f8a140] Starting connection attempt to 192.168.0.66 port 9993 [tcp @ 00000247e2f8a140] Successfully connected to 192.168.0.66 port 9993 [httpproxy @ 00000247e2f8b340] Last chunk received, closing conn Last message repeated 13 times [tls @ 00000247e2f8a080] An unexpected TLS packet was received. https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8: I/O error

Share your logs

gluetun3  | ========================================
gluetun3  | ========================================
gluetun3  | =============== gluetun ================
gluetun3  | ========================================
gluetun3  | =========== Made with ❤️ by ============
gluetun3  | ======= https://github.com/qdm12 =======
gluetun3  | ========================================
gluetun3  | ========================================
gluetun3  | 
gluetun3  | Running version latest built on 2023-06-01T09:15:45.657Z (commit 5927ee9)
gluetun3  | 
gluetun3  | 🔧 Need help? https://github.com/qdm12/gluetun/discussions/new
gluetun3  | 🐛 Bug? https://github.com/qdm12/gluetun/issues/new
gluetun3  | ✨ New feature? https://github.com/qdm12/gluetun/issues/new
gluetun3  | ☕ Discussion? https://github.com/qdm12/gluetun/discussions/new
gluetun3  | 💻 Email? quentin.mcgaw@gmail.com
gluetun3  | 💰 Help me? https://www.paypal.me/qmcgaw https://github.com/sponsors/qdm12
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] default route found: interface eth0, gateway 172.26.0.1, assigned IP 172.26.0.2 and family v4
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] local ethernet link found: eth0
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] local ipnet found: 172.26.0.0/16
gluetun3  | 2023-06-01T17:23:12Z INFO [firewall] enabling...
gluetun3  | 2023-06-01T17:23:12Z INFO [firewall] enabled successfully
gluetun3  | 2023-06-01T17:23:12Z INFO [storage] merging by most recent 13056 hardcoded servers and 13056 servers read from /gluetun/servers.json
gluetun3  | 2023-06-01T17:23:12Z INFO Alpine version: 3.18.0
gluetun3  | 2023-06-01T17:23:12Z INFO OpenVPN 2.5 version: 2.5.8
gluetun3  | 2023-06-01T17:23:12Z INFO OpenVPN 2.6 version: 2.6.4
gluetun3  | 2023-06-01T17:23:12Z INFO Unbound version: 1.17.1
gluetun3  | 2023-06-01T17:23:12Z INFO IPtables version: v1.8.9
gluetun3  | 2023-06-01T17:23:12Z INFO Settings summary:
gluetun3  | ├── VPN settings:
gluetun3  | |   ├── VPN provider settings:
gluetun3  | |   |   ├── Name: nordvpn
gluetun3  | |   |   └── Server selection settings:
gluetun3  | |   |       ├── VPN type: openvpn
gluetun3  | |   |       ├── Regions: united kingdom
gluetun3  | |   |       └── OpenVPN server selection settings:
gluetun3  | |   |           └── Protocol: UDP
gluetun3  | |   └── OpenVPN settings:
gluetun3  | |       ├── OpenVPN version: 2.5
gluetun3  | |       ├── User: [set]
gluetun3  | |       ├── Password: [set]
gluetun3  | |       ├── Network interface: tun0
gluetun3  | |       ├── Run OpenVPN as: root
gluetun3  | |       └── Verbosity level: 1
gluetun3  | ├── DNS settings:
gluetun3  | |   ├── DNS server address to use: 127.0.0.1
gluetun3  | |   ├── Keep existing nameserver(s): no
gluetun3  | |   └── DNS over TLS settings:
gluetun3  | |       ├── Enabled: yes
gluetun3  | |       ├── Update period: every 24h0m0s
gluetun3  | |       ├── Unbound settings:
gluetun3  | |       |   ├── Authoritative servers:
gluetun3  | |       |   |   └── cloudflare
gluetun3  | |       |   ├── Caching: yes
gluetun3  | |       |   ├── IPv6: no
gluetun3  | |       |   ├── Verbosity level: 1
gluetun3  | |       |   ├── Verbosity details level: 0
gluetun3  | |       |   ├── Validation log level: 0
gluetun3  | |       |   ├── System user: root
gluetun3  | |       |   └── Allowed networks:
gluetun3  | |       └── DNS filtering settings:
gluetun3  | |           ├── Block malicious: yes
gluetun3  | |           ├── Block ads: no
gluetun3  | |           ├── Block surveillance: no
gluetun3  | |           └── Blocked IP networks:
gluetun3  | |               ├── 127.0.0.1/8
gluetun3  | |               ├── 10.0.0.0/8
gluetun3  | |               ├── 172.16.0.0/12
gluetun3  | |               ├── 192.168.0.0/16
gluetun3  | |               ├── 169.254.0.0/16
gluetun3  | |               ├── ::1/128
gluetun3  | |               ├── fc00::/7
gluetun3  | |               ├── fe80::/10
gluetun3  | |               ├── ::ffff:127.0.0.1/104
gluetun3  | |               ├── ::ffff:10.0.0.0/104
gluetun3  | |               ├── ::ffff:169.254.0.0/112
gluetun3  | |               ├── ::ffff:172.16.0.0/108
gluetun3  | |               └── ::ffff:192.168.0.0/112
gluetun3  | ├── Firewall settings:
gluetun3  | |   └── Enabled: yes
gluetun3  | ├── Log settings:
gluetun3  | |   └── Log level: INFO
gluetun3  | ├── Health settings:
gluetun3  | |   ├── Server listening address: 127.0.0.1:9999
gluetun3  | |   ├── Target address: cloudflare.com:443
gluetun3  | |   ├── Duration to wait after success: 5s
gluetun3  | |   ├── Read header timeout: 100ms
gluetun3  | |   ├── Read timeout: 500ms
gluetun3  | |   └── VPN wait durations:
gluetun3  | |       ├── Initial duration: 6s
gluetun3  | |       └── Additional duration: 5s
gluetun3  | ├── Shadowsocks server settings:
gluetun3  | |   └── Enabled: no
gluetun3  | ├── HTTP proxy settings:
gluetun3  | |   ├── Enabled: yes
gluetun3  | |   ├── Listening address: :8888
gluetun3  | |   ├── User: 
gluetun3  | |   ├── Password: [not set]
gluetun3  | |   ├── Stealth mode: no
gluetun3  | |   ├── Log: yes
gluetun3  | |   ├── Read header timeout: 1s
gluetun3  | |   └── Read timeout: 3s
gluetun3  | ├── Control server settings:
gluetun3  | |   ├── Listening address: :8000
gluetun3  | |   └── Logging: yes
gluetun3  | ├── OS Alpine settings:
gluetun3  | |   ├── Process UID: 1000
gluetun3  | |   └── Process GID: 1000
gluetun3  | ├── Public IP settings:
gluetun3  | |   ├── Fetching: every 12h0m0s
gluetun3  | |   └── IP file path: /tmp/gluetun/ip
gluetun3  | └── Version settings:
gluetun3  |     └── Enabled: yes
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] default route found: interface eth0, gateway 172.26.0.1, assigned IP 172.26.0.2 and family v4
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] adding route for 0.0.0.0/0
gluetun3  | 2023-06-01T17:23:12Z INFO [firewall] setting allowed subnets...
gluetun3  | 2023-06-01T17:23:12Z INFO [routing] default route found: interface eth0, gateway 172.26.0.1, assigned IP 172.26.0.2 and family v4
gluetun3  | 2023-06-01T17:23:12Z INFO [dns over tls] using plaintext DNS at address 1.1.1.1
gluetun3  | 2023-06-01T17:23:12Z INFO [http proxy] listening on :8888
gluetun3  | 2023-06-01T17:23:12Z INFO [http server] http server listening on [::]:8000
gluetun3  | 2023-06-01T17:23:12Z INFO [healthcheck] listening on 127.0.0.1:9999
gluetun3  | 2023-06-01T17:23:12Z INFO [firewall] allowing VPN connection...
gluetun3  | 2023-06-01T17:23:12Z INFO [openvpn] OpenVPN 2.5.8 x86_64-alpine-linux-musl [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov  2 2022
gluetun3  | 2023-06-01T17:23:12Z INFO [openvpn] library versions: OpenSSL 3.1.1 30 May 2023, LZO 2.10
gluetun3  | 2023-06-01T17:23:12Z INFO [openvpn] TCP/UDP: Preserving recently used remote address: [AF_INET]188.241.157.38:1194
gluetun3  | 2023-06-01T17:23:12Z INFO [openvpn] UDP link local: (not bound)
gluetun3  | 2023-06-01T17:23:12Z INFO [openvpn] UDP link remote: [AF_INET]188.241.157.38:1194
gluetun3  | 2023-06-01T17:23:13Z INFO [openvpn] [uk2470.nordvpn.com] Peer Connection Initiated with [AF_INET]188.241.157.38:1194
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] TUN/TAP device tun0 opened
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] /sbin/ip link set dev tun0 up mtu 1500
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] /sbin/ip link set dev tun0 up
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] /sbin/ip addr add dev tun0 10.8.3.2/24
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] UID set to nonrootuser
gluetun3  | 2023-06-01T17:23:14Z INFO [openvpn] Initialization Sequence Completed
gluetun3  | 2023-06-01T17:23:14Z INFO [dns over tls] downloading DNS over TLS cryptographic files
gluetun3  | 2023-06-01T17:23:15Z INFO [healthcheck] healthy!
gluetun3  | 2023-06-01T17:23:17Z INFO [dns over tls] downloading hostnames and IP block lists
gluetun3  | 2023-06-01T17:23:24Z INFO [dns over tls] init module 0: validator
gluetun3  | 2023-06-01T17:23:24Z INFO [dns over tls] init module 1: iterator
gluetun3  | 2023-06-01T17:23:24Z INFO [dns over tls] start of service (unbound 1.17.1).
gluetun3  | 2023-06-01T17:23:25Z INFO [dns over tls] generate keytag query _ta-4a5c-4f66. NULL IN
gluetun3  | 2023-06-01T17:23:26Z INFO [dns over tls] ready
gluetun3  | 2023-06-01T17:23:27Z INFO [http proxy] 192.168.0.30:60501 <-> ipinfo.io:443
gluetun3  | 2023-06-01T17:23:28Z INFO [ip getter] Public IP address is 188.241.157.118 (United Kingdom, Scotland, Glasgow)
gluetun3  | 2023-06-01T17:23:28Z INFO [vpn] You are running 1 commit behind the most recent latest
gluetun3  | 2023-06-01T17:23:42Z INFO [http proxy] 192.168.0.30:60506 <-> test-streams.mux.dev:443

Share your configuration

version: "3"
services:
  gluetun3:
    image: qmcgaw/gluetun
    container_name: gluetun3
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 9993:8888 # HTTP proxy
    volumes:
      - /tmp/dockerdir/gluetun:/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=nordvpn
      - VPN_TYPE=openvpn
      - OPENVPN_USER=[redacted]
      - OPENVPN_PASSWORD=[redacted]
      - SERVER_REGIONS=United Kingdom
      - HTTPPROXY=on
      - HTTPPROXY_LOG=on
qdm12 commented 1 year ago

Does it fail exactly after 1 or 3 seconds? If so that's most likely due to:

https://github.com/qdm12/gluetun/blob/943943e8d1818b9c89f8965c4a99f1a72c06b896/internal/configuration/settings/httpproxy.go#L104-L107

And I can bump these up, make they configurable if needs be 😉

r567i commented 1 year ago

Fails after about 1 second I changed it to 10 seconds and tried to build, but it failed after about 1 second as well

gluetun3  | ├── HTTP proxy settings:
gluetun3  | |   ├── Enabled: yes
gluetun3  | |   ├── Listening address: :8888
gluetun3  | |   ├── User: 
gluetun3  | |   ├── Password: [not set]
gluetun3  | |   ├── Stealth mode: no
gluetun3  | |   ├── Log: yes
gluetun3  | |   ├── Read header timeout: 10s
gluetun3  | |   └── Read timeout: 10s
r567i commented 1 year ago

I had a stream url that I could connect to with http and https, so I tried it and the problem didn't happen with http

R:\Temp>ffmpeg -http_proxy http://192.168.0.66:9993 -loglevel trace -i "https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8"
ffmpeg version 2023-03-05-git-912ac82a3c-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58.  3.100 / 58.  3.100
  libavcodec     60.  6.100 / 60.  6.100
  libavformat    60.  4.100 / 60.  4.100
  libavdevice    60.  2.100 / 60.  2.100
  libavfilter     9.  4.100 /  9.  4.100
  libswscale      7.  2.100 /  7.  2.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
Splitting the commandline.
Reading option '-http_proxy' ... matched as AVOption 'http_proxy' with argument 'http://192.168.0.66:9993'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'trace'.
Reading option '-i' ... matched as input url with argument 'https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8.
Successfully parsed a group of options.
Opening an input file: https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8.
[NULL @ 0000021d087a9700] Opening 'https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8' for reading
[https @ 0000021d087a9d80] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[tcp @ 0000021d087afd80] Original list of addresses:
[tcp @ 0000021d087afd80] Address 192.168.0.66 port 9993
[tcp @ 0000021d087afd80] Interleaved list of addresses:
[tcp @ 0000021d087afd80] Address 192.168.0.66 port 9993
[tcp @ 0000021d087afd80] Starting connection attempt to 192.168.0.66 port 9993
[tcp @ 0000021d087afd80] Successfully connected to 192.168.0.66 port 9993
[httpproxy @ 0000021d087ad300] header='HTTP/1.1 200 OK'
[httpproxy @ 0000021d087ad300] http_code=200
[httpproxy @ 0000021d087ad300] header='Date: Tue, 06 Jun 2023 14:02:35 GMT'
[httpproxy @ 0000021d087ad300] header='Connection: close'
[httpproxy @ 0000021d087ad300] header='Transfer-Encoding: chunked'
[httpproxy @ 0000021d087ad300] header=''
[httpproxy @ 0000021d087ad300] Chunked encoding data size: 0
[httpproxy @ 0000021d087ad300] Last chunk received, closing conn
[httpproxy @ 0000021d087ad300] Chunked encoding data size: 4
[httpproxy @ 0000021d087ad300] Chunked encoding data size: 0
[httpproxy @ 0000021d087ad300] Last chunk received, closing conn
[httpproxy @ 0000021d087ad300] Chunked encoding data size: 0
[httpproxy @ 0000021d087ad300] Last chunk received, closing conn
[httpproxy @ 0000021d087ad300] Chunked encoding data size: 5
[tls @ 0000021d087acfc0] An unexpected TLS packet was received.
https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8: I/O error
R:\Temp>ffmpeg -http_proxy http://192.168.0.66:9993 -loglevel trace -i "http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8"
ffmpeg version 2023-03-05-git-912ac82a3c-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58.  3.100 / 58.  3.100
  libavcodec     60.  6.100 / 60.  6.100
  libavformat    60.  4.100 / 60.  4.100
  libavdevice    60.  2.100 / 60.  2.100
  libavfilter     9.  4.100 /  9.  4.100
  libswscale      7.  2.100 /  7.  2.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
Splitting the commandline.
Reading option '-http_proxy' ... matched as AVOption 'http_proxy' with argument 'http://192.168.0.66:9993'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'trace'.
Reading option '-i' ... matched as input url with argument 'http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8.
Successfully parsed a group of options.
Opening an input file: http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8.
[NULL @ 0000017581c89680] Opening 'http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8' for reading
[http @ 0000017581c89d00] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy,data'
[tcp @ 0000017581c8cf40] Original list of addresses:
[tcp @ 0000017581c8cf40] Address 192.168.0.66 port 9993
[tcp @ 0000017581c8cf40] Interleaved list of addresses:
[tcp @ 0000017581c8cf40] Address 192.168.0.66 port 9993
[tcp @ 0000017581c8cf40] Starting connection attempt to 192.168.0.66 port 9993
[tcp @ 0000017581c8cf40] Successfully connected to 192.168.0.66 port 9993
[http @ 0000017581c89d00] request: GET http://content.jwplatform.com:80/manifests/vM7nH0Kl.m3u8 HTTP/1.1
User-Agent: Lavf/60.4.100
Accept: */*
Range: bytes=0-
Connection: close
Host: content.jwplatform.com
Icy-MetaData: 1

[http @ 0000017581c89d00] header='HTTP/1.1 206 Partial Content'
[http @ 0000017581c89d00] http_code=206
[http @ 0000017581c89d00] header='Access-Control-Allow-Origin: *'
[http @ 0000017581c89d00] header='Age: 175'
[http @ 0000017581c89d00] header='Cache-Control: max-age=180'
[http @ 0000017581c89d00] header='Content-Length: 1589'
[http @ 0000017581c89d00] header='Content-Range: bytes 0-1588/1589'
[http @ 0000017581c89d00] header='Content-Type: application/vnd.apple.mpegurl; charset=utf-8'
[http @ 0000017581c89d00] header='Date: Tue, 06 Jun 2023 14:00:15 GMT'
[http @ 0000017581c89d00] header='Server: openresty'
[http @ 0000017581c89d00] header='Vary: Accept-Encoding'
[http @ 0000017581c89d00] header='Via: 1.1 512a9cd52d1c7f67c1024cc6f45426f0.cloudfront.net (CloudFront)'
[http @ 0000017581c89d00] header='X-Amz-Cf-Id: pNmH9ki-826B-RQOaSw-1Q_zDZqhdfHTD9SL4vfH9-Fk7fmlepYHXQ=='
[http @ 0000017581c89d00] header='X-Amz-Cf-Pop: LHR50-P5'
[http @ 0000017581c89d00] header='X-Cache: Hit from cloudfront'
[http @ 0000017581c89d00] header='X-Robots-Tag: noindex, indexifembedded'
[http @ 0000017581c89d00] header='Connection: close'
[http @ 0000017581c89d00] header=''
Probing hls score:100 size:1589
[hls @ 0000017581c89680] Format hls probed with size=2048 and score=100
[hls @ 0000017581c89680] Opening 'http://videos-cloudfront-usp.jwpsrv.com/647fe4af_bd5e3a26acb6435221c94bbb8959b91562edd489/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=550640.m3u8' for reading
[tcp @ 0000017581ca3380] Original list of addresses:
[tcp @ 0000017581ca3380] Address 192.168.0.66 port 9993
[tcp @ 0000017581ca3380] Interleaved list of addresses:
[tcp @ 0000017581ca3380] Address 192.168.0.66 port 9993
[tcp @ 0000017581ca3380] Starting connection attempt to 192.168.0.66 port 9993
[tcp @ 0000017581ca3380] Successfully connected to 192.168.0.66 port 9993
[http @ 0000017581c95040] request: GET http://videos-cloudfront-usp.jwpsrv.com:80/647fe4af_bd5e3a26acb6435221c94bbb8959b91562edd489/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=550640.m3u8 HTTP/1.1
User-Agent: Lavf/60.4.100
Accept: */*
Range: bytes=0-
Connection: keep-alive
Host: videos-cloudfront-usp.jwpsrv.com
Icy-MetaData: 1
R:\Temp>curl -x "http://192.168.0.66:9993" "https://content.jwplatform.com/manifests/vM7nH0Kl.m3u8"
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=670000,RESOLUTION=640x286,CODECS="mp4a.40.2,avc1.4d4015",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
https://videos-cloudfront-usp.jwpsrv.com/647fe67f_04a5cd7bfb2332dcea5a5ac9eb342eb61da29c59/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=550640.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3400000,RESOLUTION=1920x858,CODECS="mp4a.40.2,avc1.640028",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
https://videos-cloudfront-usp.jwpsrv.com/647fe67f_04a5cd7bfb2332dcea5a5ac9eb342eb61da29c59/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=3279704.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1710000,RESOLUTION=1280x572,CODECS="mp4a.40.2,avc1.4d401f",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
https://videos-cloudfront-usp.jwpsrv.com/647fe67f_04a5cd7bfb2332dcea5a5ac9eb342eb61da29c59/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=1588768.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=380000,RESOLUTION=320x142,CODECS="mp4a.40.2,avc1.42c00d",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
https://videos-cloudfront-usp.jwpsrv.com/647fe67f_04a5cd7bfb2332dcea5a5ac9eb342eb61da29c59/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=264864.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=120000,CODECS="mp4a.40.2"
https://videos-cloudfront-usp.jwpsrv.com/647fe67f_04a5cd7bfb2332dcea5a5ac9eb342eb61da29c59/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000.m3u8

R:\Temp>curl -x "http://192.168.0.66:9993" "http://content.jwplatform.com/manifests/vM7nH0Kl.m3u8"
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=670000,RESOLUTION=640x286,CODECS="mp4a.40.2,avc1.4d4015",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
http://videos-cloudfront-usp.jwpsrv.com/647fe685_ab8e1a35c28c6a06fb5ea40ef6f371dce4c6f3e2/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=550640.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3400000,RESOLUTION=1920x858,CODECS="mp4a.40.2,avc1.640028",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
http://videos-cloudfront-usp.jwpsrv.com/647fe685_ab8e1a35c28c6a06fb5ea40ef6f371dce4c6f3e2/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=3279704.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1710000,RESOLUTION=1280x572,CODECS="mp4a.40.2,avc1.4d401f",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
http://videos-cloudfront-usp.jwpsrv.com/647fe685_ab8e1a35c28c6a06fb5ea40ef6f371dce4c6f3e2/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=1588768.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=380000,RESOLUTION=320x142,CODECS="mp4a.40.2,avc1.42c00d",FRAME-RATE=24.0,CLOSED-CAPTIONS=NONE
http://videos-cloudfront-usp.jwpsrv.com/647fe685_ab8e1a35c28c6a06fb5ea40ef6f371dce4c6f3e2/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000-video_eng=264864.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=120000,CODECS="mp4a.40.2"
http://videos-cloudfront-usp.jwpsrv.com/647fe685_ab8e1a35c28c6a06fb5ea40ef6f371dce4c6f3e2/site/zWLy8Jer/media/vM7nH0Kl/version/21ETjILN/manifest.ism/manifest-audio_eng=112000.m3u8
Fyb3roptik commented 2 weeks ago

Can confirm this still happens for me. Using HTTPS it fails every time. HTTP no problem works fine...