File: README.md
Watt Toolkit 🧰 (原名 Steam++)
🚀 下载渠道
- 软件官网
- GitHub 发行版
- 码云 发行版
- Arch 用户仓库(当前 Release 构建)
- Arch 用户仓库 dev(拉取最新源码构建,也许会构建失败)
⬇️ [下载指南](./doc/download-guide.md)
✨ 功能
全新的 3.0 版本,支持自定义插件功能,以下功能为下载时自带的默认插件,可以自行删除或禁用。
- 网络加速
- 使用 YARP.ReverseProxy 开源项目进行本地反代来支持更快的访问游戏网站。
- 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。
- 账号切换
- 快速切换已在当前 PC 上登录过的 Steam、Epic、Uplay 等等多平台账号,与管理 Steam 家庭共享库排序及禁用等功能。
- 库存游戏
- 直接管理你的 Steam 游戏库存,可以编辑游戏名称和自定义封面。
- 监控 Steam 游戏下载进度实现 Steam 游戏下载完成定时关机功能。
- 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和掉落 Steam 卡片
- 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云。
- 解锁以及反解锁 Steam 游戏成就。
- 本地令牌
- 让您的手机令牌统一保存在电脑中、支持通用HOTP、TOTP、Steam、Google 等令牌导入。
- 支持 Steam 登录账号自定绑定生成令牌、支持 Steam 批量确认交易功能。
自动挂卡(新版本开发中)集成 ArchiSteamFarm 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。
- 游戏工具
- 强制游戏窗口使用无边框窗口化、更多功能待开发。
🖥 支持的操作系统
- Windows 11
- Windows 10 版本 1809(OS 内部版本 17763)或更高版本
- macOS 10.15 或更高版本
- Ubuntu 20.04 或更高版本
- Debian 11 或更高版本
- Fedora 37 或更高版本
- Deepin(UOS) 20 或更高版本
iOS 11 或更高版本(开发中…)- Android 5.0(API 21) 或更高版本
🧩 截图
从移动端 Steam App 导入令牌指南
🌏 路线图
查看这个 milestones 来了解我们下一步的开发计划,并随时提出问题。
⌨️ 开发环境
Visual Studio 2026
JetBrains Rider
Visual Studio Code
OpenJDK 17
Android Studio Electric Eel 或更高版本
Xcode 26 或更高版本
🏗️ [项目结构](./src/README.md)
🧑💼 加入我们
📄 [开源代码库](./doc/open-source-library.md)
详见 ./doc/open-source-library.md
File: src/Common.PinyinLib.TinyPinyin/Jars/README.md
[TinyPinyin](https://github.com/promeG/TinyPinyin)
适用于Java和Android的快速、低内存占用的汉字转拼音库。
依赖项
❌ android.support.*
升级注意事项
无
File: src/Services.SmsSender/README.md
SmsSender 统一短信发送服务
适用于 ASP.NET Core 5.0 的统一的短信服务接口供业务层调用,可多个提供商同时使用,通过替换实现类的方式无缝切换提供商可以稍微修改兼容 .NET Framework 4.6.1 & ASP.NET 4.x+,但没必要
File: src/ST.Client.Android/README.md
[Xamarin.Android](https://docs.microsoft.com/zh-cn/xamarin/android)
Xamarin.Android 向 .NET 开发人员公开了完整的 Android SDK。 使用 C# 或 F# 在 Visual Studio 中生成完全本机的 Android 应用。
行为变更
Material
File: src/ST.Tools.Publish/README.md
客户端发布命令行工具(Command Line Tools/CLT)
发布新版本操作指南
- 说明
- (✔)Linux 上执行程序,需要程序权限中有执行,在 WinSCP 工具中右键属性,打勾执行权限
- 发布工具程序文件名为 p 简短名字方便打命令
- Linux 上文件在 /home/{user}/pub 文件夹中
- Linux 上使用 ./p xxxx 执行程序
- Windows 上使用 CMD p xxxx 执行程序
- 发布本程序的 win-x64 在发布文件夹中打开 终端 执行命令,不可将程序复制到项目文件夹之外的地方执行
1. (云端)得到 RSA 公钥信息(如果是新版本号则**创建**,如果是之前的版本号发布另一个平台则使用**获取**)
- 创建新版本号并返回 RSA 公钥
./p nv -v 2.0.0 -desc "1. xxx;2. yyy;3. ddd" -use_last_skey // 创建一个新的版本号并使用上一个版本的密钥
./p nv -v 2.0.0 -desc "1. xxx;2. yyy;3. ddd" // 创建一个新的版本号 - 获取之前创建新版本号 RSA 公钥
./p gv -v 2.0.0 // 获取一个已有的版本号
2. (本地)**手动**复制终端窗口中的 RSA 公钥值到剪切板
3. (本地)读取剪切板公钥值写入 txt 的 pfx 文件中
- 从剪切板中读取
p rr -dev // 写入到测试环境中
p rr // 写入到正式环境中 - 从命令行中传入
p rr -dev -val XXXX // 写入到测试环境中
p rr -val XXXX // 写入到正式环境中
4. (本地)**手动**在VS中发布任意一个或多个平台配置(pubxml),后续可改成命令行自动发布
- (本地)将发布 Host 入口点重定向到 Bin 目录中,仅支持 win-x64
p hostpath
p hp
5. (本地)验证发布文件夹与统计文件
- 统计所有文件(忽略xml,pdb)写入 Publish.json
- 命令示例
p sta -val "win-x64" // 仅发布 Win 平台 64位
p sta -val "android-arm" "android-arm64" // 仅发布 Android 平台 ARM系列
p sta -val "win-x64" "osx-x64" "osx-arm64" "linux-x64" "linux-arm64" "linux-arm" // 发布多个桌面平台
p sta -dev -val "win-x64" // (测试环境/Debug)仅发布 Win 平台 64位
p sta -dev -val "win-x64" "osx-x64 "linux-x64" // (测试环境/Debug)发布多个桌面平台
8. (本地)读取上一步操作后的 **Publish.json** 生成压缩包并计算哈希值写入 **Publish.json**
- 命令示例
p 7z // 打包 7z 格式压缩包
8.1 (本地)读取上一步操作后的 **Publish.json** 生成安装包并计算哈希值写入 **Publish.json**
rpm
- Create a CentOS/RedHat Linux installer
p rpm
deb
- Create a Ubuntu/Debian Linux installer
p deb
~~pkg~~
- Create a macOS installer
p pkg
~~msi~~
- Create a Windows Installer (msi) package
p msi
10. (本地)将 **Publish.json** 上传至云端
- 将本地
ST.Tools.Publish\bin\Release\Publish\win-x64\AppData\Publish.json复制到云端/home/{user}/pub/AppData/Publish.json
11. (云端)读取上一步上传的数据写入数据库中
- 读取 Publish.json 写入数据库
- 命令示例
./p wdb -v 2.0.0 -dev -dev_custom "url1;url2;url3" // 在测试环境中创建 2.0.0 版本发布数据并附加下载链接
./p wdb -v 2.0.0 -gitee "url1;url2;url3" // 在正式环境中创建 2.0.0 版本发布数据并附加码云下载链接
12. (本地)读取 **Publish.json** 中的 SHA256 值写入 release-template.md
- 命令示例
p rel
File: src/ST.Tools.Translate/README.md
Resx 翻译命令行工具(Resx Translation Command Line Tools/RTCLT)
文案指南/中西文混排
命令示例
- 将 resx 文件导出为 xlsx 文件
t write-xlsx -resx all -lang all // 导出所有的 resx, 与所有支持的语言
t write-xlsx -resx all -lang en // 导出所有的 resx,语言仅 English
t write-xlsx -resx all -lang all -only_machine // 导出所有的 resx(仅机翻或未翻译的值), 与所有支持的语言 - 使用机翻校对 xlsx 文件(将译文机翻回原文进行审阅)
t proofread-xlsx -resx all -lang all // 校对所有的 xlsx, 与所有支持的语言
t proofread-xlsx -resx all -lang en // 校对所有的 xlsx,语言仅 English - 将 xlsx 文件导入到 resx 文件
t read-xlsx -resx all -lang all // 导入所有的 xlsx, 与所有支持的语言
t read-xlsx -resx all -lang en // 导入所有的 xlsx,语言仅 English
Language Id
| Language | Id |
|---|---|
| Chinese (Simplified) | zh-Hans |
| Chinese (Traditional) | zh-Hant |
| English | en |
| Korean | ko |
| Japanese | ja |
| Russian | ru |
| Spanish | es |
| Italian | it |
File: src/README.md
Steam++ v3.X Source Code
🏗️ 项目结构
TODO
File: README.en.md
Steam++ Tools 🧰
🚀 Download channel
✨ Functions
- Local reverse proxy for Steam's community webpage to enable normal access in the Chinese Mainland, Mainland of China
- Quickly switch the Steam account that the current PC has remembered to log into
- This feature is to read the local user login records stored under the Steam path to directly display the operation, you can switch between multiple accounts without re-entering passwords and tokens.
- Achievement stat modifications for Steam games
- Function reference SteamAchievementManager for secondary development, modified the game list loading and operation ease of use.
- Steam Local Two-Step Authenticator
- The function reference WinAuth is developed to enable you to view your token without launching the mobile version of Steam App, similar function software are WinAuth, SteamDesktopAuthenticator.
- Some game tools
- Currently there is a forced game borderless windowing.
🖥 Supported Operating Systems
Windows
| OS | Version | Architectures | Lifecycle |
|---|---|---|---|
| Windows Client | 7 SP1(*), 8.1 | x64 | Windows |
| Windows 10 Client | Version 1607+(*) | x64 | Windows |
| Windows Server | 2012+ | x64 | Windows Server |
* Windows 7 SP1 is supported with Extended Security Updates installed.
* Microsoft Store/Desktop Bridge Version 1809+
Linux
| OS | Version | Architectures | Lifecycle |
|---|---|---|---|
| Alpine Linux | 3.13+ | x64, Arm64 | Alpine |
| CentOS | 7+ | x64 | CentOS |
| Debian | 10+ | x64, Arm64 | Debian |
| Fedora | 33+ | x64 | Fedora |
| openSUSE | 15+ | x64 | OpenSUSE |
| Red Hat Enterprise Linux | 7+ | x64, Arm64 | Red Hat |
| SUSE Enterprise Linux (SLES) | 12 SP2+ | x64 | SUSE |
| Ubuntu | 16.04, 18.04, 20.04+ | x64, Arm64 | Ubuntu |
| Deepin / UOS | 20+ | x64 | Deepin |
| Arch Linux | x64 |
macOS
| OS | Version | Architectures |
|---|---|---|
| macOS | 10.14+ | x64 |
Android
| OS | Version | Architectures |
|---|---|---|
| Android | 5.0(API 21)+ | x64, Arm64, Arm32 |
~~iOS / iPadOS~~
| OS | Version | Architectures |
|---|---|---|
| iOS | 10.0+ | x64, Arm64, Arm32 |
⛔ Unsupported Operating System
- Windows 8
- Due to Microsoft's official support for the product has ended, so this program cannot run on this operating system, It is recommended to upgrade to Windows 8.1
- Windows Server 2008 R2 SP1
- Only version 1.x is available, 2.x is not supported at first, and it is recommended to upgrade to a higher version
- Windows Server / Linux version without desktop GUI
- Xbox or Windows Mobile / Phone
🌏 Roadmap
Read what we milestones, and feel free to ask questions.
⌨️ Development Environment
Visual Studio 2022
JetBrains RiderVisual Studio 2022 for Mac PreviewVisual Studio Code
- Supported Operating Systems
- Workload
- Web and Cloud
- ASP.NET and Web Development
- Desktop and Mobile Applications
- .NET Desktop Development
- UWP Development
- Mobile Development using .Net
- Other Toolsets
- .NET Core Cross Platform Development
- Web and Cloud
- Single Component
- GitHub Extension for Visual Studio
- Windows 10 SDK (10.0.19041.0)
- Visual Studio Marketplace
OpenJDK 11
Android Studio 2021.1.1 Or Higher
Xcode 13 Or Higher
📄 Thanks to the following Open Source Projects
- Newtonsoft.Json
- MetroRadiance
- MetroTrilithon
- Livet
- StatefulModel
- Hardcodet.NotifyIcon
- System.Reactive
- Titanium-Web-Proxy
- Portable.BouncyCastle
- Ninject
- log4net
- SteamAchievementManager
- ArchiSteamFarm
- Steam4NET
- WinAuth
- SteamDesktopAuthenticator
- Gameloop.Vdf
- DnsClient.NET
- Costura.Fody
- MessagePack-CSharp
- CSharpVitamins.ShortGuid
- Nito.Comparers
- Nito.Disposables
- Crc32.NET
- gfoidl.Base64
- sqlite-net-pcl
- AutoMapper
- Polly
- TaskScheduler
- SharpZipLib
- SevenZipSharp
- ZstdNet
- Depressurizer
- NLog
- NUnit
- ReactiveUI
- MessageBox.Avalonia
- AvaloniaUI
- AvaloniaGif
- Avalonia XAML Behaviors
- FluentAvalonia
- APNG.NET
- Moq
- NPOI
- Fleck
- Swashbuckle.AspNetCore
- AspNet.Security.OpenId.Providers
- AspNet.Security.OAuth.Providers
- ZXing.Net
- QRCoder
- QR Code Generator for .NET
- TinyPinyin
- TinyPinyin.Net
- Packaging utilities for .NET Core
- React
- Ant Design
- Ant Design Blazor
- Toast messages for Xamarin.iOS
- ImageCirclePlugin
- Visual Studio App Center SDK for .NET
- AppCenter-XMac
- MSBuild.Sdk.Extras
- Xamarin.Essentials
- Xamarin.Forms
- Open Source Components for Xamarin
- Google Play Services / Firebase / ML Kit for Xamarin.Android
- Picasso
- OkHttp
- Material Components for Android
- AndroidX for Xamarin.Android
- Android Jetpack
- ConstraintLayout
- Entity Framework Core
- ASP.NET Core
- Windows Forms
- Windows Presentation Foundation (WPF)
- C#/WinRT
- command-line-api
- .NET Runtime
- Fluent UI System Icons
- Material design icons