we can actually get a quick connect code now, and authenticating by username and password works!
This commit is contained in:
parent
55e3babc5b
commit
d5017d32ba
96 changed files with 381 additions and 724 deletions
27
WindowsFormsApplication2/ConfigForm.Designer.cs
generated
27
WindowsFormsApplication2/ConfigForm.Designer.cs
generated
|
@ -28,6 +28,7 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
|
@ -51,6 +52,7 @@
|
|||
this.textBox4 = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage3.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
|
@ -100,6 +102,7 @@
|
|||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(261, 20);
|
||||
this.textBox1.TabIndex = 1;
|
||||
this.textBox1.MouseHover += new System.EventHandler(this.textBox1_MouseHover);
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
|
@ -156,7 +159,7 @@
|
|||
//
|
||||
// button5
|
||||
//
|
||||
this.button5.Location = new System.Drawing.Point(103, 126);
|
||||
this.button5.Location = new System.Drawing.Point(101, 126);
|
||||
this.button5.Name = "button5";
|
||||
this.button5.Size = new System.Drawing.Size(75, 23);
|
||||
this.button5.TabIndex = 6;
|
||||
|
@ -195,6 +198,7 @@
|
|||
this.textBox5.Size = new System.Drawing.Size(260, 20);
|
||||
this.textBox5.TabIndex = 1;
|
||||
this.textBox5.TextChanged += new System.EventHandler(this.textBox5_TextChanged);
|
||||
this.textBox5.MouseHover += new System.EventHandler(this.textBox5_MouseHover);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
|
@ -270,6 +274,8 @@
|
|||
this.textBox4.Name = "textBox4";
|
||||
this.textBox4.Size = new System.Drawing.Size(260, 20);
|
||||
this.textBox4.TabIndex = 3;
|
||||
this.textBox4.MouseEnter += new System.EventHandler(this.textBox4_MouseEnter);
|
||||
this.textBox4.MouseHover += new System.EventHandler(this.textBox4_MouseHover);
|
||||
//
|
||||
// label5
|
||||
//
|
||||
|
@ -284,13 +290,21 @@
|
|||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(85, 47);
|
||||
this.label4.Location = new System.Drawing.Point(84, 47);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(106, 13);
|
||||
this.label4.Size = new System.Drawing.Size(109, 13);
|
||||
this.label4.TabIndex = 1;
|
||||
this.label4.Text = "Quick Connect Code";
|
||||
this.label4.Text = "Quick Connect Code:";
|
||||
this.label4.Click += new System.EventHandler(this.label4_Click_1);
|
||||
//
|
||||
// toolTip1
|
||||
//
|
||||
this.toolTip1.AutoPopDelay = 5000;
|
||||
this.toolTip1.InitialDelay = 1000;
|
||||
this.toolTip1.ReshowDelay = 100;
|
||||
this.toolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
|
||||
this.toolTip1.ToolTipTitle = "Formatting Requirements";
|
||||
//
|
||||
// ConfigForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
|
@ -328,9 +342,7 @@
|
|||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TabPage tabPage3;
|
||||
private System.Windows.Forms.Button button5;
|
||||
private System.Windows.Forms.MaskedTextBox maskedTextBox2;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox textBox6;
|
||||
private System.Windows.Forms.TextBox textBox5;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label6;
|
||||
|
@ -341,5 +353,8 @@
|
|||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label4;
|
||||
public System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
public System.Windows.Forms.TextBox textBox6;
|
||||
public System.Windows.Forms.MaskedTextBox maskedTextBox2;
|
||||
}
|
||||
}
|
|
@ -97,6 +97,27 @@ namespace JellyfinRPC
|
|||
private void button5_Click(object sender, EventArgs e)
|
||||
{
|
||||
ConfigManager.SetEntry("ServerURL", textBox5.Text);
|
||||
JellyfinAPI.GetTokenFromUsernameAndPassword(Username: textBox6.Text, Password: maskedTextBox2.Text);
|
||||
}
|
||||
|
||||
private void textBox4_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
toolTip1.Show("Format like https://mydomain.local.", textBox4, textBox4.PointToClient(textBox4.Location).X + 30, textBox4.PointToClient(textBox4.Location).Y + 90, 2000);
|
||||
}
|
||||
|
||||
private void textBox4_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void textBox5_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
toolTip1.Show("Format like https://mydomain.local.", textBox5, textBox5.PointToClient(textBox5.Location).X + 30, textBox5.PointToClient(textBox5.Location).Y + 90, 2000);
|
||||
}
|
||||
|
||||
private void textBox1_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
toolTip1.Show("Format like https://mydomain.local.", textBox1, textBox1.PointToClient(textBox1.Location).X + 30, textBox1.PointToClient(textBox1.Location).Y + 90, 2000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,4 +117,7 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
|
|
@ -7,6 +7,8 @@ using System.Threading.Tasks;
|
|||
using Newtonsoft.Json.Linq;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography;
|
||||
using Newtonsoft.Json;
|
||||
using System.IO;
|
||||
|
||||
namespace JellyfinRPC
|
||||
{
|
||||
|
@ -177,13 +179,14 @@ namespace JellyfinRPC
|
|||
}
|
||||
return "album_cover";
|
||||
}
|
||||
private static Dictionary<string, string> jsonEntries = new Dictionary<string, string>();
|
||||
public static async Task<string> SendQuickConnectRequest()
|
||||
{
|
||||
using var httpClient = new HttpClient();
|
||||
httpClient.DefaultRequestHeaders.Add("Authorization", $"MediaBrowser Client=\"JellyfinRPC\", Device=\"Windows, Probably\", DeviceId=\"{ConfigManager.GetEntry("JellyfinDeviceID")}\", Version=\"{AssemblyVersion}\"");
|
||||
httpClient.DefaultRequestHeaders.Add("Authorization", $"MediaBrowser Client=\"JellyfinRPC\", Device=\"{Environment.OSVersion}\", DeviceId=\"{ConfigManager.GetEntry("DeviceID")}\", Version=\"{AssemblyVersion}\"");
|
||||
if (ConfigManager.GetEntry("ServerURL") != "")
|
||||
{
|
||||
var response = await httpClient.PostAsync($"{ConfigManager.GetEntry("ServerURL")}/QuickConnect/Initiate", null);
|
||||
var response = await httpClient.GetAsync($"{ConfigManager.GetEntry("ServerURL")}/QuickConnect/Initiate");
|
||||
if (response.StatusCode is (System.Net.HttpStatusCode)401)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show("This server does not have Quick Connect enabled.", "Quick Connect Unavailable.", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.MessageBoxDefaultButton.Button1);
|
||||
|
@ -195,26 +198,36 @@ namespace JellyfinRPC
|
|||
{
|
||||
response.EnsureSuccessStatusCode();
|
||||
var jsonResponse = await response.Content.ReadAsStringAsync();
|
||||
var contents = JArray.Parse(jsonResponse);
|
||||
string[] splitEmUp = jsonResponse.Split(',');
|
||||
|
||||
if (!contents.Any())
|
||||
if (!splitEmUp.Any())
|
||||
{
|
||||
return "Error: Server did not respond.";
|
||||
}
|
||||
|
||||
foreach (var content in contents)
|
||||
else
|
||||
{
|
||||
if (content["Code"]?.ToString() != "")
|
||||
foreach (var splitstring in splitEmUp)
|
||||
{
|
||||
return content["Code"]?.ToString();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return "Error: Server did not return code.";
|
||||
string[] values = splitstring.Split(':');
|
||||
jsonEntries.Add(values.First().Trim(), String.Join(":", values.Skip(1)).Trim());
|
||||
|
||||
}
|
||||
}
|
||||
return "Error: All values returned are null.";
|
||||
|
||||
|
||||
if (jsonEntries.ContainsKey("\"Code\""))
|
||||
{
|
||||
return jsonEntries["\"Code\""].Replace('"', ' ').Trim();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return "Error: Server did not return code.";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -241,5 +254,72 @@ namespace JellyfinRPC
|
|||
}
|
||||
|
||||
}
|
||||
private static ConfigForm configForm = new ConfigForm();
|
||||
public static async Task GetTokenFromUsernameAndPassword(string Username, string Password)
|
||||
{
|
||||
using var httpClient = new HttpClient();
|
||||
httpClient.DefaultRequestHeaders.Add("Authorization", $"MediaBrowser Client=\"JellyfinRPC {AssemblyVersion},\", Device=\"{System.Net.Dns.GetHostName()}\", DeviceId=\"{ConfigManager.GetEntry("DeviceID")}\", Version=\"running on {Environment.OSVersion}\"");
|
||||
if (ConfigManager.GetEntry("ServerURL") != "")
|
||||
{
|
||||
|
||||
string username = Username;
|
||||
string password = Password;
|
||||
|
||||
var loginRequest = new Login() { username = username, pw = password };
|
||||
var loginJson = JsonConvert.SerializeObject(loginRequest);
|
||||
|
||||
HttpResponseMessage response = await httpClient.PostAsync($"{ConfigManager.GetEntry("ServerURL")}/Users/AuthenticateByName", new StringContent(loginJson, Encoding.UTF8, "application/json"));
|
||||
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show("The Username or Password is incorrect.", "Authentication Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.MessageBoxDefaultButton.Button1);
|
||||
}
|
||||
else
|
||||
{
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var jsonResponse = await response.Content.ReadAsStringAsync();
|
||||
|
||||
var getThatToken = JArray.Parse(jsonResponse);
|
||||
|
||||
foreach (var item in getThatToken)
|
||||
{
|
||||
ConfigManager.SetEntry("JellyfinToken", item["AccessToken"].ToString());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Login
|
||||
{
|
||||
public string username { get; set; }
|
||||
public string pw { get; set; }
|
||||
}
|
||||
public class QuickConnect
|
||||
{
|
||||
[JsonProperty("Authenticated")]
|
||||
public bool Authenticated { get; set; }
|
||||
|
||||
[JsonProperty("Secret")]
|
||||
public string Secret { get; set; }
|
||||
|
||||
[JsonProperty("Code")]
|
||||
public string Code { get; set; }
|
||||
|
||||
[JsonProperty("DeviceId")]
|
||||
public string DeviceId { get; set; }
|
||||
|
||||
[JsonProperty("DeviceName")]
|
||||
public string DeviceName { get; set; }
|
||||
|
||||
[JsonProperty("AppName")]
|
||||
public string AppName { get; set; }
|
||||
|
||||
[JsonProperty("AppVersion")]
|
||||
public string AppVersion { get; set; }
|
||||
|
||||
[JsonProperty("DateAdded")]
|
||||
public DateTime DateAdded { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
|
@ -56,6 +58,9 @@
|
|||
<StartupObject>
|
||||
</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="AsyncBridge.NET40, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AsynchronousBridge.1.2.2\lib\Net40\AsyncBridge.NET40.dll</HintPath>
|
||||
|
@ -64,13 +69,13 @@
|
|||
<HintPath>..\packages\MakarovDev.ExpandCollapsePanel.1.0.0\lib\net40\MakarovDev.ExpandCollapsePanel.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.16.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
|
@ -176,6 +181,7 @@
|
|||
<Link>.editorconfig</Link>
|
||||
</None>
|
||||
<None Include="app.config" />
|
||||
<None Include="app.manifest" />
|
||||
<None Include="discord_game_sdk.dll.lib">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
@ -221,10 +227,12 @@
|
|||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
|
||||
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
79
WindowsFormsApplication2/app.manifest
Normal file
79
WindowsFormsApplication2/app.manifest
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config.
|
||||
|
||||
Makes the application long-path aware. See https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
|
||||
|
||||
</assembly>
|
Binary file not shown.
|
@ -1,38 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
</startup>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /></startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.WebRequest" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
|
@ -47,4 +17,4 @@
|
|||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
</configuration>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
</startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.WebRequest" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.2.29.0" newVersion="2.2.29.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
|
@ -1 +1 @@
|
|||
39d2709c88a095c384908456f45a2cca8910d004
|
||||
ad72fb23d8a16e3544ad713dde658391fa96992b
|
||||
|
|
|
@ -26,7 +26,6 @@ C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2
|
|||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\System.Net.Http.WebRequest.xml
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\System.Runtime.xml
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug\System.Threading.Tasks.xml
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\obj\x86\Debug\JellyfinRPCGUI.csproj.App.config
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\obj\x86\Debug\JellyfinRPC.AboutBox1.resources
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\obj\x86\Debug\JellyfinRPC.Form1.resources
|
||||
C:\Users\random()\Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\obj\x86\Debug\JellyfinRPC.ConfigForm.resources
|
||||
|
|
Binary file not shown.
|
@ -3,8 +3,8 @@
|
|||
<package id="AsynchronousBridge" version="1.2.2" targetFramework="net40" />
|
||||
<package id="MakarovDev.ExpandCollapsePanel" version="1.0.0" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Async" version="1.0.16" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net40" />
|
||||
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net40" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net40" />
|
||||
</packages>
|
Loading…
Add table
Add a link
Reference in a new issue