2013-11-03 23:53:49 +13:00
|
|
|
|
#region License Information (GPL v3)
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
ShareX - A program that allows you to take screenshots and share any file type
|
2021-07-29 15:22:51 +12:00
|
|
|
|
Copyright (c) 2007-2021 ShareX Team
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
|
|
|
|
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#endregion License Information (GPL v3)
|
|
|
|
|
|
2014-12-11 09:25:20 +13:00
|
|
|
|
using ShareX.HelpersLib;
|
|
|
|
|
using ShareX.UploadersLib.FileUploaders;
|
|
|
|
|
using ShareX.UploadersLib.ImageUploaders;
|
|
|
|
|
using ShareX.UploadersLib.TextUploaders;
|
2018-10-02 12:11:53 +13:00
|
|
|
|
using ShareX.UploadersLib.URLShorteners;
|
2016-02-15 19:53:30 +13:00
|
|
|
|
using System.Collections.Generic;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2014-12-11 09:25:20 +13:00
|
|
|
|
namespace ShareX.UploadersLib
|
2013-11-03 23:53:49 +13:00
|
|
|
|
{
|
|
|
|
|
public class UploadersConfig : SettingsBase<UploadersConfig>
|
|
|
|
|
{
|
|
|
|
|
#region Image uploaders
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Imgur
|
2014-06-16 22:47:35 +12:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
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<ImgurAlbumData> ImgurAlbumList { get; set; } = null;
|
2014-06-16 22:47:35 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Imgur
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region ImageShack
|
2014-02-01 11:11:25 +13:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
public ImageShackOptions ImageShackSettings { get; set; } = new ImageShackOptions();
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion ImageShack
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Flickr
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
public OAuthInfo FlickrOAuthInfo { get; set; } = null;
|
|
|
|
|
public FlickrSettings FlickrSettings { get; set; } = new FlickrSettings();
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Flickr
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Photobucket
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
public OAuthInfo PhotobucketOAuthInfo { get; set; } = null;
|
|
|
|
|
public PhotobucketAccountInfo PhotobucketAccountInfo { get; set; } = null;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Photobucket
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Google Photos
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
public OAuth2Info GooglePhotosOAuth2Info { get; set; } = null;
|
|
|
|
|
public OAuthUserInfo GooglePhotosUserInfo { get; set; } = null;
|
|
|
|
|
public string GooglePhotosAlbumID { get; set; } = "";
|
|
|
|
|
public bool GooglePhotosIsPublic { get; set; } = false;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Google Photos
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Chevereto
|
2014-09-18 07:25:23 +12:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
public CheveretoUploader CheveretoUploader { get; set; } = new CheveretoUploader();
|
|
|
|
|
public bool CheveretoDirectURL { get; set; } = true;
|
2014-09-18 07:25:23 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Chevereto
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region vgy.me
|
2016-02-14 13:28:41 +13:00
|
|
|
|
|
2020-06-01 11:53:41 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string VgymeUserKey { get; set; } = "";
|
2016-02-14 13:28:41 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion vgy.me
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2013-11-03 23:53:49 +13:00
|
|
|
|
#endregion Image uploaders
|
|
|
|
|
|
|
|
|
|
#region Text uploaders
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Pastebin
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
public PastebinSettings PastebinSettings { get; set; } = new PastebinSettings();
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Pastebin
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Paste.ee
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string Paste_eeUserKey { get; set; } = "";
|
|
|
|
|
public bool Paste_eeEncryptPaste { get; set; } = false;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Paste.ee
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Gist
|
2013-12-03 12:11:30 +13:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
public OAuth2Info GistOAuth2Info { get; set; } = null;
|
|
|
|
|
public bool GistPublishPublic { get; set; } = false;
|
|
|
|
|
public bool GistRawURL { get; set; } = false;
|
|
|
|
|
public string GistCustomURL { get; set; } = "";
|
2013-12-03 12:11:30 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Gist
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region uPaste
|
2014-02-01 10:17:39 +13:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string UpasteUserKey { get; set; } = "";
|
|
|
|
|
public bool UpasteIsPublic { get; set; } = false;
|
2014-02-01 10:17:39 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion uPaste
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Hastebin
|
2014-09-26 17:18:44 +12:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
public string HastebinCustomDomain { get; set; } = "https://hastebin.com";
|
|
|
|
|
public string HastebinSyntaxHighlighting { get; set; } = "hs";
|
|
|
|
|
public bool HastebinUseFileExtension { get; set; } = true;
|
2014-09-26 17:18:44 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Hastebin
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region OneTimeSecret
|
2015-08-04 00:59:33 +12:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
public string OneTimeSecretAPIUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string OneTimeSecretAPIKey { get; set; } = "";
|
2015-08-04 00:59:33 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion OneTimeSecret
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Pastie
|
2016-12-08 12:58:45 +13:00
|
|
|
|
|
2020-06-01 12:16:18 +12:00
|
|
|
|
public bool PastieIsPublic { get; set; } = false;
|
2016-12-08 12:58:45 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Pastie
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2013-11-03 23:53:49 +13:00
|
|
|
|
#endregion Text uploaders
|
|
|
|
|
|
|
|
|
|
#region File uploaders
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Dropbox
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info DropboxOAuth2Info { get; set; } = null;
|
|
|
|
|
public string DropboxUploadPath { get; set; } = "ShareX/%y/%mo";
|
|
|
|
|
public bool DropboxAutoCreateShareableLink { get; set; } = true;
|
|
|
|
|
public bool DropboxUseDirectLink { get; set; } = false;
|
2017-03-19 19:52:03 +13:00
|
|
|
|
|
|
|
|
|
// TEMP: For backward compatibility
|
2014-04-20 11:00:19 +12:00
|
|
|
|
public DropboxURLType DropboxURLType = DropboxURLType.Default;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Dropbox
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region FTP
|
2016-06-12 06:54:14 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public List<FTPAccount> FTPAccountList { get; set; } = new List<FTPAccount>();
|
|
|
|
|
public int FTPSelectedImage { get; set; } = 0;
|
|
|
|
|
public int FTPSelectedText { get; set; } = 0;
|
|
|
|
|
public int FTPSelectedFile { get; set; } = 0;
|
2016-06-12 06:54:14 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion FTP
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region OneDrive
|
2014-07-16 00:17:02 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info OneDriveV2OAuth2Info { get; set; } = null;
|
|
|
|
|
public OneDriveFileInfo OneDriveV2SelectedFolder { get; set; } = OneDrive.RootFolder;
|
|
|
|
|
public bool OneDriveAutoCreateShareableLink { get; set; } = true;
|
2014-07-16 00:17:02 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion OneDrive
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Gfycat
|
2017-03-28 12:05:28 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info GfycatOAuth2Info { get; set; } = null;
|
|
|
|
|
public AccountType GfycatAccountType { get; set; } = AccountType.Anonymous;
|
|
|
|
|
public bool GfycatIsPublic { get; set; } = false;
|
|
|
|
|
public bool GfycatKeepAudio { get; set; } = true;
|
2020-12-16 00:44:03 +13:00
|
|
|
|
public string GfycatTitle { get; set; } = "ShareX";
|
2017-03-28 12:05:28 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Gfycat
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Google Drive
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info GoogleDriveOAuth2Info { get; set; } = null;
|
|
|
|
|
public bool GoogleDriveIsPublic { get; set; } = true;
|
|
|
|
|
public bool GoogleDriveDirectLink { get; set; } = false;
|
|
|
|
|
public bool GoogleDriveUseFolder { get; set; } = false;
|
|
|
|
|
public string GoogleDriveFolderID { get; set; } = "";
|
2020-06-08 15:56:14 +12:00
|
|
|
|
public GoogleDriveSharedDrive GoogleDriveSelectedDrive { get; set; } = GoogleDrive.MyDrive;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Google Drive
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region puush
|
2016-06-12 06:54:14 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string PuushAPIKey { get; set; } = "";
|
2016-06-12 06:54:14 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion puush
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region SendSpace
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public AccountType SendSpaceAccountType { get; set; } = AccountType.Anonymous;
|
|
|
|
|
public string SendSpaceUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string SendSpacePassword { get; set; } = "";
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion SendSpace
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Box
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info BoxOAuth2Info { get; set; } = null;
|
|
|
|
|
public BoxFileEntry BoxSelectedFolder { get; set; } = Box.RootFolder;
|
|
|
|
|
public bool BoxShare { get; set; } = true;
|
|
|
|
|
public BoxShareAccessLevel BoxShareAccessLevel { get; set; } = BoxShareAccessLevel.Open;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Box
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Localhostr
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string LocalhostrEmail { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string LocalhostrPassword { get; set; } = "";
|
|
|
|
|
public bool LocalhostrDirectURL { get; set; } = true;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Localhostr
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Shared folder
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public List<LocalhostAccount> LocalhostAccountList { get; set; } = new List<LocalhostAccount>();
|
|
|
|
|
public int LocalhostSelectedImages { get; set; } = 0;
|
|
|
|
|
public int LocalhostSelectedText { get; set; } = 0;
|
|
|
|
|
public int LocalhostSelectedFiles { get; set; } = 0;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Shared folder
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Email
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string EmailSmtpServer { get; set; } = "smtp.gmail.com";
|
|
|
|
|
public int EmailSmtpPort { get; set; } = 587;
|
|
|
|
|
public string EmailFrom { get; set; } = "...@gmail.com";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string EmailPassword { get; set; } = "";
|
|
|
|
|
public bool EmailRememberLastTo { get; set; } = true;
|
|
|
|
|
public string EmailLastTo { get; set; } = "";
|
|
|
|
|
public string EmailDefaultSubject { get; set; } = "Sending email from ShareX";
|
|
|
|
|
public string EmailDefaultBody { get; set; } = "Screenshot is attached.";
|
|
|
|
|
public bool EmailAutomaticSend { get; set; } = false;
|
|
|
|
|
public string EmailAutomaticSendTo { get; set; } = "";
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Email
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Jira
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string JiraHost { get; set; } = "http://";
|
|
|
|
|
public string JiraIssuePrefix { get; set; } = "PROJECT-";
|
|
|
|
|
public OAuthInfo JiraOAuthInfo { get; set; } = null;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Jira
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Mega
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public MegaAuthInfos MegaAuthInfos { get; set; } = null;
|
|
|
|
|
public string MegaParentNodeId { get; set; } = null;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Mega
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Amazon S3
|
2014-03-27 05:56:05 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public AmazonS3Settings AmazonS3Settings { get; set; } = new AmazonS3Settings()
|
2014-03-29 01:55:41 +13:00
|
|
|
|
{
|
2017-09-29 04:25:41 +13:00
|
|
|
|
ObjectPrefix = "ShareX/%y/%mo"
|
2014-03-27 05:56:05 +13:00
|
|
|
|
};
|
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Amazon S3
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2018-01-29 21:44:06 +13:00
|
|
|
|
#region ownCloud / Nextcloud
|
2014-07-07 06:45:36 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string OwnCloudHost { get; set; } = "";
|
|
|
|
|
public string OwnCloudUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string OwnCloudPassword { get; set; } = "";
|
|
|
|
|
public string OwnCloudPath { get; set; } = "/";
|
|
|
|
|
public int OwnCloudExpiryTime { get; set; } = 7;
|
|
|
|
|
public bool OwnCloudCreateShare { get; set; } = true;
|
|
|
|
|
public bool OwnCloudDirectLink { get; set; } = false;
|
|
|
|
|
public bool OwnCloud81Compatibility { get; set; } = true;
|
|
|
|
|
public bool OwnCloudUsePreviewLinks { get; set; } = false;
|
|
|
|
|
public bool OwnCloudAutoExpire { get; set; } = false;
|
2014-07-07 06:45:36 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion ownCloud / Nextcloud
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region MediaFire
|
2014-07-23 10:32:14 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string MediaFireUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string MediaFirePassword { get; set; } = "";
|
|
|
|
|
public string MediaFirePath { get; set; } = "";
|
|
|
|
|
public bool MediaFireUseLongLink { get; set; } = false;
|
2014-07-23 10:32:14 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion MediaFire
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Pushbullet
|
2014-09-04 23:11:42 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public PushbulletSettings PushbulletSettings { get; set; } = new PushbulletSettings();
|
2014-09-04 23:11:42 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Pushbullet
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Lambda
|
2015-02-04 09:12:53 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public LambdaSettings LambdaSettings { get; set; } = new LambdaSettings();
|
2015-02-04 09:12:53 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Lambda
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Lithiio
|
2016-05-15 23:57:30 +12:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public LithiioSettings LithiioSettings { get; set; } = new LithiioSettings();
|
2016-05-15 23:57:30 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Lithiio
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2019-01-18 20:57:11 +13:00
|
|
|
|
#region Teknik
|
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info TeknikOAuth2Info { get; set; } = null;
|
|
|
|
|
public string TeknikUploadAPIUrl { get; set; } = Teknik.DefaultUploadAPIURL;
|
|
|
|
|
public string TeknikPasteAPIUrl { get; set; } = Teknik.DefaultPasteAPIURL;
|
|
|
|
|
public string TeknikUrlShortenerAPIUrl { get; set; } = Teknik.DefaultUrlShortenerAPIURL;
|
|
|
|
|
public string TeknikAuthUrl { get; set; } = Teknik.DefaultAuthURL;
|
|
|
|
|
public TeknikExpirationUnit TeknikExpirationUnit { get; set; } = TeknikExpirationUnit.Never;
|
|
|
|
|
public int TeknikExpirationLength { get; set; } = 1;
|
|
|
|
|
public bool TeknikEncryption { get; set; } = false;
|
|
|
|
|
public bool TeknikGenerateDeletionKey { get; set; } = false;
|
2019-01-18 20:57:11 +13:00
|
|
|
|
|
2019-03-12 19:31:29 +13:00
|
|
|
|
#endregion Teknik
|
2019-01-18 20:57:11 +13:00
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Pomf
|
2015-10-06 08:45:05 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public PomfUploader PomfUploader { get; set; } = new PomfUploader();
|
2015-10-06 08:45:05 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Pomf
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region s-ul
|
2015-12-12 15:30:12 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string SulAPIKey { get; set; } = "";
|
2015-12-12 15:30:12 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion s-ul
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Seafile
|
2015-10-13 14:24:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string SeafileAPIURL { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string SeafileAuthToken { get; set; } = "";
|
|
|
|
|
public string SeafileRepoID { get; set; } = "";
|
|
|
|
|
public string SeafilePath { get; set; } = "/";
|
|
|
|
|
public bool SeafileIsLibraryEncrypted { get; set; } = false;
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string SeafileEncryptedLibraryPassword { get; set; } = "";
|
|
|
|
|
public bool SeafileCreateShareableURL { get; set; } = true;
|
|
|
|
|
public bool SeafileCreateShareableURLRaw { get; set; } = false;
|
|
|
|
|
public bool SeafileIgnoreInvalidCert { get; set; } = false;
|
|
|
|
|
public int SeafileShareDaysToExpire { get; set; } = 0;
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string SeafileSharePassword { get; set; } = "";
|
|
|
|
|
public string SeafileAccInfoEmail { get; set; } = "";
|
|
|
|
|
public string SeafileAccInfoUsage { get; set; } = "";
|
2015-10-13 14:24:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Seafile
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Streamable
|
2015-12-02 07:02:06 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public bool StreamableAnonymous { get; set; } = true;
|
|
|
|
|
public string StreamableUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string StreamablePassword { get; set; } = "";
|
|
|
|
|
public bool StreamableUseDirectURL { get; set; } = false;
|
2015-12-02 07:02:06 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Streamable
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region Azure Storage
|
2017-01-27 00:41:49 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string AzureStorageAccountName { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string AzureStorageAccountAccessKey { get; set; } = "";
|
|
|
|
|
public string AzureStorageContainer { get; set; } = "";
|
|
|
|
|
public string AzureStorageEnvironment { get; set; } = "blob.core.windows.net";
|
|
|
|
|
public string AzureStorageCustomDomain { get; set; } = "";
|
|
|
|
|
public string AzureStorageUploadPath { get; set; } = "";
|
2017-01-27 00:41:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Azure Storage
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2018-09-27 17:49:42 +12:00
|
|
|
|
#region Backblaze B2
|
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public string B2ApplicationKeyId { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string B2ApplicationKey { get; set; } = "";
|
|
|
|
|
public string B2BucketName { get; set; } = "";
|
|
|
|
|
public string B2UploadPath { get; set; } = "ShareX/%y/%mo";
|
|
|
|
|
public bool B2UseCustomUrl { get; set; } = false;
|
|
|
|
|
public string B2CustomUrl { get; set; } = "https://example.com";
|
2018-09-27 17:49:42 +12:00
|
|
|
|
|
|
|
|
|
#endregion Backblaze B2
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Plik
|
2017-02-27 05:17:02 +13:00
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public PlikSettings PlikSettings { get; set; } = new PlikSettings();
|
2017-02-27 05:17:02 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Plik
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2018-04-10 12:49:40 +12:00
|
|
|
|
#region YouTube
|
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info YouTubeOAuth2Info { get; set; } = null;
|
|
|
|
|
public YouTubeVideoPrivacy YouTubePrivacyType { get; set; } = YouTubeVideoPrivacy.Public;
|
|
|
|
|
public bool YouTubeUseShortenedLink { get; set; } = false;
|
2018-04-10 12:49:40 +12:00
|
|
|
|
|
|
|
|
|
#endregion YouTube
|
|
|
|
|
|
2018-04-20 16:26:00 +12:00
|
|
|
|
#region Google Cloud Storage
|
|
|
|
|
|
2020-06-01 13:17:04 +12:00
|
|
|
|
public OAuth2Info GoogleCloudStorageOAuth2Info { get; set; } = null;
|
|
|
|
|
public string GoogleCloudStorageBucket { get; set; } = "";
|
|
|
|
|
public string GoogleCloudStorageDomain { get; set; } = "";
|
|
|
|
|
public string GoogleCloudStorageObjectPrefix { get; set; } = "ShareX/%y/%mo";
|
|
|
|
|
public bool GoogleCloudStorageRemoveExtensionImage { get; set; } = false;
|
|
|
|
|
public bool GoogleCloudStorageRemoveExtensionVideo { get; set; } = false;
|
|
|
|
|
public bool GoogleCloudStorageRemoveExtensionText { get; set; } = false;
|
|
|
|
|
public bool GoogleCloudStorageSetPublicACL { get; set; } = true;
|
2018-04-20 16:26:00 +12:00
|
|
|
|
|
|
|
|
|
#endregion Google Cloud Storage
|
|
|
|
|
|
2013-11-03 23:53:49 +13:00
|
|
|
|
#endregion File uploaders
|
|
|
|
|
|
|
|
|
|
#region URL shorteners
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region bit.ly
|
2013-12-21 04:59:26 +13:00
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public OAuth2Info BitlyOAuth2Info { get; set; } = null;
|
|
|
|
|
public string BitlyDomain { get; set; } = "";
|
2013-12-21 04:59:26 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion bit.ly
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region yourls.org
|
2014-01-20 14:04:03 +13:00
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public string YourlsAPIURL { get; set; } = "http://yoursite.com/yourls-api.php";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string YourlsSignature { get; set; } = "";
|
|
|
|
|
public string YourlsUsername { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string YourlsPassword { get; set; } = "";
|
2014-01-20 14:04:03 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion yourls.org
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region adf.ly
|
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public string AdFlyAPIUID { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string AdFlyAPIKEY { get; set; } = "";
|
2014-07-13 23:10:42 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion adf.ly
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
|
|
|
|
#region polr
|
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public string PolrAPIHostname { get; set; } = "";
|
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string PolrAPIKey { get; set; } = "";
|
|
|
|
|
public bool PolrIsSecret { get; set; } = false;
|
|
|
|
|
public bool PolrUseAPIv1 { get; set; } = false;
|
2015-08-05 06:49:07 +12:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion polr
|
2017-10-06 07:22:32 +13:00
|
|
|
|
|
2018-04-01 06:36:26 +12:00
|
|
|
|
#region Firebase Dynamic Links
|
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
[JsonEncrypt]
|
|
|
|
|
public string FirebaseWebAPIKey { get; set; } = "";
|
|
|
|
|
public string FirebaseDynamicLinkDomain { get; set; } = "";
|
|
|
|
|
public bool FirebaseIsShort { get; set; } = false;
|
2018-04-01 06:36:26 +12:00
|
|
|
|
|
|
|
|
|
#endregion Firebase Dynamic Links
|
|
|
|
|
|
2018-10-02 12:11:53 +13:00
|
|
|
|
#region Kutt
|
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public KuttSettings KuttSettings { get; set; } = new KuttSettings();
|
2018-10-02 12:11:53 +13:00
|
|
|
|
|
|
|
|
|
#endregion Kutt
|
|
|
|
|
|
2021-03-11 05:20:50 +13:00
|
|
|
|
#region Zero Width Shortener
|
|
|
|
|
|
|
|
|
|
public string ZeroWidthShortenerURL { get; set; } = "https://api.zws.im";
|
|
|
|
|
public string ZeroWidthShortenerToken { get; set; } = "";
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2013-11-03 23:53:49 +13:00
|
|
|
|
#endregion URL shorteners
|
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Other uploaders
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Twitter
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public List<OAuthInfo> TwitterOAuthInfoList { get; set; } = new List<OAuthInfo>();
|
|
|
|
|
public int TwitterSelectedAccount { get; set; } = 0;
|
|
|
|
|
public bool TwitterSkipMessageBox { get; set; } = false;
|
|
|
|
|
public string TwitterDefaultMessage { get; set; } = "";
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2018-03-01 11:52:11 +13:00
|
|
|
|
#endregion Twitter
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#region Custom uploaders
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2020-06-01 22:36:55 +12:00
|
|
|
|
public List<CustomUploaderItem> CustomUploadersList { get; set; } = new List<CustomUploaderItem>();
|
|
|
|
|
public int CustomImageUploaderSelected { get; set; } = 0;
|
|
|
|
|
public int CustomTextUploaderSelected { get; set; } = 0;
|
|
|
|
|
public int CustomFileUploaderSelected { get; set; } = 0;
|
|
|
|
|
public int CustomURLShortenerSelected { get; set; } = 0;
|
|
|
|
|
public int CustomURLSharingServiceSelected { get; set; } = 0;
|
2013-11-03 23:53:49 +13:00
|
|
|
|
|
2017-10-06 07:22:32 +13:00
|
|
|
|
#endregion Custom uploaders
|
|
|
|
|
|
|
|
|
|
#endregion Other uploaders
|
2013-11-03 23:53:49 +13:00
|
|
|
|
}
|
2016-07-30 06:54:21 +12:00
|
|
|
|
}
|