tellytv / telly

An IPTV proxy
MIT License
769 stars 106 forks source link

How do I Route TellyTV traffic through VPN? #278

Closed ATD555 closed 4 years ago

ATD555 commented 4 years ago

telly release with the issue: telly, version 1.1.0.8 (branch: dev, revision: 96424a4719f33de9c1b66d8d2186e0452e45a234) build user: root@7abd9a6a6502 build date: 20200704-05:24:37 go version: go1.12.17

Operating environment (Docker/Windows/Linux/QNAP, etc.): Windows

Description of problem: How do I route tellyTV traffic through VPN (currently using Private Internet Access). I am accessing the streams through my Plex and want to make sure that P2P streams are not going through my ISP traffic.

Contents of telly.config.toml [if you're using a version above 1.1]:

Note on running multiple instances of telly

There are three things that make up a "key" for a given Telly Virtual Tuner:

Device-ID [required], Device-UUID [optional], and port [required]

When you configure your additional telly instances, change:

the Device-ID [above] AND

the Device-UUID [above, if you're entering one] AND

the port [below in the "Web" section]

THIS SECTION IS REQUIRED

[IPTV] Streams = 3 # number of simultaneous streams that telly virtual tuner will provide

This is often 1, but is set by your iptv provider

Starting-Channel = 10000 # When telly assigns channel numbers it will start here XMLTV-Channels = true # if true, any channel numbers specified in your M3U file will be used. FFMpeg = true # if this is uncommented, streams are buffered through ffmpeg;

ffmpeg must be installed and on your $PATH

                        # if you want to use this with Docker, be sure you use the correct docker image

if you DO NOT WANT TO USE FFMPEG leave this commented; DO NOT SET IT TO FALSE [Issue #185]

THIS SECTION IS REQUIRED

[Log] Level = "info" # Only log messages at or above the given level. [debug, info, warn, error, fatal] Requests = true # Log HTTP requests made to telly

THIS SECTION IS REQUIRED

[Web] Base-Address = "192.168.0.180:6077" # Set this to the IP address of the machine telly runs on AS SEEN BY PLEX

telly will be telling Plex to connect to URLs at this address.

                              # DO NOT REMOVE THE PORT
                              # Just change the 0.0.0.0 to your IP address.

Listen-Address = "0.0.0.0:6077" # this can stay as-is

THIS SECTION IS OPTIONAL ========================================================================

[SchedulesDirect] # If you have a Schedules Direct account, fill in details and then

                         # UNCOMMENT THIS SECTION

Username = "" # This is under construction; There is no provider

Password = "" # that works with it fully at this time

AT LEAST ONE SOURCE IS REQUIRED

COPY/PASTE THIS BLOCK TO ADD MORE SOURCES

THIS EXAMPLE WILL NOT WORK AS-IS

[[Source]] Name = "" # Name is optional and is used mostly for logging purposes Provider = "Custom" # DO NOT CHANGE THIS

"Custom" is telly's internal identifier for this 'Provider'

                        # If you change it to "SOMETHING ELSE", telly's reaction will be
                        # "I don't recognize a provider called 'SOMETHING ELSE'."

M3U = "http://m3u4u.com/m3u/REDACTED" # This can be either URL or fully-qualified path.

This needs to be an M3Uplus file

                        # IT CANNOT BE A STREAM ADDRESS
                        # IT CANNOT BE AN M3U THAT LINKS TO ANOTHER M3U

EPG = "http://m3u4u.com/epg/REDACTED" # This can be either URL or fully-qualified path.

THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE

Filter = "^*"

Telly is written in Go, and uses the Go regular expression system,

                        # which is limited compared to other regular expression parsers.

FilterKey = "group-title" # Telly applies the regular expression to the contents of this key in the M3U. FilterRaw = false # FilterRaw will run your regex on the entire line instead of just specific keys. Sort = "group-title" # Sort will alphabetically sort your channels by the M3U key provided

END TELLY CONFIG

chazlarson commented 4 years ago

Your m3u4u URLs were in there in the clear.

chazlarson commented 4 years ago

There is no built-in means of routing telly's traffic through a VPN.

Probably what you'll want to do is create a custom docker container that manages the VPN, like https://github.com/binhex/arch-delugevpn, or if you're not using docker, configure your machine to route telly's traffic through the VPN. Here's one random google result discussing that: https://freeaqingme.tweakblogs.net/blog/9340/netflix-using-a-vpn-for-just-one-application.html

ATD555 commented 4 years ago

Your m3u4u URLs were in there in the clear.

Oh my goodness, completely slipped my mind. Thanks for covering me

ATD555 commented 4 years ago

There is no built-in means of routing telly's traffic through a VPN.

Probably what you'll want to do is create a custom docker container that manages the VPN, like https://github.com/binhex/arch-delugevpn, or if you're not using docker, configure your machine to route telly's traffic through the VPN. Here's one random google result discussing that: https://freeaqingme.tweakblogs.net/blog/9340/netflix-using-a-vpn-for-just-one-application.html

There is a Split-Tunnel option in my VPN program where I can choose what applications will use VPN. I can do that no problem but I am just wondering if in the TellyTV config if I have to change the Base Address to my VPN address or just keep it as is?

chazlarson commented 4 years ago

The base-address is the address that telly tells plex to connect to. Not sure how your VPN setup will affect that, but that's what it's used for.

The lineup.json that gets sent to Plex will be saying, basically, "to tune to ABC, go to http://BASE_ADDRESS/bing/bang", so the domain or IP in that config field has to be visible to Plex and connect to telly.

ATD555 commented 4 years ago

SHould the Listen Address stay as loopback or could I set the Base Address to my VPN address and the Listen Address to my local network address?

chazlarson commented 4 years ago

I don't know. Perhaps once you've experimented it could get added to the wiki. I know at least one other person has asked about this.

ATD555 commented 4 years ago

Couldn't get it to work, this can be closed.