Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m0ngr31/EPlusTV
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v4.1.3
Choose a base ref
...
head repository: m0ngr31/EPlusTV
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Dec 17, 2024

  1. Remove twitch.tv integration for NFL

    Your Name committed Dec 17, 2024
    Copy the full SHA
    bbc9323 View commit details

Commits on Jan 1, 2025

  1. support cancelled plans before their expiration date

    tonywagner committed Jan 1, 2025
    Copy the full SHA
    28069de View commit details
  2. add new field to definition

    tonywagner committed Jan 1, 2025
    Copy the full SHA
    ce00f82 View commit details

Commits on Jan 4, 2025

  1. Merge pull request #136 from tonywagner/master

    support cancelled plans before their expiration date
    m0ngr31 authored Jan 4, 2025
    Copy the full SHA
    5ce19d3 View commit details
  2. Fix nfl linear access check

    Your Name committed Jan 4, 2025
    Copy the full SHA
    da6bba3 View commit details

Commits on Jan 7, 2025

  1. Copy the full SHA
    8793682 View commit details

Commits on Jan 8, 2025

  1. Copy the full SHA
    a92e35c View commit details

Commits on Jan 15, 2025

  1. Copy the full SHA
    45d94c8 View commit details

Commits on Jan 28, 2025

  1. Rewrote the handling of headers being passed into the playlisthandler…

    … class. This enables being able to fetch and update rotating keys. The fixed an issue that was happening with P+. Added in 4 new features into the UI, migrated them from env variable
    Your Name committed Jan 28, 2025
    Copy the full SHA
    05e14e4 View commit details
  2. Remove async for Tools component since it doesn't need it. Changed wo…

    …rding for tooltip. Simplified Dockerfile
    Your Name committed Jan 28, 2025
    Copy the full SHA
    3efef1c View commit details
  3. Test 1

    Your Name committed Jan 28, 2025
    Copy the full SHA
    5e3467f View commit details
  4. Test 2

    Your Name committed Jan 28, 2025
    Copy the full SHA
    71ad10b View commit details
  5. Test 3

    Your Name committed Jan 28, 2025
    Copy the full SHA
    5b7567a View commit details
  6. v4.1.10 -> fix issue with UI not rendering

    Your Name committed Jan 28, 2025
    Copy the full SHA
    aca220a View commit details

Commits on Jan 30, 2025

  1. Copy the full SHA
    58df2ff View commit details

Commits on Jan 31, 2025

  1. migrated option from env variable to UI

    tonywagner committed Jan 31, 2025
    Copy the full SHA
    d1b04fc View commit details

Commits on Feb 1, 2025

  1. optional category filter

    tonywagner committed Feb 1, 2025
    Copy the full SHA
    e21aaa7 View commit details
  2. optional title filter, fix for ppv toggle conflict

    tonywagner committed Feb 1, 2025
    Copy the full SHA
    1fb94e0 View commit details
  3. added detection of in-market teams

    tonywagner committed Feb 1, 2025
    Copy the full SHA
    d5ef794 View commit details

Commits on Feb 11, 2025

  1. Added MLB Network as a linear channel, fixed a bug where 1 hour extra…

    … was being added to linear ESPN events - causing issues with playback. Fixed bug when toggling MLB auth where it wouldn't remove MLB events. Added blackout detection for MLB games. Cleaned up un-needed MLB APIs
    Your Name committed Feb 11, 2025
    Copy the full SHA
    978d05d View commit details
  2. Copy the full SHA
    38a5a05 View commit details
  3. simplified filter form response

    tonywagner committed Feb 11, 2025
    Copy the full SHA
    3dd1623 View commit details
  4. Some standardization around how events are padded

    Your Name committed Feb 11, 2025
    Copy the full SHA
    59f9a0c View commit details
  5. Move from nedb-promises to @seald-io/nedb

    Your Name committed Feb 11, 2025
    Copy the full SHA
    9d4856f View commit details
  6. Small fix

    Your Name committed Feb 11, 2025
    Copy the full SHA
    3f7a22f View commit details
  7. Some cleanup on ESPN+ refreshing tokens

    Your Name committed Feb 11, 2025
    Copy the full SHA
    8f0a0dd View commit details
  8. Small change

    Your Name committed Feb 11, 2025
    Copy the full SHA
    aeefd11 View commit details
  9. Testing linting

    Your Name committed Feb 11, 2025
    Copy the full SHA
    3aed755 View commit details
  10. Another change

    Your Name committed Feb 11, 2025
    Copy the full SHA
    360ca70 View commit details
  11. Copy the full SHA
    ac906c8 View commit details
  12. Fix typo that could cause playback errors

    Your Name committed Feb 11, 2025
    Copy the full SHA
    4a0eb92 View commit details
  13. Check if Gotham authentication is valid

    Your Name committed Feb 11, 2025
    Copy the full SHA
    bf2ec88 View commit details
  14. Copy the full SHA
    b1d9b73 View commit details

Commits on Feb 12, 2025

  1. universal event filters

    tonywagner committed Feb 12, 2025
    Copy the full SHA
    63d9f39 View commit details

Commits on Feb 13, 2025

  1. isp access

    tonywagner committed Feb 13, 2025
    Copy the full SHA
    b2deab8 View commit details
  2. more isp access

    tonywagner committed Feb 13, 2025
    Copy the full SHA
    52a5644 View commit details
  3. new provider

    tonywagner committed Feb 13, 2025
    Copy the full SHA
    1a408d1 View commit details
  4. add in-progress events

    tonywagner committed Feb 13, 2025
    Copy the full SHA
    c5e9729 View commit details

Commits on Feb 14, 2025

  1. option to hide studio shows

    tonywagner committed Feb 14, 2025
    Copy the full SHA
    27718c9 View commit details

Commits on Feb 17, 2025

  1. Merge pull request #149 from tonywagner/nsic

    new provider NSIC
    m0ngr31 authored Feb 17, 2025
    Copy the full SHA
    e067f2a View commit details
  2. Merge pull request #147 from tonywagner/master

    universal event filters
    m0ngr31 authored Feb 17, 2025
    Copy the full SHA
    1297b62 View commit details
  3. Merge pull request #148 from tonywagner/isp

    ISP access
    m0ngr31 authored Feb 17, 2025
    Copy the full SHA
    ba11f13 View commit details
  4. Version bump

    Your Name committed Feb 17, 2025
    Copy the full SHA
    1eaa331 View commit details

Commits on Feb 25, 2025

  1. Added Women's Sport Network as a linear channel

    Your Name committed Feb 25, 2025
    Copy the full SHA
    44ef35e View commit details

Commits on Feb 26, 2025

  1. Added support for PWHL & LOVB Live. Added some concurrency for the se…

    …rvice starting up
    Your Name committed Feb 26, 2025
    Copy the full SHA
    96f898e View commit details

Commits on Feb 27, 2025

  1. Added NHL.tv as a new provider

    Your Name committed Feb 27, 2025
    Copy the full SHA
    1f83b4c View commit details

Commits on Mar 4, 2025

  1. bugfix

    Your Name committed Mar 4, 2025
    Copy the full SHA
    06fb87b View commit details
  2. Merge pull request #154 from tonywagner/main

    bugfix
    m0ngr31 authored Mar 4, 2025
    Copy the full SHA
    6c3b3de View commit details
  3. bugfix, cont.

    tonywagner committed Mar 4, 2025
    Copy the full SHA
    fb690fb View commit details
  4. bugfix, cont., and isp logging improvements

    tonywagner committed Mar 4, 2025
    Copy the full SHA
    489b40d View commit details
Showing with 6,961 additions and 1,557 deletions.
  1. +2 −2 .gitignore
  2. +2 −4 Dockerfile
  3. +50 −26 README.md
  4. +302 −89 index.tsx
  5. +1,997 −425 package-lock.json
  6. +7 −4 package.json
  7. +6 −2 services/adobe-helpers.ts
  8. +69 −22 services/b1g-handler.ts
  9. +58 −18 services/build-schedule.ts
  10. +27 −23 services/cbs-handler.ts
  11. +32 −62 services/channels.ts
  12. +7 −4 services/database.ts
  13. +275 −57 services/espn-handler.ts
  14. +18 −15 services/flo-handler.ts
  15. +26 −19 services/fox-handler.ts
  16. +9 −6 services/generate-m3u.ts
  17. +19 −13 services/generate-xmltv.ts
  18. +27 −18 services/gotham-handler.ts
  19. +8 −2 services/init-directories.ts
  20. +35 −0 services/jsdom-helper.ts
  21. +41 −11 services/launch-channel.ts
  22. +248 −0 services/lovb-handler.ts
  23. +205 −0 services/misc-db-service.ts
  24. +177 −27 services/mlb-handler.ts
  25. +14 −12 services/mw-handler.ts
  26. +27 −23 services/nesn-handler.ts
  27. +58 −173 services/nfl-handler.ts
  28. +358 −0 services/nhltv-handler.ts
  29. +166 −0 services/nsic-handler.ts
  30. +57 −26 services/paramount-handler.ts
  31. +69 −22 services/playlist-handler.ts
  32. +45 −11 services/providers/b1g/index.tsx
  33. +3 −6 services/providers/b1g/views/CardBody.tsx
  34. +5 −5 services/providers/b1g/views/index.tsx
  35. +14 −11 services/providers/cbs-sports/index.tsx
  36. +3 −6 services/providers/cbs-sports/views/CardBody.tsx
  37. +5 −4 services/providers/cbs-sports/views/Login.tsx
  38. +5 −5 services/providers/cbs-sports/views/index.tsx
  39. +50 −10 services/providers/espn-plus/index.tsx
  40. +3 −6 services/providers/espn-plus/views/CardBody.tsx
  41. +7 −2 services/providers/espn-plus/views/Login.tsx
  42. +64 −5 services/providers/espn-plus/views/index.tsx
  43. +61 −14 services/providers/espn/index.tsx
  44. +4 −6 services/providers/espn/views/CardBody.tsx
  45. +2 −7 services/providers/espn/views/Login.tsx
  46. +10 −5 services/providers/espn/views/index.tsx
  47. +9 −8 services/providers/flosports/index.tsx
  48. +3 −6 services/providers/flosports/views/CardBody.tsx
  49. +2 −7 services/providers/flosports/views/Login.tsx
  50. +5 −5 services/providers/flosports/views/index.tsx
  51. +32 −17 services/providers/fox/index.tsx
  52. +5 −10 services/providers/fox/views/CardBody.tsx
  53. +1 −1 services/providers/fox/views/Login.tsx
  54. +5 −5 services/providers/fox/views/index.tsx
  55. +14 −11 services/providers/gotham/index.tsx
  56. +4 −6 services/providers/gotham/views/CardBody.tsx
  57. +6 −7 services/providers/gotham/views/TveLogin.tsx
  58. +5 −5 services/providers/gotham/views/index.tsx
  59. +12 −0 services/providers/index.ts
  60. +37 −0 services/providers/lovb/index.tsx
  61. +36 −0 services/providers/lovb/views/index.tsx
  62. +27 −52 services/providers/mlb/index.tsx
  63. +49 −20 services/providers/mlb/views/CardBody.tsx
  64. +2 −7 services/providers/mlb/views/Login.tsx
  65. +5 −5 services/providers/mlb/views/index.tsx
  66. +6 −6 services/providers/mw/index.tsx
  67. +3 −3 services/providers/mw/views/index.tsx
  68. +13 −8 services/providers/nesn/index.tsx
  69. +5 −11 services/providers/nesn/views/CardBody.tsx
  70. +1 −1 services/providers/nesn/views/Login.tsx
  71. +5 −5 services/providers/nesn/views/index.tsx
  72. +21 −28 services/providers/nfl/index.tsx
  73. +8 −27 services/providers/nfl/views/CardBody.tsx
  74. +1 −1 services/providers/nfl/views/Login.tsx
  75. +5 −5 services/providers/nfl/views/index.tsx
  76. +62 −0 services/providers/nhl-tv/index.tsx
  77. +31 −0 services/providers/nhl-tv/views/CardBody.tsx
  78. +34 −0 services/providers/nhl-tv/views/Login.tsx
  79. +48 −0 services/providers/nhl-tv/views/index.tsx
  80. +37 −0 services/providers/nsic/index.tsx
  81. +36 −0 services/providers/nsic/views/index.tsx
  82. +16 −12 services/providers/paramount/index.tsx
  83. +9 −13 services/providers/paramount/views/CardBody.tsx
  84. +7 −2 services/providers/paramount/views/Login.tsx
  85. +5 −5 services/providers/paramount/views/index.tsx
  86. +37 −0 services/providers/pwhl/index.tsx
  87. +36 −0 services/providers/pwhl/views/index.tsx
  88. +93 −0 services/providers/victory/index.tsx
  89. +31 −0 services/providers/victory/views/CardBody.tsx
  90. +34 −0 services/providers/victory/views/Login.tsx
  91. +76 −0 services/providers/victory/views/index.tsx
  92. +37 −0 services/providers/wsn/index.tsx
  93. +43 −0 services/providers/wsn/views/index.tsx
  94. +179 −0 services/pwhl-handler.ts
  95. +70 −4 services/shared-helpers.ts
  96. +11 −0 services/shared-interfaces.ts
  97. +209 −0 services/template-handler.ts
  98. +10 −7 services/user-agent.ts
  99. +308 −0 services/victory-handler.ts
  100. +154 −0 services/wsn-handler.ts
  101. +59 −0 services/yt-dlp-helper.ts
  102. +7 −2 views/Links.tsx
  103. +231 −0 views/Options.tsx
  104. +21 −10 views/Script.tsx
  105. +3 −0 views/Style.tsx
  106. +23 −27 views/Tools.tsx
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -142,5 +142,5 @@ dist
tmp/
run*.sh
.DS_Store
config/
playroom/
config*/
playroom/
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ FROM alpine:3.18.9

RUN mkdir -p /etc/udhcpc ; echo 'RESOLV_CONF="no"' >> /etc/udhcpc/udhcpc.conf

RUN apk add --update nodejs npm su-exec shadow
RUN apk add --update nodejs npm su-exec shadow yt-dlp

RUN rm -rf /var/cache/apk/*

@@ -11,9 +11,7 @@ WORKDIR /app

COPY . .

RUN \
cd /app && \
npm ci
RUN npm ci

RUN chmod +x entrypoint.sh

76 changes: 50 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -2,10 +2,10 @@
<img src="https://i.imgur.com/FIGZdR3.png">
</p>

Current version: **4.1.3**
Current version: **4.7.0**

# About
This takes ESPN+, ESPN, FOX Sports, CBS Sports, Paramount+, Gotham Sports, NFL, B1G+, NESN, Mountain West, FloSports, or MLB.tv programming and transforms it into a "live TV" experience with virtual linear channels. It will discover what is on, and generate a schedule of channels that will give you M3U and XMLTV files that you can import into something like [Jellyfin](https://jellyfin.org) or [Channels](https://getchannels.com).
This takes ESPN+, ESPN, FOX Sports, CBS Sports, Paramount+, Gotham Sports, NFL, B1G+, NESN, Mountain West, Northern Sun, Victory+, NHL.tv, FloSports, LOVB Live, PWHL, or MLB.tv programming and transforms it into a "live TV" experience with virtual linear channels. It will discover what is on, and generate a schedule of channels that will give you M3U and XMLTV files that you can import into something like [Jellyfin](https://jellyfin.org) or [Channels](https://getchannels.com).

## Notes
* This was not made for pirating streams. This is made for using your own credentials and have a different presentation than the streaming apps currently provide.
@@ -18,20 +18,16 @@ The server exposes 4 main endpoints:
|---|---|
| /channels.m3u | The channel list you'll import into your client |
| /xmltv.xml | The schedule that you'll import into your client |
| /linear-channels.m3u | The linear channel list you'll import into your client (only used when using `LINEAR_CHANNELS` variable) |
| /linear-xmltv.xml | The linear schedule that you'll import into your client (only used when using `LINEAR_CHANNELS` variable) - Not needed for Channels DVR |
| /linear-channels.m3u | The linear channel list you'll import into your client (only used when using the dedicated linear channels option) |
| /linear-xmltv.xml | The linear schedule that you'll import into your client (only used when using the dedicated linear channels option) - Not needed for Channels DVR |

# Running
The recommended way of running is to pull the image from [Docker Hub](https://hub.docker.com/r/m0ngr31/eplustv).

## Environment Variables
| Environment Variable | Description | Required? | Default |
|---|---|---|---|
| START_CHANNEL | What the first channel number should be. | No | 1 |
| NUM_OF_CHANNELS | How many channels to create? This is dependent on the networks you are using. A good number to start with is >= 200 if you are using ESPN+. | No | 200 |
| LINEAR_CHANNELS | Break out dedicated linear channels (see Endpoints above to use) | No | False |
| BASE_URL | If using a reverse proxy, m3u will be generated with this uri base. | No | - |
| PROXY_SEGMENTS | Proxy keyed `*.ts` files. | No | False |
| BASE_URL | If using a reverse proxy, m3u will be generated with this as the base. | No | - |
| PUID | Current user ID. Use if you have permission issues. Needs to be combined with PGID. | No | - |
| PGID | Current group ID. Use if you have permission issues. Needs to be combined with PUID. | No | - |
| PORT | Port the API will be served on. You can set this if it conflicts with another service in your environment. | No | 8000 |
@@ -53,7 +49,7 @@ Available to login with TV Provider

##### Linear Channels

Will create dedicated linear channels if using `LINEAR_CHANNELS`, otherwise will schedule events normally
Will create dedicated linear channels if using dedicated linear channels, otherwise will schedule events normally

| Network Name | Description |
|---|---|
@@ -78,7 +74,7 @@ Available to login with TV Provider

##### Linear Channels

Some events are on linear channels and some aren't. If you use `LINEAR_CHANNELS`, only events that are on FOX will be scheduled normally. All other events will be scheduled to linear channels
Some events are on linear channels and some aren't. If you use dedicated linear channels, only events that are on FOX will be scheduled normally. All other events will be scheduled to linear channels

| Network Name |
|---|
@@ -93,7 +89,7 @@ Available to login with Paramount+ credentials

##### Linear Channels

Dedicated linear channels - Will only schedule when `LINEAR_CHANNELS` is set
Dedicated linear channels - Will only schedule when dedicated linear channels is set

| Network Name | Description |
|---|---|
@@ -102,7 +98,7 @@ Dedicated linear channels - Will only schedule when `LINEAR_CHANNELS` is set

#### CBS Sports

Available to login with TV Provider
Available to login with TV Provider. Please note that there is no token refresh option here. It will require re-authenticating every 30 days.

#### NFL

@@ -117,14 +113,13 @@ If you don't have an NFL+ subscription, you can use these providers to access ga
| Provider Name | Description |
|---|---|
| Amazon Prime | Get TNF games from Amazon Prime |
| Twitch | Get TNF games from Twitch.tv (no auth required) |
| Peacock | Get SNF games from Peacock |
| TV Provider | Get in-market games from your TV Provider |
| Sunday Ticket | Get out-of-market games from Youtube |

##### Linear Channels

If you have access to NFL RedZone, it will be scheduled. If `LINEAR_CHANNELS` is set, it will be on its own channel
If you have access to NFL RedZone, it will be scheduled. If dedicated linear channels is set, it will be on its own channel

| Network Name | Description |
|---|---|
@@ -138,7 +133,7 @@ Available to login with NESN+ or TV Provider

##### Linear Channels

Will create dedicated linear channels if using `LINEAR_CHANNELS`, otherwise will schedule events normally
Will create dedicated linear channels if using dedicated linear channels, otherwise will schedule events normally

| Network Name | Description |
|---|---|
@@ -151,7 +146,7 @@ Available to login with Gotham Sports or TV Provider

##### Linear Channels

Will create dedicated linear channels if using `LINEAR_CHANNELS`, otherwise will schedule events normally
Will create dedicated linear channels if using dedicated linear channels, otherwise will schedule events normally

| Network Name | Description |
|---|---|
@@ -161,18 +156,18 @@ Will create dedicated linear channels if using `LINEAR_CHANNELS`, otherwise will
| MSGSN2 | MSG Sportsnet 2 HD |
| YES | Yes Network |

#### Victory+

Available to login with Victory+ credentials.

#### B1G+

Available to login with B1G+ credentials
Available to login with B1G+ credentials (or for free with certain ISP providers)

#### FloSports

Available to login with FloSports credentials

#### Mountain West

Available for free

#### MLB.tv

Available to login with MLB.tv credentials
@@ -184,11 +179,40 @@ Available to login with MLB.tv credentials

##### Linear Channels

Will create a dedicated linear channel if using `LINEAR_CHANNELS`, otherwise will schedule Big Inning normally
| Network Name | Description |
|---|---|
| Big Inning | Will create a dedicated linear channel if using dedicated linear channels, otherwise will schedule Big Inning normally |
| MLB Network | Only available if you have MLB Network as part of your MLB.tv account or have linked TVE Provider that provides access |

#### NHL.tv

| Network Name |
|---|
| Big Inning |
Available to login with NHL.tv account (Europe only)

#### Mountain West

Available for free

#### Northern Sun

Available for free

#### PWHL

Available for free

#### LOVB Live

Available for free

#### Women's Sports Network

Available for free - only linear channel

##### Linear Channels

| Network Name | Description |
|---|---|
| WSN | Women's Sports Network |

## Volumes
| Volume Name | Description | Required? |
Loading