Guest User

Untitled

a guest
Sep 26th, 2026
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.67 KB | None | 0 0
  1. {
  2. "generated_at": "2026-09-26T18:04:46Z",
  3. "apituner_version": "0.1.29",
  4. "python": "3.11.16",
  5. "platform": "Linux-7.0.0-31-generic-x86_64-with-glibc2.41",
  6. "options": {
  7. "tune_timeout_seconds": 30.0,
  8. "wait_for_playback": true,
  9. "ready_settle_seconds": 1.0,
  10. "deeplink_relaunch_seconds": 6.0,
  11. "stop_on_release": false,
  12. "keep_apps_running": true,
  13. "retry_on_other_tuner": true,
  14. "request_timeout": 10.0,
  15. "dynamic_url_timeout": 15.0,
  16. "dynamic_url_attempts": 3,
  17. "stream_mode": "proxy",
  18. "stream_during_tune": true,
  19. "app_play_prefer": "google_tv",
  20. "release_grace_seconds": 5.0,
  21. "stuck_tuner_timeout_seconds": 40.0,
  22. "tuner_idle_timeout_seconds": 60.0,
  23. "hdhr_enabled": false,
  24. "hdhr_friendly_name": "APITuner",
  25. "hdhr_device_id": "EC5C9625",
  26. "hdhr_port": null,
  27. "hdhr_ssdp_enabled": false,
  28. "hdhr_udp_discovery_enabled": false,
  29. "channels_dvr_url": "",
  30. "xmltv_source_device": "M3U-YouTubeTV",
  31. "xmltv_duration_seconds": 259200,
  32. "xmltv_cache_seconds": 900.0,
  33. "fruitdeeplinks_url": null,
  34. "fruitdeeplinks_profile": "google_tv",
  35. "fruitdeeplinks_start_number": 9000,
  36. "fruitdeeplinks_xmltv_path": "/xmltv/adb",
  37. "fruitdeeplinks_sync_seconds": 0.0
  38. },
  39. "channel_count": 397,
  40. "tuner_count": 5,
  41. "hdhr": {
  42. "enabled": false,
  43. "friendly_name": "APITuner",
  44. "device_id": "EC5C9625"
  45. },
  46. "tuners": [
  47. {
  48. "id": "66579e517b5d",
  49. "name": "1",
  50. "enabled": true,
  51. "control": {
  52. "type": "http_agent",
  53. "host": "192.168.1.61",
  54. "port": 9092,
  55. "pair_port": null,
  56. "token": null
  57. },
  58. "stream_endpoint": "http://192.168.1.60:8090/stream0",
  59. "status": {
  60. "id": "66579e517b5d",
  61. "name": "1",
  62. "backend": "http_agent",
  63. "keys_backend": "androidtv_remote",
  64. "enabled": true,
  65. "locked": true,
  66. "tune_id": "9dd71b5aba",
  67. "channel_number": "77",
  68. "channel_name": "MeTV",
  69. "lock_seconds": 103.9,
  70. "last_seen_seconds": 0.4,
  71. "bytes_transferred": 13631488,
  72. "last_tune_seconds": 22.484000000054948,
  73. "last_error": null,
  74. "model": "Google TV Streamer"
  75. },
  76. "probe": {
  77. "reachable": true,
  78. "agent": {
  79. "model": "Google TV Streamer",
  80. "manufacturer": "Google",
  81. "androidVersion": "14",
  82. "sdkInt": 34,
  83. "versionName": "0.1.29",
  84. "versionCode": 29,
  85. "permissions": {
  86. "overlay": true,
  87. "usage": true,
  88. "notification": true,
  89. "accessibility": false
  90. },
  91. "capabilities": {
  92. "keys": false,
  93. "current_app": true,
  94. "playback_state": true,
  95. "power": false,
  96. "app_list": true,
  97. "install": true
  98. },
  99. "foreground": {
  100. "packageName": "com.att.tv",
  101. "hasPermission": true
  102. },
  103. "playback": {
  104. "playing": true,
  105. "package": "com.att.tv",
  106. "title": "Red Sparrow",
  107. "state": "playing",
  108. "hasPermission": true
  109. }
  110. }
  111. }
  112. },
  113. {
  114. "id": "84ffc02e1950",
  115. "name": "2",
  116. "enabled": true,
  117. "control": {
  118. "type": "http_agent",
  119. "host": "192.168.1.62",
  120. "port": 9092,
  121. "pair_port": null,
  122. "token": null
  123. },
  124. "stream_endpoint": "http://192.168.1.60:8090/stream1",
  125. "status": {
  126. "id": "84ffc02e1950",
  127. "name": "2",
  128. "backend": "http_agent",
  129. "keys_backend": "androidtv_remote",
  130. "enabled": true,
  131. "locked": false,
  132. "tune_id": null,
  133. "channel_number": null,
  134. "channel_name": null,
  135. "lock_seconds": null,
  136. "last_seen_seconds": null,
  137. "bytes_transferred": 0,
  138. "last_tune_seconds": null,
  139. "last_error": null,
  140. "model": "Google TV Streamer"
  141. },
  142. "probe": {
  143. "reachable": true,
  144. "agent": {
  145. "model": "Google TV Streamer",
  146. "manufacturer": "Google",
  147. "androidVersion": "14",
  148. "sdkInt": 34,
  149. "versionName": "0.1.29",
  150. "versionCode": 29,
  151. "permissions": {
  152. "overlay": true,
  153. "usage": true,
  154. "notification": true,
  155. "accessibility": false
  156. },
  157. "capabilities": {
  158. "keys": false,
  159. "current_app": true,
  160. "playback_state": true,
  161. "power": false,
  162. "app_list": true,
  163. "install": true
  164. },
  165. "foreground": {
  166. "packageName": "com.google.android.apps.tv.launcherx",
  167. "hasPermission": true
  168. },
  169. "playback": {
  170. "playing": false,
  171. "hasPermission": true
  172. }
  173. }
  174. }
  175. },
  176. {
  177. "id": "0a66f5969aed",
  178. "name": "3",
  179. "enabled": true,
  180. "control": {
  181. "type": "http_agent",
  182. "host": "192.168.1.63",
  183. "port": 9092,
  184. "pair_port": null,
  185. "token": null
  186. },
  187. "stream_endpoint": "http://192.168.1.60:8090/stream2",
  188. "status": {
  189. "id": "0a66f5969aed",
  190. "name": "3",
  191. "backend": "http_agent",
  192. "keys_backend": "androidtv_remote",
  193. "enabled": true,
  194. "locked": false,
  195. "tune_id": null,
  196. "channel_number": null,
  197. "channel_name": null,
  198. "lock_seconds": null,
  199. "last_seen_seconds": null,
  200. "bytes_transferred": 0,
  201. "last_tune_seconds": null,
  202. "last_error": null,
  203. "model": "Google TV Streamer"
  204. },
  205. "probe": {
  206. "reachable": true,
  207. "agent": {
  208. "model": "Google TV Streamer",
  209. "manufacturer": "Google",
  210. "androidVersion": "14",
  211. "sdkInt": 34,
  212. "versionName": "0.1.29",
  213. "versionCode": 29,
  214. "permissions": {
  215. "overlay": true,
  216. "usage": true,
  217. "notification": true,
  218. "accessibility": false
  219. },
  220. "capabilities": {
  221. "keys": false,
  222. "current_app": true,
  223. "playback_state": true,
  224. "power": false,
  225. "app_list": true,
  226. "install": true
  227. },
  228. "foreground": {
  229. "packageName": "com.google.android.apps.tv.launcherx",
  230. "hasPermission": true
  231. },
  232. "playback": {
  233. "playing": false,
  234. "hasPermission": true
  235. }
  236. }
  237. }
  238. },
  239. {
  240. "id": "2787e2835249",
  241. "name": "4",
  242. "enabled": true,
  243. "control": {
  244. "type": "http_agent",
  245. "host": "192.168.1.64",
  246. "port": 9092,
  247. "pair_port": null,
  248. "token": null
  249. },
  250. "stream_endpoint": "http://192.168.1.60:8090/stream3",
  251. "status": {
  252. "id": "2787e2835249",
  253. "name": "4",
  254. "backend": "http_agent",
  255. "keys_backend": "androidtv_remote",
  256. "enabled": true,
  257. "locked": false,
  258. "tune_id": null,
  259. "channel_number": null,
  260. "channel_name": null,
  261. "lock_seconds": null,
  262. "last_seen_seconds": null,
  263. "bytes_transferred": 0,
  264. "last_tune_seconds": null,
  265. "last_error": null,
  266. "model": "Google TV Streamer"
  267. },
  268. "probe": {
  269. "reachable": true,
  270. "agent": {
  271. "model": "Google TV Streamer",
  272. "manufacturer": "Google",
  273. "androidVersion": "14",
  274. "sdkInt": 34,
  275. "versionName": "0.1.29",
  276. "versionCode": 29,
  277. "permissions": {
  278. "overlay": true,
  279. "usage": true,
  280. "notification": true,
  281. "accessibility": false
  282. },
  283. "capabilities": {
  284. "keys": false,
  285. "current_app": true,
  286. "playback_state": true,
  287. "power": false,
  288. "app_list": true,
  289. "install": true
  290. },
  291. "foreground": {
  292. "packageName": "com.google.android.apps.tv.launcherx",
  293. "hasPermission": true
  294. },
  295. "playback": {
  296. "playing": false,
  297. "hasPermission": true
  298. }
  299. }
  300. }
  301. },
  302. {
  303. "id": "e893b390ee2a",
  304. "name": "5",
  305. "enabled": true,
  306. "control": {
  307. "type": "http_agent",
  308. "host": "192.168.1.65",
  309. "port": 9092,
  310. "pair_port": null,
  311. "token": null
  312. },
  313. "stream_endpoint": "http://192.168.1.60:8090/stream4",
  314. "status": {
  315. "id": "e893b390ee2a",
  316. "name": "5",
  317. "backend": "http_agent",
  318. "keys_backend": "androidtv_remote",
  319. "enabled": true,
  320. "locked": false,
  321. "tune_id": null,
  322. "channel_number": null,
  323. "channel_name": null,
  324. "lock_seconds": null,
  325. "last_seen_seconds": null,
  326. "bytes_transferred": 0,
  327. "last_tune_seconds": null,
  328. "last_error": null,
  329. "model": "Google TV Streamer"
  330. },
  331. "probe": {
  332. "reachable": true,
  333. "agent": {
  334. "model": "Google TV Streamer",
  335. "manufacturer": "Google",
  336. "androidVersion": "14",
  337. "sdkInt": 34,
  338. "versionName": "0.1.29",
  339. "versionCode": 29,
  340. "permissions": {
  341. "overlay": true,
  342. "usage": true,
  343. "notification": true,
  344. "accessibility": false
  345. },
  346. "capabilities": {
  347. "keys": false,
  348. "current_app": true,
  349. "playback_state": true,
  350. "power": false,
  351. "app_list": true,
  352. "install": true
  353. },
  354. "foreground": {
  355. "packageName": "com.google.android.apps.tv.launcherx",
  356. "hasPermission": true
  357. },
  358. "playback": {
  359. "playing": false,
  360. "hasPermission": true
  361. }
  362. }
  363. }
  364. }
  365. ],
  366. "recent_logs": [
  367. "2026-09-26 18:01:15,171 INFO apituner: APITuner 0.1.29 started",
  368. "2026-09-26 18:01:51,948 INFO httpx: HTTP Request: GET https://github.com/matthewfkoch/APITuner-releases/releases/latest/download/latest.json \"HTTP/1.1 302 Found\"",
  369. "2026-09-26 18:01:52,064 INFO httpx: HTTP Request: GET https://github.com/matthewfkoch/APITuner-releases/releases/download/v0.1.29/latest.json \"HTTP/1.1 302 Found\"",
  370. "2026-09-26 18:01:52,146 INFO httpx: HTTP Request: GET https://release-assets.githubusercontent.com/github-production-release-asset/1298947081/b2c3cf4e-04dc-4017-9e27-835f9b230ed5?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-09-26T18%3A45%3A05Z&rscd=attachment%3B+filename%3Dlatest.json&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-09-26T17%3A44%3A22Z&ske=2026-09-26T18%3A45%3A05Z&sks=b&skv=2018-11-09&sig=osp4yHRb9tZNOEJz8mmf%2FWyqKiSpVQJTYrTuvJR9AN0%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc5MDQ0NjAxMiwibmJmIjoxNzkwNDQ1NzEyLCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.76AKEE_Wna83VbFC5lvZ8iqIEnPvK8q_O-q2PqJMzdA&response-content-disposition=attachment%3B%20filename%3Dlatest.json&response-content-type=application%2Foctet-stream \"HTTP/1.1 200 OK\"",
  371. "2026-09-26 18:03:02,601 INFO apituner.tuner_manager: Tune 9dd71b5aba streaming during deeplink wait on 1 (MeTV)",
  372. "2026-09-26 18:03:02,625 INFO httpx: HTTP Request: GET http://192.168.1.60:8090/stream0 \"HTTP/1.0 200 OK\"",
  373. "2026-09-26 18:03:02,660 INFO apituner.tuner_manager: Tune 9dd71b5aba package try-order on 1: ['com.att.tv', 'com.att.tv.openvideo'] (channel package=com.att.tv)",
  374. "2026-09-26 18:03:02,827 INFO httpx: HTTP Request: POST http://192.168.1.61:9092/api/launch-intent \"HTTP/1.1 200 OK \"",
  375. "2026-09-26 18:03:05,649 INFO apituner.tuner_manager: Re-sending deeplink for channel 77 (MeTV) on 1 after no playback",
  376. "2026-09-26 18:03:05,776 INFO httpx: HTTP Request: POST http://192.168.1.61:9092/api/stop \"HTTP/1.1 200 OK \"",
  377. "2026-09-26 18:03:06,648 INFO httpx: HTTP Request: POST http://192.168.1.61:9092/api/launch-intent \"HTTP/1.1 200 OK \"",
  378. "2026-09-26 18:03:06,650 INFO apituner.tuner_manager: Re-sent deeplink for channel 77 (MeTV) (idle, 1/2)",
  379. "2026-09-26 18:03:12,682 INFO apituner.tuner_manager: Re-sending deeplink for channel 77 (MeTV) on 1 after no playback",
  380. "2026-09-26 18:03:12,756 INFO httpx: HTTP Request: POST http://192.168.1.61:9092/api/stop \"HTTP/1.1 200 OK \"",
  381. "2026-09-26 18:03:13,629 INFO httpx: HTTP Request: POST http://192.168.1.61:9092/api/launch-intent \"HTTP/1.1 200 OK \"",
  382. "2026-09-26 18:03:13,631 INFO apituner.tuner_manager: Re-sent deeplink for channel 77 (MeTV) (idle, 2/2)",
  383. "2026-09-26 18:03:13,632 INFO apituner.tuner_manager: Extending splash wait for MeTV by 45s after 2 idle relaunches",
  384. "2026-09-26 18:03:25,085 INFO apituner.tuner_manager: Playback ready for MeTV title='Red Sparrow' package=com.att.tv",
  385. "2026-09-26 18:03:25,085 INFO apituner.tuner_manager: Tune 9dd71b5aba ready in 22.48s (MeTV on 1)"
  386. ],
  387. "notes": [
  388. "Tokens are redacted. LAN IPs and encoder URLs may be present.",
  389. "Channel deeplink lineup is omitted.",
  390. "Successful Agent playback/info/health polls are omitted so tune errors stay in recent_logs.",
  391. "Share this file when asking for help on the Channels community forum."
  392. ]
  393. }
Advertisement
Add Comment
Please, Sign In to add comment