Getting started

This project was started (and stalled) several years ago. As a result, it's running on .NET Framework 4.5.2. It now runs on .NET Core 2.2! It consists of an API project and a helper class library (which are labeled backwards, don't ask me why no longer labeled backwards!) See below for step-by-step instructions on getting started.

Requirements

  1. A Slingbox connected to your local network
  2. A Slingbox account
  3. Your Slingbox admin password (see below)
  4. .NET Core 2.2
  5. Visual Studio (or any other IDE/utility which compiles/runs .NET Core)
  6. VLC Media Player

Slingbox admin password

Internally, the Slingbox itself uses an admin password to authenticate requests. To obtain this password:

  1. Navigate to the following URL in a web browser: https://newwatchsecure.slingbox.com/watch/slingAccounts/account_boxes_js
  2. Log in when prompted. If you are already logged in, the page should load.
  3. You should see something similar to the JS below. The block below is formatted for readability. The admin password is bolded.
  4. Copy this value and keep it somewhere safe.
var sling_account_boxes = {
	"memberslingbox": {
		"abcdef1234567890": {
			"lookupByFinderId": true,
			"adminPassword": "your-admin-password",
			"userPassword": "your-user-password",
			"finderId": "your-finder-id",
			"isOwner": true,
			"productSignature": 00,
			"passwordAutoMode": true,
			"displayName": "Your Slingbox Name",
			"memberSlingBoxId": 1234567
		}
	},
	"size": 1
}

Slingbox port

  1. Open a new tab in Chrome or Firefox, and open dev tools.
  2. Open the network tab.
  3. Navigate to newwatch.slingbox.com, log in if you have to.
    1. One of the requests in the network window should be to the following URL: http://newwatch.slingbox.com/watch/slingAccounts/get_slingbox_sparcs_info/?finderId=your-finder-id&_=1605380817768
    2. In the JSON response object, one of the fields is devicePort. If that is different that 5207, sub that in to the appsettings.json file.

Setup

  1. Open the project in Visual Studio.
  2. Edit appsettings.json within Slingbox.API.
  3. Under the Slingbox key:
    1. Insert the IP address of your Slingbox in the value for key IPAddress.
    2. Insert the admin password acquired above in the value for key AdminPassword.
  4. Build and begin debugging Slingbox.API. Open the Debug window, it will show Starting web server... FINISHED. Press any key to quit. when ready.
  5. Open VLC.
  6. In the Media menu, click "Open Network Stream".
  7. Copy the following URL into the box: http://localhost:9090/api/stream/slingbox.
  8. If everything worked, you should see some activity (see below) in the console window Debug window and the output of your cable box should appear in VLC.
Starting web server... FINISHED. Press any key to quit.
Issuing forceOkStatus request... COMPLETE
Issuing device request... COMPLETE
Issuing stream request... COMPLETE
Opening video stream... COMPLETE

Beginning stream playback...