linuxserver / docker-tvheadend

GNU General Public License v3.0
158 stars 87 forks source link

[FEAT] IPv6 Support #246

Closed simpz closed 6 months ago

simpz commented 6 months ago

Is this a new feature request?

Wanted change

The container seems to support IPv6 (well the interfaces pick up an IPv6 addresses in the container) , but the application itself doesn't allow being connected to from IPv6. I also presume (though I don't really use this functionality) that outbound to the Internet from TVheadend will be IPv4.

Though I don't know if TVheadend itself supports IPv6, though I think it does.

Reason for change

Future proofing and consistency with every other application.There is also the minor issue that in an IPv6 environment IPv6 is always tried first by clients and they have to drop back to IPv4, this is slight slow down.

Proposed code change

No response

github-actions[bot] commented 6 months ago

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

j0nnymoe commented 6 months ago

IPv6 support isn't related to the container but rather to the setup of your docker install. Nothing should need to be added to the container for it to work (unless tvheadend doesn't support it).

simpz commented 6 months ago

The container (as I said) has an IPv6 address my setup is correct as I can ping it's IPv6 address from another container.

Inside the container the tvheadend application is only listening on IPv4. I can run "nc -l6 -p 9123" inside the container and connect via IPv6 and see it's listening on IPv6. See below

root@0e626be35385:/# netstat -apn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:9982            0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:9981            0.0.0.0:*               LISTEN      -
tcp        0      0 10.89.1.4:9982          192.168.1.100:48210   ESTABLISHED -
tcp        0      0 10.89.1.4:9981          192.168.1.128:53736   ESTABLISHED -
tcp        0      0 :::9123                 :::*                    LISTEN      
simpz commented 6 months ago

Actually I've managed to make this work. I just had to pass a command line arg to the docker run to force tvheadend to listen on IPv6 in the container. -e RUN_OPTS='--ipv6'

Will close and leave here in the hope this is useful to someone else.

Thanks for the attention.