diff --git a/ShareX.UploadersLib/Favicons/Lithiio.ico b/ShareX.UploadersLib/Favicons/Lithiio.ico index 51cae7cbc..0a8e0d06e 100644 Binary files a/ShareX.UploadersLib/Favicons/Lithiio.ico and b/ShareX.UploadersLib/Favicons/Lithiio.ico differ diff --git a/ShareX.UploadersLib/FileUploaders/Lithiio.cs b/ShareX.UploadersLib/FileUploaders/Lithiio.cs index 0314f2486..761a0f34f 100644 --- a/ShareX.UploadersLib/FileUploaders/Lithiio.cs +++ b/ShareX.UploadersLib/FileUploaders/Lithiio.cs @@ -25,7 +25,7 @@ You should have received a copy of the GNU General Public License // Credits: https://github.com/lithium720 -using ShareX.HelpersLib; +using Newtonsoft.Json; using System.Collections.Generic; using System.IO; using System.Windows.Forms; @@ -58,7 +58,7 @@ public Lithiio(LithiioSettings config) Config = config; } - private const string uploadUrl = "http://api.lithi.io/upload.php"; + private const string uploadUrl = "http://api.lithi.io/v2/"; public static string[] UploadURLs = new string[] { "https://i.lithi.io/", "https://lithi.io/i/", "https://i.mugi.io/", "https://mugi.io/i/" }; @@ -66,31 +66,30 @@ public override UploadResult Upload(Stream stream, string fileName) { Dictionary arguments = new Dictionary(); arguments.Add("key", Config.UserAPIKey); - UploadResult result = UploadData(stream, uploadUrl, fileName, "file", arguments, method: HttpMethod.POST); - - if (result.Response == null) - { - Errors.Add("Upload failed for unknown reason. Check your API key."); - return result; - } + arguments.Add("linktype", Config.UploadURL); + UploadResult result = UploadData(stream, uploadUrl, fileName, "file", arguments); if (result.IsSuccess) { - result.URL = URLHelpers.CombineURL(Config.UploadURL, result.Response); + LithiioResponse response = JsonConvert.DeserializeObject(result.Response); + if (response.Success) + { + result.URL = response.URL; + } + else + { + Errors.Add(response.Error); + } } return result; } - internal class LithiioResponse + public class LithiioResponse { - public string url { get; set; } - public List errors { get; set; } - } - - internal class LithiioFile - { - public string url { get; set; } + public bool Success { get; set; } + public string URL { get; set; } + public string Error { get; set; } } }