This commit is contained in:
JustArchi
2017-12-03 13:26:22 +01:00
parent 0f4864fef2
commit bd06bfb7ea
8 changed files with 8 additions and 79 deletions

View File

@@ -31,66 +31,44 @@ using Newtonsoft.Json;
namespace ArchiSteamFarm {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class BotConfig {
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool AcceptGifts;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool AutoDiscoveryQueue;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty]
internal readonly string CustomGamePlayedWhileFarming;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty]
internal readonly string CustomGamePlayedWhileIdle;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool DismissInventoryNotifications;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool Enabled;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly EFarmingOrder FarmingOrder = EFarmingOrder.Unordered;
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool FarmOffline;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly HashSet<uint> GamesPlayedWhileIdle = new HashSet<uint>();
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool HandleOfflineMessages;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte HoursUntilCardDrops = 3;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool IdleRefundableGames = true;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool IsBotAccount;
#pragma warning restore 649
[JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace, Required = Required.DisallowNull)]
internal readonly HashSet<Steam.Asset.EType> LootableTypes = new HashSet<Steam.Asset.EType> {
@@ -105,33 +83,23 @@ namespace ArchiSteamFarm {
[JsonProperty(Required = Required.DisallowNull)]
internal readonly CryptoHelper.ECryptoMethod PasswordFormat = CryptoHelper.ECryptoMethod.PlainText;
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool Paused;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly ERedeemingPreferences RedeemingPreferences = ERedeemingPreferences.None;
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool SendOnFarmingFinished;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte SendTradePeriod;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool ShutdownOnFarmingFinished;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty]
internal readonly string SteamTradeToken;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly Dictionary<ulong, EPermission> SteamUserPermissions = new Dictionary<ulong, EPermission>();
@@ -139,10 +107,8 @@ namespace ArchiSteamFarm {
[JsonProperty(Required = Required.DisallowNull)]
internal readonly ETradingPreferences TradingPreferences = ETradingPreferences.None;
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool UseLoginKeys = true;
#pragma warning restore 649
[JsonProperty(PropertyName = GlobalConfig.UlongStringPrefix + nameof(SteamMasterClanID), Required = Required.DisallowNull)]
internal string SSteamMasterClanID {

View File

@@ -50,15 +50,11 @@ namespace ArchiSteamFarm {
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte ConnectionTimeout = DefaultConnectionTimeout;
#pragma warning disable 649
[JsonProperty]
internal readonly string CurrentCulture;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool Debug;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte FarmingDelay = 15;
@@ -66,10 +62,8 @@ namespace ArchiSteamFarm {
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte GiftsLimiterDelay = 1;
#pragma warning disable 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly bool Headless;
#pragma warning restore 649
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte IdleFarmingPeriod = 8;
@@ -77,6 +71,9 @@ namespace ArchiSteamFarm {
[JsonProperty(Required = Required.DisallowNull)]
internal readonly byte InventoryLimiterDelay = 3;
[JsonProperty]
internal readonly string IPCPassword;
[JsonProperty(Required = Required.DisallowNull)]
internal readonly ushort IPCPort = DefaultIPCPort;

View File

@@ -107,7 +107,7 @@ namespace ArchiSteamFarm {
context.Response.StatusCode = (ushort) statusCode;
}
context.Response.AppendHeader("Access-Control-Allow-Origin", "null");
context.Response.AppendHeader("Access-Control-Allow-Origin", "*");
string acceptEncoding = context.Request.Headers["Accept-Encoding"];
@@ -199,9 +199,9 @@ namespace ArchiSteamFarm {
}
try {
if (Program.GlobalConfig.SteamOwnerID == 0) {
ASF.ArchiLogger.LogGenericWarning(Strings.ErrorIPCAccessDenied);
await context.StringResponse(Strings.ErrorIPCAccessDenied, statusCode: HttpStatusCode.Forbidden).ConfigureAwait(false);
if ((Program.GlobalConfig.SteamOwnerID == 0) || (!string.IsNullOrEmpty(Program.GlobalConfig.IPCPassword) && (context.Request.GetQueryStringValue("password") != Program.GlobalConfig.IPCPassword))) {
ASF.ArchiLogger.LogGenericWarning(Strings.ErrorAccessDenied);
await context.StringResponse(Strings.ErrorAccessDenied, statusCode: HttpStatusCode.Forbidden).ConfigureAwait(false);
return;
}

View File

@@ -27,34 +27,24 @@ namespace ArchiSteamFarm.JSON {
internal static class GitHub {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class ReleaseResponse {
#pragma warning disable 649
[JsonProperty(PropertyName = "assets", Required = Required.Always)]
internal readonly List<Asset> Assets;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(PropertyName = "tag_name", Required = Required.Always)]
internal readonly string Tag;
#pragma warning restore 649
// Deserialized from JSON
private ReleaseResponse() { }
internal sealed class Asset {
#pragma warning disable 649
[JsonProperty(PropertyName = "browser_download_url", Required = Required.Always)]
internal readonly string DownloadURL;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(PropertyName = "name", Required = Required.Always)]
internal readonly string Name;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(PropertyName = "size", Required = Required.Always)]
internal readonly uint Size;
#pragma warning restore 649
// Deserialized from JSON
private Asset() { }

View File

@@ -156,10 +156,8 @@ namespace ArchiSteamFarm.JSON {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class ConfirmationDetails {
#pragma warning disable 649
[JsonProperty(PropertyName = "success", Required = Required.Always)]
internal readonly bool Success;
#pragma warning restore 649
internal ulong OtherSteamID64 {
get {
@@ -331,10 +329,8 @@ namespace ArchiSteamFarm.JSON {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class ConfirmationResponse {
#pragma warning disable 649
[JsonProperty(PropertyName = "success", Required = Required.Always)]
internal readonly bool Success;
#pragma warning restore 649
// Deserialized from JSON
private ConfirmationResponse() { }
@@ -342,10 +338,8 @@ namespace ArchiSteamFarm.JSON {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class GenericResponse {
#pragma warning disable 649
[JsonProperty(PropertyName = "success", Required = Required.Always)]
internal readonly EResult Result;
#pragma warning restore 649
// Deserialized from JSON
private GenericResponse() { }
@@ -442,10 +436,8 @@ namespace ArchiSteamFarm.JSON {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class NewDiscoveryQueueResponse {
#pragma warning disable 649
[JsonProperty(PropertyName = "queue", Required = Required.Always)]
internal readonly HashSet<uint> Queue;
#pragma warning restore 649
// Deserialized from JSON
private NewDiscoveryQueueResponse() { }
@@ -453,15 +445,11 @@ namespace ArchiSteamFarm.JSON {
[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")]
internal sealed class RedeemWalletResponse {
#pragma warning disable 649
[JsonProperty(PropertyName = "detail", Required = Required.DisallowNull)]
internal readonly EPurchaseResultDetail? PurchaseResultDetail;
#pragma warning restore 649
#pragma warning disable 649
[JsonProperty(PropertyName = "success", Required = Required.Always)]
internal readonly EResult Result;
#pragma warning restore 649
// Deserialized from JSON
private RedeemWalletResponse() { }

View File

@@ -855,15 +855,6 @@ namespace ArchiSteamFarm.Localization {
}
}
/// <summary>
/// Looks up a localized string similar to Refusing to handle the request because SteamOwnerID is not set!.
/// </summary>
internal static string ErrorIPCAccessDenied {
get {
return ResourceManager.GetString("ErrorIPCAccessDenied", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to {0} is empty!.
/// </summary>

View File

@@ -189,10 +189,6 @@ StackTrace:
<data name="ErrorUserInputRunningInHeadlessMode" xml:space="preserve">
<value>Received a request for user input, but process is running in headless mode!</value>
</data>
<data name="ErrorIPCAccessDenied" xml:space="preserve">
<value>Refusing to handle the request because SteamOwnerID is not set!</value>
<comment>SteamOwnerID is name of bot config property, it should not be translated</comment>
</data>
<data name="Exiting" xml:space="preserve">
<value>Exiting...</value>
</data>

View File

@@ -11,6 +11,7 @@
"IdleFarmingPeriod": 8,
"InventoryLimiterDelay": 3,
"IPCHost": "127.0.0.1",
"IPCPassword": null,
"IPCPort": 1242,
"LoginLimiterDelay": 10,
"MaxFarmingTime": 10,