====== GEO Detect ======
===== Hulu =====
// https://player.hulu.com/site/dash/308343-site-curiosity/js/app.js
Device ID: 190
Device Key: 6ebfc84f3c304217b20fd9a66cb5957f
Use POST method on ''https://play.hulu.com/v6/playlist''.
Example JSON:
{
"device_identifier": "10FC0316A4AF419CE8DCEF9262036304:2852",
"deejay_device_id": 190,
"version": 1,
"all_cdn": true,
"content_eab_id": "EAB::f74faeff-da38-4810-bc7c-523945fe31b9::61618343::124716002",
"region": "US",
"xlink_support": false,
"device_ad_id": "55905B29-EF6E-CF1F-632F-AA7E35F16CFB",
"limit_ad_tracking": false,
"ignore_kids_block": false,
"language": "en",
"guid": "10FC0316A4AF419CE8DCEF9262036304",
"rv": 512575,
"kv": 450218,
"unencrypted": true,
"include_t2_revenue_beacon": "1",
"cp_session_id": "EB931A32-B581-9128-44CA-9342C27C76D2",
"interface_version": "1.9.0",
"network_mode": "wifi",
"play_intent": "resume",
"playback": {
"version": 2,
"video": {
"codecs": {
"values": [
{
"type": "H264",
"width": 1920,
"height": 1080,
"framerate": 60,
"level": "4.2",
"profile": "HIGH"
}
],
"selection_mode": "ONE"
}
},
"audio": {
"codecs": {
"values": [
{
"type": "AAC"
}
],
"selection_mode": "ONE"
}
},
"drm": {
"values": [
{
"type": "WIDEVINE",
"version": "MODULAR",
"security_level": "L3"
},
{
"type": "PLAYREADY",
"version": "V2",
"security_level": "SL2000"
}
],
"selection_mode": "ALL"
},
"manifest": {
"type": "DASH",
"https": true,
"multiple_cdns": true,
"patch_updates": true,
"hulu_types": true,
"live_dai": true,
"multiple_periods": false,
"xlink": false,
"secondary_audio": true,
"live_fragment_delay": 3
},
"segments": {
"values": [
{
"type": "FMP4",
"encryption": {
"mode": "CENC",
"type": "CENC"
},
"https": true
}
],
"selection_mode": "ONE"
}
}
}
If you didn't set ''Cookie'' in header, it will output this error:
{
"code": "IFS-400-001",
"hci_code": "hulu:playstack:error:ifs-400-001",
"message": "Could not find token in request"
}
For cookie, go to your browser's developer tools -> Network -> right click an request -> Save all as HAR with content.
Then, in the ''Cookie'' section, find ''_hulu_session''.
Add this to your header, and you will get this:
{
"message": "Geo Rights Block (Bundle not available for client geolocation) - bundle_id: 124716002",
"cause": "Roaming Geo",
"code": "BYA-403-013",
"hci_code": "hulu:playstack:error:bya-403-013",
"root_cause_service": null
}
Or this:
{
"message": "Anonymous proxy detected",
"cause": "Anonymous Proxy",
"code": "BYA-403-011",
"hci_code": "hulu:playstack:error:bya-403-011",
"root_cause_service": null
}
There are some other errors:
{
"code": "DJA-400-002",
"hci_code": "hulu:playstack:error:dja-400-002",
"message": "Invalid kv for server key"
}
{
"code": "DJA-400-003",
"hci_code": "hulu:playstack:error:dja-400-003",
"message": "Invalid playback config"
}