提交 2eea9f64 编写于 作者: A Aigio Liu

Initial structure

上级 d157542f
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
# *.nupkg
# NuGet Symbol Packages
# *.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# WTTS
/pkg
/src/BD.WTTS.BackManage.UI/package-lock.json
/src/BD.WTTS.BackManage.UI/src/.umi
/src/BD.WTTS.BackManage.UI/src/.umi-production
[submodule "ref/DirectoryPackages"]
path = ref/DirectoryPackages
url = https://github.com/BeyondDimension/DirectoryPackages.git
<configuration>
<packageSources>
<add key="LocalNuGetPackages_common" value="./ref/pkg/common" />
<add key="LocalNuGetPackages_steamclient" value="./ref/pkg/steamclient" />
<add key="LocalNuGetPackages_wtts" value="./ref/pkg/wtts" />
</packageSources>
</configuration>
\ No newline at end of file
<h1 align="center">Watt Toolkit 🧰 (Former name Steam++)</h1>
<div align="center">
English | [简体中文](./README.md)
"Watt Toolkit" is an open source cross-platform multi-purpose game toolkit, most of its features require you to download and install Steam to use it.
![Release Download](https://img.shields.io/github/downloads/BeyondDimension/SteamTools/total?style=flat-square)
[![Release Version](https://img.shields.io/github/v/release/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/releases/latest)
[![GitHub license](https://img.shields.io/github/license/BeyondDimension/SteamTools?style=flat-square)](LICENSE)
[![GitHub Star](https://img.shields.io/github/stars/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/stargazers)
[![GitHub Fork](https://img.shields.io/github/forks/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/network/members)
![GitHub Repo size](https://img.shields.io/github/repo-size/BeyondDimension/SteamTools?style=flat-square&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
[![NET 7.0](https://img.shields.io/badge/dotnet-7.0-purple.svg?style=flat-square&color=512bd4)](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7)
[![C# 11](https://img.shields.io/badge/c%23-11-brightgreen.svg?style=flat-square&color=6da86a)](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11)
[![Kofi](https://img.shields.io/badge/Kofi-RMBGAME-orange.svg?style=flat-square&logo=kofi)](https://ko-fi.com/rmbgame)
[![Patreon](https://img.shields.io/badge/Patreon-RMBGAME-red.svg?style=flat-square&logo=patreon)](https://www.patreon.com/rmbgame)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FSteamTools-Team%2FSteamTools%2Fbadge%3Fref%3Ddevelop&style=flat-square)](https://actions-badge.atrox.dev/BeyondDimension/SteamTools/goto?ref=develop)
[![GitHub Star](https://img.shields.io/github/stars/BeyondDimension/SteamTools.svg?logo=github)](https://github.com/BeyondDimension/SteamTools)
[![Gitee Star](https://gitee.com/rmbgame/SteamTools/badge/star.svg)](https://gitee.com/rmbgame/SteamTools)
[![Bilibili](https://img.shields.io/badge/bilibili-软妹币玩家-blue.svg?style=flat-square&logo=bilibili)](https://space.bilibili.com/797215)
</div>
## 🚀 Download Channels
- [![Microsoft Store](./res/brands/msstore.en.png)](https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG)
- [Official WebSite](https://steampp.net)
- [GitHub Releases](https://github.com/BeyondDimension/SteamTools/releases)
- [Gitee Releases](https://gitee.com/rmbgame/SteamTools/releases)
- [Arch User Repository](https://aur.archlinux.org/packages/watt-toolkit-bin)(Current release build)
- [Arch User Repository dev](https://aur.archlinux.org/packages/watt-toolkit-git)(Pull the latest source code build, maybe the build will fail)
## ⬇️ [Download Guide](./doc/download-guide.en.md)
See details [./doc/download-guide.en.md](./doc/download-guide.en.md)
## ✨ Functions
1. Account Switch <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
- Switch between Steam accounts that are already logged in on the current PC with one click, and manage features such as sorting your home shared library.
2. Inventory Management <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
- Lets you manage your Steam game inventory directly, not only by downloading older Steam games, but also by managing Steam game achievements directly, supporting unlocked achievements and unlocked achievements.
3. Local Authentication <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
- Let your cell phone token unified save in the computer, currently only support Steam token, later will develop support more token types with cloud synchronization token.
4. ArchiSteamFarm <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
- Integration with [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm) provides functions such as hanging and dropping Steam Collectible Cards within the app.
5. Game Tools <img src="./res/brands/windows.svg" width="16" height="16" />
- Force game windows to use borderless windowing
## 🖥 Supported Operating Systems
- Windows 11
- Windows 10 version 1809(OS internal version 17763) or higher is required
- macOS 10.15 or higher is required
- Ubuntu 18.04 or higher is required
- Debian 10 or higher is required
- CentOS 7 or higher is required
- Deepin(UOS) 20 or higher is required
- ~~iOS 11 or higher is required~~(In development…)
- Android 5.0(API 21) or higher is required
## 🧩 Screenshots
<img src="./res/screenshots/screenshot-windows-accelerator.webp" width="800" />
<br/>
<br/>
<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />
## 🌏 Roadmap
Read what we [milestones](https://github.com/BeyondDimension/SteamTools/milestones), and feel free to ask questions.
## ⌨️ Development Environment
[Visual Studio 2022](https://visualstudio.microsoft.com/vs)
[Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/vs/mac)
[JetBrains Rider](https://www.jetbrains.com/rider)
[Visual Studio Code](https://code.visualstudio.com)
[OpenJDK 17](https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-17)
[Android Studio Electric Eel Or Higher](https://developer.android.com/studio)
[Xcode 14 Or Higher](https://developer.apple.com/xcode)
## 📄 Thanks to the following Open Source Projects
* [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
* [System.Reactive](https://github.com/dotnet/reactive)
* [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium-Web-Proxy)
* [YARP](https://github.com/microsoft/reverse-proxy)
* [FastGithub](https://github.com/dotnetcore/FastGithub)
* [Portable.BouncyCastle](https://github.com/novotnyllc/bc-csharp)
* [SteamAchievementManager](https://github.com/gibbed/SteamAchievementManager)
* [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm)
* [Steam4NET](https://github.com/SteamRE/Steam4NET)
* [WinAuth](https://github.com/winauth/winauth)
* [SteamDesktopAuthenticator](https://github.com/Jessecar96/SteamDesktopAuthenticator)
* [Gameloop.Vdf](https://github.com/shravan2x/Gameloop.Vdf)
* [DnsClient.NET](https://github.com/MichaCo/DnsClient.NET)
* [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp)
* [MemoryPack](https://github.com/Cysharp/MemoryPack)
* [CSharpVitamins.ShortGuid](https://github.com/AigioL/CSharpVitamins.ShortGuid)
* [Nito.Comparers](https://github.com/StephenCleary/Comparers)
* [Nito.Disposables](https://github.com/StephenCleary/Disposables)
* [Crc32.NET](https://github.com/force-net/Crc32.NET)
* [gfoidl.Base64](https://github.com/gfoidl/Base64)
* [sqlite-net-pcl](https://github.com/praeclarum/sqlite-net)
* [AutoMapper](https://github.com/AutoMapper/AutoMapper)
* [Polly](https://github.com/App-vNext/Polly)
* [TaskScheduler](https://github.com/dahall/taskscheduler)
* [SharpZipLib](https://github.com/icsharpcode/SharpZipLib)
* [SevenZipSharp](https://github.com/squid-box/SevenZipSharp)
* [ZstdNet](https://github.com/skbkontur/ZstdNet)
* [Depressurizer](https://github.com/Depressurizer/Depressurizer)
* [NLog](https://github.com/nlog/NLog)
* [NUnit](https://github.com/nunit/nunit)
* [ReactiveUI](https://github.com/reactiveui/reactiveui)
* [MessageBox.Avalonia](https://github.com/AvaloniaUtils/MessageBox.Avalonia)
* [AvaloniaUI](https://github.com/AvaloniaUI/Avalonia)
* [AvaloniaGif](https://github.com/jmacato/AvaloniaGif)
* [Avalonia XAML Behaviors](https://github.com/wieslawsoltes/AvaloniaBehaviors)
* [FluentAvalonia](https://github.com/amwx/FluentAvalonia)
* [APNG.NET](https://github.com/jz5/APNG.NET)
* [Moq](https://github.com/moq/moq4)
* [NPOI](https://github.com/nissl-lab/npoi)
* [Fleck](https://github.com/statianzo/Fleck)
* [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
* [AspNet.Security.OpenId.Providers](https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers)
* [AspNet.Security.OAuth.Providers](https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers)
* [ZXing.Net](https://github.com/micjahn/ZXing.Net)
* [QRCoder](https://github.com/codebude/QRCoder)
* [QR Code Generator for .NET](https://github.com/manuelbl/QrCodeGenerator)
* [TinyPinyin](https://github.com/promeG/TinyPinyin)
* [TinyPinyin.Net](https://github.com/hueifeng/TinyPinyin.Net)
* [Packaging utilities for .NET Core](https://github.com/qmfrederik/dotnet-packaging)
* [React](https://github.com/facebook/react)
* [Ant Design](https://github.com/ant-design/ant-design)
* [Ant Design Blazor](https://github.com/ant-design-blazor/ant-design-blazor)
* [Toast messages for Xamarin.iOS](https://github.com/andrius-k/Toast)
* [ImageCirclePlugin](https://github.com/jamesmontemagno/ImageCirclePlugin)
* [Visual Studio App Center SDK for .NET](https://github.com/microsoft/appcenter-sdk-dotnet)
* [AppCenter-XMac](https://github.com/nor0x/AppCenter-XMac)
* [MSBuild.Sdk.Extras](https://github.com/novotnyllc/MSBuildSdkExtras)
* [Xamarin.Essentials](https://github.com/xamarin/essentials)
* [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms)
* [Open Source Components for Xamarin](https://github.com/xamarin/XamarinComponents)
* [Google Play Services / Firebase / ML Kit for Xamarin.Android](https://github.com/xamarin/GooglePlayServicesComponents)
* [Picasso](https://github.com/square/picasso)
* [OkHttp](https://github.com/square/okhttp)
* [Material Components for Android](https://github.com/material-components/material-components-android)
* [AndroidX for Xamarin.Android](https://github.com/xamarin/AndroidX)
* [Android Jetpack](https://github.com/androidx/androidx)
* [ConstraintLayout](https://github.com/androidx/constraintlayout)
* [Entity Framework Core](https://github.com/dotnet/efcore)
* [ASP.NET Core](https://github.com/dotnet/aspnetcore)
* [Windows Forms](https://github.com/dotnet/winforms)
* [Windows Presentation Foundation (WPF)](https://github.com/dotnet/wpf)
* [C#/WinRT](https://github.com/microsoft/CsWinRT)
* [command-line-api](https://github.com/dotnet/command-line-api)
* [.NET Runtime](https://github.com/dotnet/runtime)
* [Fluent UI System Icons](https://github.com/microsoft/fluentui-system-icons)
* [Material design icons](https://github.com/google/material-design-icons)
<h1 align="center">Watt Toolkit 🧰 (原名 Steam++)</h1>
<div align="center">
[English](./README.en.md) | 简体中文
「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱,此工具的大部分功能都是需要您下载安装 Steam 才能使用。
![Release Download](https://img.shields.io/github/downloads/BeyondDimension/SteamTools/total?style=flat-square)
[![Release Version](https://img.shields.io/github/v/release/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/releases/latest)
[![GitHub license](https://img.shields.io/github/license/BeyondDimension/SteamTools?style=flat-square)](LICENSE)
[![GitHub Star](https://img.shields.io/github/stars/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/stargazers)
[![GitHub Fork](https://img.shields.io/github/forks/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/network/members)
![GitHub Repo size](https://img.shields.io/github/repo-size/BeyondDimension/SteamTools?style=flat-square&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/BeyondDimension/SteamTools?style=flat-square)](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
[![NET 7.0](https://img.shields.io/badge/dotnet-7.0-purple.svg?style=flat-square&color=512bd4)](https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-7)
[![C# 11](https://img.shields.io/badge/c%23-11-brightgreen.svg?style=flat-square&color=6da86a)](https://learn.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-11)
[![爱发电](https://img.shields.io/badge/爱发电-软妹币玩家-blue.svg?style=flat-square&color=ea4aaa&logo=github-sponsors)](https://afdian.net/@rmbgame)
[![Kofi](https://img.shields.io/badge/Kofi-RMBGAME-orange.svg?style=flat-square&logo=kofi)](https://ko-fi.com/rmbgame)
[![Patreon](https://img.shields.io/badge/Patreon-RMBGAME-red.svg?style=flat-square&logo=patreon)](https://www.patreon.com/rmbgame)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FSteamTools-Team%2FSteamTools%2Fbadge%3Fref%3Ddevelop&style=flat-square)](https://actions-badge.atrox.dev/BeyondDimension/SteamTools/goto?ref=develop)
[![GitHub Star](https://img.shields.io/github/stars/BeyondDimension/SteamTools.svg?logo=github)](https://github.com/BeyondDimension/SteamTools)
[![Gitee Star](https://gitee.com/rmbgame/SteamTools/badge/star.svg)](https://gitee.com/rmbgame/SteamTools)
[![Bilibili](https://img.shields.io/badge/bilibili-软妹币玩家-blue.svg?style=flat-square&logo=bilibili)](https://space.bilibili.com/797215)
[![QQ群](https://img.shields.io/badge/QQ群-960746023-blue.svg?style=flat-square&color=12b7f5&logo=qq)](https://jq.qq.com/?_wv=1027&k=3JKPt4xC)
</div>
## 🚀 下载渠道
- [![Microsoft 应用商店](./res/brands/msstore.en.png)](https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG?hl=zh-cn&gl=cn)
- [软件官网](https://steampp.net)
- [GitHub 发行版](https://github.com/BeyondDimension/SteamTools/releases)
- [码云 发行版](https://gitee.com/rmbgame/SteamTools/releases)
- [Arch 用户仓库](https://aur.archlinux.org/packages/watt-toolkit-bin)(当前 Release 构建)
- [Arch 用户仓库 dev](https://aur.archlinux.org/packages/watt-toolkit-git)(拉取最新源码构建,也许会构建失败)
## ⬇️ [下载指南](./doc/download-guide.md)
详见 [./doc/download-guide.md](./doc/download-guide.md)
## ✨ 功能
1. 网络加速 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
- ~~使用 [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium-Web-Proxy) 开源项目进行本地反代来支持更快的访问游戏网站。~~
- 使用 [YARP.ReverseProxy](https://github.com/microsoft/reverse-proxy) 开源项目进行本地反代来支持更快的访问游戏网站。
2. 脚本配置 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
- 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。
3. 账号切换 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
- 一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序及禁用等功能。
4. 库存管理 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" />
- 让您直接管理 Steam 游戏库存,可以编辑游戏名称和[自定义封面](https://www.steamgriddb.com),也能解锁以及反解锁 Steam 游戏成就。
- 监控 Steam 游戏下载进度实现 Steam 游戏下载完成定时关机功能。
- 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和 Steam 卡片
- 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云
5. 本地令牌 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
- 让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。
6. 自动挂卡 <img src="./res/brands/windows.svg" width="16" height="16" /> <img src="./res/brands/linux.svg" width="16" height="16" /> <img src="./res/brands/apple.svg" width="16" height="16" /> <img src="./res/brands/android.svg" width="16" height="16" />
- 集成 [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。
7. 游戏工具 <img src="./res/brands/windows.svg" width="16" height="16" />
- 强制游戏窗口使用无边框窗口化、更多功能待开发。
## 🖥 支持的操作系统
- Windows 11
- Windows 10 版本 1809(OS 内部版本 17763)或更高版本
- macOS 10.15 或更高版本
- Ubuntu 18.04 或更高版本
- Debian 10 或更高版本
- CentOS 7 或更高版本
- Deepin(UOS) 20 或更高版本
- ~~iOS 11 或更高版本~~(开发中…)
- Android 5.0(API 21) 或更高版本
## 🧩 截图
<img src="./res/screenshots/screenshot-windows-accelerator.webp" width="800" />
<br/>
<br/>
<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />
## 🌏 路线图
查看这个 [milestones](https://github.com/BeyondDimension/SteamTools/milestones) 来了解我们下一步的开发计划,并随时提出问题。
## ⌨️ 开发环境
[Visual Studio 2022](https://visualstudio.microsoft.com/zh-hans/vs)[Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac)
- 系统要求
- [Windows 11 版本 21H2 或更高版本:家庭版、专业版、专业教育版、专业工作站版、企业版和教育版](https://learn.microsoft.com/zh-cn/visualstudio/releases/2022/system-requirements)
- [macOS Big Sur 11.0 或更高版本](https://learn.microsoft.com/zh-cn/visualstudio/releases/2022/mac-system-requirements)
- 工作负荷
- Web 和云
- ASP.NET 和 Web 开发
- 桌面应用和移动应用
- 使用 .NET 的移动开发 / .NET Multi-platform App UI 开发
- .NET 桌面开发
- 通用 Windows 平台开发
- 单个组件
- GitHub Extension for Visual Studio(可选)
- [Visual Studio Marketplace](https://marketplace.visualstudio.com)
- [Avalonia for Visual Studio(可选)](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio)
- [NUnit VS Templates(可选)](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTemplatesforVisualStudio)
[JetBrains Rider](https://www.jetbrains.com/rider)
[Visual Studio Code](https://code.visualstudio.com)
[OpenJDK 17](https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-17)
[Android Studio Electric Eel 或更高版本](https://developer.android.google.cn/studio)
[Xcode 14 或更高版本](https://developer.apple.com/xcode)
## 🏗️ [项目结构](./src/README.md)
详见 [./src/README.md](./src/README.md)
<!--👇图标如果发生更改,还需更改 Tools.OpenSourceLibraryList(Program.OpenSourceLibraryListEmoji) -->
## 📄 感谢以下开源项目
* [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
* [System.Reactive](https://github.com/dotnet/reactive)
* [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium-Web-Proxy)
* [YARP](https://github.com/microsoft/reverse-proxy)
* [FastGithub](https://github.com/dotnetcore/FastGithub)
* [Portable.BouncyCastle](https://github.com/novotnyllc/bc-csharp)
* [SteamAchievementManager](https://github.com/gibbed/SteamAchievementManager)
* [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm)
* [Steam4NET](https://github.com/SteamRE/Steam4NET)
* [WinAuth](https://github.com/winauth/winauth)
* [SteamDesktopAuthenticator](https://github.com/Jessecar96/SteamDesktopAuthenticator)
* [Gameloop.Vdf](https://github.com/shravan2x/Gameloop.Vdf)
* [DnsClient.NET](https://github.com/MichaCo/DnsClient.NET)
* [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp)
* [MemoryPack](https://github.com/Cysharp/MemoryPack)
* [CSharpVitamins.ShortGuid](https://github.com/AigioL/CSharpVitamins.ShortGuid)
* [Nito.Comparers](https://github.com/StephenCleary/Comparers)
* [Nito.Disposables](https://github.com/StephenCleary/Disposables)
* [Crc32.NET](https://github.com/force-net/Crc32.NET)
* [gfoidl.Base64](https://github.com/gfoidl/Base64)
* [sqlite-net-pcl](https://github.com/praeclarum/sqlite-net)
* [AutoMapper](https://github.com/AutoMapper/AutoMapper)
* [Polly](https://github.com/App-vNext/Polly)
* [TaskScheduler](https://github.com/dahall/taskscheduler)
* [SharpZipLib](https://github.com/icsharpcode/SharpZipLib)
* [SevenZipSharp](https://github.com/squid-box/SevenZipSharp)
* [ZstdNet](https://github.com/skbkontur/ZstdNet)
* [Depressurizer](https://github.com/Depressurizer/Depressurizer)
* [NLog](https://github.com/nlog/NLog)
* [NUnit](https://github.com/nunit/nunit)
* [ReactiveUI](https://github.com/reactiveui/reactiveui)
* [MessageBox.Avalonia](https://github.com/AvaloniaUtils/MessageBox.Avalonia)
* [AvaloniaUI](https://github.com/AvaloniaUI/Avalonia)
* [AvaloniaGif](https://github.com/jmacato/AvaloniaGif)
* [Avalonia XAML Behaviors](https://github.com/wieslawsoltes/AvaloniaBehaviors)
* [FluentAvalonia](https://github.com/amwx/FluentAvalonia)
* [APNG.NET](https://github.com/jz5/APNG.NET)
* [Moq](https://github.com/moq/moq4)
* [NPOI](https://github.com/nissl-lab/npoi)
* [Fleck](https://github.com/statianzo/Fleck)
* [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
* [AspNet.Security.OpenId.Providers](https://github.com/aspnet-contrib/AspNet.Security.OpenId.Providers)
* [AspNet.Security.OAuth.Providers](https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers)
* [ZXing.Net](https://github.com/micjahn/ZXing.Net)
* [QRCoder](https://github.com/codebude/QRCoder)
* [QR Code Generator for .NET](https://github.com/manuelbl/QrCodeGenerator)
* [TinyPinyin](https://github.com/promeG/TinyPinyin)
* [TinyPinyin.Net](https://github.com/hueifeng/TinyPinyin.Net)
* [Packaging utilities for .NET Core](https://github.com/qmfrederik/dotnet-packaging)
* [React](https://github.com/facebook/react)
* [Ant Design](https://github.com/ant-design/ant-design)
* [Ant Design Blazor](https://github.com/ant-design-blazor/ant-design-blazor)
* [Toast messages for Xamarin.iOS](https://github.com/andrius-k/Toast)
* [ImageCirclePlugin](https://github.com/jamesmontemagno/ImageCirclePlugin)
* [Visual Studio App Center SDK for .NET](https://github.com/microsoft/appcenter-sdk-dotnet)
* [AppCenter-XMac](https://github.com/nor0x/AppCenter-XMac)
* [MSBuild.Sdk.Extras](https://github.com/novotnyllc/MSBuildSdkExtras)
* [Xamarin.Essentials](https://github.com/xamarin/essentials)
* [Xamarin.Forms](https://github.com/xamarin/Xamarin.Forms)
* [Open Source Components for Xamarin](https://github.com/xamarin/XamarinComponents)
* [Google Play Services / Firebase / ML Kit for Xamarin.Android](https://github.com/xamarin/GooglePlayServicesComponents)
* [Picasso](https://github.com/square/picasso)
* [OkHttp](https://github.com/square/okhttp)
* [Material Components for Android](https://github.com/material-components/material-components-android)
* [AndroidX for Xamarin.Android](https://github.com/xamarin/AndroidX)
* [Android Jetpack](https://github.com/androidx/androidx)
* [ConstraintLayout](https://github.com/androidx/constraintlayout)
* [Entity Framework Core](https://github.com/dotnet/efcore)
* [ASP.NET Core](https://github.com/dotnet/aspnetcore)
* [Windows Forms](https://github.com/dotnet/winforms)
* [Windows Presentation Foundation (WPF)](https://github.com/dotnet/wpf)
* [C#/WinRT](https://github.com/microsoft/CsWinRT)
* [command-line-api](https://github.com/dotnet/command-line-api)
* [.NET Runtime](https://github.com/dotnet/runtime)
* [Fluent UI System Icons](https://github.com/microsoft/fluentui-system-icons)
* [Material design icons](https://github.com/google/material-design-icons)

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33213.308
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client", "src\BD.WTTS.Client\BD.WTTS.Client.csproj", "{266A772C-98F7-43B8-AA58-638986691EB5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Root", "0.Root", "{7C042563-2DD2-4BB3-A43B-0E34FC6D07E0}"
ProjectSection(SolutionItems) = preProject
src\.editorconfig = src\.editorconfig
.gitignore = .gitignore
src\Directory.Build.props = src\Directory.Build.props
ref\DirectoryPackages\Directory.Packages.props = ref\DirectoryPackages\Directory.Packages.props
README.en.md = README.en.md
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ImplicitUsings", "ImplicitUsings", "{FCD20B30-EF95-401D-BD0D-3067604B9C1B}"
ProjectSection(SolutionItems) = preProject
src\ImplicitUsings.AspNetCore.cs = src\ImplicitUsings.AspNetCore.cs
src\ImplicitUsings.BCL.cs = src\ImplicitUsings.BCL.cs
src\ImplicitUsings.Common.cs = src\ImplicitUsings.Common.cs
src\ImplicitUsings.Controllers.cs = src\ImplicitUsings.Controllers.cs
src\ImplicitUsings.Data.cs = src\ImplicitUsings.Data.cs
src\ImplicitUsings.EntityFrameworkCore.cs = src\ImplicitUsings.EntityFrameworkCore.cs
src\ImplicitUsings.Identity.cs = src\ImplicitUsings.Identity.cs
src\ImplicitUsings.Jobs.cs = src\ImplicitUsings.Jobs.cs
src\ImplicitUsings.JsonProperty.cs = src\ImplicitUsings.JsonProperty.cs
src\ImplicitUsings.JWT.cs = src\ImplicitUsings.JWT.cs
src\ImplicitUsings.MessagePack.cs = src\ImplicitUsings.MessagePack.cs
src\ImplicitUsings.MSEX.cs = src\ImplicitUsings.MSEX.cs
src\ImplicitUsings.Nito.cs = src\ImplicitUsings.Nito.cs
src\ImplicitUsings.NLog.cs = src\ImplicitUsings.NLog.cs
src\ImplicitUsings.Quartz.cs = src\ImplicitUsings.Quartz.cs
src\ImplicitUsings.ReactiveUI.cs = src\ImplicitUsings.ReactiveUI.cs
src\ImplicitUsings.Services.cs = src\ImplicitUsings.Services.cs
src\ImplicitUsings.UnitTest.cs = src\ImplicitUsings.UnitTest.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TFM", "TFM", "{6311B1A1-E190-4308-9DD3-23261FB07F5B}"
ProjectSection(SolutionItems) = preProject
src\TFM_NET7.props = src\TFM_NET7.props
src\TFM_NET7_WINDOWS.props = src\TFM_NET7_WINDOWS.props
src\TFM_NET7_WITH_WINDOWS.props = src\TFM_NET7_WITH_WINDOWS.props
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Document", "Document", "{1CCF158F-524F-48C6-9F00-6455CC1C9224}"
ProjectSection(SolutionItems) = preProject
doc\download-guide.en.md = doc\download-guide.en.md
doc\download-guide.md = doc\download-guide.md
doc\release-keylol.md = doc\release-keylol.md
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.Steam", "src\BD.WTTS.Client.Steam\BD.WTTS.Client.Steam.csproj", "{76AAA4A0-4B2A-48B1-B327-A55398313BB9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.ArchiSteamFarm", "src\BD.WTTS.Client.ArchiSteamFarm\BD.WTTS.Client.ArchiSteamFarm.csproj", "{0C387553-F13F-4AD2-99F9-E8E48D0E0698}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.Accelerator", "src\BD.WTTS.Client.Accelerator\BD.WTTS.Client.Accelerator.csproj", "{3088D731-9D49-48FF-977F-2DB86277CBB9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.Authenticator", "src\BD.WTTS.Client.Authenticator\BD.WTTS.Client.Authenticator.csproj", "{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.AppCenter", "src\BD.WTTS.Client.AppCenter\BD.WTTS.Client.AppCenter.csproj", "{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.AppCenter.Avalonia", "src\BD.WTTS.Client.AppCenter.Avalonia\BD.WTTS.Client.AppCenter.Avalonia.csproj", "{BAD52145-2BCF-4FF2-902D-1D86D4B19768}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.Host.CommandLine", "src\BD.WTTS.Client.Host.CommandLine\BD.WTTS.Client.Host.CommandLine.csproj", "{15265223-272A-4267-8B0B-E634C4A2EFB9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.JumpList", "src\BD.WTTS.Client.JumpList\BD.WTTS.Client.JumpList.csproj", "{1541F7C1-452E-438D-B947-21516FD62B3D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1.Reference", "1.Reference", "{F65DB64B-2251-4052-BEE5-978388E0FA2F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3.Third Party SDK", "3.Third Party SDK", "{BB75EAB4-4481-4C69-9346-2598E73231FD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "5.Widget", "5.Widget", "{789E6886-FD6D-4E7B-8BAC-41E349792159}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.JumpList.Avalonia", "src\BD.WTTS.Client.JumpList.Avalonia\BD.WTTS.Client.JumpList.Avalonia.csproj", "{FBCF6009-FC65-4688-900C-217C71DD93DB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "4.Feature", "4.Feature", "{E43BDF5B-0976-40CD-8D42-47F208EE4FA6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2.Shared", "2.Shared", "{B1848690-B510-47BD-BC0E-CCCF2A3FAAEF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "6.ReverseProxy", "6.ReverseProxy", "{315A73D0-EFB3-4CCC-B0A5-C4E6DE1993F4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.ReverseProxy", "src\BD.WTTS.Client.ReverseProxy\BD.WTTS.Client.ReverseProxy.csproj", "{73FB8950-703D-4640-90C5-19C28841930D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.ReverseProxy.Titanium", "src\BD.WTTS.Client.ReverseProxy.Titanium\BD.WTTS.Client.ReverseProxy.Titanium.csproj", "{E596C94D-EE84-46E9-85E7-79945A2FB3C1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BD.WTTS.Client.ReverseProxy.Yarp", "src\BD.WTTS.Client.ReverseProxy.Yarp\BD.WTTS.Client.ReverseProxy.Yarp.csproj", "{36CF154A-B15E-4A18-8066-5AC54F5D0DF5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BD.WTTS.Client.Avalonia.App", "src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj", "{00745632-EC91-4F83-83CC-229EC10A2E15}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "7.Host", "7.Host", "{A2F3166D-7BCD-4D86-8C22-7B6039AC7599}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{266A772C-98F7-43B8-AA58-638986691EB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{266A772C-98F7-43B8-AA58-638986691EB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{266A772C-98F7-43B8-AA58-638986691EB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{266A772C-98F7-43B8-AA58-638986691EB5}.Release|Any CPU.Build.0 = Release|Any CPU
{76AAA4A0-4B2A-48B1-B327-A55398313BB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{76AAA4A0-4B2A-48B1-B327-A55398313BB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{76AAA4A0-4B2A-48B1-B327-A55398313BB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{76AAA4A0-4B2A-48B1-B327-A55398313BB9}.Release|Any CPU.Build.0 = Release|Any CPU
{0C387553-F13F-4AD2-99F9-E8E48D0E0698}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0C387553-F13F-4AD2-99F9-E8E48D0E0698}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0C387553-F13F-4AD2-99F9-E8E48D0E0698}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C387553-F13F-4AD2-99F9-E8E48D0E0698}.Release|Any CPU.Build.0 = Release|Any CPU
{3088D731-9D49-48FF-977F-2DB86277CBB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3088D731-9D49-48FF-977F-2DB86277CBB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3088D731-9D49-48FF-977F-2DB86277CBB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3088D731-9D49-48FF-977F-2DB86277CBB9}.Release|Any CPU.Build.0 = Release|Any CPU
{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0}.Release|Any CPU.Build.0 = Release|Any CPU
{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37}.Release|Any CPU.Build.0 = Release|Any CPU
{BAD52145-2BCF-4FF2-902D-1D86D4B19768}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BAD52145-2BCF-4FF2-902D-1D86D4B19768}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BAD52145-2BCF-4FF2-902D-1D86D4B19768}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BAD52145-2BCF-4FF2-902D-1D86D4B19768}.Release|Any CPU.Build.0 = Release|Any CPU
{15265223-272A-4267-8B0B-E634C4A2EFB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15265223-272A-4267-8B0B-E634C4A2EFB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15265223-272A-4267-8B0B-E634C4A2EFB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15265223-272A-4267-8B0B-E634C4A2EFB9}.Release|Any CPU.Build.0 = Release|Any CPU
{1541F7C1-452E-438D-B947-21516FD62B3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1541F7C1-452E-438D-B947-21516FD62B3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1541F7C1-452E-438D-B947-21516FD62B3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1541F7C1-452E-438D-B947-21516FD62B3D}.Release|Any CPU.Build.0 = Release|Any CPU
{FBCF6009-FC65-4688-900C-217C71DD93DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBCF6009-FC65-4688-900C-217C71DD93DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBCF6009-FC65-4688-900C-217C71DD93DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBCF6009-FC65-4688-900C-217C71DD93DB}.Release|Any CPU.Build.0 = Release|Any CPU
{73FB8950-703D-4640-90C5-19C28841930D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{73FB8950-703D-4640-90C5-19C28841930D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{73FB8950-703D-4640-90C5-19C28841930D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{73FB8950-703D-4640-90C5-19C28841930D}.Release|Any CPU.Build.0 = Release|Any CPU
{E596C94D-EE84-46E9-85E7-79945A2FB3C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E596C94D-EE84-46E9-85E7-79945A2FB3C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E596C94D-EE84-46E9-85E7-79945A2FB3C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E596C94D-EE84-46E9-85E7-79945A2FB3C1}.Release|Any CPU.Build.0 = Release|Any CPU
{36CF154A-B15E-4A18-8066-5AC54F5D0DF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{36CF154A-B15E-4A18-8066-5AC54F5D0DF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{36CF154A-B15E-4A18-8066-5AC54F5D0DF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{36CF154A-B15E-4A18-8066-5AC54F5D0DF5}.Release|Any CPU.Build.0 = Release|Any CPU
{00745632-EC91-4F83-83CC-229EC10A2E15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{00745632-EC91-4F83-83CC-229EC10A2E15}.Debug|Any CPU.Build.0 = Debug|Any CPU
{00745632-EC91-4F83-83CC-229EC10A2E15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{00745632-EC91-4F83-83CC-229EC10A2E15}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{266A772C-98F7-43B8-AA58-638986691EB5} = {B1848690-B510-47BD-BC0E-CCCF2A3FAAEF}
{FCD20B30-EF95-401D-BD0D-3067604B9C1B} = {7C042563-2DD2-4BB3-A43B-0E34FC6D07E0}
{6311B1A1-E190-4308-9DD3-23261FB07F5B} = {7C042563-2DD2-4BB3-A43B-0E34FC6D07E0}
{1CCF158F-524F-48C6-9F00-6455CC1C9224} = {7C042563-2DD2-4BB3-A43B-0E34FC6D07E0}
{76AAA4A0-4B2A-48B1-B327-A55398313BB9} = {B1848690-B510-47BD-BC0E-CCCF2A3FAAEF}
{0C387553-F13F-4AD2-99F9-E8E48D0E0698} = {E43BDF5B-0976-40CD-8D42-47F208EE4FA6}
{3088D731-9D49-48FF-977F-2DB86277CBB9} = {E43BDF5B-0976-40CD-8D42-47F208EE4FA6}
{7A1B872F-740B-4DD9-B342-1EFECA1C7AD0} = {E43BDF5B-0976-40CD-8D42-47F208EE4FA6}
{5EE88BAA-A62F-4027-9FD4-8AEF7F9E6F37} = {BB75EAB4-4481-4C69-9346-2598E73231FD}
{BAD52145-2BCF-4FF2-902D-1D86D4B19768} = {BB75EAB4-4481-4C69-9346-2598E73231FD}
{15265223-272A-4267-8B0B-E634C4A2EFB9} = {A2F3166D-7BCD-4D86-8C22-7B6039AC7599}
{1541F7C1-452E-438D-B947-21516FD62B3D} = {789E6886-FD6D-4E7B-8BAC-41E349792159}
{FBCF6009-FC65-4688-900C-217C71DD93DB} = {789E6886-FD6D-4E7B-8BAC-41E349792159}
{73FB8950-703D-4640-90C5-19C28841930D} = {315A73D0-EFB3-4CCC-B0A5-C4E6DE1993F4}
{E596C94D-EE84-46E9-85E7-79945A2FB3C1} = {315A73D0-EFB3-4CCC-B0A5-C4E6DE1993F4}
{36CF154A-B15E-4A18-8066-5AC54F5D0DF5} = {315A73D0-EFB3-4CCC-B0A5-C4E6DE1993F4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {082A84C3-694F-4EF3-82E7-C965111EF098}
EndGlobalSection
EndGlobal
<h1 align="center">⬇️ Download Guide</h1>
<div align="center">
English | [Simplified Chinese](./download-guide.md)
</div>
## Windows
- Store version
- Install in Microsoft Store
- User data will be stored in ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
- Portable version
- The compressed package can be decompressed to any folder and cannot be run in the compressed software
- User data will be stored in the program root directory ```\AppData```
- With a file extension of 7z, for example ```Steam++_win_x64_v3.0.0.7z```.
- Installation version
- The installation package currently only supports Simplified Chinese
- The installer will write software information in the registry
- User data will be stored in ```%LocalAppData%\Steam++```
- With a file extension of exe, for example ```Steam++_win_x64_v3.0.0.exe```.
- 64-bit applications (recommended)
- For 64-bit operating systems only, [Determine whether your computer is running a 32-bit ersionor 64-bit version of the Windows operating system](https://support.microsoft.com/n-us/topic/etermine-whether-your-computer-is-running-a-32-bit-version-or-64-bit-version-f-the-windows-perating-system-1b03ca69-ac5e-4b04-827b-c0c47145944b).
- The file name **contains** x64, such as ```Steam++_win_x64_v3.0.0.7z```.
- 32-bit application
- For 32-bit or 64-bit operating systems.
- The file name **contains** x86, such as ```Steam++_win_x86_v3.0.0.7z```.
- ~~ARM64 application~~(Adapting…)
- It is applicable to devices that use Arm64 CPU, such as **Microsoft Surface Pro X/Surface ro 95G** and other devices that use Qualcomm Snapdragon and MediaTek mobile processors.
- The file name **contains** arm64, such as ```Steam++_win_arm64_v3.0.0.7z```.
- Independent application ([SCD](https://learn.microsoft.com/en-us/dotnet/core/deploying/publish-elf-contained)) will include. NET runtime in the application. Users of this pplication do not eed to install. NET before running the application. (Recommended)
- The file name **does not contains** fde, such as ```Steam++_win_x64_v3.0.0.7z```.
- Framework-dependent application ([FDE](https://learn.microsoft.com/en-us/dotnet/core/eploying/publish-framework-dependent)), the application does not contain the. NET runtime nd library, but nly the application and third-party dependencies.
- The file name **contains** fde, such as ```Steam++_win_x64_fde_v3.0.0.7z```.
- Compared with independent applications, framework-dependent applications can reduce the disk space occupied by this application because of sharing the runtime, and the runtime can be repaired by Windows Update with security patches.
- The following runtime needs to be installed
- ASP.NET Runtime 7.x
- ASP.NET Core Runtime 7.x
- This application does not require IIS support. You can only install the relevant ntime instead of the Hosting Bundle.
## macOS
- ARM64 application
- Applicable to Mac using ARM64 (Apple Silicon) chip, such as **Apple M1/M2**.
- The file name **contains** arm64, such as ```Steam++_macos_arm64_v3.0.0.dmg```.
- 64-bit applications
- For Mac using Intel's x64 (x86-64) chip.
- The file name **contains** x64, such as ```Steam++_macos_x64_v3.0.0.dmg```.
- ~~General package~~(Adapting…)
- All versions of binaries are included in this package and are applicable to all supported evices, but the file size is large.
## Linux
- 64-bit applications
- Applicable to devices using Intel and AMD's x64 (x86-64) chips.
- The file name **contains** x64, such as ```Steam++_linux_x64_v3.0.0.tar.zst```.
- ARM64 application
- Applicable to devices using ARM64 chips, such as **Raspberry Pi Model 3+**.
- The file name **contains** x64, such as ```Steam++_linux_arm64_v3.0.0.tar.zst```.
## Android
- General package (recommended)
- All versions of binaries are included in this package and are applicable to all supported vices, but the file size is large.
- The file name **only contains** android, such as ```Steam++_android_v3.0.0.apk```.
- ~~arm64-v8a~~(Deprecated…)
- Applicable to the use of current mainstream mobile phones or tablet devices
- The file name **contains** arm64-v8a, such as ```Steam++_arm64-v8a_v3.0.0.apk```.
- ~~armeabi-v7a~~(Deprecated…)
- It is applicable to the use of old mobile phones or tablet devices, usually those roducedbefore the second half of **2014**.
- The file name **contains** armeabi_v7a, such as ```Steam++_armeabi_v7a_v3.0.0.apk```.
- ~~x86_64~~(Deprecated…)
- Applicable to devices using Intel and AMD's x64 (x86-64) chips, such as simulators on PC.
- The file name **contains** x64, such as ```Steam++_x64_v3.0.0.apk```.
## ~~iOS/iPadOS~~(In development…) <img src="../res/brands/apple.svg" width="16" height="16" />
- Download in App Store
<h1 align="center">⬇️ 下载指南</h1>
<div align="center">
[English](./download-guide.en.md) | 简体中文
</div>
## Windows
- 应用商店版
- 在 Microsoft 应用商店中安装
- 用户数据将存放于 ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
- 便携版
- 压缩包解压到任意文件夹即可,不可在压缩软件中运行
- 用户数据将存放于程序根目录下 ```\AppData```
- 文件扩展名为 7z 的,例如 ```Steam++_win_x64_v3.0.0.7z```
- 安装版
- 安装包当前仅支持简体中文
- 安装程序将会在注册表中写入软件信息
- 用户数据将存放于 ```%LocalAppData%\Steam++```
- 文件扩展名为 exe 的,例如 ```Steam++_win_x64_v3.0.0.exe```
- 64 位应用程序(推荐)
- 仅适用于 64 位操作系统,[确定您的计算机运行的是 32 位版本还是 64 位版本的 Windows 操作系统](https://pport.microsoft.com/zh-cn/topic/%E7%A1%AE%E5%AE%9A%E6%82%A8%E7%9A%84%E8%AE%1%E7%AE%97%6%9C%BAE8%BF%90%E8%A1%8C%E7%9A%84%E6%98%AF-32-%E4%BD%8D%E7%89%88%E6%9C%C%E8%BF%98%E6%98%F-64-%E4%BD%D%E7%89%88%E6%9C%AC%E7%9A%84-windows-%E6%93%8D%E4%BD%C%E7%B3%BB%E7%BB%F-1b03ca69-c5e-4b04-827b-c0c47145944b)
- 文件名中**包含** x64 的,例如 ```Steam++_win_x64_v3.0.0.exe```
- 32 位应用程序
- 适用于 32 位或 64 位操作系统。
- 文件名中**包含** x86 的,例如 ```Steam++_win_x86_v3.0.0.exe```
- ~~ARM64 应用程序~~(适配中…)
- 适用于使用 Arm64 CPU 的设备,例如 **微软 Surface Pro X/Surface Pro 9 5G** 等使用高通骁龙、联发科动处理的设备。
- 文件名中**包含** arm64 的,例如 ```Steam++_win_arm64_v3.0.0.exe```
- 独立应用([SCD](https://learn.microsoft.com/zh-cn/dotnet/core/deploying/#publish-self-ontained)),会应用中包含 .NET 运行时,该应用的用户无需在运行应用前安装 .NET。 (推荐)
- 文件名中**不包含** fde 的,例如 ```Steam++_win_x64_v3.0.0.exe```
- 依赖于框架的应用([FDE](https://learn.microsoft.com/zh-cn/dotnet/core/deploying/#publish-ramework-ependent)),则该应用不包含 .NET 运行时和库,而仅包含该应用和第三方依赖项。
- 文件名中**包含** fde 的,例如 ```Steam++_win_x64_fde_v3.0.0.exe```
- 依赖于框架的应用相比独立应用因共享运行时,可减少本应用占用的磁盘空间,且运行时可由 Windows 更新进行安全补丁修复。
- 需要安装以下运行时
- ASP.NET 运行时 7.x
- ASP.NET Core 运行时 7.x
- 此应用不需要 IIS 支持,可仅安装相关运行时而不是托管捆绑包。
## macOS
- ARM64 应用程序
- 适用于使用 ARM64(Apple Silicon) 芯片的 Mac,例如 **Apple M1/M2**
- 文件名中**包含** x64 的,例如 ```Steam++_macos_arm64_v3.0.0.dmg```
- 64 位应用程序
- 适用于使用 Intel 的 x64(x86-64) 芯片的 Mac。
- 文件名中**包含** x64 的,例如 ```Steam++_macos_x64_v3.0.0.dmg```
- ~~通用包~~(适配中…)
- 所有版本的二进制文件都包含在此包中,适用于所有支持的设备,但文件体积较大。
## Linux
- 64 位应用程序
- 适用于使用 Intel、AMD 的 x64(x86-64) 芯片的设备。
- 文件名中**包含** x64 的,例如 ```Steam++_linux_x64_v3.0.0.tar.zst```
- ARM64 应用程序
- 适用于使用 ARM64 芯片的设备,例如 **Raspberry Pi Model 3+**
- 文件名中**包含** x64 的,例如 ```Steam++_linux_arm64_v3.0.0.tar.zst```
## Android
- 通用包(推荐)
- 所有版本的二进制文件都包含在此包中,适用于所有支持的设备,但文件体积较大。
- 文件名中**仅包含** android 的,例如 ```Steam++_android_v3.0.0.apk```
- ~~arm64-v8a~~(已弃用…)
- 适用于使用目前主流的手机或平板设备
- 文件名中**包含** arm64_v8a 的,例如 ```Steam++_android_arm64_v8a_v3.0.0.apk```
- ~~armeabi-v7a~~(已弃用…)
- 适用于使用老旧的手机或平板设备,通常为 **2014** 年下半年之前生产的设备。
- 文件名中**包含** armeabi_v7a 的,例如 ```Steam++_android_armeabi_v7a_v3.0.0.apk```
- ~~x86_64~~(已弃用…)
- 适用于使用 Intel、AMD 的 x64(x86-64) 芯片的设备,例如 PC 上的模拟器。
- 文件名中**包含** x64 的,例如 ```Steam++_android_x64_v3.0.0.apk```
## ~~iOS/iPadOS~~(开发中…) <img src="../res/brands/apple.svg" width="16" height="16" />
- 在 App Store 中下载
# 前言
Steam++是一款开源的跨平台Steam工具箱,请不要在非官方渠道下载软件,
[官网](https://www.steampp.net),大家可以去官网或者开源仓库地址下载。
# Steam++工具箱
## 2.6.2更新内容
微软商店版本在微软商店检查获取更新即可,一般会比桌面版晚上一天的审核时间。
### 版本亮点
1. ASF 升级至 **V5.2.0.10**
2. 新增 ASF 控制台字体大小、最大行数设置项
3. 新增 Steam 下载完成定时关机、睡眠功能
4. 新增 代理设置可自定义 DNS
5. 新增 ASF 编辑/移除 Bot 功能
6. 新增 Microsoft/Xbox 相关加速服务 (需要升级到 **2.6.2** 之后可用)
7. 新增 Uplay 相关加速服务 (需要升级到 **2.6.2** 之后可用)
8. 新增 OneDrive 等更多相关加速服务 (需要升级到 **2.6.2** 之后可用)
9. 优化 Desktop 加速代理性能
10. 优化 Desktop 脚本注入打包的性能
11. 优化 Desktop 已安装游戏加载性能
12. 从此版本开始将使用 Github Action 自动化部署发布
### 修复问题
1. 改进 Desktop 网络加速现默认使用阿里 DNS(223.5.5.5, 223.6.6.6)
2. 改进 自动更新包文件校验失败时提示
3. 改进 自动更新失败时将自动跳转官网
4. 改进 ASF IPC 默认端口号由 1242 改为 6242
5. 修复 Linux 与 macOS 中 ASF-UI 解压包文件夹分隔符不正确
6. 修复 Windows Hosts 只读时尝试取消只读属性的操作没有正确执行
7. 修复 Windows 此软件自动更新删除更新包缓存时因文件占用引发的中断
8. 修复 Desktop 高 DPI 下动态桌面错位
9. 修复 本地令牌确认交易在登录时可能会卡住
10. 修复 Windows 启用动态桌面后全屏可能导致窗口冻结无法操作
11. 修复 Windows 动态背景有时会被其他窗口遮挡
12. 改进 本地令牌 登录验证码无法加载时可点击在浏览器中查看验证码图片
13. 修复 Desktop 加速代理中可能出现的一些错误
14. 改进 Desktop 令牌详情 UI
15. 改进 Desktop 账号切换中的用户名信息现在默认隐藏
16. 改进 Desktop 深色模式与浅色模式的视觉效果
17. 修复 Pixiv 加速不能登录的问题
18. 修复 Twitch 加速不计算掉宝进度的问题
19. 修复 Discord 加速检测更新失败导致无法启动客户端的问题
20. 修复 Windows 因添加 JumpList 时可能导致的闪退
21. 修复 Desktop 本地令牌 点击锁定后输入密码按回车解锁会循环无限触发锁定的问题
[![steampp.net](https://img.shields.io/badge/WebSite-steampp.net-brightgreen.svg?style=flat-square&color=61dafb)](https://steampp.net)
[![Steam++ v2.6.2](https://img.shields.io/badge/Steam++-v2.6.2-brightgreen.svg?style=flat-square&color=512bd4)]()
------
## 工具介绍
`Steam++`是一款开源的跨平台Steam工具箱,所有本地功能完全免费,开源发布于Github,如果您对发布的二进制文件不放心,可以自行下载源码编译运行。
此工具的大部分功能都是需要您下载安装Steam才能使用。
工具预计将整合进大部分常用的Steam相关工具,并且尽力做到比原工具更好用。
软件截图
[hide]
[attachimg]1463881[/attachimg]
[attachimg]1463882[/attachimg]
[attachimg]1463884[/attachimg]
[attachimg]1463899[/attachimg]
[/hide]
## 核心功能
### 1. 通过本地反代理Steam的社区等网页使其能正常访问
功能使用Titanium-Web-Proxy开源项目进行本地反代,相比SteamCommunity302工具具有更快的启动速度。让用户能够连接上诸如Steam社区(个人资料页)、Discord语音聊天、Twitch直播观看、Origin下载加速、谷歌验证码、Pixiv图片等。
### 2. 快速切换当前PC已经记住登陆的Steam账号
该功能是读取Steam路径下存储的本地用户登录记录直接展示操作,可以多账号切换无需重新输入密码和令牌。如果您的ip地址更换,会导致登陆状态失效。
### 3. Steam游戏成就管理
能够读取任何游戏的成就信息(包括隐藏成就),并且能进行成就修改,包括成就解锁以及成就反解锁,还能够修改成就统计信息
参考SAM(SteamAchievementManager)进行二次开发,修复了成就语言有中文却依然是英文成就信息的BUG,修改了游戏列表的加载和操作易用性。
注意:滥用成就管理功能可能会导致开发者封禁!
[attachimg]1463887[/attachimg]
### 4. Steam本地两步身份验证器
该功能能够将Steam手机令牌储存到您的电脑中,并能够进行与手机端一样的操作。
不仅能查看手机令牌,还能进行交易报价确认,并且能一键全部确认。
功能参考WinAuth开发,功能类似的软件有WinAuth、SteamDesktopAuthenticator。
本地令牌交易市场报价确认
[attachimg]1463890[/attachimg]
### 5. Steam内置浏览器脚本注入
通过反代加速功能将js脚本内置插入了Steam客户端内的浏览器,达到了与油猴类似的效果。目前2.0.0.6版本新增了脚本工坊,可以从我们的服务器上下载到已经兼容的脚本。我们也会不断添加新的脚本,同时也会对旧的脚本进行维护。
[attachimg]1463883[/attachimg]
### 6.Steam家庭库共享排序
可以排序你的共享库存顺序,避免只能读取A的共享游戏,却想玩B的共享游戏。
### 7.Steam监控下载完成定时关机
可以监控Steam下载列表所有游戏的下载进度并设置下载完成后自动关机或睡眠电脑,节约你的电费。
### 8.已内置ASF挂卡功能
[ASF](https://github.com/JustArchiNET/ArchiSteamFarm)大家肯定都不陌生,它实在是太好用了,所以我们内置了ASF在Steam++内,并在后续会对ASF在UI环境下使用做更多增强体验。
### 10. 更多的游戏工具功能
支持各种老游戏无边框窗口化等等
#### 并且,以上功能全部免费。
Linux 截图:
[attachimg]1463884[/attachimg]
------
## 运行环境
> 程序使用C# 在 .NET 6.0环境下开发,新版采用独立部署编译,不需要运行环境也可以运行)。
RuntimeIdentifier | Available | Edition
--- | --- | ---
win-x64 | ✅ | Stable
osx-x64 | ✅ | β
linux-x64 | ✅ | α
android-arm64 | ✅ | α
android-arm | ✅ | α
linux-arm64 | ✅ | α
linux-arm | ✅ | α
osx-arm64 | ❌ |
win-arm64 | ❌ |
ios-arm64 | ❌ |
## 下载
> [官网](https://steampp.net/)
> [Github](https://github.com/rmbadmin/SteamTools/releases)
> [Gitee](https://gitee.com/rmbgame/SteamTools/releases)
> [Microsoft Store](https://www.microsoft.com/store/productId/9MTCFHS560NG)
> 分流下载:
> [hide]
> [蓝奏云](https://cliencer.lanzoux.com/b0165duja)
> 提取码:1234
> [/hide]
> 使用过程中可能遇到windows defender误报,您可以选择添加信任。
\ No newline at end of file
Subproject commit 461cb7e57c06ea192c082472b7633aa26c190b55
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--><g fill="#3ddc84"><path d="M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"/></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--><g fill="#A2AAAD"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--><g fill="#E95420"><path d="M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"/></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--><g fill="#00adef"><path d="M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"/></g></svg>
\ No newline at end of file
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*.{sh}]
end_of_line = lf
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*]
charset = utf-8
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
[*.{js,json}]
indent_style = space
indent_size = 2
[*.{xaml,axaml,xml,resx,resw,csproj,wapproj,appxmanifest,props}]
indent_style = tab
# c# 文件
[*.cs]
#### Core EditorConfig 选项 ####
# 缩进和间距
indent_size = 4
indent_style = space
tab_width = 4
# 新行首选项
end_of_line = crlf
insert_final_newline = false
#### .NET 编码约定 ####
# 组织 Using
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = false
file_header_template = unset
# this. 和 Me. 首选项
dotnet_style_qualification_for_event = false:suggestion
dotnet_style_qualification_for_field = false
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
# 语言关键字与 bcl 类型首选项
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion
# 括号首选项
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_operators = never_if_unnecessary
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
# 修饰符首选项
dotnet_style_require_accessibility_modifiers = never
# 表达式级首选项
dotnet_style_coalesce_expression = true
dotnet_style_collection_initializer = true
dotnet_style_explicit_tuple_names = true
dotnet_style_null_propagation = true
dotnet_style_object_initializer = true
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_prefer_auto_properties = true
dotnet_style_prefer_compound_assignment = true
dotnet_style_prefer_conditional_expression_over_assignment = true
dotnet_style_prefer_conditional_expression_over_return = true
dotnet_style_prefer_inferred_anonymous_type_member_names = true
dotnet_style_prefer_inferred_tuple_names = true
dotnet_style_prefer_is_null_check_over_reference_equality_method = true
dotnet_style_prefer_simplified_boolean_expressions = true
dotnet_style_prefer_simplified_interpolation = true
# 字段首选项
dotnet_style_readonly_field = true
# 参数首选项
dotnet_code_quality_unused_parameters = all
# 禁止显示首选项
dotnet_remove_unnecessary_suppression_exclusions = none
#### c# 编码约定 ####
# var 首选项
csharp_style_var_elsewhere = true
csharp_style_var_for_built_in_types = true
csharp_style_var_when_type_is_apparent = true
# Expression-bodied 成员
csharp_style_expression_bodied_accessors = true
csharp_style_expression_bodied_constructors = false
csharp_style_expression_bodied_indexers = true
csharp_style_expression_bodied_lambdas = true
csharp_style_expression_bodied_local_functions = false
csharp_style_expression_bodied_methods = false
csharp_style_expression_bodied_operators = false
csharp_style_expression_bodied_properties = true
# 模式匹配首选项
csharp_style_pattern_matching_over_as_with_null_check = true
csharp_style_pattern_matching_over_is_with_cast_check = true
csharp_style_prefer_not_pattern = true
csharp_style_prefer_pattern_matching = true
csharp_style_prefer_switch_expression = true
# Null 检查首选项
csharp_style_conditional_delegate_call = true
# 修饰符首选项
csharp_prefer_static_local_function = true
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
# 代码块首选项
csharp_prefer_braces = false
csharp_prefer_simple_using_statement = true
# 表达式级首选项
csharp_prefer_simple_default_expression = true
csharp_style_deconstructed_variable_declaration = true
csharp_style_implicit_object_creation_when_type_is_apparent = true
csharp_style_inlined_variable_declaration = true
csharp_style_pattern_local_over_anonymous_function = true
csharp_style_prefer_index_operator = true
csharp_style_prefer_range_operator = true
csharp_style_throw_expression = true
csharp_style_unused_value_assignment_preference = discard_variable
csharp_style_unused_value_expression_statement_preference = discard_variable
# "using" 指令首选项
csharp_using_directive_placement = outside_namespace
#### C# 格式规则 ####
# 新行首选项
csharp_new_line_before_catch = true
csharp_new_line_before_else = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = all
csharp_new_line_between_query_expression_clauses = true
# 缩进首选项
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true
# 空格键首选项
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
# 包装首选项
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
#### 命名样式 ####
# 命名规则
dotnet_naming_rule.interface_should_be_以_i_开始.severity = suggestion
dotnet_naming_rule.interface_should_be_以_i_开始.symbols = interface
dotnet_naming_rule.interface_should_be_以_i_开始.style = 以_i_开始
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.severity = suggestion
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.symbols = 类型
dotnet_naming_rule.类型_should_be_帕斯卡拼写法.style = 帕斯卡拼写法
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.severity = suggestion
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.symbols = 非字段成员
dotnet_naming_rule.非字段成员_should_be_帕斯卡拼写法.style = 帕斯卡拼写法
# 符号规范
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =
dotnet_naming_symbols.类型.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.类型.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.类型.required_modifiers =
dotnet_naming_symbols.非字段成员.applicable_kinds = property, event, method
dotnet_naming_symbols.非字段成员.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.非字段成员.required_modifiers =
# 命名样式
dotnet_naming_style.帕斯卡拼写法.required_prefix =
dotnet_naming_style.帕斯卡拼写法.required_suffix =
dotnet_naming_style.帕斯卡拼写法.word_separator =
dotnet_naming_style.帕斯卡拼写法.capitalization = pascal_case
dotnet_naming_style.以_i_开始.required_prefix = I
dotnet_naming_style.以_i_开始.required_suffix =
dotnet_naming_style.以_i_开始.word_separator =
dotnet_naming_style.以_i_开始.capitalization = pascal_case
# IDE0010: 添加缺失的事例
dotnet_diagnostic.IDE0010.severity = none
# IDE0011: 添加大括号
dotnet_diagnostic.IDE0011.severity = none
# IDE0040: 添加可访问性修饰符
dotnet_diagnostic.IDE0040.severity = none
# IDE0130: 命名空间与文件夹结构不匹配
dotnet_style_namespace_match_folder = false
# IDE0130: 命名空间与文件夹结构不匹配
dotnet_diagnostic.IDE0130.severity = none
# IDE0055: 修正格式
dotnet_diagnostic.IDE0055.severity = error
# IDE1006: 命名样式
dotnet_diagnostic.IDE1006.severity = error
# SA1600: Elements should be documented
dotnet_diagnostic.SA1600.severity = none
# SA1629: Documentation text should end with a period
dotnet_diagnostic.SA1629.severity = silent
# SA1101: Prefix local calls with this
dotnet_diagnostic.SA1101.severity = silent
# SA1623: Property summary documentation should match accessors
dotnet_diagnostic.SA1623.severity = none
# SA1200: Using directives should be placed correctly
dotnet_diagnostic.SA1200.severity = none
# SA1208: System using directives should be placed before other using directives
dotnet_diagnostic.SA1208.severity = silent
# Default severity for analyzer diagnostics with category 'StyleCop.CSharp.LayoutRules'
dotnet_analyzer_diagnostic.category-StyleCop.CSharp.LayoutRules.severity = error
# SA1400: Access modifier should be declared
dotnet_diagnostic.SA1400.severity = silent
# SA1633: File should have header
dotnet_diagnostic.SA1633.severity = silent
# SA1128: Put constructor initializers on their own line
dotnet_diagnostic.SA1128.severity = silent
# SA1413: Use trailing comma in multi-line initializers
dotnet_diagnostic.SA1413.severity = suggestion
# SA1005: Single line comments should begin with single space
dotnet_diagnostic.SA1005.severity = none
# SA1515: Single-line comment should be preceded by blank line
dotnet_diagnostic.SA1515.severity = silent
# SA1512: Single-line comments should not be followed by blank line
dotnet_diagnostic.SA1512.severity = silent
# SA1122: Use string.Empty for empty strings
dotnet_diagnostic.SA1122.severity = silent
# SA1616: Element return value documentation should have text
dotnet_diagnostic.SA1616.severity = silent
# SA1310: Field names should not contain underscore
dotnet_diagnostic.SA1310.severity = silent
# SA1137: Elements should have the same indentation
dotnet_diagnostic.SA1137.severity = error
# SA1503: Braces should not be omitted
dotnet_diagnostic.SA1503.severity = silent
# SA1513: Closing brace should be followed by blank line
dotnet_diagnostic.SA1513.severity = silent
# SA1402: File may only contain a single type
dotnet_diagnostic.SA1402.severity = silent
# SA1133: Do not combine attributes
dotnet_diagnostic.SA1133.severity = silent
# SA1011: Closing square brackets should be spaced correctly
dotnet_diagnostic.SA1011.severity = silent
# SA1502: Element should not be on a single line
dotnet_diagnostic.SA1502.severity = silent
# SA1201: Elements should appear in the correct order
dotnet_diagnostic.SA1201.severity = silent
# SA1505: Opening braces should not be followed by blank line
dotnet_diagnostic.SA1505.severity = silent
# SA1508: Closing braces should not be preceded by blank line
dotnet_diagnostic.SA1508.severity = silent
# SA1614: Element parameter documentation should have text
dotnet_diagnostic.SA1614.severity = silent
# SA1116: Split parameters should start on line after declaration
dotnet_diagnostic.SA1116.severity = silent
# SA1601: Partial elements should be documented
dotnet_diagnostic.SA1601.severity = silent
# SA1009: Closing parenthesis should be spaced correctly
dotnet_diagnostic.SA1009.severity = silent
# SA1202: Elements should be ordered by access
dotnet_diagnostic.SA1202.severity = silent
# SA1311: Static readonly fields should begin with upper-case letter
dotnet_diagnostic.SA1311.severity = silent
# SA1127: Generic type constraints should be on their own line
dotnet_diagnostic.SA1127.severity = silent
# SA1503: Braces should not be omitted
dotnet_diagnostic.SA1503.severity = silent
# SA1649: File name should match first type name
dotnet_diagnostic.SA1649.severity = silent
# SA1210: Using directives should be ordered alphabetically by namespace
dotnet_diagnostic.SA1210.severity = silent
# SA1028: Code should not contain trailing whitespace
dotnet_diagnostic.SA1028.severity = silent
# SA1204: Static elements should appear before instance elements
dotnet_diagnostic.SA1204.severity = silent
# SA1203: Constants should appear before fields
dotnet_diagnostic.SA1203.severity = silent
# SA1123: Do not place regions within elements
dotnet_diagnostic.SA1123.severity = silent
# SA1615: Element return value should be documented
dotnet_diagnostic.SA1615.severity = silent
# SA1611: Element parameters should be documented
dotnet_diagnostic.SA1611.severity = silent
# SA1124: Do not use regions
dotnet_diagnostic.SA1124.severity = silent
# SA1520: Use braces consistently
dotnet_diagnostic.SA1520.severity = silent
# SA1107: Code should not contain multiple statements on one line
dotnet_diagnostic.SA1107.severity = silent
# SA1312: Variable names should begin with lower-case letter
dotnet_diagnostic.SA1312.severity = error
# SA1519: Braces should not be omitted from multi-line child statement
dotnet_diagnostic.SA1519.severity = silent
# SA1000: Keywords should be spaced correctly
dotnet_diagnostic.SA1000.severity = silent
# SA1205: Partial elements should declare access
dotnet_diagnostic.SA1205.severity = silent
# SA1401: Fields should be private
dotnet_diagnostic.SA1401.severity = silent
# SA1622: Generic type parameter documentation should have text
dotnet_diagnostic.SA1622.severity = silent
# SA1627: Documentation text should not be empty
dotnet_diagnostic.SA1627.severity = silent
# SA1403: File may only contain a single namespace
dotnet_diagnostic.SA1403.severity = silent
# SA1602: Enumeration items should be documented
dotnet_diagnostic.SA1602.severity = silent
# SA1108: Block statements should not contain embedded comments
dotnet_diagnostic.SA1108.severity = silent
# SA1642: Constructor summary documentation should begin with standard text
dotnet_diagnostic.SA1642.severity = silent
# SA1117: Parameters should be on same line or separate lines
dotnet_diagnostic.SA1117.severity = silent
# SA1501: Statement should not be on a single line
dotnet_diagnostic.SA1501.severity = silent
# SA1500: Braces for multi-line statements should not share line
dotnet_diagnostic.SA1500.severity = silent
# SA1518: Use line endings correctly at end of file
dotnet_diagnostic.SA1518.severity = silent
# SA1118: Parameter should not span multiple lines
dotnet_diagnostic.SA1118.severity = silent
# SA1214: Readonly fields should appear before non-readonly fields
dotnet_diagnostic.SA1214.severity = silent
# SA1309: Field names should not begin with underscore
dotnet_diagnostic.SA1309.severity = silent
# SA1027: Use tabs correctly
dotnet_diagnostic.SA1027.severity = silent
# SA1306: Field names should begin with lower-case letter
dotnet_diagnostic.SA1306.severity = silent
# SA1643: Destructor summary documentation should begin with standard text
dotnet_diagnostic.SA1643.severity = silent
# SA1303: Const field names should begin with upper-case letter
dotnet_diagnostic.SA1303.severity = silent
# SA1300: Element should begin with upper-case letter
dotnet_diagnostic.SA1300.severity = silent
# SA1316: Tuple element names should use correct casing
dotnet_diagnostic.SA1316.severity = silent
# SA1405: Debug.Assert should provide message text
dotnet_diagnostic.SA1405.severity = silent
# CS1572: XML 注释中有 param 标记,但是没有该名称的参数
dotnet_diagnostic.CS1572.severity = silent
# SA1112: Closing parenthesis should be on line of opening parenthesis
dotnet_diagnostic.SA1112.severity = silent
# SA1111: Closing parenthesis should be on line of last parameter
dotnet_diagnostic.SA1111.severity = silent
using System.Resources;
using AssemblyInfo = BD.WTTS.AssemblyInfo;
#pragma warning disable IDE0079 // 请删除不必要的忽略
#pragma warning disable SYSLIB0025 // 类型或成员已过时
[assembly: SuppressIldasm]
#pragma warning restore SYSLIB0025 // 类型或成员已过时
#pragma warning restore IDE0079 // 请删除不必要的忽略
#if WINDOWS7_0_OR_GREATER
[assembly: SupportedOSPlatform("Windows10.0.17763")]
#endif
[assembly: AssemblyTrademark(AssemblyInfo.Trademark)]
[assembly: AssemblyDescription(AssemblyInfo.Description)]
[assembly: AssemblyProduct(AssemblyInfo.Product)]
[assembly: AssemblyCopyright(AssemblyInfo.Copyright)]
[assembly: AssemblyCompany(AssemblyInfo.Company)]
[assembly: AssemblyVersion(AssemblyInfo.Version)]
[assembly: AssemblyFileVersion(AssemblyInfo.Version)]
[assembly: AssemblyInformationalVersion(AssemblyInfo.Version)]
[assembly: NeutralResourcesLanguage(AssemblyInfo.CultureName_SimplifiedChinese)]
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Application
x:Class="BD.WTTS.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Styles>
<FluentTheme Mode="Light" />
</Application.Styles>
</Application>
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
namespace BD.WTTS;
public class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
}
base.OnFrameworkInitializationCompleted();
}
}
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<RootNamespace>BD.WTTS</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="BD.Common" />
<PackageReference Include="BD.Common.Primitives" />
<PackageReference Include="Avalonia" />
<PackageReference Include="Avalonia.Desktop" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BD.WTTS.Client.Accelerator\BD.WTTS.Client.Accelerator.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.AppCenter.Avalonia\BD.WTTS.Client.AppCenter.Avalonia.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.ArchiSteamFarm\BD.WTTS.Client.ArchiSteamFarm.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.Authenticator\BD.WTTS.Client.Authenticator.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.Host.CommandLine\BD.WTTS.Client.Host.CommandLine.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.JumpList.Avalonia\BD.WTTS.Client.JumpList.Avalonia.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.ReverseProxy.Yarp\BD.WTTS.Client.ReverseProxy.Yarp.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.ReverseProxy\BD.WTTS.Client.ReverseProxy.csproj" />
<ProjectReference Include="..\BD.WTTS.Client.Steam\BD.WTTS.Client.Steam.csproj" />
<ProjectReference Include="..\BD.WTTS.Client\BD.WTTS.Client.csproj" />
</ItemGroup>
<Import Project="..\TFM_NET7.props" />
</Project>
<Window
x:Class="BD.WTTS.MainWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="BD.WTTS.Client.Avalonia.App"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
Welcome to Avalonia!
</Window>
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册