mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2025-12-24 10:16:49 +00:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a9fa2456b | ||
|
|
e482295b13 | ||
|
|
58691180d0 | ||
|
|
3a836c228c | ||
|
|
8dd75d5313 | ||
|
|
f9b5e40fb3 | ||
|
|
f6fb1a27a5 | ||
|
|
34a5999711 | ||
|
|
e219c1eac1 | ||
|
|
a93262aa9d | ||
|
|
740cc5e97c | ||
|
|
2532d96ca6 | ||
|
|
6b4550b86b | ||
|
|
b7d12053b1 | ||
|
|
fefd764325 | ||
|
|
c7733e1dd9 | ||
|
|
f3ae19f4af | ||
|
|
72862d8ff0 | ||
|
|
3633a67661 | ||
|
|
7a0a6c6b6f | ||
|
|
88e22bfe77 | ||
|
|
73f88a069d | ||
|
|
6eb9b888f1 | ||
|
|
8a7c22b9d5 | ||
|
|
c6168413b4 | ||
|
|
b1f7912a21 | ||
|
|
f985159fe4 | ||
|
|
bab57b95ef | ||
|
|
903fb677c0 | ||
|
|
8a03a53629 | ||
|
|
42e5a99225 | ||
|
|
da16086119 | ||
|
|
cc6df1082e |
2
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
@@ -43,7 +43,7 @@ Feel free to remove our notice and fill the template below with your details.
|
||||
```
|
||||
Paste here, in-between triple backtick tags
|
||||
|
||||
Ensure that your log is complete and was NOT recorded in Debug mode, as debug log may contain sensitive information that should not be shared publicly, as per our the wiki. Standard ASF log does not include sensitive information.
|
||||
Ensure that your log is complete and was NOT recorded in Debug mode, as debug log may contain sensitive information that should not be shared publicly, as per our wiki statement. Standard ASF log does not include sensitive information.
|
||||
```
|
||||
|
||||
### Global ASF.json config (if using one)
|
||||
|
||||
Submodule ASF-WebConfigGenerator updated: 85eac6c8d1...70b34becd1
2
ASF-ui
2
ASF-ui
Submodule ASF-ui updated: f48de0c250...48d557d6da
@@ -33,7 +33,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="3.0.0">
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="4.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="System.Composition.AttributedModel" Version="*" />
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="3.0.0">
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="4.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.1.1" />
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>ASF.ico</ApplicationIcon>
|
||||
<AssemblyVersion>4.0.2.2</AssemblyVersion>
|
||||
<AssemblyVersion>4.0.2.3</AssemblyVersion>
|
||||
<Authors>JustArchi</Authors>
|
||||
<Company>JustArchi</Company>
|
||||
<ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
|
||||
@@ -11,7 +11,7 @@
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);config/**;debug/**;out/**;overlay/**</DefaultItemExcludes>
|
||||
<Description>ASF is an application that allows you to farm steam cards using multiple steam accounts simultaneously.</Description>
|
||||
<ErrorReport>none</ErrorReport>
|
||||
<FileVersion>4.0.2.2</FileVersion>
|
||||
<FileVersion>4.0.2.3</FileVersion>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn>1591</NoWarn>
|
||||
@@ -56,7 +56,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="3.0.0">
|
||||
<PackageReference Include="ConfigureAwaitChecker.Analyzer" Version="4.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.7" />
|
||||
@@ -73,8 +73,8 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.0-preview5.19227.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="3.0.0-preview5.19227.9" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
|
||||
<PackageReference Include="NLog" Version="4.6.4" />
|
||||
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.2" />
|
||||
<PackageReference Include="NLog" Version="4.6.5" />
|
||||
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.3" />
|
||||
<PackageReference Include="SteamKit2" Version="2.2.0-Beta.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="5.0.0-rc2" />
|
||||
|
||||
@@ -1906,7 +1906,7 @@ namespace ArchiSteamFarm {
|
||||
}
|
||||
|
||||
// Generate login key from the user nonce that we've received from Steam network
|
||||
byte[] loginKey = Encoding.ASCII.GetBytes(webAPIUserNonce);
|
||||
byte[] loginKey = Encoding.UTF8.GetBytes(webAPIUserNonce);
|
||||
|
||||
// AES encrypt our login key with our session key
|
||||
byte[] encryptedLoginKey = CryptoHelper.SymmetricEncrypt(loginKey, sessionKey);
|
||||
@@ -1975,6 +1975,12 @@ namespace ArchiSteamFarm {
|
||||
WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", "." + SteamCommunityHost));
|
||||
WebBrowser.CookieContainer.Add(new Cookie("steamLoginSecure", steamLoginSecure, "/", "." + SteamStoreHost));
|
||||
|
||||
// Report proper time when doing timezone-based calculations, see setTimezoneCookies() from https://steamcommunity-a.akamaihd.net/public/shared/javascript/shared_global.js
|
||||
string timeZoneOffset = DateTimeOffset.Now.Offset.TotalSeconds + WebUtility.UrlEncode(",") + "0";
|
||||
|
||||
WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", "." + SteamCommunityHost));
|
||||
WebBrowser.CookieContainer.Add(new Cookie("timezoneOffset", timeZoneOffset, "/", "." + SteamStoreHost));
|
||||
|
||||
Bot.ArchiLogger.LogGenericInfo(Strings.Success);
|
||||
|
||||
// Unlock Steam Parental if needed
|
||||
|
||||
@@ -1189,15 +1189,16 @@ namespace ArchiSteamFarm {
|
||||
EResult result = await ArchiHandler.SendMessage(steamID, messagePart).ConfigureAwait(false);
|
||||
|
||||
switch (result) {
|
||||
case EResult.OK:
|
||||
sent = true;
|
||||
|
||||
break;
|
||||
case EResult.Fail:
|
||||
case EResult.RateLimitExceeded:
|
||||
case EResult.Timeout:
|
||||
await Task.Delay(5000).ConfigureAwait(false);
|
||||
|
||||
continue;
|
||||
case EResult.OK:
|
||||
sent = true;
|
||||
|
||||
break;
|
||||
default:
|
||||
ArchiLogger.LogGenericError(string.Format(Strings.WarningUnknownValuePleaseReport, nameof(result), result));
|
||||
|
||||
@@ -1257,15 +1258,16 @@ namespace ArchiSteamFarm {
|
||||
EResult result = await ArchiHandler.SendMessage(chatGroupID, chatID, messagePart).ConfigureAwait(false);
|
||||
|
||||
switch (result) {
|
||||
case EResult.OK:
|
||||
sent = true;
|
||||
|
||||
break;
|
||||
case EResult.Fail:
|
||||
case EResult.RateLimitExceeded:
|
||||
case EResult.Timeout:
|
||||
await Task.Delay(5000).ConfigureAwait(false);
|
||||
|
||||
continue;
|
||||
case EResult.OK:
|
||||
sent = true;
|
||||
|
||||
break;
|
||||
default:
|
||||
ArchiLogger.LogGenericError(string.Format(Strings.WarningUnknownValuePleaseReport, nameof(result), result));
|
||||
|
||||
|
||||
@@ -100,13 +100,14 @@ namespace ArchiSteamFarm.IPC {
|
||||
Logging.InitHistoryLogger();
|
||||
|
||||
// Start the server
|
||||
IWebHost kestrelWebHost = builder.Build();
|
||||
IWebHost kestrelWebHost = null;
|
||||
|
||||
try {
|
||||
kestrelWebHost = builder.Build();
|
||||
await kestrelWebHost.StartAsync().ConfigureAwait(false);
|
||||
} catch (Exception e) {
|
||||
ASF.ArchiLogger.LogGenericException(e);
|
||||
kestrelWebHost.Dispose();
|
||||
kestrelWebHost?.Dispose();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -728,5 +728,7 @@ StackTrace:
|
||||
<value>Venter op til {0} for at sikre at vi er klar til at begynde at idle...</value>
|
||||
<comment>{0} will be replaced by translated TimeSpan string (such as "1 minute")</comment>
|
||||
</data>
|
||||
|
||||
<data name="UpdateCleanup" xml:space="preserve">
|
||||
<value>Rydder op i de gamle filer efter opdateringen...</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -692,15 +692,42 @@ Trazo de pila:
|
||||
<data name="PluginsWarning" xml:space="preserve">
|
||||
<value>Has cargado uno o más plugins personalizados en el ASF. Ya que no podemos ofrecer soporte a configuraciones alteradas, por favor, consulte a los desarrolladores apropiados de los plugins que has decidido usar en caso de que tengas problemas.</value>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="PleaseWait" xml:space="preserve">
|
||||
<value>Por favor espera...</value>
|
||||
</data>
|
||||
<data name="EnterCommand" xml:space="preserve">
|
||||
<value>Ingrese el comando: </value>
|
||||
</data>
|
||||
<data name="Executing" xml:space="preserve">
|
||||
<value>Ejecutando...</value>
|
||||
</data>
|
||||
<data name="InteractiveConsoleEnabled" xml:space="preserve">
|
||||
<value>La consola interactiva está activa, escriba 'c' para ingresar al modo de comando.</value>
|
||||
</data>
|
||||
<data name="InteractiveConsoleNotAvailable" xml:space="preserve">
|
||||
<value>La consola interactiva no está disponible debido a que faltan {0} propiedades de configuración.</value>
|
||||
<comment>{0} will be replaced by the name of the missing config property (string)</comment>
|
||||
</data>
|
||||
<data name="Response" xml:space="preserve">
|
||||
<value>Respuesta: {0}</value>
|
||||
<comment>{0} will be replaced by the generated response (string)</comment>
|
||||
</data>
|
||||
<data name="BotGamesToRedeemInBackgroundCount" xml:space="preserve">
|
||||
<value>El bot tiene {0} juegos restantes en su cola de fondo.</value>
|
||||
<comment>{0} will be replaced by remaining number of games in BGR's queue</comment>
|
||||
</data>
|
||||
<data name="ErrorSingleInstanceRequired" xml:space="preserve">
|
||||
<value>El proceso ASF ya está ejecutándose para este directorio de trabajo, ¡abortando!</value>
|
||||
</data>
|
||||
<data name="BotHandledConfirmations" xml:space="preserve">
|
||||
<value>¡Se han manejado correctamente {0} confirmaciones!</value>
|
||||
<comment>{0} will be replaced by number of confirmations</comment>
|
||||
</data>
|
||||
<data name="BotExtraIdlingCooldown" xml:space="preserve">
|
||||
<value>Esperando hasta {0} para asegurar que estamos libres para empezar a recolectar...</value>
|
||||
<comment>{0} will be replaced by translated TimeSpan string (such as "1 minute")</comment>
|
||||
</data>
|
||||
<data name="UpdateCleanup" xml:space="preserve">
|
||||
<value>Limpiando archivos antiguos después de actualizar...</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -624,7 +624,7 @@ StackTrace :
|
||||
<comment>{0} will be replaced by queue number</comment>
|
||||
</data>
|
||||
<data name="DoneClearingDiscoveryQueue" xml:space="preserve">
|
||||
<value>Fini de consulter la liste de découvertes #{0}.</value>
|
||||
<value>Fin de l’exploration de la liste de découvertes #{0}.</value>
|
||||
<comment>{0} will be replaced by queue number</comment>
|
||||
</data>
|
||||
<data name="BotOwnsOverviewPerGame" xml:space="preserve">
|
||||
@@ -665,7 +665,7 @@ StackTrace :
|
||||
<comment>{0} will be replaced by round number</comment>
|
||||
</data>
|
||||
<data name="DoneActivelyMatchingItems" xml:space="preserve">
|
||||
<value>Fini de match des Items, round #{0}.</value>
|
||||
<value>Fin de l'appariement des Items Steam, round #{0}.</value>
|
||||
<comment>{0} will be replaced by round number</comment>
|
||||
</data>
|
||||
<data name="ErrorAborted" xml:space="preserve">
|
||||
@@ -705,7 +705,10 @@ StackTrace :
|
||||
<data name="InteractiveConsoleEnabled" xml:space="preserve">
|
||||
<value>La console interactive est maintenant active, tapez 'c' pour entrer en mode commande.</value>
|
||||
</data>
|
||||
|
||||
<data name="InteractiveConsoleNotAvailable" xml:space="preserve">
|
||||
<value>La console interactive n'est pas disponible en raison de la propriété de configuration {0} manquante.</value>
|
||||
<comment>{0} will be replaced by the name of the missing config property (string)</comment>
|
||||
</data>
|
||||
<data name="Response" xml:space="preserve">
|
||||
<value>Réponse : {0}</value>
|
||||
<comment>{0} will be replaced by the generated response (string)</comment>
|
||||
@@ -714,8 +717,18 @@ StackTrace :
|
||||
<value>Le bot a {0} jeux restants dans sa file d'attente.</value>
|
||||
<comment>{0} will be replaced by remaining number of games in BGR's queue</comment>
|
||||
</data>
|
||||
|
||||
|
||||
|
||||
|
||||
<data name="ErrorSingleInstanceRequired" xml:space="preserve">
|
||||
<value>Le processus ASF est déjà en cours d'exécution pour ce répertoire de travail, interruption !</value>
|
||||
</data>
|
||||
<data name="BotHandledConfirmations" xml:space="preserve">
|
||||
<value>{0} confirmations gérées avec succès !</value>
|
||||
<comment>{0} will be replaced by number of confirmations</comment>
|
||||
</data>
|
||||
<data name="BotExtraIdlingCooldown" xml:space="preserve">
|
||||
<value>En attente de {0} pour s'assurer que nous pouvons commencer à récolter les cartes...</value>
|
||||
<comment>{0} will be replaced by translated TimeSpan string (such as "1 minute")</comment>
|
||||
</data>
|
||||
<data name="UpdateCleanup" xml:space="preserve">
|
||||
<value>Nettoyage des anciens fichiers après mise à jour...</value>
|
||||
</data>
|
||||
</root>
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace ArchiSteamFarm {
|
||||
|
||||
internal static void CoreInit() {
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) {
|
||||
Console.OutputEncoding = Encoding.Unicode;
|
||||
Console.OutputEncoding = Encoding.UTF8;
|
||||
|
||||
DisableQuickEditMode();
|
||||
}
|
||||
|
||||
17
SECURITY.md
Normal file
17
SECURITY.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Security policy
|
||||
|
||||
---
|
||||
|
||||
## Supported versions
|
||||
|
||||
We support **[the latest stable](https://github.com/JustArchiNET/ArchiSteamFarm/releases/latest)** release only. In addition to that, limited support applies to **[the latest pre-release](https://github.com/JustArchiNET/ArchiSteamFarm/releases)** version (if available). Check out our **[release cycle](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Release-cycle)** for more info.
|
||||
|
||||
---
|
||||
|
||||
## Reporting a vulnerability
|
||||
|
||||
We're doing our best to protect our community from all harm, therefore we take security vulnerabilities very seriously.
|
||||
|
||||
If you believe that you've found one, we'd appreciate if you let us know about it. You can do so by contacting us privately at ASF@JustArchi.net e-mail, where we'll do our best to evaluate your issue ASAP and keep you updated with the development status. If your vulnerability isn't crucial and doesn't result in a direct escalation, therefore can be known publicly while the appropriate fix is being implemented, you can also open a standard **[issue](https://github.com/JustArchiNET/ArchiSteamFarm/issues/new/choose)** instead.
|
||||
|
||||
Depending on the severity of the issue, we might take further actions in order to limit potential damage, for example by speeding up the release of the next stable ASF version. This is evaluated on a case-by-case basis.
|
||||
7
SUPPORT.md
Normal file
7
SUPPORT.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Support
|
||||
|
||||
Our **[wiki](https://github.com/JustArchiNET/ArchiSteamFarm/wiki)** is the official online documentation which covers at least a significant majority (if not all) of ASF subjects you could be interested in. We recommend to start with **[setting up](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Setting-up)**, **[configuration](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Configuration)** and our **[FAQ](https://github.com/JustArchiNET/ArchiSteamFarm/wiki/FAQ)** which should help you with setting up ASF, configuring it, as well as answering the most common questions that you might have. For more advanced matters, as well as further elaboration, we have other pages available on our **[wiki](https://github.com/JustArchiNET/ArchiSteamFarm/wiki)** that you can visit.
|
||||
|
||||
We also have two support channels dedicated to our ASF users, in case you couldn't manage to solve the issue yourself. We answer all support and technical matters on our **[Steam group](https://steamcommunity.com/groups/archiasf/discussions/1)**, which should be used for majority of the issues and questions, especially advanced ones. In addition to that, we have a **[Discord server](https://discord.gg/hSQgt8j)**, also known as "ASF chat", which is a good choice for more casual, simple questions. You're free to use the support channel that matches your preferences, although keep in mind that you have a higher chance solving your issue on the Steam group, where we're doing our best to answer all questions that couldn't be answered by our community itself (as opposed to ASF chat where we're not active 24/7 and therefore we're not able to help everybody).
|
||||
|
||||
GitHub **[issues](https://github.com/JustArchiNET/ArchiSteamFarm/issues)** page is being used for ASF development, especially in regards to bugs and enhancements. We have a very strict policy regarding that, as GitHub is **not** a general support channel, it's dedicated exclusively to ASF development and we're not answering common ASF matters there, as we have appropriate support channels (mentioned above) for that. If you're not sure whether your matter relates to ASF development or not, we recommend to use a support channel instead. Invalid GitHub issues will be closed immediately and won't be answered.
|
||||
Submodule tools/ArchiCrowdin updated: 6695f74e12...8aeda69935
2
wiki
2
wiki
Submodule wiki updated: b65ec70ac9...6e1c62952d
Reference in New Issue
Block a user