Ejemplo n.º 1
0
 public override IEnumerable <TvgMedia> Pull()
 {
     _panel = _panel ?? GetApiResultAsync(CancellationToken.None).GetAwaiter().GetResult();
     if (_panel.Available_Channels != null)
     {
         return(_panel.Available_Channels.Select(x => Channels.ToTvgMedia(x, y => _panel.GenerateUrlFrom(x))));
     }
     return(null);
 }
Ejemplo n.º 2
0
        public override async Task <IEnumerable <TvgMedia> > PullAsync(CancellationToken cancellationToken)
        {
            _panel = _panel ?? await GetApiResultAsync(CancellationToken.None);

            if (_panel.Available_Channels != null)
            {
                return(_panel.Available_Channels.Select(x => Channels.ToTvgMedia(x, y => _panel.GenerateUrlFrom(x))));
            }
            return(null);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Index(string Username, string Password, string action, string series_id, string stream_id, string category_id, string vod_id)
        {
            var    routeName = ControllerContext.ActionDescriptor.AttributeRouteInfo.Template;
            string url       = Request.QueryString.Value;
            string path      = Request.Path.Value;

            string[] urlpar    = url.Split("?/");
            var      urlparams = string.Join("", urlpar);

            if (urlparams != "" || !urlparams.Contains("action"))
            {
                if (routeName == "panel_api.php")
                {
                    if (urlparams != "")
                    {
                        var         client   = new RestClient($"http://rb-group-server.com:25461/panel_api.php{urlparams}");
                        RestRequest request  = new RestRequest(Method.GET);
                        var         response = await client.ExecuteAsync(request);

                        var obj = JsonConvert.DeserializeObject <XtreamPanel>(response.Content);
                        var xtp = new XtreamPanel();
                        xtp.User_info          = obj.User_info;
                        xtp.Server_info        = obj.Server_info;
                        xtp.Categories         = obj.Categories;
                        xtp.Available_Channels = obj.Available_Channels;
                        //xtp.Channels = obj.Channels;
                        //xtp.Available_Movies = obj.Available_Movies;
                        //xtp.Available_Series = obj.Available_Series;

                        /*var dict = obj.Available_Movies.ToDictionary(p => p.Value);
                         * foreach (var person in obj.Available_Channels)
                         * {
                         *  dict[person.Value] = person;
                         * }
                         * xtp.Available_Series = dict.Values.ToList();*/
                        string ob = JsonConvert.SerializeObject(xtp);
                        return(Content(ob, "application/json"));
                    }
                    else
                    {
                        var         client   = new RestClient($"http://rb-group-server.com:25461/player_api.php?username={Username}&password={Password}&action={action}&series_id={series_id}&stream_id={stream_id}&category_id={category_id}&vod_id={vod_id}");
                        RestRequest request  = new RestRequest(Method.GET);
                        var         response = await client.ExecuteAsync(request);

                        return(Content(response.Content, "application/json"));
                    }
                }
                else if (routeName == "player_api.php")
                {
                    if (urlparams != "")
                    {
                        var         client   = new RestClient($"http://rb-group-server.com:25461/player_api.php{urlparams}");
                        RestRequest request  = new RestRequest(Method.GET);
                        var         response = await client.ExecuteAsync(request);

                        return(Content(response.Content, "application/json"));
                    }
                    else
                    {
                        var         client   = new RestClient($"http://rb-group-server.com:25461/player_api.php?username={Username}&password={Password}&action={action}&series_id={series_id}&stream_id={stream_id}&category_id={category_id}&vod_id={vod_id}");
                        RestRequest request  = new RestRequest(Method.GET);
                        var         response = await client.ExecuteAsync(request);

                        return(Content(response.Content, "application/json"));
                    }
                }
                else if (routeName.Contains("movie"))
                {
                    return(Redirect($"http://rb-group-server.com:25461{ path }"));
                }
                else if (routeName.Contains("series"))
                {
                    return(Redirect($"http://rb-group-server.com:25461{ path }"));
                }
                else if (routeName.Contains("live"))
                {
                    //string streamid = Request.Path.Value.Split('/').Last();
                    return(Redirect($"http://rb-group-server.com:25461{ path }"));
                }
                else if (routeName.Contains("created_live"))
                {
                    /*string streamid = Request.Path.Value.Split('/').Last();
                     * string tempFile = Path.GetTempPath() + $"{streamid}";
                     * using (WebClient myWebClient = new WebClient())
                     * {
                     *  do
                     *  {
                     *      myWebClient.DownloadFileAsync(new Uri($"http://rb-group-server.com:25461{ path }"), tempFile);
                     *
                     *      byte[] buffer;
                     *      FileStream fileStream = new FileStream(tempFile, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite);
                     *      try
                     *      {
                     *          int length = (int)fileStream.Length;
                     *          buffer = new byte[length];
                     *          int count;
                     *          int sum = 0;
                     *          while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
                     *          {
                     *              sum += count;
                     *          }
                     *      }
                     *      catch (Exception)
                     *      {
                     *          //fileStream.Close();
                     *          throw;
                     *      }
                     *
                     *      return File(buffer, "video/mp2t");
                     *  } while (tempFile.Length >= 0);
                     * }*/
                    return(Redirect($"http://rb-group-server.com:25461{ path }"));
                }
                else if (urlparams != "" && !urlparams.Contains("action"))
                {
                    var         client   = new RestClient($"http://rb-group-server.com:25461/");
                    RestRequest request  = new RestRequest($"{urlparams}", Method.GET);
                    var         response = await client.ExecuteAsync(request);

                    return(Content(response.Content, "application/json"));
                }
                else if (urlparams == "" && !urlparams.Contains("action"))
                {
                    return(Ok("Access Denied"));
                }
            }
            return(Ok("Access Denied"));
        }
Ejemplo n.º 4
0
 public XtreamClientMoq()
 {
     _xtreamPanel = Newtonsoft.Json.JsonConvert.DeserializeObject <XtreamPanel>(TrimJsonAndConvertChannelsToArray(GetXtreamPanel()));
 }