From 1c2abb9b952c81000b5ec77c23c23954e1b7948f Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 1 Jun 2020 02:53:41 +0300 Subject: [PATCH] Encrypt all image uploader settings --- .../ImageUploaders/CheveretoUploader.cs | 1 + .../ImageUploaders/ImageShackUploader.cs | 2 + ShareX.UploadersLib/OAuth/OAuth2Token.cs | 3 ++ ShareX.UploadersLib/OAuth/OAuthInfo.cs | 7 ++-- ShareX.UploadersLib/UploadersConfig.cs | 41 ++++++++++--------- 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/ShareX.UploadersLib/ImageUploaders/CheveretoUploader.cs b/ShareX.UploadersLib/ImageUploaders/CheveretoUploader.cs index 0394f9a0e..aa83a818a 100644 --- a/ShareX.UploadersLib/ImageUploaders/CheveretoUploader.cs +++ b/ShareX.UploadersLib/ImageUploaders/CheveretoUploader.cs @@ -30,6 +30,7 @@ namespace ShareX.UploadersLib public class CheveretoUploader { public string UploadURL { get; set; } + [JsonEncrypt] public string APIKey { get; set; } public CheveretoUploader() diff --git a/ShareX.UploadersLib/ImageUploaders/ImageShackUploader.cs b/ShareX.UploadersLib/ImageUploaders/ImageShackUploader.cs index 5d160ef27..4f3f746a9 100644 --- a/ShareX.UploadersLib/ImageUploaders/ImageShackUploader.cs +++ b/ShareX.UploadersLib/ImageUploaders/ImageShackUploader.cs @@ -25,6 +25,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using ShareX.HelpersLib; using ShareX.UploadersLib.Properties; using System.Collections.Generic; using System.Drawing; @@ -236,6 +237,7 @@ public class ImageShackImage public class ImageShackOptions { public string Username { get; set; } + [JsonEncrypt] public string Password { get; set; } public bool IsPublic { get; set; } public string Auth_token { get; set; } diff --git a/ShareX.UploadersLib/OAuth/OAuth2Token.cs b/ShareX.UploadersLib/OAuth/OAuth2Token.cs index caf94ccc1..16eda742b 100644 --- a/ShareX.UploadersLib/OAuth/OAuth2Token.cs +++ b/ShareX.UploadersLib/OAuth/OAuth2Token.cs @@ -24,13 +24,16 @@ #endregion License Information (GPL v3) using Newtonsoft.Json; +using ShareX.HelpersLib; using System; namespace ShareX.UploadersLib { public class OAuth2Token { + [JsonEncrypt] public string access_token { get; set; } + [JsonEncrypt] public string refresh_token { get; set; } public int expires_in { get; set; } public string token_type { get; set; } diff --git a/ShareX.UploadersLib/OAuth/OAuthInfo.cs b/ShareX.UploadersLib/OAuth/OAuthInfo.cs index 2140fee78..e9b0f843a 100644 --- a/ShareX.UploadersLib/OAuth/OAuthInfo.cs +++ b/ShareX.UploadersLib/OAuth/OAuthInfo.cs @@ -23,6 +23,7 @@ #endregion License Information (GPL v3) +using ShareX.HelpersLib; using ShareX.UploadersLib.Properties; using System; using System.ComponentModel; @@ -59,16 +60,16 @@ public enum OAuthInfoSignatureMethod [Browsable(false)] public string AuthToken { get; set; } - [Browsable(false)] + [Browsable(false), JsonEncrypt] public string AuthSecret { get; set; } - [Description("Verification Code from the Authorization Page")] + [JsonEncrypt, Description("Verification Code from the Authorization Page")] public string AuthVerifier { get; set; } [Browsable(false)] public string UserToken { get; set; } - [Browsable(false)] + [Browsable(false), JsonEncrypt] public string UserSecret { get; set; } public OAuthInfo() diff --git a/ShareX.UploadersLib/UploadersConfig.cs b/ShareX.UploadersLib/UploadersConfig.cs index 36fdb3e4f..009c5ad7b 100644 --- a/ShareX.UploadersLib/UploadersConfig.cs +++ b/ShareX.UploadersLib/UploadersConfig.cs @@ -39,56 +39,57 @@ public class UploadersConfig : SettingsBase #region Imgur - public AccountType ImgurAccountType = AccountType.Anonymous; - public bool ImgurDirectLink = true; - public ImgurThumbnailType ImgurThumbnailType = ImgurThumbnailType.Medium_Thumbnail; - public bool ImgurUseGIFV = true; - public OAuth2Info ImgurOAuth2Info = null; - public bool ImgurUploadSelectedAlbum = false; - public ImgurAlbumData ImgurSelectedAlbum = null; - public List ImgurAlbumList = null; + public AccountType ImgurAccountType { get; set; } = AccountType.Anonymous; + public bool ImgurDirectLink { get; set; } = true; + public ImgurThumbnailType ImgurThumbnailType { get; set; } = ImgurThumbnailType.Medium_Thumbnail; + public bool ImgurUseGIFV { get; set; } = true; + public OAuth2Info ImgurOAuth2Info { get; set; } = null; + public bool ImgurUploadSelectedAlbum { get; set; } = false; + public ImgurAlbumData ImgurSelectedAlbum { get; set; } = null; + public List ImgurAlbumList { get; set; } = null; #endregion Imgur #region ImageShack - public ImageShackOptions ImageShackSettings = new ImageShackOptions(); + public ImageShackOptions ImageShackSettings { get; set; } = new ImageShackOptions(); #endregion ImageShack #region Flickr - public OAuthInfo FlickrOAuthInfo = null; - public FlickrSettings FlickrSettings = new FlickrSettings(); + public OAuthInfo FlickrOAuthInfo { get; set; } = null; + public FlickrSettings FlickrSettings { get; set; } = new FlickrSettings(); #endregion Flickr #region Photobucket - public OAuthInfo PhotobucketOAuthInfo = null; - public PhotobucketAccountInfo PhotobucketAccountInfo = null; + public OAuthInfo PhotobucketOAuthInfo { get; set; } = null; + public PhotobucketAccountInfo PhotobucketAccountInfo { get; set; } = null; #endregion Photobucket #region Google Photos - public OAuth2Info GooglePhotosOAuth2Info = null; - public OAuthUserInfo GooglePhotosUserInfo = null; - public string GooglePhotosAlbumID = ""; - public bool GooglePhotosIsPublic = false; + public OAuth2Info GooglePhotosOAuth2Info { get; set; } = null; + public OAuthUserInfo GooglePhotosUserInfo { get; set; } = null; + public string GooglePhotosAlbumID { get; set; } = ""; + public bool GooglePhotosIsPublic { get; set; } = false; #endregion Google Photos #region Chevereto - public CheveretoUploader CheveretoUploader = new CheveretoUploader(); - public bool CheveretoDirectURL = true; + public CheveretoUploader CheveretoUploader { get; set; } = new CheveretoUploader(); + public bool CheveretoDirectURL { get; set; } = true; #endregion Chevereto #region vgy.me - public string VgymeUserKey = ""; + [JsonEncrypt] + public string VgymeUserKey { get; set; } = ""; #endregion vgy.me