-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I tried downloading a subtitles file and after an OSC message indicating it was downloading subtitles nothing happened. There was no OSD message indicating a failure. Clicking on the Log button in the sidebar the last message indicated the plugin was downloading the file. Checking the IINA log file showed Open Subtitles refused to download the file and instead returned this error:
You have downloaded your allowed 100 subtitles for 24h.Your quota will be renewed in 05 hours and 33 minutes (2026-02-13 23:59:59 UTC) ts=1771007207
I was not logged into my Open Subtitles account making me an anonymous user, identified by my IP address. This is how I found out my ISPs has deployed CGNAT and I am now sharing an IP address with many other customers.
Since ISPs are now doing this it becomes more important that the plugin clearly report this failure. There should be an OSD message indicating the download ended in failure. There should be a message in the log displayed by the plugin explaining the nature of the failure.
This is what the failure looked like in the IINA log:
IINA log:
13:26:46.917 [player0 - OpenSubtitles][e] Error requesting /download
13:26:46.918 [player0 - OpenSubtitles][e] {
"status": 406,
"data": {
"uk": "app_ud_82678",
"uid": 2,
"ts": 1771007207,
"message": "You have downloaded your allowed 100 subtitles for 24h.Your quota will be renewed in 05 hours and 33 minutes (2026-02-13 23:59:59 UTC) ts=1771007207 ",
"reset_time": "05 hours and 33 minutes",
"remaining": -1,
"requests": 101,
"reset_time_utc": "2026-02-13T23:59:59.000Z"
},
"statusText": "Not Acceptable",
"headers": {
"last-modified": "Fri, 13 Feb 2026 18:26:47 GMT",
"pragma": "no-cache",
"content-type": "application/json; charset=utf-8",
"cache-control": "max-age=0, private, must-revalidate, s-maxage=600",
"expires": "0"
},
"config": {
"timeout": 0,
"xsrfHeaderName": "X-XSRF-TOKEN",
"headers": {
"User-Agent": "IINAPlugin v0.0.1",
"Api-Key": "********",
"Content-Type": "application/json",
"Accept": "*/*"
},
"maxContentLength": -1,
"url": "https://api.opensubtitles.com/api/v1/download",
"params": {},
"transformResponse": [
null
],
"adapter": [
"xhr",
"http"
],
"transformRequest": [
null
],
"data": "{\"file_id\":4638179}",
"maxBodyLength": -1,
"env": {},
"transitional": {
"clarifyTimeoutError": false,
"silentJSONParsing": true,
"forcedJSONParsing": true
},
"xsrfCookieName": "XSRF-TOKEN",
"method": "post"
},
"request": {}
}
At least in the IINA log you can tell what happened. But users should not have to enable logging to figure out what has happened in this case.
This problem report originates from discussions in IINA issue iina/iina#4773. See this comment.