Initial commit

This commit is contained in:
Michael Nolan 2022-09-05 11:42:30 -05:00
commit 29ecdf6ca5
47 changed files with 17853 additions and 0 deletions

View File

@ -0,0 +1,478 @@
using System;
using YoutubeExplode.Playlists;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using YoutubeExplode;
using System.Text;
using System.Net.Http.Headers;
using System.Net.Http;
using System.IO;
using YoutubeExplode.Channels;
using System.Net;
using System.Text.RegularExpressions;
using System.Drawing;
using YoutubeExplode.Videos.Streams;
using YoutubeExplode.Videos;
using AngleSharp.Common;
using System.Runtime.InteropServices;
namespace DL.Controllers
{
[Route("Grabber")]
[ApiController]
public class YoutubeController : ControllerBase
{
private static bool ChannelIsValid(string id)
{
if (string.IsNullOrWhiteSpace(id))
return false;
// Channel IDs should start with these characters
if (!id.StartsWith("UC", StringComparison.Ordinal))
return false;
// Channel IDs are always 24 characters
if (id.Length != 24)
return false;
return !Regex.IsMatch(id, @"[^0-9a-zA-Z_\-]");
}
public string fixstr(string inputString)
{
string pattern = " *[\\~#%&*{}/:<>?|\"-]+ *";
string replacement = "_";
Regex regEx = new Regex(pattern);
string sanitized = regEx.Replace(inputString, replacement);
string asAscii = Encoding.ASCII.GetString(
Encoding.Convert(
Encoding.UTF8,
Encoding.GetEncoding(
Encoding.ASCII.EncodingName,
new EncoderReplacementFallback("_"),
new DecoderExceptionFallback()
),
Encoding.UTF8.GetBytes(sanitized)
)
);
return asAscii.Replace(';', ' ');
}
[HttpGet("Video/{id}")]
public async
Task<FileStreamResult> DownloadAsync(string id)
{
var YT = new YoutubeClient();
var videoname0 = await YT.Videos.GetAsync(id);
var strs = await YT.Videos.Streams.GetManifestAsync(id);
var high = strs.GetMuxedStreams().GetWithHighestVideoQuality();
string sanitized = fixstr(videoname0.Title);
return File(YT.Videos.Streams.GetAsync(high).Result, $"video/{high.Container.Name}", $"{sanitized}.{high.Container.Name}", true);
}
[HttpGet("VideoHigh/{id}")]
public async Task<FileStreamResult> DownloadOnlyVideoAsync(string id)
{
var YT = new YoutubeClient();
var videoname0 = await YT.Videos.GetAsync(id);
string sanitized = fixstr(videoname0.Title);
var strs = await YT.Videos.Streams.GetManifestAsync(id);
var high = strs.GetVideoStreams().GetWithHighestVideoQuality();
return File(YT.Videos.Streams.GetAsync(high).Result, $"video/{high.Container.Name}", $"{sanitized}.{high.Container.Name}", true);
}
[HttpGet("Audio/{id}")]
public async Task<FileStreamResult> DownloadAudioAsync(string id)
{
var YT = new YoutubeClient();
var videoname0 = await YT.Videos.GetAsync(id);
string sanitized = fixstr(videoname0.Title);
var strs = await YT.Videos.Streams.GetManifestAsync(id);
var high = strs.GetAudioOnlyStreams().GetWithHighestBitrate();
return File(YT.Videos.Streams.GetAsync(high).Result, $"audio/{high.Container.Name}", $"{sanitized}.{high.Container.Name}", true);
}
[HttpGet("Search/{id}")]
public async Task<IActionResult> SearchAsync(string id)
{
var YT = new YoutubeClient();
string s = "";
await foreach(var v in YT.Search.GetVideosAsync(id))
{
s += $"{v.Id}\n";
}
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "query.txt", true);
}
[HttpGet("ChannelNew2/{date}/{id}")]
public async Task<IActionResult> NewUser2VideosAsync(string date,string id)
{
var YT = new YoutubeClient();
var vids = ChannelIsValid(id) ? id : (await YT.Channels.GetByUserAsync(id)).Id.ToString();
int videos = 0;
string s = "";
await foreach(var v in YT.Channels.GetUploadsAsync(vids))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
}
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}/*
public async Task<IActionResult> NewUser2VideosAsync(string date, string id)
{
var YT = new YoutubeClient();
var vids = ChannelIsValid(id) ? new ChannelId(id) : (await YT.Channels.GetByUserAsync(id)).Id;
var ien = YT.Channels.GetUploadsAsync(vids);
var vids2 = await ien.ToListAsync();
int videos = 0;
string s = "";
foreach (YoutubeExplode.Playlists.PlaylistVideo v in vids2)
{
if (v.UploadDate.Date >= new DateTime(int.Parse(date.Split("-")[0]), int.Parse(date.Split("-")[1]), int.Parse(date.Split("-")[2])))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ','*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Replace(" ", "-").Length, 439))} {v.Engagement.LikeCount} {v.Engagement.DislikeCount} {v.Engagement.ViewCount} {v.UploadDate.ToString("MM/dd/yyyy")} {v.Duration.Hours}:{v.Duration.Minutes}:{v.Duration.Seconds} ENDLINE\n";
videos++;
} }
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
return await User2VideosAsync(id);
}*/
[HttpGet("Channel2/{id}")]
public async Task<IActionResult> User2VideosAsync(string id)
{
var YT = new YoutubeClient();
var vids = ChannelIsValid(id) ? id : (await YT.Channels.GetByUserAsync(id)).Id.ToString();
int videos = 0;
string s = "";
await foreach(var v in YT.Channels.GetUploadsAsync(vids))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
[HttpGet("User/{id}")]
public async Task<IActionResult> UserVideosAsync(string id)
{
var YT = new YoutubeClient();
var vids = await YT.Channels.GetByUserAsync(id);
int videos = 0;
string s = "";
await foreach(var v in YT.Channels.GetUploadsAsync(vids.Id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
[HttpGet("UserNew/{date}/{id}")]
public async Task<IActionResult> NewUserVideosAsync(string date,string id)
{
var YT = new YoutubeClient();
var vids = await YT.Channels.GetByUserAsync(id);
int videos = 0;
string s = "";
await foreach(var v in YT.Channels.GetUploadsAsync(vids.Id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
/*
public async Task<IActionResult> NewUserVideosAsync(string date, string id)
{
var YT = new YoutubeClient();
var vids = await YT.Channels.GetByUserAsync(id);
var ien = YT.Channels.GetUploadsAsync(vids.Id);
var vids2 = await ien.ToListAsync();
int videos = 0;
string s = "";
foreach (var v in vids2)
{
if (v.UploadDate.Date >= new DateTime(int.Parse(date.Split("-")[0]), int.Parse(date.Split("-")[1]), int.Parse(date.Split("-")[2])))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ','*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Replace(" ", "-").Length, 439))} {v.Engagement.LikeCount} {v.Engagement.DislikeCount} {v.Engagement.ViewCount} {v.UploadDate.ToString("MM/dd/yyyy")} {v.Duration.Hours}:{v.Duration.Minutes}:{v.Duration.Seconds} ENDLINE\n";
videos++;
} }
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
return await UserVideosAsync(id);
}*/
[HttpGet("Channel/{id}")]
public async Task<IActionResult> ChannelVideosAsync(string id)
{
var YT = new YoutubeClient();
int videos = 0;
string s = "";
await foreach(var v in YT.Channels.GetUploadsAsync(id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
[HttpGet("ChannelNew/{date}/{id}")]
public async Task<IActionResult> NewChannelVideosAsync(string date,string id)
{
var YT = new YoutubeClient();
int videos = 0;
string s = "";
await foreach (YoutubeExplode.Playlists.PlaylistVideo v in YT.Channels.GetUploadsAsync(id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.ChannelTitle.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
}
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
/* public async Task<IActionResult> NewChannelVideosAsync(string date, string id)
{
var YT = new YoutubeClient();
var ien = YT.Channels.GetUploadsAsync(id);
var vids2 = await ien.ToListAsync();
int videos = 0;
string s = "";
foreach (var v in vids2)
{
if (v.UploadDate.Date >= new DateTime(int.Parse(date.Split("-")[0]), int.Parse(date.Split("-")[1]), int.Parse(date.Split("-")[2])))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ','*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Replace(" ", "-").Length, 439))} {v.Engagement.LikeCount} {v.Engagement.DislikeCount} {v.Engagement.ViewCount} {v.UploadDate.ToString("MM/dd/yyyy")} {v.Duration.Hours}:{v.Duration.Minutes}:{v.Duration.Seconds} ENDLINE\n";
videos++;
}
}
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
return await ChannelVideosAsync(id);
}*/
[HttpGet("searchinfo/{id}")]
public async Task<IActionResult> SearchInfoAsync(string id)
{
var YT = new YoutubeClient();
int videos = 0;
string s = "";
await foreach(var v in YT.Search.GetVideosAsync(id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
videos++;
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
[HttpGet("Playlist/{id}")]
public async Task<IActionResult> PlaylistAsync(string id)
{
var YT = new YoutubeClient();
string s = "";
await foreach(var v in YT.Search.GetVideosAsync(id))
{
s += $"{v.Id}\n";
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "query.txt", true);
}
[HttpGet("playlistinfo/{id}")]
public async Task<IActionResult> PlaylistInfoAsync(string id)
{
var YT = new YoutubeClient();
string s = "";
await foreach(var v in YT.Playlists.GetVideosAsync(id))
{
var fileName = v.Title;
string sanitized = fixstr(fileName).Replace(' ', '*');
s += $"{v.Id} {sanitized.Substring(0, Math.Min(sanitized.Length, 439))} {v.Author.Title.Replace("*", "_").Replace(" ", "*").Substring(0, Math.Min(v.Author.Title.Replace(" ", "-").Length, 439))} {0} {0} 0 8/20/1992 ENDLINE\n";
};
return File(ASCIIEncoding.Default.GetBytes(s), "text/plain", "info.txt", true);
}
[HttpGet("Info/{id}")]
public async Task<IActionResult> InfoAsync(string id)
{
var YT = new YoutubeClient();
var vids = await YT.Videos.GetAsync(id);
return File(ASCIIEncoding.Default.GetBytes($"{vids.Title}\nhttps://i.ytimg.com/vi/{id}/default.jpg\n{vids.Author}"), "text/plain", "info.txt", true);
}
[HttpGet("jpg/{id}")]
public async Task<IActionResult> Jpg(string id)
{
return Redirect($"https://i.ytimg.com/vi/{id}/default.jpg");
}
[HttpGet("ConvertString/{id}/{prefix}")]
public async Task<IActionResult> REDIR(string id, string prefix)
{
try{
VideoId v=id;
string newid = v.ToString();
return Redirect(prefix + newid);
}catch(Exception)
{
return NotFound("nope not avail");
}
}
[HttpGet("Descript/{id}")]
public async Task<IActionResult> DescAsync(string id)
{
var YT = new YoutubeClient();
var vids = await YT.Videos.GetAsync(id);
return File(ASCIIEncoding.Default.GetBytes(vids.Description), "text/plain", "desc.txt");
}
}
}

15
Dockerfile Normal file
View File

@ -0,0 +1,15 @@
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
RUN apt install git
RUN git clone https://gitlab.tesses.net/tesses50/ytapic.git .
RUN dotnet restore "./ytapic.csproj" --disable-parallel
RUN dotnet publish "./ytapic.csproj" -c Release -o /app --no-restore
#serve stage
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY --from=build /app ./
EXPOSE 5069
ENTRYPOINT ["dotnet","ytapic.dll"]

25
Program.cs Normal file
View File

@ -0,0 +1,25 @@
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.Run();

View File

@ -0,0 +1,31 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:16439",
"sslPort": 44365
}
},
"profiles": {
"ytapic": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7003;http://localhost:5069",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

12
WeatherForecast.cs Normal file
View File

@ -0,0 +1,12 @@
namespace ytapic;
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string? Summary { get; set; }
}

View File

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

9
appsettings.json Normal file
View File

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

BIN
bin/Debug/net6.0/AngleSharp.dll Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

BIN
bin/Debug/net6.0/ytapic Executable file

Binary file not shown.

View File

@ -0,0 +1,181 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"ytapic/1.0.0": {
"dependencies": {
"Swashbuckle.AspNetCore": "6.2.3",
"YoutubeExplode": "6.2.1"
},
"runtime": {
"ytapic.dll": {}
}
},
"AngleSharp/0.17.0": {
"dependencies": {
"System.Buffers": "4.5.1",
"System.Text.Encoding.CodePages": "5.0.0"
},
"runtime": {
"lib/netstandard2.0/AngleSharp.dll": {
"assemblyVersion": "0.17.0.0",
"fileVersion": "0.17.0.0"
}
}
},
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {},
"Microsoft.NETCore.Platforms/5.0.0": {},
"Microsoft.OpenApi/1.2.3": {
"runtime": {
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
"assemblyVersion": "1.2.3.0",
"fileVersion": "1.2.3.0"
}
}
},
"Swashbuckle.AspNetCore/6.2.3": {
"dependencies": {
"Microsoft.Extensions.ApiDescription.Server": "3.0.0",
"Swashbuckle.AspNetCore.Swagger": "6.2.3",
"Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
"Swashbuckle.AspNetCore.SwaggerUI": "6.2.3"
}
},
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
"dependencies": {
"Microsoft.OpenApi": "1.2.3"
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
"assemblyVersion": "6.2.3.0",
"fileVersion": "6.2.3.0"
}
}
},
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
"dependencies": {
"Swashbuckle.AspNetCore.Swagger": "6.2.3"
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
"assemblyVersion": "6.2.3.0",
"fileVersion": "6.2.3.0"
}
}
},
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
"assemblyVersion": "6.2.3.0",
"fileVersion": "6.2.3.0"
}
}
},
"System.Buffers/4.5.1": {},
"System.Text.Encoding.CodePages/5.0.0": {
"dependencies": {
"Microsoft.NETCore.Platforms": "5.0.0"
}
},
"YoutubeExplode/6.2.1": {
"dependencies": {
"AngleSharp": "0.17.0"
},
"runtime": {
"lib/net5.0/YoutubeExplode.dll": {
"assemblyVersion": "6.2.1.0",
"fileVersion": "6.2.1.0"
}
}
}
}
},
"libraries": {
"ytapic/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"AngleSharp/0.17.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-74haoXINcj4SdMsmiNzk+9VUwIX1U9P61O6AZd5Uao8SGNnJJB8Y/r8VJRc8orn4c7Vk/oURAKSNF9XcSDxbfA==",
"path": "anglesharp/0.17.0",
"hashPath": "anglesharp.0.17.0.nupkg.sha512"
},
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==",
"path": "microsoft.extensions.apidescription.server/3.0.0",
"hashPath": "microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
"path": "microsoft.netcore.platforms/5.0.0",
"hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512"
},
"Microsoft.OpenApi/1.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
"path": "microsoft.openapi/1.2.3",
"hashPath": "microsoft.openapi.1.2.3.nupkg.sha512"
},
"Swashbuckle.AspNetCore/6.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cnzQDn0Le+hInsw2SYwlOhOCPXpYi/szcvnyqZJ12v+QyrLBwAmWXBg6RIyHB18s/mLeywC+Rg2O9ndz0IUNYQ==",
"path": "swashbuckle.aspnetcore/6.2.3",
"hashPath": "swashbuckle.aspnetcore.6.2.3.nupkg.sha512"
},
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qOF7j1sL0bWm8g/qqHVPCvkO3JlVvUIB8WfC98kSh6BT5y5DAnBNctfac7XR5EZf+eD7/WasvANncTqwZYfmWQ==",
"path": "swashbuckle.aspnetcore.swagger/6.2.3",
"hashPath": "swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512"
},
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+Xq7WdMCCfcXlnbLJVFNgY8ITdP2TRYIlpbt6IKzDw5FwFxdi9lBfNDtcT+/wkKwX70iBBFmXldnnd02/VO72A==",
"path": "swashbuckle.aspnetcore.swaggergen/6.2.3",
"hashPath": "swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512"
},
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bCRI87uKJVb4G+KURWm8LQrL64St04dEFZcF6gIM67Zc0Sr/N47EO83ybLMYOvfNdO1DCv8xwPcrz9J/VEhQ5g==",
"path": "swashbuckle.aspnetcore.swaggerui/6.2.3",
"hashPath": "swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512"
},
"System.Buffers/4.5.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
"path": "system.buffers/4.5.1",
"hashPath": "system.buffers.4.5.1.nupkg.sha512"
},
"System.Text.Encoding.CodePages/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==",
"path": "system.text.encoding.codepages/5.0.0",
"hashPath": "system.text.encoding.codepages.5.0.0.nupkg.sha512"
},
"YoutubeExplode/6.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-VL8EzTwe8ttO0mGWh5EGGsK7A6mDUS71Ayl8mjS+oj/36W8kaWikMeOvcUyUko0Iy5X4atGcL76TMWDcc4Kj9g==",
"path": "youtubeexplode/6.2.1",
"hashPath": "youtubeexplode.6.2.1.nupkg.sha512"
}
}
}

BIN
bin/Debug/net6.0/ytapic.dll Normal file

Binary file not shown.

BIN
bin/Debug/net6.0/ytapic.pdb Normal file

Binary file not shown.

View File

@ -0,0 +1,19 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "6.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

BIN
obj/Debug/net6.0/apphost Executable file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,11 @@
{
"Version": 1,
"Hash": "yfHNznURhKMtX/pyceoc92mqpNgFx/PbQ9NqT3vsmVQ=",
"Source": "ytapic",
"BasePath": "_content/ytapic",
"Mode": "Default",
"ManifestType": "Build",
"ReferencedProjectsConfiguration": [],
"DiscoveryPatterns": [],
"Assets": []
}

View File

@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("ytapic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("ytapic")]
[assembly: System.Reflection.AssemblyTitleAttribute("ytapic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -0,0 +1 @@
fe45e6750fb4c6c35e23f5a58f076b7b39b15f4b

View File

@ -0,0 +1,16 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = ytapic
build_property.RootNamespace = ytapic
build_property.ProjectDir = /home/mike/ytapic/
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = /home/mike/ytapic
build_property._RazorSourceGeneratorDebug =

View File

@ -0,0 +1,17 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1,16 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")]
// Generated by the MSBuild WriteCodeFragment class.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
92314763d38ca17153d34f8998f0e0e8e9c0d522

View File

@ -0,0 +1,29 @@
/home/mike/ytapic/bin/Debug/net6.0/appsettings.Development.json
/home/mike/ytapic/bin/Debug/net6.0/appsettings.json
/home/mike/ytapic/bin/Debug/net6.0/ytapic
/home/mike/ytapic/bin/Debug/net6.0/ytapic.deps.json
/home/mike/ytapic/bin/Debug/net6.0/ytapic.runtimeconfig.json
/home/mike/ytapic/bin/Debug/net6.0/ytapic.dll
/home/mike/ytapic/bin/Debug/net6.0/ytapic.pdb
/home/mike/ytapic/bin/Debug/net6.0/AngleSharp.dll
/home/mike/ytapic/bin/Debug/net6.0/Microsoft.OpenApi.dll
/home/mike/ytapic/bin/Debug/net6.0/Swashbuckle.AspNetCore.Swagger.dll
/home/mike/ytapic/bin/Debug/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll
/home/mike/ytapic/bin/Debug/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll
/home/mike/ytapic/bin/Debug/net6.0/YoutubeExplode.dll
/home/mike/ytapic/obj/Debug/net6.0/ytapic.csproj.AssemblyReference.cache
/home/mike/ytapic/obj/Debug/net6.0/ytapic.GeneratedMSBuildEditorConfig.editorconfig
/home/mike/ytapic/obj/Debug/net6.0/ytapic.AssemblyInfoInputs.cache
/home/mike/ytapic/obj/Debug/net6.0/ytapic.AssemblyInfo.cs
/home/mike/ytapic/obj/Debug/net6.0/ytapic.csproj.CoreCompileInputs.cache
/home/mike/ytapic/obj/Debug/net6.0/ytapic.MvcApplicationPartsAssemblyInfo.cs
/home/mike/ytapic/obj/Debug/net6.0/ytapic.MvcApplicationPartsAssemblyInfo.cache
/home/mike/ytapic/obj/Debug/net6.0/staticwebassets.build.json
/home/mike/ytapic/obj/Debug/net6.0/staticwebassets.development.json
/home/mike/ytapic/obj/Debug/net6.0/scopedcss/bundle/ytapic.styles.css
/home/mike/ytapic/obj/Debug/net6.0/ytapic.csproj.CopyComplete
/home/mike/ytapic/obj/Debug/net6.0/ytapic.dll
/home/mike/ytapic/obj/Debug/net6.0/refint/ytapic.dll
/home/mike/ytapic/obj/Debug/net6.0/ytapic.pdb
/home/mike/ytapic/obj/Debug/net6.0/ytapic.genruntimeconfig.cache
/home/mike/ytapic/obj/Debug/net6.0/ref/ytapic.dll

BIN
obj/Debug/net6.0/ytapic.dll Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
5dcada28b46b1feb6889a21a59fc164ae4a5fa1c

BIN
obj/Debug/net6.0/ytapic.pdb Normal file

Binary file not shown.

500
obj/project.assets.json Normal file
View File

@ -0,0 +1,500 @@
{
"version": 3,
"targets": {
"net6.0": {
"AngleSharp/0.17.0": {
"type": "package",
"dependencies": {
"System.Buffers": "4.5.1",
"System.Text.Encoding.CodePages": "5.0.0"
},
"compile": {
"lib/netstandard2.0/AngleSharp.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/AngleSharp.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
"type": "package",
"build": {
"build/Microsoft.Extensions.ApiDescription.Server.props": {},
"build/Microsoft.Extensions.ApiDescription.Server.targets": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {},
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {}
}
},
"Microsoft.NETCore.Platforms/5.0.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/_._": {}
},
"runtime": {
"lib/netstandard1.0/_._": {}
}
},
"Microsoft.OpenApi/1.2.3": {
"type": "package",
"compile": {
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/netstandard2.0/Microsoft.OpenApi.dll": {
"related": ".pdb;.xml"
}
}
},
"Swashbuckle.AspNetCore/6.2.3": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.ApiDescription.Server": "3.0.0",
"Swashbuckle.AspNetCore.Swagger": "6.2.3",
"Swashbuckle.AspNetCore.SwaggerGen": "6.2.3",
"Swashbuckle.AspNetCore.SwaggerUI": "6.2.3"
},
"build": {
"build/Swashbuckle.AspNetCore.props": {}
}
},
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
"type": "package",
"dependencies": {
"Microsoft.OpenApi": "1.2.3"
},
"compile": {
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": {
"related": ".pdb;.xml"
}
},
"frameworkReferences": [
"Microsoft.AspNetCore.App"
]
},
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
"type": "package",
"dependencies": {
"Swashbuckle.AspNetCore.Swagger": "6.2.3"
},
"compile": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": {
"related": ".pdb;.xml"
}
}
},
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
"type": "package",
"compile": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
"related": ".pdb;.xml"
}
},
"runtime": {
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": {
"related": ".pdb;.xml"
}
},
"frameworkReferences": [
"Microsoft.AspNetCore.App"
]
},
"System.Buffers/4.5.1": {
"type": "package",
"compile": {
"ref/netcoreapp2.0/_._": {}
},
"runtime": {
"lib/netcoreapp2.0/_._": {}
}
},
"System.Text.Encoding.CodePages/5.0.0": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "5.0.0"
},
"compile": {
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {
"related": ".xml"
}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"YoutubeExplode/6.2.1": {
"type": "package",
"dependencies": {
"AngleSharp": "0.17.0"
},
"compile": {
"lib/net5.0/YoutubeExplode.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net5.0/YoutubeExplode.dll": {
"related": ".xml"
}
}
}
}
},
"libraries": {
"AngleSharp/0.17.0": {
"sha512": "74haoXINcj4SdMsmiNzk+9VUwIX1U9P61O6AZd5Uao8SGNnJJB8Y/r8VJRc8orn4c7Vk/oURAKSNF9XcSDxbfA==",
"type": "package",
"path": "anglesharp/0.17.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"anglesharp.0.17.0.nupkg.sha512",
"anglesharp.nuspec",
"lib/net461/AngleSharp.dll",
"lib/net461/AngleSharp.xml",
"lib/net472/AngleSharp.dll",
"lib/net472/AngleSharp.xml",
"lib/netstandard2.0/AngleSharp.dll",
"lib/netstandard2.0/AngleSharp.xml",
"logo.png"
]
},
"Microsoft.Extensions.ApiDescription.Server/3.0.0": {
"sha512": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==",
"type": "package",
"path": "microsoft.extensions.apidescription.server/3.0.0",
"hasTools": true,
"files": [
".nupkg.metadata",
".signature.p7s",
"build/Microsoft.Extensions.ApiDescription.Server.props",
"build/Microsoft.Extensions.ApiDescription.Server.targets",
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props",
"buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets",
"microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
"microsoft.extensions.apidescription.server.nuspec",
"tools/Newtonsoft.Json.dll",
"tools/dotnet-getdocument.deps.json",
"tools/dotnet-getdocument.dll",
"tools/dotnet-getdocument.runtimeconfig.json",
"tools/net461-x86/GetDocument.Insider.exe",
"tools/net461-x86/GetDocument.Insider.exe.config",
"tools/net461/GetDocument.Insider.exe",
"tools/net461/GetDocument.Insider.exe.config",
"tools/netcoreapp2.1/GetDocument.Insider.deps.json",
"tools/netcoreapp2.1/GetDocument.Insider.dll",
"tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json"
]
},
"Microsoft.NETCore.Platforms/5.0.0": {
"sha512": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==",
"type": "package",
"path": "microsoft.netcore.platforms/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/netstandard1.0/_._",
"microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"microsoft.netcore.platforms.nuspec",
"runtime.json",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.OpenApi/1.2.3": {
"sha512": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==",
"type": "package",
"path": "microsoft.openapi/1.2.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net46/Microsoft.OpenApi.dll",
"lib/net46/Microsoft.OpenApi.pdb",
"lib/net46/Microsoft.OpenApi.xml",
"lib/netstandard2.0/Microsoft.OpenApi.dll",
"lib/netstandard2.0/Microsoft.OpenApi.pdb",
"lib/netstandard2.0/Microsoft.OpenApi.xml",
"microsoft.openapi.1.2.3.nupkg.sha512",
"microsoft.openapi.nuspec"
]
},
"Swashbuckle.AspNetCore/6.2.3": {
"sha512": "cnzQDn0Le+hInsw2SYwlOhOCPXpYi/szcvnyqZJ12v+QyrLBwAmWXBg6RIyHB18s/mLeywC+Rg2O9ndz0IUNYQ==",
"type": "package",
"path": "swashbuckle.aspnetcore/6.2.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"build/Swashbuckle.AspNetCore.props",
"swashbuckle.aspnetcore.6.2.3.nupkg.sha512",
"swashbuckle.aspnetcore.nuspec"
]
},
"Swashbuckle.AspNetCore.Swagger/6.2.3": {
"sha512": "qOF7j1sL0bWm8g/qqHVPCvkO3JlVvUIB8WfC98kSh6BT5y5DAnBNctfac7XR5EZf+eD7/WasvANncTqwZYfmWQ==",
"type": "package",
"path": "swashbuckle.aspnetcore.swagger/6.2.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.dll",
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.pdb",
"lib/net5.0/Swashbuckle.AspNetCore.Swagger.xml",
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll",
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb",
"lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.dll",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.pdb",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.Swagger.xml",
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll",
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb",
"lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml",
"swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512",
"swashbuckle.aspnetcore.swagger.nuspec"
]
},
"Swashbuckle.AspNetCore.SwaggerGen/6.2.3": {
"sha512": "+Xq7WdMCCfcXlnbLJVFNgY8ITdP2TRYIlpbt6IKzDw5FwFxdi9lBfNDtcT+/wkKwX70iBBFmXldnnd02/VO72A==",
"type": "package",
"path": "swashbuckle.aspnetcore.swaggergen/6.2.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml",
"swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512",
"swashbuckle.aspnetcore.swaggergen.nuspec"
]
},
"Swashbuckle.AspNetCore.SwaggerUI/6.2.3": {
"sha512": "bCRI87uKJVb4G+KURWm8LQrL64St04dEFZcF6gIM67Zc0Sr/N47EO83ybLMYOvfNdO1DCv8xwPcrz9J/VEhQ5g==",
"type": "package",
"path": "swashbuckle.aspnetcore.swaggerui/6.2.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
"lib/net5.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
"lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
"lib/netcoreapp3.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb",
"lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml",
"swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512",
"swashbuckle.aspnetcore.swaggerui.nuspec"
]
},
"System.Buffers/4.5.1": {
"sha512": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
"type": "package",
"path": "system.buffers/4.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/System.Buffers.dll",
"lib/net461/System.Buffers.xml",
"lib/netcoreapp2.0/_._",
"lib/netstandard1.1/System.Buffers.dll",
"lib/netstandard1.1/System.Buffers.xml",
"lib/netstandard2.0/System.Buffers.dll",
"lib/netstandard2.0/System.Buffers.xml",
"lib/uap10.0.16299/_._",
"ref/net45/System.Buffers.dll",
"ref/net45/System.Buffers.xml",
"ref/netcoreapp2.0/_._",
"ref/netstandard1.1/System.Buffers.dll",
"ref/netstandard1.1/System.Buffers.xml",
"ref/netstandard2.0/System.Buffers.dll",
"ref/netstandard2.0/System.Buffers.xml",
"ref/uap10.0.16299/_._",
"system.buffers.4.5.1.nupkg.sha512",
"system.buffers.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Text.Encoding.CodePages/5.0.0": {
"sha512": "NyscU59xX6Uo91qvhOs2Ccho3AR2TnZPomo1Z0K6YpyztBPM/A5VbkzOO19sy3A3i1TtEnTxA7bCe3Us+r5MWg==",
"type": "package",
"path": "system.text.encoding.codepages/5.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net46/System.Text.Encoding.CodePages.dll",
"lib/net461/System.Text.Encoding.CodePages.dll",
"lib/net461/System.Text.Encoding.CodePages.xml",
"lib/netstandard1.3/System.Text.Encoding.CodePages.dll",
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll",
"lib/netstandard2.0/System.Text.Encoding.CodePages.xml",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/net461/System.Text.Encoding.CodePages.xml",
"runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.xml",
"runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.xml",
"system.text.encoding.codepages.5.0.0.nupkg.sha512",
"system.text.encoding.codepages.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"YoutubeExplode/6.2.1": {
"sha512": "VL8EzTwe8ttO0mGWh5EGGsK7A6mDUS71Ayl8mjS+oj/36W8kaWikMeOvcUyUko0Iy5X4atGcL76TMWDcc4Kj9g==",
"type": "package",
"path": "youtubeexplode/6.2.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"ReadMe.md",
"favicon.png",
"lib/net461/YoutubeExplode.dll",
"lib/net461/YoutubeExplode.xml",
"lib/net5.0/YoutubeExplode.dll",
"lib/net5.0/YoutubeExplode.xml",
"lib/netcoreapp3.0/YoutubeExplode.dll",
"lib/netcoreapp3.0/YoutubeExplode.xml",
"lib/netstandard2.0/YoutubeExplode.dll",
"lib/netstandard2.0/YoutubeExplode.xml",
"lib/netstandard2.1/YoutubeExplode.dll",
"lib/netstandard2.1/YoutubeExplode.xml",
"youtubeexplode.6.2.1.nupkg.sha512",
"youtubeexplode.nuspec"
]
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Swashbuckle.AspNetCore >= 6.2.3",
"YouTubeExplode >= 6.2.1"
]
},
"packageFolders": {
"/home/mike/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/mike/ytapic/ytapic.csproj",
"projectName": "ytapic",
"projectPath": "/home/mike/ytapic/ytapic.csproj",
"packagesPath": "/home/mike/.nuget/packages/",
"outputPath": "/home/mike/ytapic/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/mike/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[6.2.3, )"
},
"YouTubeExplode": {
"target": "Package",
"version": "[6.2.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/6.0.400/RuntimeIdentifierGraph.json"
}
}
}
}

20
obj/project.nuget.cache Normal file
View File

@ -0,0 +1,20 @@
{
"version": 2,
"dgSpecHash": "bZVKtEXdl2VV8dgQVj7V1sheDUR1OY5+0DA0CIcrJ3ZgqykE4/zPwEsq6fZwf2xevvPWowhDHit7d4LDNcoYLQ==",
"success": true,
"projectFilePath": "/home/mike/ytapic/ytapic.csproj",
"expectedPackageFiles": [
"/home/mike/.nuget/packages/anglesharp/0.17.0/anglesharp.0.17.0.nupkg.sha512",
"/home/mike/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0/microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
"/home/mike/.nuget/packages/microsoft.netcore.platforms/5.0.0/microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"/home/mike/.nuget/packages/microsoft.openapi/1.2.3/microsoft.openapi.1.2.3.nupkg.sha512",
"/home/mike/.nuget/packages/swashbuckle.aspnetcore/6.2.3/swashbuckle.aspnetcore.6.2.3.nupkg.sha512",
"/home/mike/.nuget/packages/swashbuckle.aspnetcore.swagger/6.2.3/swashbuckle.aspnetcore.swagger.6.2.3.nupkg.sha512",
"/home/mike/.nuget/packages/swashbuckle.aspnetcore.swaggergen/6.2.3/swashbuckle.aspnetcore.swaggergen.6.2.3.nupkg.sha512",
"/home/mike/.nuget/packages/swashbuckle.aspnetcore.swaggerui/6.2.3/swashbuckle.aspnetcore.swaggerui.6.2.3.nupkg.sha512",
"/home/mike/.nuget/packages/system.buffers/4.5.1/system.buffers.4.5.1.nupkg.sha512",
"/home/mike/.nuget/packages/system.text.encoding.codepages/5.0.0/system.text.encoding.codepages.5.0.0.nupkg.sha512",
"/home/mike/.nuget/packages/youtubeexplode/6.2.1/youtubeexplode.6.2.1.nupkg.sha512"
],
"logs": []
}

View File

@ -0,0 +1,3 @@
2.0
2.0
2.0

View File

@ -0,0 +1,74 @@
{
"format": 1,
"restore": {
"/home/mike/ytapic/ytapic.csproj": {}
},
"projects": {
"/home/mike/ytapic/ytapic.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/mike/ytapic/ytapic.csproj",
"projectName": "ytapic",
"projectPath": "/home/mike/ytapic/ytapic.csproj",
"packagesPath": "/home/mike/.nuget/packages/",
"outputPath": "/home/mike/ytapic/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/mike/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Swashbuckle.AspNetCore": {
"target": "Package",
"version": "[6.2.3, )"
},
"YouTubeExplode": {
"target": "Package",
"version": "[6.2.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/6.0.400/RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/mike/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/mike/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.3.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/mike/.nuget/packages/" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server/3.0.0/build/Microsoft.Extensions.ApiDescription.Server.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server/3.0.0/build/Microsoft.Extensions.ApiDescription.Server.props')" />
<Import Project="$(NuGetPackageRoot)swashbuckle.aspnetcore/6.2.3/build/Swashbuckle.AspNetCore.props" Condition="Exists('$(NuGetPackageRoot)swashbuckle.aspnetcore/6.2.3/build/Swashbuckle.AspNetCore.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">/home/mike/.nuget/packages/microsoft.extensions.apidescription.server/3.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server/3.0.0/build/Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server/3.0.0/build/Microsoft.Extensions.ApiDescription.Server.targets')" />
</ImportGroup>
</Project>

14
ytapic.csproj Normal file
View File

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="YouTubeExplode" Version="6.2.1" />
</ItemGroup>
</Project>