Skip to content

feat: add a force_ipv4 option to keep requests on IPv4 - #531

Open
ChrisJr404 wants to merge 1 commit into
pndurette:mainfrom
ChrisJr404:force-ipv4
Open

feat: add a force_ipv4 option to keep requests on IPv4#531
ChrisJr404 wants to merge 1 commit into
pndurette:mainfrom
ChrisJr404:force-ipv4

Conversation

@ChrisJr404

Copy link
Copy Markdown

Fixes #310.

On some networks the request stalls trying IPv6 before it falls back to IPv4, which is the same thing youtube-dl and streamlink added a force-ipv4 switch for. This adds an optional force_ipv4 argument to gTTS and a matching --force-ipv4 flag on the CLI.

When it's set, the request mounts a small adapter that keeps every connection on IPv4. It's off by default so nothing changes unless you ask for it. I added tests for both the Python and CLI paths (they run offline against a local server).

Some networks stall on IPv6 DNS or routing, the same problem youtube-dl
and streamlink work around with a force-ipv4 switch. This adds a
force_ipv4 option to gTTS and a matching --force-ipv4 CLI flag that
mounts a requests adapter which keeps every connection on IPv4. It is
off by default, so nothing changes unless you ask for it.

Closes pndurette#310
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

Successfully merging this pull request may close these issues.

Provide a --force-ipv4 parameter

1 participant