Hey everyone, just wanted to chime in. I made a bit of headway, but still ultimately having the same issues and cannot get TD setup.
Per the Jackett support thread
HERE I read about a workaround to setup an SSH tunnel to the machine to add the cookie information (I used the instructions
HERE to setup SSH on the machine - spesifically posts #4 & 11)
In my case, the jail running Jackett is
http://192.168.1.56:9117, when I connect to that address directly from any machine the UI comes up. I click the "+" button and choose TorrentDay and then of course the next window pops up with the cookie information that has been talked about throughout this thread. Again, according to my research it sounds like the only way to use the Jackett frontend (to properly setup TorrentDay) is that you need to tunnel to the jail and from another machine navigate to
http://127.0.0.1:9117 through the tunnel in place. This supposedly will allow the cookie to be properly processed.
Thing is, when I do this on multiple machines (setup the tunnel) I can successfully access the Jackett UI, but after clicking "+" and then choosing "TorrentDay" in the list literally nothing happens. On the flipside, If I navigate directly to
http://192.168.1.56:9117 outside of the tunnel, it does work and brings me back to that prompt to enter cookie information (but we all know this doesn't work - hence the effort to setup the tunnel to add the cookie that way).
I've used PUTTY on Windows 10 to setup the tunnel using the following instructions (to recap):
- Under "Session" section on lefthand side, entered in hostname '192.168.1.56' w/ Port 22.
- Switched to 'Connection' > 'SSH' > 'Tunnels'
- Defined source port as '9117', destination as '127.0.0.1:9117' and left Local/Auto radio boxes selected. Clicked 'Add' button when done. You should see 'L9117 127.0.0.1:9117' listed under "Forwarded ports:" afterwards.
- Switched back to "Session" category in top-left corner.
- Typed in "Jackett-Tunnel' under "Saved Sessions" header.
- Clicked "Save" to save all these settings for this Saved Session.
- Double-clicked 'Jackett-Tunnel' to initiate the connection,
- Prompt comes up. Enter username (root) and appropriate password - refer to my second link above for SSH setup if required)
- With the session connected, I opened Chrome and navigated to '
http://127.0.0.1:9117' and sure enough it redirected me to the Jackett admin UI through the tunnel.
- I attempted to click "+", then "TorrentDay" to bring up the config window, but it never shows.
- Again, I navigate directly to "
http://192.168.1.56:9117" and I am able to get to the config page, but of course that won't do me any good...
I've also used Terminal on Mac OS X with the exact same behavior:
- Open terminal and execute the following command: "ssh -L 9117:localhost:9117 root@yourserversip"
- After logging in, I opened chrome (and I also tried Safari) and navigated to "
http://127.0.0.1:9117" and experienced the same behavior as using Windows10/PUTTY Tunnel/Chrome above.
Just incase it helps, I turned on extended logging in Jackett UI and here's what it logged when accessing the TorrentDay configuration section:
via '
http://192.168.1.56:9117':
Code:
root@jackett_1:~ # 08-28 16:37:23 Info http://192.168.1.56:9117/logos/passthepopcorn.png
System.Web.Http.Request: http://192.168.1.56:9117/logos/passthepopcorn.png
08-28 16:37:23 Info DefaultContentNegotiator Negotiate Type='HttpError', formatters=[JsonMediaTypeFormatterTracer, XmlMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer]
System.Net.Http.Formatting: DefaultContentNegotiator Negotiate Type='HttpError', formatters=[JsonMediaTypeFormatterTracer, XmlMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer]
08-28 16:37:23 Info JsonMediaTypeFormatter GetPerRequestFormatterInstance Obtaining formatter of type 'JsonMediaTypeFormatter' for type='HttpError', mediaType='application/json; charset=utf-8'
System.Net.Http.Formatting: JsonMediaTypeFormatter GetPerRequestFormatterInstance Obtaining formatter of type 'JsonMediaTypeFormatter' for type='HttpError', mediaType='application/json; charset=utf-8'
08-28 16:37:23 Info JsonMediaTypeFormatter GetPerRequestFormatterInstance Will use same 'JsonMediaTypeFormatter' formatter
System.Net.Http.Formatting: JsonMediaTypeFormatter GetPerRequestFormatterInstance Will use same 'JsonMediaTypeFormatter' formatter
08-28 16:37:23 Info DefaultContentNegotiator Negotiate Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'
System.Net.Http.Formatting: DefaultContentNegotiator Negotiate Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'
08-28 16:37:23 Info Content-type='application/json; charset=utf-8', content-length=unknown
System.Web.Http.Request: Content-type='application/json; charset=utf-8', content-length=unknown
08-28 16:37:26 Info http://192.168.1.56:9117/Admin/get_config_form
System.Web.Http.Request: http://192.168.1.56:9117/Admin/get_config_form
08-28 16:37:26 Info DefaultHttpControllerSelector SelectController Route='MS_SubRoutes:System.Web.Http.Routing.IHttpRouteData[]'
System.Web.Http.Controllers: DefaultHttpControllerSelector SelectController Route='MS_SubRoutes:System.Web.Http.Routing.IHttpRouteData[]'
08-28 16:37:26 Info DefaultHttpControllerSelector SelectController Admin
System.Web.Http.Controllers: DefaultHttpControllerSelector SelectController Admin
08-28 16:37:26 Info HttpControllerDescriptor CreateController
System.Web.Http.Controllers: HttpControllerDescriptor CreateController
08-28 16:37:26 Info DefaultHttpControllerActivator Create
System.Web.Http.Controllers: DefaultHttpControllerActivator Create
08-28 16:37:26 Info DefaultHttpControllerActivator Create Jackett.Controllers.AdminController
System.Web.Http.Controllers: DefaultHttpControllerActivator Create Jackett.Controllers.AdminController
08-28 16:37:26 Info HttpControllerDescriptor CreateController Jackett.Controllers.AdminController
System.Web.Http.Controllers: HttpControllerDescriptor CreateController Jackett.Controllers.AdminController
08-28 16:37:26 Info AdminController ExecuteAsync
System.Web.Http.Controllers: AdminController ExecuteAsync
08-28 16:37:26 Info ApiControllerActionSelector SelectAction
System.Web.Http.Action: ApiControllerActionSelector SelectAction
08-28 16:37:26 Info ApiControllerActionSelector SelectAction Selected action 'GetConfigForm()'
System.Web.Http.Action: ApiControllerActionSelector SelectAction Selected action 'GetConfigForm()'
08-28 16:37:26 Info JackettAuthorizedAttribute OnAuthorizationAsync
System.Web.Http.Filters: JackettAuthorizedAttribute OnAuthorizationAsync
08-28 16:37:26 Info JackettAuthorizedAttribute OnAuthorizationAsync
System.Web.Http.Filters: JackettAuthorizedAttribute OnAuthorizationAsync
08-28 16:37:26 Info HttpActionBinding ExecuteBindingAsync
System.Web.Http.ModelBinding: HttpActionBinding ExecuteBindingAsync
08-28 16:37:26 Info HttpActionBinding ExecuteBindingAsync
System.Web.Http.ModelBinding: HttpActionBinding ExecuteBindingAsync
08-28 16:37:26 Info JackettAPINoCacheAttribute OnActionExecutingAsync Action filter for 'GetConfigForm()'
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutingAsync Action filter for 'GetConfigForm()'
08-28 16:37:26 Info JackettAPINoCacheAttribute OnActionExecutingAsync
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutingAsync
08-28 16:37:26 Info ApiControllerActionInvoker InvokeActionAsync Action='GetConfigForm()'
System.Web.Http.Action: ApiControllerActionInvoker InvokeActionAsync Action='GetConfigForm()'
08-28 16:37:26 Info ReflectedHttpActionDescriptor ExecuteAsync Invoking action 'GetConfigForm()'
System.Web.Http.Action: ReflectedHttpActionDescriptor ExecuteAsync Invoking action 'GetConfigForm()'
08-28 16:37:26 Debug UnixLibCurlWebClient:GetString(Url:https://tdonline.org/login.php)
08-28 16:37:26 Debug UnixLibCurlWebClient:GetString Returning InternalServerError =>
08-28 16:37:26 Info ReflectedHttpActionDescriptor ExecuteAsync Action returned 'System.Web.Http.Results.JsonResult`1[Newtonsoft.Json.Linq.JObject]'
System.Web.Http.Action: ReflectedHttpActionDescriptor ExecuteAsync Action returned 'System.Web.Http.Results.JsonResult`1[Newtonsoft.Json.Linq.JObject]'
08-28 16:37:26 Info ApiControllerActionInvoker InvokeActionAsync
System.Web.Http.Action: ApiControllerActionInvoker InvokeActionAsync
08-28 16:37:26 Info JackettAPINoCacheAttribute OnActionExecutedAsync Action filter for 'GetConfigForm()'
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutedAsync Action filter for 'GetConfigForm()'
08-28 16:37:26 Info JackettAPINoCacheAttribute OnActionExecutedAsync
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutedAsync
08-28 16:37:26 Info AdminController ExecuteAsync
System.Web.Http.Controllers: AdminController ExecuteAsync
08-28 16:37:26 Info Content-type='application/json; charset=utf-8', content-length=926
System.Web.Http.Request: Content-type='application/json; charset=utf-8', content-length=926
08-28 16:37:26 Info AdminController Dispose
System.Web.Http.Controllers: AdminController Dispose
08-28 16:37:26 Info AdminController Dispose
System.Web.Http.Controllers: AdminController Dispose
via '
http://127.0.0.1:9117' (SSH Tunnel):
Code:
root@jackett_1:~ # 08-28 16:38:33 Info http://127.0.0.1:9117/logos/passthepopcorn.png
System.Web.Http.Request: http://127.0.0.1:9117/logos/passthepopcorn.png
08-28 16:38:33 Info DefaultContentNegotiator Negotiate Type='HttpError', formatters=[JsonMediaTypeFormatterTracer, XmlMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer]
System.Net.Http.Formatting: DefaultContentNegotiator Negotiate Type='HttpError', formatters=[JsonMediaTypeFormatterTracer, XmlMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer, FormUrlEncodedMediaTypeFormatterTracer]
08-28 16:38:33 Info JsonMediaTypeFormatter GetPerRequestFormatterInstance Obtaining formatter of type 'JsonMediaTypeFormatter' for type='HttpError', mediaType='application/json; charset=utf-8'
System.Net.Http.Formatting: JsonMediaTypeFormatter GetPerRequestFormatterInstance Obtaining formatter of type 'JsonMediaTypeFormatter' for type='HttpError', mediaType='application/json; charset=utf-8'
08-28 16:38:33 Info JsonMediaTypeFormatter GetPerRequestFormatterInstance Will use same 'JsonMediaTypeFormatter' formatter
System.Net.Http.Formatting: JsonMediaTypeFormatter GetPerRequestFormatterInstance Will use same 'JsonMediaTypeFormatter' formatter
08-28 16:38:33 Info DefaultContentNegotiator Negotiate Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'
System.Net.Http.Formatting: DefaultContentNegotiator Negotiate Selected formatter='JsonMediaTypeFormatter', content-type='application/json; charset=utf-8'
08-28 16:38:33 Info Content-type='application/json; charset=utf-8', content-length=unknown
System.Web.Http.Request: Content-type='application/json; charset=utf-8', content-length=unknown
08-28 16:38:37 Info http://127.0.0.1:9117/Admin/get_config_form
System.Web.Http.Request: http://127.0.0.1:9117/Admin/get_config_form
08-28 16:38:37 Info DefaultHttpControllerSelector SelectController Route='MS_SubRoutes:System.Web.Http.Routing.IHttpRouteData[]'
System.Web.Http.Controllers: DefaultHttpControllerSelector SelectController Route='MS_SubRoutes:System.Web.Http.Routing.IHttpRouteData[]'
08-28 16:38:37 Info DefaultHttpControllerSelector SelectController Admin
System.Web.Http.Controllers: DefaultHttpControllerSelector SelectController Admin
08-28 16:38:37 Info HttpControllerDescriptor CreateController
System.Web.Http.Controllers: HttpControllerDescriptor CreateController
08-28 16:38:37 Info DefaultHttpControllerActivator Create
System.Web.Http.Controllers: DefaultHttpControllerActivator Create
08-28 16:38:37 Info DefaultHttpControllerActivator Create Jackett.Controllers.AdminController
System.Web.Http.Controllers: DefaultHttpControllerActivator Create Jackett.Controllers.AdminController
08-28 16:38:37 Info HttpControllerDescriptor CreateController Jackett.Controllers.AdminController
System.Web.Http.Controllers: HttpControllerDescriptor CreateController Jackett.Controllers.AdminController
08-28 16:38:37 Info AdminController ExecuteAsync
System.Web.Http.Controllers: AdminController ExecuteAsync
08-28 16:38:37 Info ApiControllerActionSelector SelectAction
System.Web.Http.Action: ApiControllerActionSelector SelectAction
08-28 16:38:37 Info ApiControllerActionSelector SelectAction Selected action 'GetConfigForm()'
System.Web.Http.Action: ApiControllerActionSelector SelectAction Selected action 'GetConfigForm()'
08-28 16:38:37 Info JackettAuthorizedAttribute OnAuthorizationAsync
System.Web.Http.Filters: JackettAuthorizedAttribute OnAuthorizationAsync
08-28 16:38:37 Info JackettAuthorizedAttribute OnAuthorizationAsync
System.Web.Http.Filters: JackettAuthorizedAttribute OnAuthorizationAsync
08-28 16:38:37 Info HttpActionBinding ExecuteBindingAsync
System.Web.Http.ModelBinding: HttpActionBinding ExecuteBindingAsync
08-28 16:38:37 Info HttpActionBinding ExecuteBindingAsync
System.Web.Http.ModelBinding: HttpActionBinding ExecuteBindingAsync
08-28 16:38:37 Info JackettAPINoCacheAttribute OnActionExecutingAsync Action filter for 'GetConfigForm()'
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutingAsync Action filter for 'GetConfigForm()'
08-28 16:38:37 Info JackettAPINoCacheAttribute OnActionExecutingAsync
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutingAsync
08-28 16:38:37 Info ApiControllerActionInvoker InvokeActionAsync Action='GetConfigForm()'
System.Web.Http.Action: ApiControllerActionInvoker InvokeActionAsync Action='GetConfigForm()'
08-28 16:38:37 Info ReflectedHttpActionDescriptor ExecuteAsync Invoking action 'GetConfigForm()'
System.Web.Http.Action: ReflectedHttpActionDescriptor ExecuteAsync Invoking action 'GetConfigForm()'
08-28 16:38:37 Debug UnixLibCurlWebClient:GetString(Url:https://tdonline.org/login.php)
08-28 16:38:37 Debug UnixLibCurlWebClient:GetString Returning InternalServerError =>
08-28 16:38:37 Info ReflectedHttpActionDescriptor ExecuteAsync Action returned 'System.Web.Http.Results.JsonResult`1[Newtonsoft.Json.Linq.JObject]'
System.Web.Http.Action: ReflectedHttpActionDescriptor ExecuteAsync Action returned 'System.Web.Http.Results.JsonResult`1[Newtonsoft.Json.Linq.JObject]'
08-28 16:38:37 Info ApiControllerActionInvoker InvokeActionAsync
System.Web.Http.Action: ApiControllerActionInvoker InvokeActionAsync
08-28 16:38:37 Info JackettAPINoCacheAttribute OnActionExecutedAsync Action filter for 'GetConfigForm()'
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutedAsync Action filter for 'GetConfigForm()'
08-28 16:38:37 Info JackettAPINoCacheAttribute OnActionExecutedAsync
System.Web.Http.Filters: JackettAPINoCacheAttribute OnActionExecutedAsync
08-28 16:38:37 Info AdminController ExecuteAsync
System.Web.Http.Controllers: AdminController ExecuteAsync
08-28 16:38:37 Info Content-type='application/json; charset=utf-8', content-length=926
System.Web.Http.Request: Content-type='application/json; charset=utf-8', content-length=926
08-28 16:38:37 Info AdminController Dispose
System.Web.Http.Controllers: AdminController Dispose
08-28 16:38:37 Info AdminController Dispose
System.Web.Http.Controllers: AdminController Dispose
They appear to be neigh-identical, but I just for the life of me can't figure this out!
Has anyone gotten this to work within a Jail?? :)