added /api/endpoint

This commit is contained in:
Mike Nolan 2021-12-12 04:04:16 -06:00
parent 31366d7206
commit 1102aa66ac
14 changed files with 1180 additions and 356 deletions

View File

@ -7,7 +7,7 @@
<File FileName="TYTD.Api/Server/Models/SavedVideo.cs" Line="8" Column="1" /> <File FileName="TYTD.Api/Server/Models/SavedVideo.cs" Line="8" Column="1" />
<File FileName="TYTD.Api/Server/Models/InfomationQueueItem.cs" Line="125" Column="50" /> <File FileName="TYTD.Api/Server/Models/InfomationQueueItem.cs" Line="125" Column="50" />
<File FileName="TYTD.Api/Server/Functions/ffmpeg.cs" Line="5" Column="15" /> <File FileName="TYTD.Api/Server/Functions/ffmpeg.cs" Line="5" Column="15" />
<File FileName="Program.cs" Line="126" Column="26" /> <File FileName="Program.cs" Line="126" Column="1" />
<File FileName="TYTD.Api/MyClass.cs" Line="92" Column="6" /> <File FileName="TYTD.Api/MyClass.cs" Line="92" Column="6" />
<File FileName="TYTD.Api/Server/Models/SavedChannel.cs" Line="6" Column="10" /> <File FileName="TYTD.Api/Server/Models/SavedChannel.cs" Line="6" Column="10" />
<File FileName="TYTD.Api/Server/Models/SavedPlaylist.cs" Line="7" Column="1" /> <File FileName="TYTD.Api/Server/Models/SavedPlaylist.cs" Line="7" Column="1" />
@ -37,7 +37,7 @@
<MonoDevelop.Ide.ItemProperties.youtube-downloader PreferredExecutionTarget="MonoDevelop.Default" /> <MonoDevelop.Ide.ItemProperties.youtube-downloader PreferredExecutionTarget="MonoDevelop.Default" />
<MonoDevelop.Ide.DebuggingService.Breakpoints> <MonoDevelop.Ide.DebuggingService.Breakpoints>
<BreakpointStore> <BreakpointStore>
<Breakpoint file="/home/ddlovato/tytd/site/TYTD.Api/Server/Models/YoutubeDownloaderResponse.cs" relfile="TYTD.Api/Server/Models/YoutubeDownloaderResponse.cs" line="10" column="1" /> <Breakpoint file="/home/mike/Git/site/TYTD.Api/Server/Models/YoutubeDownloaderResponse.cs" relfile="TYTD.Api/Server/Models/YoutubeDownloaderResponse.cs" line="10" column="1" />
</BreakpointStore> </BreakpointStore>
</MonoDevelop.Ide.DebuggingService.Breakpoints> </MonoDevelop.Ide.DebuggingService.Breakpoints>
<MultiItemStartupConfigurations /> <MultiItemStartupConfigurations />

View File

@ -99,11 +99,14 @@ namespace TYTD
Route.Add("/api/Storage/VideoRes/{Res}/{Id}",(HttpAction)VideoRes); Route.Add("/api/Storage/VideoRes/{Res}/{Id}",(HttpAction)VideoRes);
Route.Add("/api/upload/", (HttpAction)UploadFiles, "POST"); Route.Add("/api/upload/", (HttpAction)UploadFiles, "POST");
Route.Add("/api/endpoint", (HttpAction)Endpoint,"POST");
ApiLoader.Init(); ApiLoader.Init();
/* Other */ /* Other */
Route.Add("/", (HttpAction)Index); Route.Add("/", (HttpAction)Index);
Route.Add("/extensions.html", (HttpAction)Extensions); Route.Add("/extensions.html", (HttpAction)Extensions);
Route.Add("/{Path}", (HttpAction)RootPath); Route.Add("/{Path}", (HttpAction)RootPath);
Route.Add("/{Path}",(HttpAction)UploadFilePut,"PUT");
Console.CancelKeyPress += (sender, e) => { ApiLoader.Dispose();var date = DateTime.Now.ToString("yyyyMMdd_HHmmss");File.WriteAllText(Path.Combine("config","queues-close",$"{date}.json"), Downloader.GetQueue()); return; }; Console.CancelKeyPress += (sender, e) => { ApiLoader.Dispose();var date = DateTime.Now.ToString("yyyyMMdd_HHmmss");File.WriteAllText(Path.Combine("config","queues-close",$"{date}.json"), Downloader.GetQueue()); return; };
@ -121,6 +124,8 @@ namespace TYTD
} }
} }
private static async Task<StreamManifest> GetManifest(YoutubeClient arg1, VideoId arg2) private static async Task<StreamManifest> GetManifest(YoutubeClient arg1, VideoId arg2)
{ {
return await arg1.Videos.Streams.GetManifestAndFixStreamUrlsAsync(arg2); return await arg1.Videos.Streams.GetManifestAndFixStreamUrlsAsync(arg2);
@ -186,7 +191,7 @@ namespace TYTD
{ {
foreach (var item in Directory.GetFiles(Downloader.DL.GetPath(true, "Info"), "*.json")) foreach (var item in Directory.GetFiles(Downloader.DL.GetPath(true, "Info"), "*.json"))
{ {
string id = System.IO.Path.GetFileNameWithoutExtension(item); string id =Path.GetFileNameWithoutExtension(item);
Downloader.DownloadVideo(id, Resolution.NoConvert); Downloader.DownloadVideo(id, Resolution.NoConvert);
} }
rp.AsRedirect("/"); rp.AsRedirect("/");
@ -301,14 +306,21 @@ namespace TYTD
} }
public static void Redo(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args) public static void Redo(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args)
{ {
Downloader.RedownloadIt = true; lock (Downloader.DL.cancelSrc)
Downloader.DownloadIt = false; {
Downloader.RedownloadIt = true;
Downloader.DL.cancelSrc.Item.Cancel();
}
} }
public static void Cancel(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args) public static void Cancel(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args)
{ {
Downloader.RedownloadIt = false;
Downloader.DownloadIt = false; lock (Downloader.DL.cancelSrc)
{
Downloader.RedownloadIt = false;
Downloader.DL.cancelSrc.Item.Cancel();
}
} }
#endregion #endregion
@ -364,9 +376,49 @@ namespace TYTD
else else
{ {
string path = Downloader.DL.GetPath(true, args["Path"]); string path = Downloader.DL.GetPath(true, args["Path"]);
if (Directory.Exists(path))
{
string indexHtml = Path.Combine(path, "index.html");
if (File.Exists(indexHtml))
{
path = indexHtml;
}
else
{
string dir = Path.Combine(webSitePath, "err", "dir.html");
StringBuilder b = new StringBuilder();
var f = Directory.GetLastWriteTime(Path.GetDirectoryName(path));
string parentModified = $"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"..\">Up</a></td><td>{parentModified}</td><td>DIR</td></tr>");
foreach (var file in Directory.GetDirectories(path))
{
string name = Path.GetFileName(file);
string nameUrled = System.Web.HttpUtility.UrlEncode(name);
string nameHtmled = System.Web.HttpUtility.HtmlEncode(name);
f = Directory.GetLastWriteTime(file);
string dateModifed = $"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"{nameUrled}\">{nameHtmled}</a></td><td>{dateModifed}</td><td>DIR</td></tr>");
}
foreach (var file in Directory.GetFiles(path))
{
string name = Path.GetFileName(file);
string nameUrled = System.Web.HttpUtility.UrlEncode(name);
string nameHtmled = System.Web.HttpUtility.HtmlEncode(name);
f = File.GetLastWriteTime(file);
string dateModifed = $"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"{nameUrled}\">{nameHtmled}</a></td><td>{dateModifed}</td><td>FILE</td></tr>");
}
Dictionary<string, string> templating = new Dictionary<string, string>();
templating.Add("Items", b.ToString());
rp.AsText(Templating.RenderFile(dir, templating));
return;
}
}
rp.AsFile(rq, path); rp.AsFile(rq, path);
} }
} }
public static void Video(HttpListenerRequest rq,HttpListenerResponse rp,Dictionary<string,string> args) public static void Video(HttpListenerRequest rq,HttpListenerResponse rp,Dictionary<string,string> args)
{ {
@ -385,7 +437,7 @@ namespace TYTD
} }
public static void VideoRes(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args) public static void VideoRes(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args)
{ {
YoutubeExplode.Videos.VideoId? vid = YoutubeExplode.Videos.VideoId.TryParse(args["Id"]); VideoId? vid = VideoId.TryParse(args["Id"]);
if (vid.HasValue) if (vid.HasValue)
{ {
int res; int res;
@ -466,9 +518,218 @@ namespace TYTD
{ {
rp.AsText(ApiLoader.Page); rp.AsText(ApiLoader.Page);
} }
private static void UploadFilePut(HttpListenerRequest request, HttpListenerResponse response, Dictionary<string, string> arguments)
{
string p = arguments["Path"].Split(new char[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[0];
string path = Path.Combine(webSitePath, p);
bool exists = File.Exists(path);
using (var instr = request.InputStream)
{
using (var outStr = File.Create(path))
{
instr.CopyTo(outStr);
}
}
if (exists)
{
response.WithCode(HttpStatusCode.NoContent);
}
else
{
response.WithCode(HttpStatusCode.Created);
}
}
private static void Endpoint(HttpListenerRequest request, HttpListenerResponse response, Dictionary<string, string> arguments)
{
request.ParseBody(arguments);
List<string> print = new List<string>();
bool hasOtherResponse=false;
bool success = true;
if(arguments.ContainsKey("operation"))
{
if (arguments["operation"] == "server_download")
{
if (arguments.ContainsKey("url"))
{
string myUrl = arguments["url"];
if (arguments.ContainsKey("resolution"))
{
uint res;
if (uint.TryParse(arguments["resolution"], out res) && res <= 2)
{
Downloader.DownloadItem(myUrl, (Resolution)res);
}
else
{
print.Add("WARNING: argument resolution shall not be greater than 3 or less than 0");
Downloader.DownloadItem(myUrl);
}
}
else
{
Downloader.DownloadItem(myUrl);
}
}
}
else if (arguments["operation"] == "download")
{
if (arguments.ContainsKey("url"))
{
VideoId? vid = VideoId.TryParse(arguments["url"]);
if (vid.HasValue)
{
if (arguments.ContainsKey("resolution"))
{
int res;
if (int.TryParse(arguments["resolution"], out res))
{
if (res > 2 || res < 0)
{
print.Add("Invalid Resolution Number must be either 0, 1 or 2");
}
else
{
string[] m = new string[] { "Converted", "NotConverted", "Audio" };
string path = Downloader.DL.GetPath(true, m[res], vid.Value + ".mp4");
response.AddHeader("Content-Disposition", GetVideoContentDisposition(vid.Value).ToString());
response.AsFile(request, path);
hasOtherResponse = true;
}
}
else
{
print.Add("Res is not a number");
}
}
else
{
string path = Downloader.DL.GetPath(true, "NotConverted", vid.Value + ".mp4");
response.AddHeader("Content-Disposition", GetVideoContentDisposition(vid.Value).ToString());
response.AsFile(request, path);
hasOtherResponse = true;
}
}
else
{
success = false;
print.Add("Invalid Video ID or URL");
}
}
}
else if (arguments["operation"] == "enumerate_queue")
{
string json = Downloader.GetQueue();
response.AsText(json, "application/json");
hasOtherResponse = true;
}
else if (arguments["operation"] == "progress")
{
string json = JsonConvert.SerializeObject(Downloader.GetProgress());
response.AsText(json, "application/json");
hasOtherResponse = true;
}
else if(arguments["operation"] == "queue_move")
{
bool containsId = arguments.ContainsKey("id");
bool containsIndex = arguments.ContainsKey("index");
if (containsId ^ containsIndex)
{
success = false;
print.Add("You cant use both id and index");
}
else
{
if (arguments.ContainsKey("to"))
{
string to_loc = arguments["to"];
if(containsId)
Downloader.ModQueue2(to_loc, arguments["id"]);
if (containsIndex)
Downloader.ModQueue(to_loc, arguments["index"]);
}
else
{
success = false;
print.Add("You must have the &quot;to&quot; variable set");
}
}
}
else
{
success = false;
}
}
if(success)
{
print.Add("Your request was delt with successfully");
}
else if(!hasOtherResponse)
{
response.WithCode(HttpStatusCode.BadRequest);
}
if (!hasOtherResponse)
{
response.AsText(string.Join("<br>", print));
}
}
public static void RootPath(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args) public static void RootPath(HttpListenerRequest rq, HttpListenerResponse rp, Dictionary<string, string> args)
{ {
string path = Path.Combine(webSitePath, args["Path"].Split(new char[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[0]); string p = args["Path"].Split(new char[] { '?' }, StringSplitOptions.RemoveEmptyEntries)[0];
string path = Path.Combine(webSitePath, p);
if (Directory.Exists(path))
{
string indexHtml = Path.Combine(path, "index.html");
if(File.Exists(indexHtml))
{
path = indexHtml;
}
else
{
string dir = Path.Combine(webSitePath,"err", "dir.html");
StringBuilder b = new StringBuilder();
var f= Directory.GetLastWriteTime(Path.GetDirectoryName(path));
string parentModified = $"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"..\">Up</a></td><td>{parentModified}</td><td>DIR</td></tr>");
foreach (var file in Directory.GetDirectories(path))
{
string name = Path.GetFileName(file);
string nameUrled = System.Web.HttpUtility.UrlEncode(name);
string nameHtmled = System.Web.HttpUtility.HtmlEncode(name);
f= Directory.GetLastWriteTime(file);
string dateModifed =$"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"{nameUrled}\">{nameHtmled}</a></td><td>{dateModifed}</td><td>DIR</td></tr>");
}
foreach (var file in Directory.GetFiles(path))
{
string name = Path.GetFileName(file);
string nameUrled = System.Web.HttpUtility.UrlEncode(name);
string nameHtmled = System.Web.HttpUtility.HtmlEncode(name);
f = File.GetLastWriteTime(file);
string dateModifed = $"{f.ToShortDateString()} {f.ToShortTimeString()}";
b.Append($"<tr><td><a href=\"{nameUrled}\">{nameHtmled}</a></td><td>{dateModifed}</td><td>FILE</td></tr>");
}
Dictionary<string, string> templating = new Dictionary<string, string>();
templating.Add("Items", b.ToString());
rp.AsText(Templating.RenderFile(dir, templating));
return;
}
}
rp.AsFile(rq, path); rp.AsFile(rq, path);
} }

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1 +1 @@
bd5555531ad345fded2f6956d4df232b6cc12a0e 90e7df0901031d53badd1ff52afc81b857770db7

View File

@ -129,3 +129,134 @@
/home/ddlovato/tytd/site/TYTD.Api/bin/Release/MimeTypesMap.dll /home/ddlovato/tytd/site/TYTD.Api/bin/Release/MimeTypesMap.dll
/home/ddlovato/tytd/site/TYTD.Api/bin/Release/SimpleHTTP.dll /home/ddlovato/tytd/site/TYTD.Api/bin/Release/SimpleHTTP.dll
/home/ddlovato/tytd/site/TYTD.Api/bin/Release/SimpleHTTP.xml /home/ddlovato/tytd/site/TYTD.Api/bin/Release/SimpleHTTP.xml
/home/mike/Git/site/TYTD.Api/bin/Release/TYTD.Api.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.InteropServices.RuntimeInformation.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Cryptography.Algorithms.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ValueTuple.dll
/home/mike/Git/site/TYTD.Api/bin/Release/Microsoft.Win32.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/netstandard.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.AppContext.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Collections.Concurrent.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Collections.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Collections.NonGeneric.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Collections.Specialized.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ComponentModel.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ComponentModel.EventBasedAsync.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ComponentModel.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ComponentModel.TypeConverter.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Console.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Data.Common.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.Contracts.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.Debug.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.FileVersionInfo.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.Process.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.StackTrace.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.TextWriterTraceListener.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.Tools.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.TraceSource.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Diagnostics.Tracing.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Drawing.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Dynamic.Runtime.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Globalization.Calendars.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Globalization.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Globalization.Extensions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.Compression.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.Compression.ZipFile.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.FileSystem.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.FileSystem.DriveInfo.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.FileSystem.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.FileSystem.Watcher.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.IsolatedStorage.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.MemoryMappedFiles.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.Pipes.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.IO.UnmanagedMemoryStream.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Linq.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Linq.Expressions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Linq.Parallel.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Linq.Queryable.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Http.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.NameResolution.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.NetworkInformation.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Ping.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Requests.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Security.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.Sockets.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.WebHeaderCollection.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.WebSockets.Client.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Net.WebSockets.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.ObjectModel.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Reflection.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Reflection.Extensions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Reflection.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Resources.Reader.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Resources.ResourceManager.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Resources.Writer.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.CompilerServices.VisualC.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Extensions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Handles.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.InteropServices.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Numerics.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Serialization.Formatters.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Serialization.Json.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Serialization.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.Serialization.Xml.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Claims.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Cryptography.Csp.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Cryptography.Encoding.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Cryptography.Primitives.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Cryptography.X509Certificates.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.Principal.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Security.SecureString.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encoding.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encoding.Extensions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.RegularExpressions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Overlapped.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Tasks.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Tasks.Parallel.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Thread.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.ThreadPool.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Timer.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.ReaderWriter.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.XDocument.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.XmlDocument.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.XmlSerializer.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.XPath.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Xml.XPath.XDocument.dll
/home/mike/Git/site/TYTD.Api/bin/Release/AngleSharp.dll
/home/mike/Git/site/TYTD.Api/bin/Release/AsyncEnumerable.dll
/home/mike/Git/site/TYTD.Api/bin/Release/CookiesTxtParser.dll
/home/mike/Git/site/TYTD.Api/bin/Release/Microsoft.Bcl.AsyncInterfaces.dll
/home/mike/Git/site/TYTD.Api/bin/Release/MimeTypesMap.dll
/home/mike/Git/site/TYTD.Api/bin/Release/Newtonsoft.Json.dll
/home/mike/Git/site/TYTD.Api/bin/Release/SimpleHTTP.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Buffers.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Memory.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Numerics.Vectors.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.CompilerServices.Unsafe.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encoding.CodePages.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encodings.Web.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Json.dll
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Tasks.Extensions.dll
/home/mike/Git/site/TYTD.Api/bin/Release/YoutubeExplode.dll
/home/mike/Git/site/TYTD.Api/bin/Release/Newtonsoft.Json.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Buffers.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Numerics.Vectors.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Runtime.CompilerServices.Unsafe.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Memory.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encoding.CodePages.xml
/home/mike/Git/site/TYTD.Api/bin/Release/AngleSharp.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Encodings.Web.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Threading.Tasks.Extensions.xml
/home/mike/Git/site/TYTD.Api/bin/Release/Microsoft.Bcl.AsyncInterfaces.xml
/home/mike/Git/site/TYTD.Api/bin/Release/System.Text.Json.xml
/home/mike/Git/site/TYTD.Api/bin/Release/YoutubeExplode.xml
/home/mike/Git/site/TYTD.Api/bin/Release/AsyncEnumerable.xml
/home/mike/Git/site/TYTD.Api/bin/Release/SimpleHTTP.xml
/home/mike/Git/site/TYTD.Api/obj/Release/TYTD.Api.csprojAssemblyReference.cache
/home/mike/Git/site/TYTD.Api/obj/Release/TYTD.Api.csproj.CoreCompileInputs.cache
/home/mike/Git/site/TYTD.Api/obj/Release/TYTD.Api.csproj.CopyComplete
/home/mike/Git/site/TYTD.Api/obj/Release/TYTD.Api.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
f8ed00aa95ccbdf3db94f6dfd910ae2b01d175fa 0420bdbd734151f93ed246c2e88d675d01ee774e

View File

@ -424,3 +424,150 @@
/home/ddlovato/tytd/site/bin/Release/Jurassic.xml /home/ddlovato/tytd/site/bin/Release/Jurassic.xml
/home/ddlovato/tytd/site/bin/Release/Flurl.pdb /home/ddlovato/tytd/site/bin/Release/Flurl.pdb
/home/ddlovato/tytd/site/bin/Release/Flurl.xml /home/ddlovato/tytd/site/bin/Release/Flurl.xml
/home/mike/Git/site/bin/Release/youtube-downloader.exe
/home/mike/Git/site/bin/Release/System.Runtime.InteropServices.RuntimeInformation.dll
/home/mike/Git/site/bin/Release/System.Security.Cryptography.Algorithms.dll
/home/mike/Git/site/bin/Release/System.ValueTuple.dll
/home/mike/Git/site/bin/Release/Microsoft.Win32.Primitives.dll
/home/mike/Git/site/bin/Release/netstandard.dll
/home/mike/Git/site/bin/Release/System.AppContext.dll
/home/mike/Git/site/bin/Release/System.Collections.Concurrent.dll
/home/mike/Git/site/bin/Release/System.Collections.dll
/home/mike/Git/site/bin/Release/System.Collections.NonGeneric.dll
/home/mike/Git/site/bin/Release/System.Collections.Specialized.dll
/home/mike/Git/site/bin/Release/System.ComponentModel.dll
/home/mike/Git/site/bin/Release/System.ComponentModel.EventBasedAsync.dll
/home/mike/Git/site/bin/Release/System.ComponentModel.Primitives.dll
/home/mike/Git/site/bin/Release/System.ComponentModel.TypeConverter.dll
/home/mike/Git/site/bin/Release/System.Console.dll
/home/mike/Git/site/bin/Release/System.Data.Common.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.Contracts.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.Debug.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.FileVersionInfo.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.Process.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.StackTrace.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.TextWriterTraceListener.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.Tools.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.TraceSource.dll
/home/mike/Git/site/bin/Release/System.Diagnostics.Tracing.dll
/home/mike/Git/site/bin/Release/System.Drawing.Primitives.dll
/home/mike/Git/site/bin/Release/System.Dynamic.Runtime.dll
/home/mike/Git/site/bin/Release/System.Globalization.Calendars.dll
/home/mike/Git/site/bin/Release/System.Globalization.dll
/home/mike/Git/site/bin/Release/System.Globalization.Extensions.dll
/home/mike/Git/site/bin/Release/System.IO.Compression.dll
/home/mike/Git/site/bin/Release/System.IO.Compression.ZipFile.dll
/home/mike/Git/site/bin/Release/System.IO.dll
/home/mike/Git/site/bin/Release/System.IO.FileSystem.dll
/home/mike/Git/site/bin/Release/System.IO.FileSystem.DriveInfo.dll
/home/mike/Git/site/bin/Release/System.IO.FileSystem.Primitives.dll
/home/mike/Git/site/bin/Release/System.IO.FileSystem.Watcher.dll
/home/mike/Git/site/bin/Release/System.IO.IsolatedStorage.dll
/home/mike/Git/site/bin/Release/System.IO.MemoryMappedFiles.dll
/home/mike/Git/site/bin/Release/System.IO.Pipes.dll
/home/mike/Git/site/bin/Release/System.IO.UnmanagedMemoryStream.dll
/home/mike/Git/site/bin/Release/System.Linq.dll
/home/mike/Git/site/bin/Release/System.Linq.Expressions.dll
/home/mike/Git/site/bin/Release/System.Linq.Parallel.dll
/home/mike/Git/site/bin/Release/System.Linq.Queryable.dll
/home/mike/Git/site/bin/Release/System.Net.Http.dll
/home/mike/Git/site/bin/Release/System.Net.NameResolution.dll
/home/mike/Git/site/bin/Release/System.Net.NetworkInformation.dll
/home/mike/Git/site/bin/Release/System.Net.Ping.dll
/home/mike/Git/site/bin/Release/System.Net.Primitives.dll
/home/mike/Git/site/bin/Release/System.Net.Requests.dll
/home/mike/Git/site/bin/Release/System.Net.Security.dll
/home/mike/Git/site/bin/Release/System.Net.Sockets.dll
/home/mike/Git/site/bin/Release/System.Net.WebHeaderCollection.dll
/home/mike/Git/site/bin/Release/System.Net.WebSockets.Client.dll
/home/mike/Git/site/bin/Release/System.Net.WebSockets.dll
/home/mike/Git/site/bin/Release/System.ObjectModel.dll
/home/mike/Git/site/bin/Release/System.Reflection.dll
/home/mike/Git/site/bin/Release/System.Reflection.Extensions.dll
/home/mike/Git/site/bin/Release/System.Reflection.Primitives.dll
/home/mike/Git/site/bin/Release/System.Resources.Reader.dll
/home/mike/Git/site/bin/Release/System.Resources.ResourceManager.dll
/home/mike/Git/site/bin/Release/System.Resources.Writer.dll
/home/mike/Git/site/bin/Release/System.Runtime.CompilerServices.VisualC.dll
/home/mike/Git/site/bin/Release/System.Runtime.dll
/home/mike/Git/site/bin/Release/System.Runtime.Extensions.dll
/home/mike/Git/site/bin/Release/System.Runtime.Handles.dll
/home/mike/Git/site/bin/Release/System.Runtime.InteropServices.dll
/home/mike/Git/site/bin/Release/System.Runtime.Numerics.dll
/home/mike/Git/site/bin/Release/System.Runtime.Serialization.Formatters.dll
/home/mike/Git/site/bin/Release/System.Runtime.Serialization.Json.dll
/home/mike/Git/site/bin/Release/System.Runtime.Serialization.Primitives.dll
/home/mike/Git/site/bin/Release/System.Runtime.Serialization.Xml.dll
/home/mike/Git/site/bin/Release/System.Security.Claims.dll
/home/mike/Git/site/bin/Release/System.Security.Cryptography.Csp.dll
/home/mike/Git/site/bin/Release/System.Security.Cryptography.Encoding.dll
/home/mike/Git/site/bin/Release/System.Security.Cryptography.Primitives.dll
/home/mike/Git/site/bin/Release/System.Security.Cryptography.X509Certificates.dll
/home/mike/Git/site/bin/Release/System.Security.Principal.dll
/home/mike/Git/site/bin/Release/System.Security.SecureString.dll
/home/mike/Git/site/bin/Release/System.Text.Encoding.dll
/home/mike/Git/site/bin/Release/System.Text.Encoding.Extensions.dll
/home/mike/Git/site/bin/Release/System.Text.RegularExpressions.dll
/home/mike/Git/site/bin/Release/System.Threading.dll
/home/mike/Git/site/bin/Release/System.Threading.Overlapped.dll
/home/mike/Git/site/bin/Release/System.Threading.Tasks.dll
/home/mike/Git/site/bin/Release/System.Threading.Tasks.Parallel.dll
/home/mike/Git/site/bin/Release/System.Threading.Thread.dll
/home/mike/Git/site/bin/Release/System.Threading.ThreadPool.dll
/home/mike/Git/site/bin/Release/System.Threading.Timer.dll
/home/mike/Git/site/bin/Release/System.Xml.ReaderWriter.dll
/home/mike/Git/site/bin/Release/System.Xml.XDocument.dll
/home/mike/Git/site/bin/Release/System.Xml.XmlDocument.dll
/home/mike/Git/site/bin/Release/System.Xml.XmlSerializer.dll
/home/mike/Git/site/bin/Release/System.Xml.XPath.dll
/home/mike/Git/site/bin/Release/System.Xml.XPath.XDocument.dll
/home/mike/Git/site/bin/Release/AngleSharp.dll
/home/mike/Git/site/bin/Release/AsyncEnumerable.dll
/home/mike/Git/site/bin/Release/Common.Logging.Core.dll
/home/mike/Git/site/bin/Release/Common.Logging.dll
/home/mike/Git/site/bin/Release/CookiesTxtParser.dll
/home/mike/Git/site/bin/Release/ExposedObject.dll
/home/mike/Git/site/bin/Release/Flurl.dll
/home/mike/Git/site/bin/Release/Jurassic.dll
/home/mike/Git/site/bin/Release/Microsoft.Bcl.AsyncInterfaces.dll
/home/mike/Git/site/bin/Release/MimeTypesMap.dll
/home/mike/Git/site/bin/Release/Newtonsoft.Json.dll
/home/mike/Git/site/bin/Release/SimpleBase.dll
/home/mike/Git/site/bin/Release/SimpleHTTP.dll
/home/mike/Git/site/bin/Release/Stef.Validation.dll
/home/mike/Git/site/bin/Release/System.Buffers.dll
/home/mike/Git/site/bin/Release/System.Memory.dll
/home/mike/Git/site/bin/Release/System.Numerics.Vectors.dll
/home/mike/Git/site/bin/Release/System.Runtime.CompilerServices.Unsafe.dll
/home/mike/Git/site/bin/Release/System.Text.Encoding.CodePages.dll
/home/mike/Git/site/bin/Release/System.Text.Encodings.Web.dll
/home/mike/Git/site/bin/Release/System.Text.Json.dll
/home/mike/Git/site/bin/Release/System.Threading.Tasks.Extensions.dll
/home/mike/Git/site/bin/Release/TYTD.Api.dll
/home/mike/Git/site/bin/Release/YoutubeExplode.dll
/home/mike/Git/site/bin/Release/YoutubeExplode.Extensions.dll
/home/mike/Git/site/bin/Release/Newtonsoft.Json.xml
/home/mike/Git/site/bin/Release/System.Buffers.xml
/home/mike/Git/site/bin/Release/System.Numerics.Vectors.xml
/home/mike/Git/site/bin/Release/System.Runtime.CompilerServices.Unsafe.xml
/home/mike/Git/site/bin/Release/System.Memory.xml
/home/mike/Git/site/bin/Release/AngleSharp.xml
/home/mike/Git/site/bin/Release/System.Text.Encodings.Web.xml
/home/mike/Git/site/bin/Release/System.Threading.Tasks.Extensions.xml
/home/mike/Git/site/bin/Release/Microsoft.Bcl.AsyncInterfaces.xml
/home/mike/Git/site/bin/Release/System.Text.Json.xml
/home/mike/Git/site/bin/Release/YoutubeExplode.xml
/home/mike/Git/site/bin/Release/SimpleHTTP.xml
/home/mike/Git/site/bin/Release/AsyncEnumerable.xml
/home/mike/Git/site/bin/Release/Common.Logging.Core.pdb
/home/mike/Git/site/bin/Release/Common.Logging.pdb
/home/mike/Git/site/bin/Release/Common.Logging.xml
/home/mike/Git/site/bin/Release/SimpleBase.pdb
/home/mike/Git/site/bin/Release/ExposedObject.pdb
/home/mike/Git/site/bin/Release/Jurassic.xml
/home/mike/Git/site/bin/Release/Flurl.pdb
/home/mike/Git/site/bin/Release/Flurl.xml
/home/mike/Git/site/obj/x86/Release/youtube-downloader.csprojAssemblyReference.cache
/home/mike/Git/site/obj/x86/Release/youtube-downloader.csproj.CoreCompileInputs.cache
/home/mike/Git/site/obj/x86/Release/youtube-downloader.csproj.CopyComplete
/home/mike/Git/site/obj/x86/Release/youtube-downloader.exe