Sign inSign up

gdunstone/iview-proxy

By gdunstone

•Updated about 5 years ago

docker image for iview proxy

Image
0

1.1K

gdunstone/iview-proxy repository overview

⁠iview-proxy

A proxy web app that serves ABC iView content outside of the iView webplayer, avoiding intrusive data harvesting.

There's also a cool Android fork located here⁠.

⁠Notes
  • Privacy Badger blocks the playback URL of ABC iView video playlists because of cross-origin playback, so whitelist that URL when it's flagged otherwise videos will refuse to play.

⁠Purpose

This project has two main goals:

  • Avoid as much account authentication as possible to watch ABC iView content,

  • Avoid providing as much data as possible to iView to stop data harvesting.

Despite being aptly warned, the ABC has taken a forceful approach to collecting ABC iView data. This app seeks to remedy this by obtaining iView medias' m3u8 playlists, and isolating them to a locked-down media player, completely free of any analytics tracking.

⁠How does it work?

The search function on iView is riddled with analytics tracking:

{
	"requests": [
		{
			"indexName": "ABC_production_iview_web",
			"params": "highlightPreTag=%3Cais-highlight-0000000000%3E&highlightPostTag=%3C%2Fais-highlight-0000000000%3E&getRankingInfo=true&clickAnalytics=true&analytics=true&userToken=anonymous-60451354-4525-401b-9a54-3e18fa480cd5&facetFilters=playable%3A%20-false&query=s&facets=%5B%5D&tagFilters="
		},
		{
			"indexName": "ABC_production_iview_web",
			"params": "highlightPreTag=%3Cais-highlight-0000000000%3E&highlightPostTag=%3C%2Fais-highlight-0000000000%3E&getRankingInfo=true&clickAnalytics=true&analytics=true&userToken=anonymous-60451354-4525-401b-9a54-3e18fa480cd5&facetFilters=playable%3A%20-false&query=s&hitsPerPage=6&filters=docType%3A%20category%20OR%20docType%3A%20channel&ruleContexts=iview_categories&facets=%5B%5D&tagFilters="
		},
		{
			"indexName": "ABC_production_iview_web",
			"params": "highlightPreTag=%3Cais-highlight-0000000000%3E&highlightPostTag=%3C%2Fais-highlight-0000000000%3E&getRankingInfo=true&clickAnalytics=true&analytics=true&userToken=anonymous-60451354-4525-401b-9a54-3e18fa480cd5&facetFilters=playable%3A%20-false&query=s&hitsPerPage=8&filters=docType%3A%20Program&ruleContexts=iview_programs&page=0&facets=%5B%5D&tagFilters="
		},
		{
			"indexName": "ABC_production_iview_web",
			"params": "highlightPreTag=%3Cais-highlight-0000000000%3E&highlightPostTag=%3C%2Fais-highlight-0000000000%3E&getRankingInfo=true&clickAnalytics=true&analytics=true&userToken=anonymous-60451354-4525-401b-9a54-3e18fa480cd5&facetFilters=playable%3A%20-false&query=s&hitsPerPage=8&filters=docType%3A%20VideoEpisode%20AND%20NOT%20subType%3A%20feature%20AND%20NOT%20subType%3A%20livestream&ruleContexts=iview_episodes&page=0&facets=%5B%5D&tagFilters="
		}
	]
}

So iview-proxy disables it all, and locks down iView's search to the bare-minimum, keeping your data safe.

⁠Watching

When you watch a video on the normal iView site, all sorts of data is sent back to iView and third parties, which is concerning to those who care about their privacy. See here⁠.

iview-proxy calls only show/series metadata APIs to get the video info, and acts as if it is a web scraper of sorts. Once it has the video source for a show, it plays it in a non-custom video.js player, completely free of any analytics tracking.

⁠Node JS

  1. Download and install Node JS from here⁠

  2. Verify its installation by opening a terminal (or CMD/PowerShell for Windows users), and run this command:

    node
    

    You should enter the Node JS interpreter.

    Type

    .exit
    

    to leave.

⁠Setup

The actual app is contained in the src directory.

  1. Install required dependencies

    npm install
    
  2. Start the server

    npm start
    

    or

    node .
    
  3. Navigate to localhost:1984 in a browser to access the app.

⁠Docker

  1. Build the docker image:

    cd src
    docker build -t iview-proxy .
    
  2. Start a container with that image

    docker run --rm -it -p 1984:1984 iview-proxy
    
  3. Navigate to localhost:1984 in a browser to access the app.

Tag summary

Content type

Image

Digest

Size

65.6 MB

Last updated

about 5 years ago

docker pull gdunstone/iview-proxy