mirror of
https://github.com/BeyondDimension/SteamTools.git
synced 2026-10-19 15:21:26 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 99cfe5c8fb |
+458
@@ -0,0 +1,458 @@
|
||||
# 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,xaml,axaml,xml,resx,resw,csproj,wapproj,appxmanifest,props}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# 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
|
||||
@@ -0,0 +1,64 @@
|
||||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
*.sh text eol=lf
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
||||
@@ -1,65 +0,0 @@
|
||||
---
|
||||
name: "(English)Bug Report \U0001F41B"
|
||||
about: Create a report to help us improve
|
||||
title: "\U0001F41B[BUG] Please enter a title"
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Please check each item in the following list carefully
|
||||
- [ ] I have searched and found no similar issues
|
||||
- [ ] Have searched the documentation and found no relevant content
|
||||
- [ ] I have tried to use the latest version, but the problem still exists
|
||||
- [ ] The official version is used (no replacement and modification of the installation directory program files)
|
||||
|
||||
<!--
|
||||
Before posting, try searching Issues to see if your issue has already been raised.
|
||||
Describe the bug in detail so that everyone can understand it, please be sure that what you are posting is a bug, if you are not sure, please post a Question
|
||||
Don't forget to fill in the title, which should be a short description of the problem
|
||||
-->
|
||||
|
||||
### 🐛 Description
|
||||
<!--
|
||||
Describe the problem in detail
|
||||
-->
|
||||
|
||||
|
||||
### 📷 Steps to Reproduce
|
||||
|
||||
<!--
|
||||
Clearly describe the reproduction steps so that others can see the problem
|
||||
Ensure that the above steps are 100% reproducible on most devices, if possible, to pinpoint the cause of the problem
|
||||
-->
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### 📄 Log Information
|
||||
<!--
|
||||
|
||||
```
|
||||
- Path to the folder where the log files are located
|
||||
- Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs```
|
||||
- Windows ```\Logs``` or ```%Tmp%\Steam++\Logs```
|
||||
- macOS ```~/Library/Caches/Steam++/Logs```
|
||||
- Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs```
|
||||
- Android ```/data/data/net.steampp.app/cache/Logs```
|
||||
Your log content
|
||||
```
|
||||
|
||||
-->
|
||||
|
||||
### 🖼 Screenshots
|
||||
|
||||
<!--
|
||||
Screenshots can be posted here
|
||||
-->
|
||||
|
||||
|
||||
### 🚑 Other Information
|
||||
- Processor architecture: <!-- x64 / x86 / arm64 -->
|
||||
- System version number: <!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- Download channels: <!-- Microsoft Store / Official Website / Github / AppStore / xx netdisk -->
|
||||
- Program version: <!-- 2.8.4 -->
|
||||
- Does it contain a standalone runtime: <!-- with_runtime or without fde in the file name -->
|
||||
@@ -1,18 +1,12 @@
|
||||
---
|
||||
name: "(Simplified Chinese)Bug Report \U0001F41B"
|
||||
about: 创建 Bug 报告以帮助我们改进
|
||||
title: "\U0001F41B[BUG] 请输入标题"
|
||||
name: "Bug Report \U0001F41B"
|
||||
about: 创建 Bug 报告以帮助我们改进 / Create a report to help us improve
|
||||
title: "\U0001F41B[BUG] "
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## 请认真检查以下清单中的每一项
|
||||
- [ ] 已经搜索过,没有发现类似的 issue
|
||||
- [ ] 已经搜索过文档,没有发现相关内容
|
||||
- [ ] 已经尝试使用过最新版,问题依旧存在
|
||||
- [ ] 使用的是官方版本(未替换及修改过安装目录程序文件)
|
||||
|
||||
<!--
|
||||
发布前请先尝试在 Issues 内搜索一下你的问题是否已经被提出过,
|
||||
详细地描述 bug,让大家都能理解,请一定确定你所要发布的内容是一个 Bug,如果不确定请发 Question
|
||||
@@ -22,14 +16,14 @@ Describe the bug in detail so that everyone can understand it
|
||||
Don't forget to fill in the title, which should briefly describe the problem
|
||||
-->
|
||||
|
||||
### 🐛 描述
|
||||
### 🐛 描述(Description)
|
||||
<!--
|
||||
详细的描述该问题
|
||||
Describe the problem in detail
|
||||
-->
|
||||
|
||||
|
||||
### 📷 复现步骤
|
||||
### 📷 复现步骤(Steps to Reproduce)
|
||||
|
||||
<!--
|
||||
清晰描述复现步骤,让别人也能看到问题
|
||||
@@ -41,35 +35,27 @@ Ensure that the above steps can be reproduced 100% on most devices as far as pos
|
||||
2.
|
||||
3.
|
||||
|
||||
### 📄 日志信息
|
||||
### 📄 日志信息(Log Information)
|
||||
<!--
|
||||
在程序内 设置 - 通用设置 - 存储空间 - 打开Logs文件夹 找到当天的日志,将文件上传或将关键部分写在此处,在内容的开始与结束上加上 ``` 单独作为一行,如下所示
|
||||
Set in the program - General Settings - storage space - open the logs folder to find the log of the day, upload the file or write the key part here, and add ``` to the beginning and end of the content as a separate line, as shown below
|
||||
|
||||
```
|
||||
- 日志文件所在文件夹路径
|
||||
- Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs```
|
||||
- Windows ```\Logs``` or ```%Tmp%\Steam++\Logs```
|
||||
- macOS ```~/Library/Caches/Steam++/Logs```
|
||||
- Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs```
|
||||
- Android ```/data/data/net.steampp.app/cache/Logs```
|
||||
你的日志内容
|
||||
Your log content
|
||||
```
|
||||
|
||||
-->
|
||||
|
||||
### 🖼 截图
|
||||
### 🚑 基本信息(Basic Information)
|
||||
|
||||
- 程序版本(Program Version):
|
||||
- 系统版本号(OS Version): <!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- 是否为应用商店版本(Whether it is a Store version): <!--是(Yes)/否(No)-->
|
||||
|
||||
### 🖼 截图(Screenshots)
|
||||
|
||||
<!--
|
||||
截图可以贴在这里
|
||||
Screenshots can be posted here
|
||||
-->
|
||||
|
||||
### 🚑 其他信息
|
||||
|
||||
- 处理器体系结构:<!-- x64 / x86 / arm64 -->
|
||||
- 系统版本号:<!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- 下载渠道:<!-- 微软商店 / 官网 / Github / AppStore / xx网盘 -->
|
||||
- 程序版本:<!-- 2.8.4 -->
|
||||
- 是否包含独立运行时:<!-- 文件名中带有 with_runtime 或 不包含 fde -->
|
||||
@@ -1,37 +0,0 @@
|
||||
---
|
||||
name: "(English)Question \U0001F9D0"
|
||||
about: Questions about using the program or need help
|
||||
title: "\U0001F9D0[Question] Please enter a title"
|
||||
labels: question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Please check each item in the following list carefully
|
||||
- [ ] I have searched and found no similar issues
|
||||
- [ ] Have searched the documentation and found no relevant content
|
||||
- [ ] I have tried to use the latest version, but the problem still exists
|
||||
- [ ] The official version is used (no replacement and modification of the installation directory program files)
|
||||
|
||||
<!--
|
||||
Before posting, please try searching for your question in Issuse to see if it has already been asked.
|
||||
Don't forget to fill in the title, which should be a short description of the Question
|
||||
-->
|
||||
|
||||
### 🧐 Description
|
||||
|
||||
<!--
|
||||
Describe the Question in detail so that everyone can understand it
|
||||
-->
|
||||
|
||||
### 🚑 Other Information
|
||||
|
||||
<!--
|
||||
Additional information such as screenshots can be posted here
|
||||
-->
|
||||
|
||||
- Processor architecture: <!-- x64 / x86 / arm64 -->
|
||||
- System version number: <!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- Download channels: <!-- Microsoft Store / Official Website / Github / AppStore / xx netdisk -->
|
||||
- Program version: <!-- 2.8.4 -->
|
||||
- Does it contain a standalone runtime: <!-- with_runtime or without fde in the file name -->
|
||||
@@ -1,37 +1,33 @@
|
||||
---
|
||||
name: "(Simplified Chinese)Question \U0001F9D0"
|
||||
about: 对程序使用的疑问或需要帮助
|
||||
title: "\U0001F9D0[Question] 请输入标题"
|
||||
name: "Question \U0001F9D0"
|
||||
about: 对程序使用的疑问或需要帮助 / Questions about the use of the program or need help
|
||||
title: "\U0001F9D0[Question] "
|
||||
labels: question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## 请认真检查以下清单中的每一项
|
||||
- [ ] 已经搜索过,没有发现类似的 issue
|
||||
- [ ] 已经搜索过文档,没有发现相关内容
|
||||
- [ ] 已经尝试使用过最新版,问题依旧存在
|
||||
- [ ] 使用的是官方版本(未替换及修改过安装目录程序文件)
|
||||
|
||||
<!--
|
||||
发布前请先尝试在 Issuse 内搜索一下你的 Question 是否已经被提出过,
|
||||
别忘了填写标题,标题要简短的描述 Question
|
||||
Before publishing, please try to search in issue to see if your question has been proposed,
|
||||
Don't forget to fill in the title, which should briefly describe the question
|
||||
-->
|
||||
|
||||
### 🧐 问题描述
|
||||
### 🧐 问题描述(Description)
|
||||
|
||||
<!--
|
||||
详细地描述 Question,让大家都能理解
|
||||
Describe the question in detail so that everyone can understand it
|
||||
-->
|
||||
|
||||
### 🚑 其他信息
|
||||
### 🚑 其他信息(Other Information)
|
||||
|
||||
<!--
|
||||
如截图等其他信息可以贴在这里
|
||||
Other information such as screenshots can be posted here
|
||||
-->
|
||||
|
||||
- 处理器体系结构:<!-- x64 / x86 / arm64 -->
|
||||
- 系统版本号:<!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- 下载渠道:<!-- 微软商店 / 官网 / Github / AppStore / xx网盘 -->
|
||||
- 程序版本:<!-- 2.8.4 -->
|
||||
- 是否包含独立运行时:<!-- 文件名中带有 with_runtime 或 不包含 fde -->
|
||||
- 程序版本(Program Version):
|
||||
- 系统版本号(OS Version): <!-- example Windows 10.19042.844(see winver) / macOS Monterey 12 / Ubuntu 20.04.2 LTS -->
|
||||
- 是否为应用商店版本(Whether it is a Store version): <!--是(Yes)/否(No)-->
|
||||
|
||||
@@ -14,6 +14,17 @@ updates:
|
||||
labels:
|
||||
- "automatic"
|
||||
open-pull-requests-limit: 99
|
||||
- package-ecosystem: "nuget"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "07:15"
|
||||
timezone: "Asia/Shanghai"
|
||||
labels:
|
||||
- "automatic"
|
||||
- "dependencies"
|
||||
- ".NET"
|
||||
open-pull-requests-limit: 99
|
||||
- package-ecosystem: "gitsubmodule"
|
||||
directory: "/"
|
||||
schedule:
|
||||
|
||||
@@ -1,101 +0,0 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v3.x
|
||||
- develop
|
||||
- main
|
||||
tags:
|
||||
- "*"
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
# os: [ windows-latest ]
|
||||
os: [ aigio-win10ltsc-vm ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
# if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: recursive
|
||||
|
||||
# - name: Checkout repository(BD.Git.Checkout.Tools)
|
||||
# if: ${{ matrix.os == 'aigio-win10ltsc-vm' }}
|
||||
# run: C:\actions-runner\checkout.exe ${{ github.workspace }} ${{ github.sha }} ${{ github.repositoryUrl }}
|
||||
|
||||
- name: Setup .NET
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: 7.0.x
|
||||
|
||||
- name: Install Android SDK
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
run: dotnet workload install android
|
||||
|
||||
- name: Install iOS SDK
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
run: dotnet workload install ios
|
||||
|
||||
- name: Install macOS SDK
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
run: dotnet workload install macos
|
||||
|
||||
- name: Install Mac Catalyst SDK
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
run: dotnet workload install maccatalyst
|
||||
|
||||
- name: Install Maui
|
||||
if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
run: dotnet workload install maui
|
||||
|
||||
# - name: Install wasm-tools
|
||||
# if: ${{ matrix.os != 'aigio-win10ltsc-vm' }}
|
||||
# run: dotnet workload install wasm-tools
|
||||
|
||||
- name: Restore Workload
|
||||
run: dotnet workload restore src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj
|
||||
|
||||
- name: Verify dotnet info
|
||||
run: dotnet --info
|
||||
|
||||
- name: Build BD.WTTS.Client.AppHost
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.AppHost\BD.WTTS.Client.AppHost.csproj --nologo -v q --property:WarningLevel=1 --property:DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Plugins.Accelerator.ReverseProxy
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy\BD.WTTS.Client.Plugins.Accelerator.ReverseProxy.csproj --nologo -v q --property:WarningLevel=1 --property:DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Avalonia.App
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.App\BD.WTTS.Client.Avalonia.App.csproj --nologo -v q --property:WarningLevel=1 --property:DebugType=pdbonly
|
||||
|
||||
- name: Build BD.WTTS.Client.Avalonia.Designer.HostApp
|
||||
run: dotnet build -c Release src\BD.WTTS.Client.Avalonia.Designer.HostApp\BD.WTTS.Client.Avalonia.Designer.HostApp.csproj --nologo -v q --property:WarningLevel=1 --property:DebugType=pdbonly
|
||||
|
||||
- name: Test
|
||||
run: dotnet test src/BD.WTTS.UnitTest/BD.WTTS.UnitTest.csproj -c Release -p:GeneratePackageOnBuild=false --nologo -v q --property:WarningLevel=1 --property:DebugType=pdbonly
|
||||
|
||||
# release:
|
||||
# name: Release
|
||||
# needs: build
|
||||
# runs-on: ubuntu-latest
|
||||
#
|
||||
# steps:
|
||||
# - name: Changelog
|
||||
# uses: glennawatson/ChangeLog@v1
|
||||
# id: changelog
|
||||
#
|
||||
# - name: Create Release
|
||||
# uses: ncipollo/release-action@v1
|
||||
# with:
|
||||
# token: ${{ secrets.RMBADMIN_TOKEN }}
|
||||
# body: ${{ steps.changelog.outputs.commitLog }}
|
||||
# draft: false
|
||||
# prerelease: false
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup .NET 6
|
||||
uses: actions/setup-dotnet@v3
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup .NET 6
|
||||
uses: actions/setup-dotnet@v3
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
@@ -321,13 +321,13 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup .NET 6
|
||||
uses: actions/setup-dotnet@v3
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: microsoft/setup-msbuild@v1.3
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
|
||||
- name: Verify dotnet info
|
||||
run: |
|
||||
|
||||
@@ -24,13 +24,13 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup .NET 6
|
||||
uses: actions/setup-dotnet@v3
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Add msbuild to PATH
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: microsoft/setup-msbuild@v1.3
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
|
||||
# - name: Install macOS SDK(macOS)
|
||||
# if: matrix.os == 'macOS-latest'
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
# xcode-version: '12.x' # set the latest available Xcode 12
|
||||
|
||||
- name: Setup Android NDK
|
||||
uses: nttld/setup-ndk@v1.2.0
|
||||
uses: nttld/setup-ndk@v1.0.6
|
||||
id: setup-ndk
|
||||
with:
|
||||
ndk-version: r21e
|
||||
|
||||
+24
-302
@@ -1,7 +1,7 @@
|
||||
## 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/main/VisualStudio.gitignore
|
||||
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
|
||||
|
||||
# User-specific files
|
||||
*.rsuser
|
||||
@@ -13,9 +13,6 @@
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Mono auto generated files
|
||||
mono_crash.*
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
@@ -23,18 +20,16 @@ mono_crash.*
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
[Ww][Ii][Nn]32/
|
||||
[Aa][Rr][Mm]/
|
||||
[Aa][Rr][Mm]64/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Ll]og/
|
||||
[Ll]ogs/
|
||||
[Ll]ib/
|
||||
|
||||
# Visual Studio 2015/2017 cache/options directory
|
||||
.vs/
|
||||
.vscode/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
@@ -45,10 +40,9 @@ Generated\ Files/
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUnit
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
nunit-*.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
@@ -63,9 +57,6 @@ project.lock.json
|
||||
project.fragment.lock.json
|
||||
artifacts/
|
||||
|
||||
# ASP.NET Scaffolding
|
||||
ScaffoldingReadMe.txt
|
||||
|
||||
# StyleCop
|
||||
StyleCopReport.xml
|
||||
|
||||
@@ -91,7 +82,6 @@ StyleCopReport.xml
|
||||
*.tmp_proj
|
||||
*_wpftmp.csproj
|
||||
*.log
|
||||
*.tlog
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
@@ -133,6 +123,9 @@ _ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
@@ -143,11 +136,6 @@ _TeamCity*
|
||||
.axoCover/*
|
||||
!.axoCover/settings.json
|
||||
|
||||
# Coverlet is a free, cross platform Code Coverage Tool
|
||||
coverage*.json
|
||||
coverage*.xml
|
||||
coverage*.info
|
||||
|
||||
# Visual Studio code coverage results
|
||||
*.coverage
|
||||
*.coveragexml
|
||||
@@ -195,8 +183,6 @@ 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.
|
||||
@@ -221,8 +207,6 @@ BundleArtifacts/
|
||||
Package.StoreAssociation.xml
|
||||
_pkginfo.txt
|
||||
*.appx
|
||||
*.appxbundle
|
||||
*.appxupload
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
@@ -272,9 +256,7 @@ ServiceFabricBackup/
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
*.rptproj.rsuser
|
||||
*- [Bb]ackup.rdl
|
||||
*- [Bb]ackup ([0-9]).rdl
|
||||
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||
*- Backup*.rdl
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
@@ -295,17 +277,6 @@ node_modules/
|
||||
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||
*.vbw
|
||||
|
||||
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
||||
*.vbp
|
||||
|
||||
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
||||
*.dsw
|
||||
*.dsp
|
||||
|
||||
# Visual Studio 6 technical files
|
||||
*.ncb
|
||||
*.aps
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
@@ -321,6 +292,10 @@ paket-files/
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
|
||||
# JetBrains Rider
|
||||
.idea/
|
||||
*.sln.iml
|
||||
|
||||
# CodeRush personal settings
|
||||
.cr/personal
|
||||
|
||||
@@ -362,9 +337,6 @@ ASALocalRun/
|
||||
# Local History for Visual Studio
|
||||
.localhistory/
|
||||
|
||||
# Visual Studio History (VSHistory) files
|
||||
.vshistory/
|
||||
|
||||
# BeatPulse healthcheck temp database
|
||||
healthchecksdb
|
||||
|
||||
@@ -374,269 +346,19 @@ MigrationBackup/
|
||||
# Ionide (cross platform F# VS Code tools) working folder
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
|
||||
# VS Code files for those working on multiple tools
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
*.code-workspace
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Windows Installer files from build outputs
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# JetBrains Rider
|
||||
*.sln.iml
|
||||
|
||||
# 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/
|
||||
|
||||
# Built application files
|
||||
*.apk
|
||||
*.aar
|
||||
*.ap_
|
||||
*.aab
|
||||
|
||||
# Files for the ART/Dalvik VM
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
|
||||
# Generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
# Uncomment the following line in case you need and you don't have the release build type files in your app
|
||||
# release/
|
||||
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
# Proguard folder generated by Eclipse
|
||||
proguard/
|
||||
|
||||
# Log Files
|
||||
*.log
|
||||
|
||||
# Android Studio Navigation editor temp files
|
||||
.navigation/
|
||||
|
||||
# Android Studio captures folder
|
||||
captures/
|
||||
|
||||
# IntelliJ
|
||||
*.iml
|
||||
.idea/workspace.xml
|
||||
.idea/tasks.xml
|
||||
.idea/gradle.xml
|
||||
.idea/assetWizardSettings.xml
|
||||
.idea/dictionaries
|
||||
.idea/libraries
|
||||
# Android Studio 3 in .gitignore file.
|
||||
.idea/caches
|
||||
.idea/modules.xml
|
||||
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
|
||||
.idea/navEditor.xml
|
||||
|
||||
# Keystore files
|
||||
# Uncomment the following lines if you do not want to check your keystore files in.
|
||||
#*.jks
|
||||
#*.keystore
|
||||
|
||||
# External native build folder generated in Android Studio 2.2 and later
|
||||
.externalNativeBuild
|
||||
.cxx/
|
||||
|
||||
# Google Services (e.g. APIs or Firebase)
|
||||
# google-services.json
|
||||
|
||||
# Freeline
|
||||
freeline.py
|
||||
freeline/
|
||||
freeline_project_description.json
|
||||
|
||||
# fastlane
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots
|
||||
fastlane/test_output
|
||||
fastlane/readme.md
|
||||
|
||||
# Version control
|
||||
vcs.xml
|
||||
|
||||
# lint
|
||||
lint/intermediates/
|
||||
lint/generated/
|
||||
lint/outputs/
|
||||
lint/tmp/
|
||||
# lint/reports/
|
||||
|
||||
# Xcode
|
||||
#
|
||||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||
|
||||
## User settings
|
||||
xcuserdata/
|
||||
|
||||
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
|
||||
*.xcscmblueprint
|
||||
*.xccheckout
|
||||
|
||||
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
|
||||
build/
|
||||
DerivedData/
|
||||
*.moved-aside
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
|
||||
## Obj-C/Swift specific
|
||||
*.hmap
|
||||
|
||||
## App packaging
|
||||
*.ipa
|
||||
*.dSYM.zip
|
||||
*.dSYM
|
||||
|
||||
## Playgrounds
|
||||
timeline.xctimeline
|
||||
playground.xcworkspace
|
||||
|
||||
# Swift Package Manager
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
|
||||
# Packages/
|
||||
# Package.pins
|
||||
# Package.resolved
|
||||
# *.xcodeproj
|
||||
#
|
||||
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
|
||||
# hence it is not needed unless you have added a package configuration file to your project
|
||||
# .swiftpm
|
||||
|
||||
.build/
|
||||
|
||||
# CocoaPods
|
||||
#
|
||||
# We recommend against adding the Pods directory to your .gitignore. However
|
||||
# you should judge for yourself, the pros and cons are mentioned at:
|
||||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
||||
#
|
||||
# Pods/
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from the Xcode workspace
|
||||
# *.xcworkspace
|
||||
|
||||
# Carthage
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||
# Carthage/Checkouts
|
||||
|
||||
Carthage/Build/
|
||||
|
||||
# Accio dependency management
|
||||
Dependencies/
|
||||
.accio/
|
||||
|
||||
# fastlane
|
||||
#
|
||||
# It is recommended to not store the screenshots in the git repo.
|
||||
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
|
||||
# For more information about the recommended setup visit:
|
||||
# https://docs.fastlane.tools/best-practices/source-control/#source-control
|
||||
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots/**/*.png
|
||||
fastlane/test_output
|
||||
|
||||
# Code Injection
|
||||
#
|
||||
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
||||
# https://github.com/johnno1962/injectionforxcode
|
||||
|
||||
iOSInjectionProject/
|
||||
|
||||
# Prerequisites
|
||||
*.d
|
||||
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Fortran module files
|
||||
*.mod
|
||||
*.smod
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
*.lib
|
||||
|
||||
# Executables
|
||||
*.out
|
||||
*.app
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
|
||||
# BeyondDimension
|
||||
.idea
|
||||
/pkg
|
||||
!**/BD.WTTS.Client.Avalonia.App
|
||||
/ref/DirectoryPackages
|
||||
# Design Resource
|
||||
*.psd
|
||||
|
||||
# Android Resource Designer
|
||||
Resource.designer.cs
|
||||
|
||||
# csproject launchSettings
|
||||
launchSettings.json
|
||||
|
||||
# Android KeyStore
|
||||
*.jks
|
||||
/Xamarin.Android.KeyStore.props
|
||||
*.ts
|
||||
|
||||
+41
-50
@@ -1,51 +1,42 @@
|
||||
[submodule "ref/DirectoryPackages"]
|
||||
path = ref/DirectoryPackages
|
||||
url = https://github.com/BeyondDimension/DirectoryPackages.git
|
||||
[submodule "ref/ArchiSteamFarm"]
|
||||
path = ref/ArchiSteamFarm
|
||||
url = https://github.com/BeyondDimension/ArchiSteamFarm.git
|
||||
[submodule "ref/Avalonia.Image2"]
|
||||
path = ref/Avalonia.Image2
|
||||
url = https://github.com/BeyondDimension/Avalonia.Image2.git
|
||||
[submodule "ref/Gameloop.Vdf"]
|
||||
path = ref/Gameloop.Vdf
|
||||
[submodule "references/Titanium-Web-Proxy"]
|
||||
path = references/Titanium-Web-Proxy
|
||||
url = https://github.com/SteamTools-Team/Titanium-Web-Proxy.git
|
||||
[submodule "references/MetroRadiance"]
|
||||
path = references/MetroRadiance
|
||||
url = https://github.com/rmbadmin/MetroRadiance.git
|
||||
[submodule "references/SteamAchievementManager"]
|
||||
path = references/SteamAchievementManager
|
||||
url = https://github.com/SteamTools-Team/SteamAchievementManager.git
|
||||
[submodule "references/Steam4NET"]
|
||||
path = references/Steam4NET
|
||||
url = https://github.com/SteamTools-Team/Steam4NET.git
|
||||
[submodule "references/Depressurizer"]
|
||||
path = references/Depressurizer
|
||||
url = https://github.com/SteamTools-Team/Depressurizer.git
|
||||
[submodule "references/AvaloniaGif"]
|
||||
path = references/AvaloniaGif
|
||||
url = https://github.com/SteamTools-Team/AvaloniaGif
|
||||
[submodule "references/WinAuth"]
|
||||
path = references/WinAuth
|
||||
url = https://github.com/SteamTools-Team/WinAuth
|
||||
[submodule "references/ArchiSteamFarm"]
|
||||
path = references/ArchiSteamFarm
|
||||
url = https://github.com/SteamTools-Team/ArchiSteamFarm.git
|
||||
[submodule "references/sqlite-net"]
|
||||
path = references/sqlite-net
|
||||
url = https://github.com/SteamTools-Team/sqlite-net.git
|
||||
[submodule "references/FluentAvalonia"]
|
||||
path = references/FluentAvalonia
|
||||
url = https://github.com/SteamTools-Team/FluentAvalonia.git
|
||||
[submodule "references/reactive"]
|
||||
path = references/reactive
|
||||
url = https://github.com/SteamTools-Team/reactive.git
|
||||
[submodule "references/dotnet-packaging"]
|
||||
path = references/dotnet-packaging
|
||||
url = https://github.com/qmfrederik/dotnet-packaging.git
|
||||
[submodule "references/SevenZipSharp"]
|
||||
path = references/SevenZipSharp
|
||||
url = https://github.com/SteamTools-Team/SevenZipSharp.git
|
||||
[submodule "references/Gameloop.Vdf"]
|
||||
path = references/Gameloop.Vdf
|
||||
url = https://github.com/BeyondDimension/Gameloop.Vdf.git
|
||||
[submodule "ref/Steam4NET"]
|
||||
path = ref/Steam4NET
|
||||
url = https://github.com/BeyondDimension/Steam4NET.git
|
||||
[submodule "ref/Titanium-Web-Proxy"]
|
||||
path = ref/Titanium-Web-Proxy
|
||||
url = https://github.com/BeyondDimension/Titanium-Web-Proxy.git
|
||||
[submodule "ref/SteamAchievementManager"]
|
||||
path = ref/SteamAchievementManager
|
||||
url = https://github.com/BeyondDimension/SteamAchievementManager.git
|
||||
[submodule "ref/SteamClient"]
|
||||
path = ref/SteamClient
|
||||
url = https://github.com/BeyondDimension/SteamClient
|
||||
[submodule "ref/dotnet-packaging"]
|
||||
path = ref/dotnet-packaging
|
||||
url = https://github.com/quamotion/dotnet-packaging.git
|
||||
[submodule "ref/WTTS.MicroServices.ClientSDK"]
|
||||
path = ref/WTTS.MicroServices.ClientSDK
|
||||
url = https://github.com/BeyondDimension/WTTS.MicroServices.ClientSDK.git
|
||||
[submodule "ref/Common"]
|
||||
path = ref/Common
|
||||
url = https://github.com/BeyondDimension/Common.git
|
||||
[submodule "ref/WinAuth"]
|
||||
path = ref/WinAuth
|
||||
url = https://github.com/BeyondDimension/WinAuth.git
|
||||
[submodule "ref/Facepunch.Steamworks"]
|
||||
path = ref/Facepunch.Steamworks
|
||||
url = https://github.com/BeyondDimension/Facepunch.Steamworks.git
|
||||
[submodule "ref/appcenter-sdk-dotnet"]
|
||||
path = ref/appcenter-sdk-dotnet
|
||||
url = https://github.com/BeyondDimension/appcenter-sdk-dotnet.git
|
||||
[submodule "ref/Fusillade"]
|
||||
path = ref/Fusillade
|
||||
url = https://github.com/reactiveui/Fusillade
|
||||
[submodule "ref/Avalonia8"]
|
||||
path = ref/Avalonia8
|
||||
url = https://github.com/BeyondDimension/Avalonia8
|
||||
[submodule "ref/dotnetCampus.Ipc"]
|
||||
path = ref/dotnetCampus.Ipc
|
||||
url = https://github.com/BeyondDimension/dotnetCampus.Ipc
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<NoWarn>NU1507;NU1605</NoWarn>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<TrimMode>link</TrimMode>
|
||||
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<CheckEolTargetFramework>false</CheckEolTargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" Exists('$(MSBuildProjectDirectory)\..\..\Unicorn.snk') ">
|
||||
<DefineConstants>SIGN_ASSEMBLY;$(DefineConstants)</DefineConstants>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<DelaySign>false</DelaySign>
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildProjectDirectory)\..\..\Unicorn.snk</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,330 @@
|
||||
<Project>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('net6.0')) ">
|
||||
<!-- Microsoft.Extensions.* & AspNetCore & EntityFrameworkCore(NET60) -->
|
||||
<!--<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />-->
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.AzureAppServices" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="6.0.1" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.8" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('netstandard')) Or $(TargetFramework.StartsWith('netcoreapp3.1'))">
|
||||
<!-- Microsoft.Extensions.* & AspNetCore & EntityFrameworkCore(NETCOREAPP31) -->
|
||||
<!--<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="3.1.27" />-->
|
||||
<PackageVersion Include="Microsoft.Extensions.Http" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Logging.AzureAppServices" Version="6.0.8" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.27" />
|
||||
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.27" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('net6.0')) ">
|
||||
<!-- Entity Framework Plus -->
|
||||
<!-- A FREE & Open Source library to enhance EF6 and EF Core -->
|
||||
<PackageVersion Include="Z.EntityFramework.Plus.EFCore" Version="6.14.4" />
|
||||
|
||||
<!-- AspNetCore 6 OpenId/OAuth -->
|
||||
<PackageVersion Include="AspNet.Security.OpenId.Steam" Version="6.0.0" />
|
||||
<PackageVersion Include="AspNet.Security.OAuth.QQ" Version="6.0.11" />
|
||||
<PackageVersion Include="AspNet.Security.OAuth.Apple" Version="6.0.11" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net48' Or '$(TargetFramework)' == 'net472' Or '$(TargetFramework)' == 'net471' Or '$(TargetFramework)' == 'net46' Or '$(TargetFramework)' == 'net462' Or '$(TargetFramework)' == 'net461' Or '$(TargetFramework)' == 'net45' Or '$(TargetFramework)' == 'net452' Or '$(TargetFramework)' == 'net451' ">
|
||||
<!-- WindowsRuntime(NETFX) & PowerShell 5 -->
|
||||
<PackageVersion Include="System.Runtime.WindowsRuntime" Version="4.7.0" />
|
||||
<PackageVersion Include="System.Runtime.WindowsRuntime.UI.Xaml" Version="4.7.0" />
|
||||
<PackageVersion Include="Microsoft.PowerShell.5.ReferenceAssemblies" Version="1.1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('netstandard')) Or $(TargetFramework.StartsWith('net5.0')) Or $(TargetFramework.StartsWith('netcoreapp3.1')) Or $(TargetFramework.StartsWith('netcoreapp3.0')) Or $(TargetFramework.StartsWith('netcoreapp2.2')) Or $(TargetFramework.StartsWith('netcoreapp2.1')) Or $(TargetFramework.StartsWith('netcoreapp2.0')) ">
|
||||
<!-- .NET Platform Extensions 5 -->
|
||||
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition=" $(TargetFramework.StartsWith('netstandard')) ">
|
||||
<!-- BCL(NETSTANDARD) -->
|
||||
<PackageVersion Include="System.Text.Json" Version="6.0.2" />
|
||||
<PackageVersion Include="System.Text.Encodings.Web" Version="6.0.0" />
|
||||
<PackageVersion Include="System.Drawing.Common" Version="6.0.0" />
|
||||
<PackageVersion Include="System.Security.Principal.Windows" Version="5.0.0" />
|
||||
<PackageVersion Include="System.Buffers" Version="4.5.1" />
|
||||
<PackageVersion Include="System.Memory" Version="4.5.5" />
|
||||
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
|
||||
<PackageVersion Include="System.Diagnostics.Tracing" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<!-- Microsoft.* -->
|
||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
|
||||
<!--<PackageVersion Include="Microsoft.Windows.CsWinRT" Version="1.4.1" />-->
|
||||
<!--<PackageVersion Include="Microsoft.Windows.SDK.NET.Ref" Version="10.0.19041.22" />-->
|
||||
<!--<PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />-->
|
||||
<PackageVersion Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.1" />
|
||||
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="6.0.0" />
|
||||
<PackageVersion Include="Microsoft.Net.Http.Headers" Version="2.2.255.255" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
|
||||
<!--<PackageVersion Include="CommunityToolkit.Mvvm" Version="7.1.2" />-->
|
||||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="6.0.0" />
|
||||
<PackageVersion Include="System.Diagnostics.PerformanceCounter" Version="6.0.1" />
|
||||
<PackageVersion Include="System.Net.Http.WinHttpHandler" Version="6.0.1" />
|
||||
|
||||
<!-- AppCenter.* -->
|
||||
<PackageVersion Include="Microsoft.AppCenter" Version="4.5.3" />
|
||||
<PackageVersion Include="Microsoft.AppCenter.Analytics" Version="4.5.3" />
|
||||
<PackageVersion Include="Microsoft.AppCenter.Crashes" Version="4.5.3" />
|
||||
<PackageVersion Include="Aigio.Avalonia.AppCenter" Version="4.5.3" />
|
||||
<PackageVersion Include="Aigio.Avalonia.AppCenter.Analytics" Version="4.5.3" />
|
||||
<PackageVersion Include="Aigio.Avalonia.AppCenter.Crashes" Version="4.5.3" />
|
||||
<!--<PackageVersion Include="nor0x.AppCenter" Version="4.4.0-XMAC" />
|
||||
<PackageVersion Include="nor0x.AppCenter.Analytics" Version="4.4.0-XMAC" />
|
||||
<PackageVersion Include="nor0x.AppCenter.Crashes" Version="4.4.0-XMAC" />-->
|
||||
|
||||
<!-- .NET Platform Extensions 6 -->
|
||||
<PackageVersion Include="System.Security.Cryptography.ProtectedData" Version="6.0.0" />
|
||||
<PackageVersion Include="System.Management" Version="6.0.0" />
|
||||
|
||||
<!-- Xamarin -->
|
||||
<PackageVersion Include="Xamarin.Essentials" Version="1.7.3" />
|
||||
<!-- Xamarin.Forms -->
|
||||
<PackageVersion Include="Xamarin.Forms" Version="5.0.0.2478" />
|
||||
<PackageVersion Include="Xamarin.Forms.Visual.Material" Version="5.0.0.2478" />
|
||||
<PackageVersion Include="Xam.Plugins.Forms.ImageCircle" Version="3.1.1.1-beta" />
|
||||
|
||||
<!-- NUnit & NUnit.Xamarin & Moq -->
|
||||
<PackageVersion Include="NUnit" Version="3.13.3" />
|
||||
<PackageVersion Include="NUnit3TestAdapter" Version="4.2.1" />
|
||||
<PackageVersion Include="nunit.xamarin" Version="3.6.1" />
|
||||
<PackageVersion Include="PCLStorage" Version="1.0.2" />
|
||||
<PackageVersion Include="Moq" Version="4.18.2" />
|
||||
|
||||
<!-- NLog -->
|
||||
<PackageVersion Include="NLog" Version="5.0.4" />
|
||||
<PackageVersion Include="NLog.Extensions.Logging" Version="5.0.4" />
|
||||
<PackageVersion Include="NLog.Web.AspNetCore" Version="5.1.4" />
|
||||
<PackageVersion Include="AspNetCore2.NETStandard.NLog.Web.AspNetCore" Version="5.0.0" />
|
||||
|
||||
<!-- ReactiveUI -->
|
||||
<PackageVersion Include="System.Reactive" Version="5.0.0" />
|
||||
<PackageVersion Include="Splat" Version="14.4.1" />
|
||||
<PackageVersion Include="DynamicData" Version="7.9.14" />
|
||||
<PackageVersion Include="ReactiveUI" Version="18.3.1" />
|
||||
<PackageVersion Include="ReactiveUI.Fody" Version="18.3.1" />
|
||||
<PackageVersion Include="ReactiveUI.XamForms" Version="18.3.1" />
|
||||
<PackageVersion Include="ReactiveUI.AndroidX" Version="18.3.1" />
|
||||
<PackageVersion Include="ReactiveUI.Maui" Version="18.3.1" />
|
||||
<!-- SkiaSharp & HarfBuzzSharp -->
|
||||
<!-- https://github.com/AvaloniaUI/Avalonia/blob/master/build/HarfBuzzSharp.props -->
|
||||
<PackageVersion Include="HarfBuzzSharp" Version="2.8.2.1-preview.104" />
|
||||
<PackageVersion Include="HarfBuzzSharp.NativeAssets.Linux" Version="2.8.2.1-preview.104" />
|
||||
<!-- https://github.com/AvaloniaUI/Avalonia/blob/master/build/SkiaSharp.props -->
|
||||
<PackageVersion Include="SkiaSharp" Version="2.88.1-preview.104" />
|
||||
<PackageVersion Include="SkiaSharp.NativeAssets.Linux" Version="2.88.1-preview.104" />
|
||||
|
||||
<!-- AutoMapper -->
|
||||
<PackageVersion Include="AutoMapper" Version="11.0.1" />
|
||||
<PackageVersion Include="AutoMapper.Collection" Version="8.0.0" />
|
||||
<PackageVersion Include="AutoMapper.Collection.EntityFrameworkCore" Version="8.0.0" />
|
||||
<PackageVersion Include="AutoMapper.Extensions.ExpressionMapping" Version="5.1.0" />
|
||||
<PackageVersion Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
|
||||
|
||||
<!-- QRCode -->
|
||||
<!--<PackageVersion Include="QRCoder" Version="1.4.2" />-->
|
||||
<PackageVersion Include="Net.Codecrete.QrCodeGenerator" Version="2.0.3" />
|
||||
|
||||
<!-- NotifyIcon -->
|
||||
<PackageVersion Include="NotifyIcon.Base" Version="1.1.0" />
|
||||
<!--<PackageVersion Include="NotifyIcon.Linux" Version="1.1.0" />-->
|
||||
<!--<PackageVersion Include="NotifyIcon.Mac" Version="1.1.0" />-->
|
||||
<PackageVersion Include="NotifyIcon.Windows" Version="1.1.0" />
|
||||
<!--<PackageVersion Include="GtkSharp" Version="3.24.24.38" />-->
|
||||
|
||||
<!-- Compression -->
|
||||
<PackageVersion Include="SharpZipLib" Version="1.3.3" />
|
||||
<PackageVersion Include="Squid-Box.SevenZipSharp.Lite" Version="1.5.0.366" />
|
||||
<PackageVersion Include="7-Zip.NativeAssets.Win32" Version="21.7.0-preview.1" />
|
||||
<PackageVersion Include="ZstdNet" Version="1.4.5" />
|
||||
|
||||
<!-- Algorithm -->
|
||||
<PackageVersion Include="Crc32.NET" Version="1.2.0" />
|
||||
<PackageVersion Include="gfoidl.Base64" Version="1.1.1" />
|
||||
|
||||
<!--Command Line Tools-->
|
||||
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
|
||||
<PackageVersion Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
|
||||
|
||||
<!-- Pinyin -->
|
||||
<PackageVersion Include="TinyPinyin.Net" Version="1.0.2" />
|
||||
<PackageVersion Include="XAB.TinyPinyin" Version="2.0.4.4" />
|
||||
|
||||
<!-- Win32/Windows -->
|
||||
<PackageVersion Include="TaskScheduler" Version="2.10.1" />
|
||||
|
||||
<!-- Swagger -->
|
||||
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
<PackageVersion Include="Swashbuckle.AspNetCore.Annotations" Version="6.4.0" />
|
||||
<PackageVersion Include="Swashbuckle.AspNetCore.Newtonsoft" Version="6.4.0" />
|
||||
<PackageVersion Include="AspNetCore2.NETStandard.Swashbuckle.AspNetCore" Version="6.3.1" />
|
||||
<PackageVersion Include="AspNetCore2.NETStandard.Swashbuckle.AspNetCore.Annotations" Version="6.3.1" />
|
||||
<PackageVersion Include="AspNetCore2.NETStandard.Swashbuckle.AspNetCore.Newtonsoft" Version="6.3.1" />
|
||||
|
||||
<!-- Pay -->
|
||||
<!--<PackageVersion Include="AlipaySDKNet.Standard" Version="4.6.109" />-->
|
||||
|
||||
<!-- Excel -->
|
||||
<PackageVersion Include="NPOI" Version="2.5.6" />
|
||||
|
||||
<!-- Github API -->
|
||||
<PackageVersion Include="Octokit" Version="2.0.1" />
|
||||
|
||||
<!-- ORM -->
|
||||
<PackageVersion Include="sqlite-net-pcl" Version="1.8.116" />
|
||||
<PackageVersion Include="SQLitePCLRaw.bundle_green" Version="2.1.0" />
|
||||
|
||||
<!-- MonoMac(NETSTANDARD) -->
|
||||
<PackageVersion Include="MonoMac.NetStandard" Version="0.0.4" />
|
||||
|
||||
<!-- .NET Compat -->
|
||||
<PackageVersion Include="OperatingSystem2" Version="2.0.0" />
|
||||
<PackageVersion Include="JustArchiNET.Madness" Version="3.7.0" />
|
||||
|
||||
<!-- Serialize -->
|
||||
<PackageVersion Include="MessagePack" Version="2.4.35" />
|
||||
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
|
||||
<!-- Html Parser -->
|
||||
<PackageVersion Include="HtmlAgilityPack" Version="1.11.45" />
|
||||
|
||||
<!-- Clipboard -->
|
||||
<PackageVersion Include="TextCopy" Version="6.1.0" />
|
||||
|
||||
<!-- Nito.* -->
|
||||
<PackageVersion Include="Nito.Comparers" Version="6.2.2" />
|
||||
<!--<PackageVersion Include="Nito.Disposables" Version="2.2.1" />-->
|
||||
|
||||
<!-- Valve Data File -->
|
||||
<!--<PackageVersion Include="Gameloop.Vdf" Version="0.6.1" />-->
|
||||
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
|
||||
<PackageVersion Include="System.ComponentModel.TypeConverter" Version="4.3.0" />
|
||||
|
||||
<!-- WebSocket -->
|
||||
<PackageVersion Include="Fleck" Version="1.2.0" />
|
||||
|
||||
<!-- DNS -->
|
||||
<PackageVersion Include="DnsClient" Version="1.6.1" />
|
||||
<PackageVersion Include="DNS" Version="7.0.0" />
|
||||
|
||||
<!-- Cryptographic Algorithms & Protocols -->
|
||||
<PackageVersion Include="Portable.BouncyCastle" Version="1.9.0" />
|
||||
|
||||
<!-- Resilience & Transient Fault Handling -->
|
||||
<PackageVersion Include="Polly" Version="7.2.3" />
|
||||
|
||||
<!--Avalonia Start-->
|
||||
<PackageVersion Include="Avalonia" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Desktop" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Skia" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Diagnostics" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.ReactiveUI" Version="0.10.18" />
|
||||
<!--<PackageVersion Include="Avalonia.Direct2D1" Version="0.10.16" />-->
|
||||
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Xaml.Behaviors" Version="0.10.17" />
|
||||
<!--<PackageVersion Include="Avalonia.AvaloniaEdit" Version="0.10.12.2" />-->
|
||||
<!--<PackageVersion Include="CefNet.Avalonia" Version="93.1.21240.857" />-->
|
||||
<!--<PackageVersion Include="LibVLCSharp.Avalonia" Version="3.5.1" />-->
|
||||
<!--<PackageVersion Include="FluentAvaloniaUI" Version="1.4.1" />-->
|
||||
<PackageVersion Include="LiveChartsCore.SkiaSharpView.Avalonia" Version="2.0.0-beta.350" />
|
||||
<PackageVersion Include="JumpLists.Win32.Avalonia" Version="1.0.0" />
|
||||
<PackageVersion Include="Avalonia.Native" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.Win32" Version="0.10.18" />
|
||||
<PackageVersion Include="Avalonia.X11" Version="0.10.18" />
|
||||
<!--<PackageVersion Include="Avalonia.HtmlRenderer" Version="0.10.0" />-->
|
||||
<PackageVersion Include="WebView2.Avalonia" Version="1.0.1264.42-preview.220713.10" />
|
||||
<!--Avalonia End-->
|
||||
|
||||
<!-- Xamarin.Android -->
|
||||
<PackageVersion Include="Xamarin.Build.Download" Version="0.11.3" />
|
||||
<PackageVersion Include="Xamarin.Google.Dagger" Version="2.40.5" />
|
||||
<PackageVersion Include="Xamarin.Google.MLKit.BarcodeScanning" Version="116.1.2.5" />
|
||||
<PackageVersion Include="Plugin.CurrentActivity" Version="2.1.0.4" />
|
||||
<PackageVersion Include="de.hdodenhof.circleimageview" Version="3.1.0.4" />
|
||||
<PackageVersion Include="Square.OkHttp3" Version="4.9.3" />
|
||||
<PackageVersion Include="Square.Picasso" Version="2.71828.0" />
|
||||
<!--<PackageVersion Include="LeakCanaryBinding" Version="1.5.1.1" />-->
|
||||
<!--<PackageVersion Include="TencentOpenApiSDK.Android" Version="3.5.4.11" />-->
|
||||
<PackageVersion Include="XAB.FlexboxLayout" Version="3.0.0.2" />
|
||||
|
||||
<!-- V2Ray -->
|
||||
<PackageVersion Include="XAB.AndroidLibV2rayLite" Version="1.0.0.1" />
|
||||
<!--<PackageVersion Include="Karamunting.KotlinX.Coroutines.Core" Version="1.4.2" />-->
|
||||
<PackageVersion Include="Xamarin.KotlinX.Coroutines.Core" Version="1.6.4" />
|
||||
<PackageVersion Include="Xamarin.KotlinX.Coroutines.Android" Version="1.6.4" />
|
||||
<PackageVersion Include="Xamarin.Android.ReactiveX.RxJava3.RxJava" Version="3.1.5.1" />
|
||||
|
||||
<!-- Xamarin.AndroidX -->
|
||||
<PackageVersion Include="Xamarin.AndroidX.Migration" Version="1.0.10" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.AppCompat" Version="1.4.2.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Emoji.AppCompat" Version="1.1.0.9" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Fragment" Version="1.5.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.RecyclerView" Version="1.2.1.7" />
|
||||
<PackageVersion Include="Xamarin.Google.Android.Material" Version="1.6.1.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.SwipeRefreshLayout" Version="1.1.0.9" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.ConstraintLayout" Version="2.1.4.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Navigation.UI" Version="2.5.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Navigation.Fragment" Version="2.5.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.ViewPager2" Version="1.0.0.16" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Activity" Version="1.5.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Biometric" Version="1.1.0.10" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.ExifInterface" Version="1.3.3.6" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Legacy.Support.Core.UI" Version="1.0.0.15" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.5.1" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Camera.Camera2" Version="1.1.0" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Camera.Lifecycle" Version="1.1.0" />
|
||||
<PackageVersion Include="Xamarin.AndroidX.Camera.View" Version="1.1.0-beta02" />
|
||||
<!--<PackageVersion Include="Xamarin.AndroidX.Window" Version="1.0.0.9" />-->
|
||||
<PackageVersion Include="Xamarin.AndroidX.WebKit" Version="1.4.0.8" />
|
||||
|
||||
<!-- Xamarin.iOS -->
|
||||
<PackageVersion Include="Toast.iOS" Version="1.2.0" />
|
||||
|
||||
<!-- UWP -->
|
||||
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
|
||||
<PackageVersion Include="Microsoft.WindowsAppSDK" Version="1.1.4" />
|
||||
|
||||
<!-- Code Style -->
|
||||
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.435" />
|
||||
|
||||
<!-- Quartz -->
|
||||
<PackageVersion Include="Quartz.AspNetCore" Version="3.4.0" />
|
||||
|
||||
<!-- Yet Another Reverse Proxy -->
|
||||
<PackageVersion Include="Yarp.ReverseProxy" Version="1.1.1" />
|
||||
|
||||
<!-- WinDivert -->
|
||||
<PackageVersion Include="Aigio.WinDivertSharp" Version="1.4.4.3" />
|
||||
|
||||
<!-- ArchiSteamFarm -->
|
||||
<PackageVersion Include="ArchiSteamFarm.Library" Version="5.2.6.3-preview.220608" />
|
||||
|
||||
<!-- DBreeze(key value store embedded) -->
|
||||
<PackageVersion Include="DBreeze" Version="1.107.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+3
-11
@@ -1,13 +1,5 @@
|
||||
<configuration>
|
||||
<!-- https://learn.microsoft.com/zh-cn/nuget/reference/nuget-config-file -->
|
||||
<packageSources>
|
||||
<!-- 👇 添加本地包源 LocalNuGetPackages -->
|
||||
<!--<add key="LocalNuGetPackages_rx" value="./ref/pkg/rx" />-->
|
||||
<!--<add key="LocalNuGetPackages_wtts" value="./ref/pkg/wtts" />-->
|
||||
<!--<add key="LocalNuGetPackages_xxxx" value="./ref/pkg/xxxx" />-->
|
||||
<!-- 👇 AvaloniaUI 每夜版 -->
|
||||
<add key="avalonia-nightly" value="https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json" protocolVersion="3" />
|
||||
<!-- 👇 GitHub 包源 https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry -->
|
||||
<!--<add key="github" value="https://nuget.pkg.github.com/BeyondDimension/index.json" />-->
|
||||
</packageSources>
|
||||
<packageSources>
|
||||
<add key="LocalNuGetPackages" value="./references/NuGetPackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
+238
-50
@@ -6,80 +6,268 @@ 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.
|
||||
|
||||

|
||||
[](https://github.com/BeyondDimension/SteamTools/releases/latest)
|
||||
[](LICENSE)
|
||||
[](https://github.com/BeyondDimension/SteamTools/stargazers)
|
||||
[](https://github.com/BeyondDimension/SteamTools/network/members)
|
||||

|
||||

|
||||
[](https://github.com/rmbadmin/SteamTools/releases/latest)
|
||||
[](LICENSE)
|
||||
[](https://github.com/rmbadmin/SteamTools/stargazers)
|
||||
[](https://github.com/rmbadmin/SteamTools/network/members)
|
||||

|
||||
[](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
|
||||
[](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7)
|
||||
[](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11)
|
||||
[](https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-6)
|
||||
[](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-10)
|
||||
|
||||
[](https://github.com/AvaloniaUI/Avalonia)
|
||||
[](https://github.com/xamarin/Xamarin.Forms)
|
||||
[](https://github.com/ant-design/ant-design)
|
||||
[](https://github.com/ant-design-blazor/ant-design-blazor)
|
||||
|
||||
[](https://actions-badge.atrox.dev/BeyondDimension/SteamTools/goto?ref=develop)
|
||||
[](https://github.com/BeyondDimension/SteamTools)
|
||||
[](https://gitee.com/rmbgame/SteamTools)
|
||||
|
||||
[](https://ko-fi.com/rmbgame)
|
||||
[](https://www.patreon.com/rmbgame)
|
||||
|
||||
[](https://crowdin.com/project/steampp)
|
||||
[](https://actions-badge.atrox.dev/BeyondDimension/SteamTools/goto?ref=develop)
|
||||
[](https://github.com/BeyondDimension/SteamTools)
|
||||
[](https://gitee.com/rmbgame/SteamTools)
|
||||
[](https://space.bilibili.com/797215)
|
||||
|
||||
<img src="./resources/screenshot-1.en.webp" width="800" />
|
||||
<br/>
|
||||
<br/>
|
||||
<img src="./resources/screenshot-android.en.png" width="800" />
|
||||
</div>
|
||||
|
||||
## 🚀 Download Channels
|
||||
- [](https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG)
|
||||
- [Official WebSite](https://steampp.net)
|
||||
## 🚀 Download channel
|
||||
- [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)
|
||||
- [Official WebSite](https://steampp.net)
|
||||
- [](https://www.microsoft.com/store/apps/9MTCFHS560NG)
|
||||
- [AUR](https://aur.archlinux.org/packages/watt-toolkit-bin)(Official Release)
|
||||
- [AUR dev](https://aur.archlinux.org/packages/watt-toolkit-git)(Pull latest code and build locally, build maybe failed, also don't guarantee availability)
|
||||
|
||||
## ✨ 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" />
|
||||
1. Account Switch <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.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" />
|
||||
2. Inventory Management <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.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" />
|
||||
3. Local Authentication <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" /> <img src="./resources/android-brands.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" />
|
||||
4. ArchiSteamFarm <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" /> <img src="./resources/android-brands.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" />
|
||||
5. Game Tools <img src="./resources/windows-brands.svg" width="16" height="16" />
|
||||
- Force game windows to use borderless windowing
|
||||
|
||||
<!--Prerequisites Microsoft Visual C++ 2015-2019 Redistributable [64 bit](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 bit](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
|
||||
## 🖥 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 20.04 or higher is required
|
||||
- Debian 11 or higher is required
|
||||
- Fedora 37 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
|
||||
### Windows
|
||||
|
||||
## 🧩 Screenshots
|
||||
<img src="./res/screenshots/screenshot-windows-accelerator.webp" width="800" />
|
||||
<br/>
|
||||
<br/>
|
||||
<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />
|
||||
OS | Version | Architectures | Lifecycle
|
||||
--------------------------------------|----------------------------|-----------------|----------
|
||||
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1(**\***) | x64 | [Windows][Windows-lifecycle]
|
||||
[Windows 10 Client][Windows-client] | Version 1607+(**\***) | x64 | [Windows][Windows-lifecycle]
|
||||
[Windows 11][Windows-client] | Version 22000+ | x64, | [Windows][Windows-lifecycle]
|
||||
[Windows Server][Windows-Server] | 2008 R2 SP1(**\***), 2012+ | x64 | [Windows Server][Windows-Server-lifecycle]
|
||||
|
||||
**\*** Windows 7 SP1 must have [Extended Security Update](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) installed and will be released after November 2022 is no longer supported.
|
||||
**\*** Windows 8.1 will no longer be supported in versions released after November 2022.
|
||||
**\*** Windows Server 2008 R2 SP1 must have [Extended Security Update](https://docs.microsoft.com/en-us/lifecycle/faq/extended-security-updates) installed and will be released after November 2022 is no longer supported.
|
||||
**\*** Microsoft Store(Desktop Bridge) Version 1809+
|
||||
|
||||
[Windows-client]: https://www.microsoft.com/windows/
|
||||
[Windows-lifecycle]: https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet
|
||||
[win-client-docker]: https://hub.docker.com/_/microsoft-windows
|
||||
[Windows-Server-lifecycle]: https://docs.microsoft.com/windows-server/get-started/windows-server-release-info
|
||||
[Nano-Server]: https://docs.microsoft.com/windows-server/get-started/getting-started-with-nano-server
|
||||
[Windows-Server]: https://docs.microsoft.com/windows-server/
|
||||
|
||||
### Linux
|
||||
|
||||
OS | Version | Architectures | Lifecycle
|
||||
--------------------------------------|-----------------------|-------------------|----------
|
||||
[Alpine Linux][Alpine] | 3.13+ | x64, Arm64 | [Alpine][Alpine-lifecycle]
|
||||
[CentOS][CentOS] | 7+ | x64 | [CentOS][CentOS-lifecycle]
|
||||
[Debian][Debian] | 10+ | x64, Arm64 | [Debian][Debian-lifecycle]
|
||||
[Fedora][Fedora] | 33+ | x64 | [Fedora][Fedora-lifecycle]
|
||||
[openSUSE][OpenSUSE] | 15+ | x64 | [OpenSUSE][OpenSUSE-lifecycle]
|
||||
[Red Hat Enterprise Linux][RHEL] | 7+ | x64, Arm64 | [Red Hat][RHEL-lifecycle]
|
||||
[SUSE Enterprise Linux (SLES)][SLES] | 12 SP2+ | x64 | [SUSE][SLES-lifecycle]
|
||||
[Ubuntu][Ubuntu] | 16.04, 18.04, 20.04+ | x64, Arm64 | [Ubuntu][Ubuntu-lifecycle]
|
||||
[Deepin / UOS][Deepin] | 20+ | x64 | [Deepin][Deepin-lifecycle]
|
||||
[Arch Linux][Arch] | | x64, Arm64 |
|
||||
|
||||
[Alpine]: https://alpinelinux.org/
|
||||
[Alpine-lifecycle]: https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases
|
||||
[CentOS]: https://www.centos.org/
|
||||
[CentOS-lifecycle]:https://wiki.centos.org/FAQ/General
|
||||
[CentOS-docker]: https://hub.docker.com/_/centos
|
||||
[CentOS-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-centos8
|
||||
[Debian]: https://www.debian.org/
|
||||
[Debian-lifecycle]: https://wiki.debian.org/DebianReleases
|
||||
[Debian-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-debian10
|
||||
[Fedora]: https://getfedora.org/
|
||||
[Fedora-lifecycle]: https://fedoraproject.org/wiki/End_of_life
|
||||
[Fedora-docker]: https://hub.docker.com/_/fedora
|
||||
[Fedora-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-fedora32
|
||||
[Fedora-pm]: https://fedoraproject.org/wiki/DotNet
|
||||
[OpenSUSE]: https://opensuse.org/
|
||||
[OpenSUSE-lifecycle]: https://en.opensuse.org/Lifetime
|
||||
[OpenSUSE-docker]: https://hub.docker.com/r/opensuse/leap
|
||||
[OpenSUSE-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-opensuse15
|
||||
[RHEL]: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
|
||||
[RHEL-lifecycle]: https://access.redhat.com/support/policy/updates/errata/
|
||||
[RHEL-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-rhel8
|
||||
[RHEL-pm]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_.net_applications_in_rhel_8/using-net-core-on-rhel_gsg#installing-net-core_gsg
|
||||
[SLES]: https://www.suse.com/products/server/
|
||||
[SLES-lifecycle]: https://www.suse.com/lifecycle/
|
||||
[SLES-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-sles15
|
||||
[Ubuntu]: https://ubuntu.com/
|
||||
[Ubuntu-lifecycle]: https://wiki.ubuntu.com/Releases
|
||||
[Ubuntu-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-ubuntu-2004
|
||||
[Deepin]: https://www.deepin.org/
|
||||
[Deepin-lifecycle]: https://www.deepin.org/release-notes
|
||||
[Arch]: https://archlinux.org/
|
||||
|
||||
### macOS
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|---------------------------|-------------------|
|
||||
[macOS][macOS] | 10.15+ | x64, Arm64 |
|
||||
|
||||
[macOS]: https://support.apple.com/macos
|
||||
|
||||
### Android
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|-------------------------|--------------------------------------------------------------------|
|
||||
[Android][Android] | 5.0(API 21)+ | [x64][Android-x64], [Arm64][Android-Arm64], [Arm32][Android-Arm32] |
|
||||
|
||||
[Android]: https://support.google.com/android
|
||||
[Android-x64]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#86-64
|
||||
[Android-Arm32]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a
|
||||
[Android-Arm64]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a
|
||||
|
||||
### ~~iOS / iPadOS~~
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|-------------------------|-------------------|
|
||||
[iOS][iOS] | 10.0+ | x64, Arm64, Arm32 |
|
||||
|
||||
[iOS]: https://support.apple.com/ios
|
||||
|
||||
## ⛔ Unsupported Operating System
|
||||
- Windows 8
|
||||
- [Due to Microsoft's official support for the product has ended](https://docs.microsoft.com/lifecycle/products/windows-8), so this program cannot run on this operating system, [It is recommended to upgrade to Windows 8.1](https://support.microsoft.com/windows/update-to-windows-8-1-from-windows-8-17fc54a7-a465-6b5a-c1a0-34140afd0669)
|
||||
- Windows Server / Linux version without desktop GUI
|
||||
- Xbox or Windows Mobile / Phone
|
||||
|
||||
## 🌏 Roadmap
|
||||
Read what we [milestones](https://github.com/BeyondDimension/SteamTools/milestones), and feel free to ask questions.
|
||||
|
||||
## ⌨️ Development Environment
|
||||
[Visual Studio 2026](https://visualstudio.microsoft.com/vs)
|
||||
[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 26 Or Higher](https://developer.apple.com/xcode)
|
||||
[Visual Studio 2022](https://visualstudio.microsoft.com/vs/)
|
||||
[JetBrains Rider](https://www.jetbrains.com/rider/)
|
||||
~~[Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac/preview/)~~
|
||||
~~[Visual Studio Code](https://code.visualstudio.com/)~~
|
||||
- Supported Operating Systems
|
||||
- [Windows 10 Version 2004 Or Higher: Home, Professional, Education, and Enterprise (LTSC and S are not supported)](https://docs.microsoft.com/en-us/visualstudio/releases/2019/system-requirements)
|
||||
- [macOS 10.14 Mojave Or Higher](https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2019-system-requirements-mac)
|
||||
- Workload
|
||||
- Web and Cloud
|
||||
- ASP.NET and Web Development
|
||||
- Desktop and Mobile Applications
|
||||
- Mobile Development using .Net
|
||||
- .NET Desktop Development
|
||||
- UWP Development
|
||||
- Single Component
|
||||
- GitHub Extension for Visual Studio(Optional)
|
||||
- Windows 10 SDK (10.0.19041.0)
|
||||
- [Visual Studio Marketplace](https://marketplace.visualstudio.com/)
|
||||
- [Avalonia for Visual Studio(Optional)](https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio)
|
||||
- [NUnit VS Templates(Optional)](https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTemplatesforVisualStudio)
|
||||
|
||||
## 🏗️ Project Structure
|
||||
See details [./src/README.md](./src/README.md)
|
||||
[OpenJDK 11](https://docs.microsoft.com/java/openjdk/download#openjdk-11)
|
||||
[Android Studio 2021.1.1 Or Higher](https://developer.android.com/studio/)
|
||||
[Xcode 13 Or Higher](https://developer.apple.com/xcode/)
|
||||
|
||||
## 📄 Open Source Library
|
||||
See details [./doc/open-source-library.md](./doc/open-source-library.md)
|
||||
## 📄 Thanks to the following Open Source Projects
|
||||
* [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
|
||||
* [MetroRadiance](https://github.com/Grabacr07/MetroRadiance)
|
||||
* [MetroTrilithon](https://github.com/Grabacr07/MetroTrilithon)
|
||||
* [Livet](https://github.com/runceel/Livet)
|
||||
* [StatefulModel](https://github.com/ugaya40/StatefulModel)
|
||||
* [Hardcodet.NotifyIcon](https://github.com/HavenDV/Hardcodet.NotifyIcon.Wpf.NetCore)
|
||||
* [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)
|
||||
* [Ninject](https://github.com/ninject/Ninject)
|
||||
* [log4net](https://github.com/apache/logging-log4net)
|
||||
* [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)
|
||||
* [Costura.Fody](https://github.com/Fody/Costura)
|
||||
* [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp)
|
||||
* [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)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
[English](./README.en.md) | 简体中文
|
||||
|
||||
「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱,此工具的大部分功能都是需要您下载安装 Steam 才能使用。
|
||||
|
||||
|
||||

|
||||
[](https://github.com/BeyondDimension/SteamTools/releases/latest)
|
||||
[](LICENSE)
|
||||
@@ -13,104 +13,284 @@
|
||||
[](https://github.com/BeyondDimension/SteamTools/network/members)
|
||||

|
||||
[](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
|
||||
[](https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-7)
|
||||
[](https://learn.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-11)
|
||||
[](https://docs.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-6)
|
||||
[](https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-10)
|
||||
|
||||
[](https://afdian.com/@rmbgame)
|
||||
[](https://ko-fi.com/rmbgame)
|
||||
[](https://www.patreon.com/rmbgame)
|
||||
[](https://github.com/AvaloniaUI/Avalonia)
|
||||
[](https://github.com/xamarin/Xamarin.Forms)
|
||||
[](https://github.com/ant-design/ant-design)
|
||||
[](https://github.com/ant-design-blazor/ant-design-blazor)
|
||||
|
||||
[](https://crowdin.com/project/steampp)
|
||||
[](https://actions-badge.atrox.dev/BeyondDimension/SteamTools/goto?ref=develop)
|
||||
[](https://github.com/BeyondDimension/SteamTools)
|
||||
[](https://gitee.com/rmbgame/SteamTools)
|
||||
|
||||
[](https://afdian.net/@rmbgame)
|
||||
[](https://ko-fi.com/rmbgame)
|
||||
[](https://www.patreon.com/rmbgame)
|
||||
[](https://space.bilibili.com/797215)
|
||||
[](https://jq.qq.com/?_wv=1027&k=3JKPt4xC)
|
||||
|
||||
<img src="./resources/screenshot-1.webp" width="800" />
|
||||
<br/>
|
||||
<br/>
|
||||
<img src="./resources/screenshot-android.png" width="800" />
|
||||
</div>
|
||||
|
||||
## 🚀 下载渠道
|
||||
- [](https://store.steampowered.com/app/2425030)
|
||||
- [](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)
|
||||
- [GitHub Releases](https://github.com/BeyondDimension/SteamTools/releases)
|
||||
- [Gitee Releases](https://gitee.com/rmbgame/SteamTools/releases)
|
||||
- [Official WebSite](https://steampp.net)
|
||||
- [](https://www.microsoft.com/store/apps/9MTCFHS560NG)
|
||||
- [AUR](https://aur.archlinux.org/packages/watt-toolkit-bin)(官方 Release 构建)
|
||||
- [AUR dev](https://aur.archlinux.org/packages/watt-toolkit-git)(拉取最新源代码从本地构建,不保证可用性,构建也许会出现失败问题)
|
||||
|
||||
## ✨ 功能
|
||||
全新的 3.0 版本,支持自定义插件功能,以下功能为下载时自带的默认插件,可以自行删除或禁用。
|
||||
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" />
|
||||
1. 网络加速 <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" /> <img src="./resources/android-brands.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="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.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、Epic、Uplay 等等多平台账号,与管理 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)。
|
||||
3. 账号切换 <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" />
|
||||
- 一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序及禁用等功能。
|
||||
4. 库存管理 <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" />
|
||||
- 让您直接管理 Steam 游戏库存,可以编辑游戏名称和[自定义封面](https://www.steamgriddb.com/),也能解锁以及反解锁 Steam 游戏成就。
|
||||
- 监控 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" />
|
||||
- 让您的手机令牌统一保存在电脑中、支持通用HOTP、TOTP、Steam、Google 等令牌导入。
|
||||
- 支持 Steam 登录账号自定绑定生成令牌、支持 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" />
|
||||
- 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和 Steam 卡片
|
||||
- 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云
|
||||
5. 本地令牌 <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" /> <img src="./resources/android-brands.svg" width="16" height="16" />
|
||||
- 让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。
|
||||
6. 自动挂卡 <img src="./resources/windows-brands.svg" width="16" height="16" /> <img src="./resources/linux-brands.svg" width="16" height="16" /> <img src="./resources/apple-brands.svg" width="16" height="16" /> <img src="./resources/android-brands.svg" width="16" height="16" />
|
||||
- 集成 [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。
|
||||
7. 游戏工具 <img src="./resources/windows-brands.svg" width="16" height="16" />
|
||||
- 强制游戏窗口使用无边框窗口化、更多功能待开发。
|
||||
|
||||
## 🖥 支持的操作系统
|
||||
- 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) 或更高版本
|
||||
<!--发布配置SelfContained=true时会自动打包VC++相关程序集-->
|
||||
<!--先决条件 Microsoft Visual C++ 2015-2019 Redistributable [64 位](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 位](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
|
||||
## 🖥 系统要求
|
||||
### Windows
|
||||
|
||||
## 🧩 截图
|
||||
<img src="./res/screenshots/screenshot-windows-accelerator.webp" width="800" />
|
||||
<br/>
|
||||
<img src="./res/screenshots/screenshot-windows-gameaccount.webp" width="800" />
|
||||
<br/>
|
||||
<img src="./res/screenshots/screenshot-windows-gamelist.webp" width="800" />
|
||||
<br/>
|
||||
<br/>
|
||||
<!--<img src="./res/screenshots/screenshot-android-authenticator.png" width="800" />-->
|
||||
OS | Version | Architectures | Lifecycle
|
||||
--------------------------------------|----------------------------|-----------------|----------
|
||||
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1(**\***) | x64 | [Windows][Windows-lifecycle]
|
||||
[Windows 10 Client][Windows-client] | Version 1607+(**\***) | x64 | [Windows][Windows-lifecycle]
|
||||
[Windows 11][Windows-client] | Version 22000+ | x64, | [Windows][Windows-lifecycle]
|
||||
[Windows Server][Windows-Server] | 2008 R2 SP1(**\***), 2012+ | x64 | [Windows Server][Windows-Server-lifecycle]
|
||||
|
||||
## 从移动端 Steam App 导入令牌指南
|
||||
- [Android 添加本地令牌(Xposed)](https://github.com/BeyondDimension/SteamTools/issues/2276)
|
||||
- [iOS 添加本地令牌(无需越狱/网络抓包)](https://github.com/BeyondDimension/SteamTools/issues/2129)
|
||||
- [iOS 添加本地令牌(无需越狱/iTunes 备份)](https://github.com/BeyondDimension/SteamTools/issues/299)
|
||||
- [iOS 添加本地令牌(需越狱)](https://github.com/BeyondDimension/SteamTools/issues/95)
|
||||
**\*** Windows 7 SP1 必须安装 [扩展安全更新 (ESU)](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq) 且将在不再支持 **2022/11** 后发布的版本。
|
||||
**\*** Windows 8.1 将在不再支持 **2022/11** 后发布的版本。
|
||||
**\*** Windows Server 2008 R2 SP1 必须安装 [扩展安全更新 (ESU)](https://docs.microsoft.com/zh-cn/lifecycle/faq/extended-security-updates) 且将在不再支持 **2022/11** 后发布的版本。
|
||||
**\*** Microsoft Store(Desktop Bridge) Version 1809+
|
||||
|
||||
[Windows-client]: https://www.microsoft.com/windows/
|
||||
[Windows-lifecycle]: https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet
|
||||
[win-client-docker]: https://hub.docker.com/_/microsoft-windows
|
||||
[Windows-Server-lifecycle]: https://docs.microsoft.com/windows-server/get-started/windows-server-release-info
|
||||
[Nano-Server]: https://docs.microsoft.com/windows-server/get-started/getting-started-with-nano-server
|
||||
[Windows-Server]: https://docs.microsoft.com/windows-server/
|
||||
|
||||
### Linux
|
||||
|
||||
OS | Version | Architectures | Lifecycle
|
||||
--------------------------------------|-----------------------|-------------------|----------
|
||||
[Alpine Linux][Alpine] | 3.13+ | x64, Arm64 | [Alpine][Alpine-lifecycle]
|
||||
[CentOS][CentOS] | 7+ | x64 | [CentOS][CentOS-lifecycle]
|
||||
[Debian][Debian] | 10+ | x64, Arm64 | [Debian][Debian-lifecycle]
|
||||
[Fedora][Fedora] | 33+ | x64 | [Fedora][Fedora-lifecycle]
|
||||
[openSUSE][OpenSUSE] | 15+ | x64 | [OpenSUSE][OpenSUSE-lifecycle]
|
||||
[Red Hat Enterprise Linux][RHEL] | 7+ | x64, Arm64 | [Red Hat][RHEL-lifecycle]
|
||||
[SUSE Enterprise Linux (SLES)][SLES] | 12 SP2+ | x64 | [SUSE][SLES-lifecycle]
|
||||
[Ubuntu][Ubuntu] | 16.04, 18.04, 20.04+ | x64, Arm64 | [Ubuntu][Ubuntu-lifecycle]
|
||||
[Deepin / UOS][Deepin] | 20+ | x64 | [Deepin][Deepin-lifecycle]
|
||||
[Arch Linux][Arch] | | x64,Arm64 |
|
||||
|
||||
[Alpine]: https://alpinelinux.org/
|
||||
[Alpine-lifecycle]: https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases
|
||||
[CentOS]: https://www.centos.org/
|
||||
[CentOS-lifecycle]:https://wiki.centos.org/FAQ/General
|
||||
[CentOS-docker]: https://hub.docker.com/_/centos
|
||||
[CentOS-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-centos8
|
||||
[Debian]: https://www.debian.org/
|
||||
[Debian-lifecycle]: https://wiki.debian.org/DebianReleases
|
||||
[Debian-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-debian10
|
||||
[Fedora]: https://getfedora.org/
|
||||
[Fedora-lifecycle]: https://fedoraproject.org/wiki/End_of_life
|
||||
[Fedora-docker]: https://hub.docker.com/_/fedora
|
||||
[Fedora-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-fedora32
|
||||
[Fedora-pm]: https://fedoraproject.org/wiki/DotNet
|
||||
[OpenSUSE]: https://opensuse.org/
|
||||
[OpenSUSE-lifecycle]: https://en.opensuse.org/Lifetime
|
||||
[OpenSUSE-docker]: https://hub.docker.com/r/opensuse/leap
|
||||
[OpenSUSE-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-opensuse15
|
||||
[RHEL]: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
|
||||
[RHEL-lifecycle]: https://access.redhat.com/support/policy/updates/errata/
|
||||
[RHEL-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-rhel8
|
||||
[RHEL-pm]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_.net_applications_in_rhel_8/using-net-core-on-rhel_gsg#installing-net-core_gsg
|
||||
[SLES]: https://www.suse.com/products/server/
|
||||
[SLES-lifecycle]: https://www.suse.com/lifecycle/
|
||||
[SLES-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-sles15
|
||||
[Ubuntu]: https://ubuntu.com/
|
||||
[Ubuntu-lifecycle]: https://wiki.ubuntu.com/Releases
|
||||
[Ubuntu-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-ubuntu-2004
|
||||
[Deepin]: https://www.deepin.org/
|
||||
[Deepin-lifecycle]: https://www.deepin.org/release-notes
|
||||
[Arch]: https://archlinux.org/
|
||||
|
||||
### macOS
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|---------------------------|-------------------|
|
||||
[macOS][macOS] | 10.15+ | x64, Arm64 |
|
||||
|
||||
[macOS]: https://support.apple.com/macos
|
||||
|
||||
### Android
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|-------------------------|--------------------------------------------------------------------|
|
||||
[Android][Android] | 5.0(API 21)+ | [x64][Android-x64], [Arm64][Android-Arm64], [Arm32][Android-Arm32] |
|
||||
|
||||
[Android]: https://support.google.com/android
|
||||
[Android-x64]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#86-64
|
||||
[Android-Arm32]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a
|
||||
[Android-Arm64]: https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a
|
||||
|
||||
### ~~iOS / iPadOS~~
|
||||
|
||||
OS | Version | Architectures |
|
||||
------------------------------|-------------------------|-------------------|
|
||||
[iOS][iOS] | 10.0+ | x64, Arm32, Arm64 |
|
||||
|
||||
[iOS]: https://support.apple.com/ios
|
||||
|
||||
## ⛔ 不受支持的操作系统
|
||||
- Windows 8
|
||||
- [由于微软官方对该产品的支持已结束](https://docs.microsoft.com/zh-cn/lifecycle/products/windows-8),故本程序无法在此操作系统上运行,[建议升级到 Windows 8.1](https://support.microsoft.com/zh-cn/windows/%E4%BB%8E-windows-8-%E6%9B%B4%E6%96%B0%E5%88%B0-windows-8-1-17fc54a7-a465-6b5a-c1a0-34140afd0669)
|
||||
- 无桌面 GUI 的 Windows Server / Linux 版本
|
||||
- Xbox or Windows Mobile / Phone
|
||||
|
||||
## 🌏 路线图
|
||||
查看这个 [milestones](https://github.com/BeyondDimension/SteamTools/milestones) 来了解我们下一步的开发计划,并随时提出问题。
|
||||
|
||||
## ⌨️ 开发环境
|
||||
[Visual Studio 2026](https://visualstudio.microsoft.com/zh-hans/vs)
|
||||
[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 26 或更高版本](https://developer.apple.com/xcode)
|
||||
[Visual Studio 2022](https://visualstudio.microsoft.com/zh-hans/vs/)
|
||||
[JetBrains Rider](https://www.jetbrains.com/rider/)
|
||||
~~[Visual Studio 2022 for Mac](https://visualstudio.microsoft.com/zh-hans/vs/mac/)~~
|
||||
~~[Visual Studio Code](https://code.visualstudio.com/)~~
|
||||
- 系统要求
|
||||
- [Windows 10 版本 2004 或更高版本:家庭版、专业版、教育版和企业版(不支持 LTSC 和 Windows 10 S,在较早的操作系统上可能不受支持)](https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements)
|
||||
- [macOS 10.14 Mojave 或更高版本](https://docs.microsoft.com/zh-cn/visualstudio/productinfo/vs2019-system-requirements-mac)
|
||||
- 工作负荷
|
||||
- Web 和云
|
||||
- ASP.NET 和 Web 开发
|
||||
- 桌面应用和移动应用
|
||||
- 使用 .NET 的移动开发 / .NET Multi-platform App UI 开发
|
||||
- .NET 桌面开发
|
||||
- 通用 Windows 平台开发
|
||||
- 单个组件
|
||||
- GitHub Extension for Visual Studio(可选)
|
||||
- Windows 10 SDK (10.0.19041.0)
|
||||
- [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)
|
||||
|
||||
[OpenJDK 11](https://docs.microsoft.com/zh-cn/java/openjdk/download#openjdk-11)
|
||||
[Android Studio 2021.1.1 或更高版本](https://developer.android.google.cn/studio/)
|
||||
[Xcode 13 或更高版本](https://developer.apple.com/xcode/)
|
||||
|
||||
## 🏗️ [项目结构](./src/README.md)
|
||||
详见 [./src/README.md](./src/README.md)
|
||||
|
||||
## 🧑💼 加入我们
|
||||
- [.NET/C# 高级软件工程师(客户端方向)](https://www.zhipin.com/job_detail/b271a34a3efeb84c1XJ_2dW6ElVT.html)
|
||||
- [.NET/C# 高级软件工程师](https://www.zhipin.com/job_detail/0164142566ff52d71XJ_2dW7GVVW.html)
|
||||
详见 [./src/README.md](./src/README.md)
|
||||
|
||||
<!--
|
||||
- [.NET/C# 软件工程师](https://www.zhipin.com/job_detail/80c0ad0f424e2ea61XJ_2t6-GVVZ.html)
|
||||
- [高级 Web 前端工程师](https://www.zhipin.com/job_detail/e59317c527f3f49e1XJ92d24FVRV.html)
|
||||
* [LibVLCSharp](https://github.com/videolan/libvlcsharp)
|
||||
* [Chromium Embedded Framework (CEF)](https://github.com/chromiumembedded/cef)
|
||||
* [CefNet](https://github.com/CefNet/CefNet)
|
||||
* [CefSharp](https://github.com/cefsharp/CefSharp)
|
||||
* [ZXing.Net.Mobile](https://github.com/Redth/ZXing.Net.Mobile)
|
||||
* [Floating Action Button Speed Dial](https://github.com/leinardi/FloatingActionButtonSpeedDial)
|
||||
-->
|
||||
|
||||
## 📄 [开源代码库](./doc/open-source-library.md)
|
||||
详见 [./doc/open-source-library.md](./doc/open-source-library.md)
|
||||
<!--👇图标如果发生更改,还需更改 Tools.OpenSourceLibraryList(Program.OpenSourceLibraryListEmoji) -->
|
||||
## 📄 感谢以下开源项目
|
||||
* [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json)
|
||||
* [MetroRadiance](https://github.com/Grabacr07/MetroRadiance)
|
||||
* [MetroTrilithon](https://github.com/Grabacr07/MetroTrilithon)
|
||||
* [Livet](https://github.com/runceel/Livet)
|
||||
* [StatefulModel](https://github.com/ugaya40/StatefulModel)
|
||||
* [Hardcodet.NotifyIcon](https://github.com/HavenDV/Hardcodet.NotifyIcon.Wpf.NetCore)
|
||||
* [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)
|
||||
* [Ninject](https://github.com/ninject/Ninject)
|
||||
* [log4net](https://github.com/apache/logging-log4net)
|
||||
* [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)
|
||||
* [Costura.Fody](https://github.com/Fody/Costura)
|
||||
* [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp)
|
||||
* [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)
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"solution": {
|
||||
"path": "SteamToolsV2+.sln",
|
||||
"projects": [
|
||||
"references\\ArchiSteamFarm\\ArchiSteamFarm.Library\\ArchiSteamFarm.Library.csproj",
|
||||
"references\\AvaloniaGif\\AvaloniaGif\\AvaloniaGif.csproj",
|
||||
"references\\AvaloniaGif\\LibAPNG\\LibAPNG.csproj",
|
||||
"references\\Steam4NET\\Steam4NET\\Steam4NET.csproj",
|
||||
"references\\SteamAchievementManager\\SAM.API\\SAM.API.csproj",
|
||||
"references\\Titanium-Web-Proxy\\src\\Titanium.Web.Proxy\\Titanium.Web.Proxy.csproj",
|
||||
"references\\WinAuth\\Authenticator\\Authenticator.csproj",
|
||||
"references\\reactive\\Rx.NET\\Source\\src\\System.Reactive\\System.Reactive.csproj",
|
||||
"src\\Avalonia.Native\\Avalonia.Native.csproj",
|
||||
"src\\Avalonia.Themes.Default\\Avalonia.Themes.Default.csproj",
|
||||
"src\\Avalonia.Themes.Fluent\\Avalonia.Themes.Fluent.csproj",
|
||||
"src\\Avalonia.Win32\\Avalonia.Win32.csproj",
|
||||
"src\\Avalonia.X11\\Avalonia.X11.csproj",
|
||||
"src\\Avalonia.Desktop\\Avalonia.Desktop.csproj",
|
||||
"src\\Avalonia.Skia.Internals\\Avalonia.Skia.Internals.csproj",
|
||||
"src\\Common.AreaLib\\Common.AreaLib.csproj",
|
||||
"src\\Common.ClientLib\\Common.ClientLib.csproj",
|
||||
"src\\Common.CoreLib\\Common.CoreLib.csproj",
|
||||
"src\\Common.PinyinLib\\Common.PinyinLib.csproj",
|
||||
"src\\Common.PinyinLib.ChnCharInfo\\Common.PinyinLib.ChnCharInfo.csproj",
|
||||
"src\\Repositories.sqlite-net-pcl\\Repositories.sqlite-net-pcl.csproj",
|
||||
"src\\ST.Client.Desktop.Linux\\ST.Client.Linux.csproj",
|
||||
"src\\ST.Client.XamarinForms\\ST.Client.XamarinForms.csproj",
|
||||
"src\\ST.Client.Desktop.Avalonia\\ST.Client.Avalonia.csproj",
|
||||
"src\\ST.Client.Desktop.Avalonia.App\\ST.Client.Avalonia.App.csproj",
|
||||
"src\\ST.Client\\ST.Client.csproj",
|
||||
"src\\ST.Services.CloudService.Models\\ST.Services.CloudService.Models.csproj",
|
||||
"src\\ST.Services.CloudService.ViewModels\\ST.Services.CloudService.ViewModels.csproj",
|
||||
"src\\ST.Services.CloudService\\ST.Services.CloudService.csproj",
|
||||
"src\\ST.Tools.AndroidResourceLink\\ST.Tools.AndroidResourceLink.csproj",
|
||||
"src\\ST.Tools.AreaImport\\ST.Tools.AreaImport.csproj",
|
||||
"src\\ST.Tools.MinifyStaticSites\\ST.Tools.MinifyStaticSites.csproj",
|
||||
"src\\ST.Tools.OpenSourceLibraryList\\ST.Tools.OpenSourceLibraryList.csproj",
|
||||
"src\\ST.Tools.Translate\\ST.Tools.Translate.csproj",
|
||||
"src\\ST\\ST.csproj",
|
||||
"src\\ST.Client.ResSecrets\\ST.Client.ResSecrets.csproj",
|
||||
"tests\\Common.UnitTest.Droid.App\\ST.Client.UnitTest.Droid.App.csproj",
|
||||
"tests\\Common.UnitTest.Droid\\ST.Client.UnitTest.Droid.csproj",
|
||||
"tests\\Common.UnitTest\\Common.UnitTest.csproj",
|
||||
"tests\\ST.Client.Desktop.UnitTest\\ST.Client.Desktop.UnitTest.csproj",
|
||||
"tests\\ST.Client.UnitTest\\ST.Client.UnitTest.csproj"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"solution": {
|
||||
"path": "SteamToolsV2+.sln",
|
||||
"projects": [
|
||||
"references\\ArchiSteamFarm\\ArchiSteamFarm.Library\\ArchiSteamFarm.Library.csproj",
|
||||
"references\\AvaloniaGif\\AvaloniaGif\\AvaloniaGif.csproj",
|
||||
"references\\AvaloniaGif\\LibAPNG\\LibAPNG.csproj",
|
||||
"references\\Steam4NET\\Steam4NET\\Steam4NET.csproj",
|
||||
"references\\SteamAchievementManager\\SAM.API\\SAM.API.csproj",
|
||||
"references\\Titanium-Web-Proxy\\src\\Titanium.Web.Proxy\\Titanium.Web.Proxy.csproj",
|
||||
"references\\WinAuth\\Authenticator\\Authenticator.csproj",
|
||||
"references\\reactive\\Rx.NET\\Source\\src\\System.Reactive\\System.Reactive.csproj",
|
||||
"src\\Avalonia.Native\\Avalonia.Native.csproj",
|
||||
"src\\Avalonia.Themes.Default\\Avalonia.Themes.Default.csproj",
|
||||
"src\\Avalonia.Themes.Fluent\\Avalonia.Themes.Fluent.csproj",
|
||||
"src\\Avalonia.Win32\\Avalonia.Win32.csproj",
|
||||
"src\\Avalonia.X11\\Avalonia.X11.csproj",
|
||||
"src\\Avalonia.Desktop\\Avalonia.Desktop.csproj",
|
||||
"src\\Avalonia.Skia.Internals\\Avalonia.Skia.Internals.csproj",
|
||||
"src\\Common.AreaLib\\Common.AreaLib.csproj",
|
||||
"src\\Common.ClientLib.iOS\\Common.ClientLib.iOS.csproj",
|
||||
"src\\Common.ClientLib\\Common.ClientLib.csproj",
|
||||
"src\\Common.CoreLib\\Common.CoreLib.csproj",
|
||||
"src\\Common.PinyinLib\\Common.PinyinLib.csproj",
|
||||
"src\\Common.PinyinLib.CFStringTransform\\Common.PinyinLib.CFStringTransform.csproj",
|
||||
"src\\Repositories.sqlite-net-pcl\\Repositories.sqlite-net-pcl.csproj",
|
||||
"src\\ST.Client.Android\\ST.Client.Android.csproj",
|
||||
"src\\ST.Client.Desktop.Mac\\ST.Client.Mac.csproj",
|
||||
"src\\ST.Client.Mobile.Droid.App\\ST.Client.Android.App.csproj",
|
||||
"src\\ST.Client.XamarinForms\\ST.Client.XamarinForms.csproj",
|
||||
"src\\ST.Client.Desktop.Avalonia\\ST.Client.Avalonia.csproj",
|
||||
"src\\ST.Client.Desktop.Avalonia.App\\ST.Client.Avalonia.App.csproj",
|
||||
"src\\ST.Client.iOS\\ST.Client.iOS.csproj",
|
||||
"src\\ST.Client\\ST.Client.csproj",
|
||||
"src\\ST.Services.CloudService.Models\\ST.Services.CloudService.Models.csproj",
|
||||
"src\\ST.Services.CloudService.ViewModels\\ST.Services.CloudService.ViewModels.csproj",
|
||||
"src\\ST.Services.CloudService\\ST.Services.CloudService.csproj",
|
||||
"src\\ST.Tools.AndroidResourceLink\\ST.Tools.AndroidResourceLink.csproj",
|
||||
"src\\ST.Tools.AreaImport\\ST.Tools.AreaImport.csproj",
|
||||
"src\\ST.Tools.MinifyStaticSites\\ST.Tools.MinifyStaticSites.csproj",
|
||||
"src\\ST.Tools.OpenSourceLibraryList\\ST.Tools.OpenSourceLibraryList.csproj",
|
||||
"src\\ST.Tools.Translate\\ST.Tools.Translate.csproj",
|
||||
"src\\ST\\ST.csproj",
|
||||
"src\\ST.Client.ResSecrets\\ST.Client.ResSecrets.csproj",
|
||||
"src\\ST.Client.iOS.ResSecrets\\ST.Client.iOS.ResSecrets.csproj",
|
||||
"src\\ST.Client.Android.ResSecrets\\ST.Client.Android.ResSecrets.csproj",
|
||||
"src\\ST.Client.Mac.ResSecrets\\ST.Client.Mac.ResSecrets.csproj",
|
||||
"tests\\Common.UnitTest.Droid.App\\ST.Client.UnitTest.Droid.App.csproj",
|
||||
"tests\\Common.UnitTest.Droid\\ST.Client.UnitTest.Droid.csproj",
|
||||
"tests\\Common.UnitTest\\Common.UnitTest.csproj",
|
||||
"tests\\ST.Client.Desktop.UnitTest\\ST.Client.Desktop.UnitTest.csproj",
|
||||
"tests\\ST.Client.UnitTest\\ST.Client.UnitTest.csproj"
|
||||
]
|
||||
}
|
||||
}
|
||||
+2688
File diff suppressed because it is too large
Load Diff
@@ -1,181 +0,0 @@
|
||||
<Solution>
|
||||
<Configurations>
|
||||
<Platform Name="Any CPU" />
|
||||
<Platform Name="ARM" />
|
||||
<Platform Name="ARM64" />
|
||||
<Platform Name="x64" />
|
||||
<Platform Name="x86" />
|
||||
</Configurations>
|
||||
<Folder Name="/0.Root/">
|
||||
<File Path=".github/workflows/CI.yml" />
|
||||
<File Path=".gitignore" />
|
||||
<File Path=".gitmodules" />
|
||||
<File Path="nuget.config" />
|
||||
<File Path="README.en.md" />
|
||||
<File Path="README.md" />
|
||||
<File Path="ref/DirectoryPackages/Directory.Packages.props" />
|
||||
<File Path="src/.editorconfig" />
|
||||
<File Path="src/Directory.Build.props" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/Build/">
|
||||
<File Path="build/publish_apphost_linux_x64.sh" />
|
||||
<File Path="build/settings_v4_app.json" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/Document/">
|
||||
<File Path="doc/file-system.md" />
|
||||
<File Path="doc/open-source-library.md" />
|
||||
<File Path="doc/openwrt.md" />
|
||||
<File Path="doc/publish.md" />
|
||||
<File Path="doc/release-keylol.md" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/Document/Program File Structure/">
|
||||
<File Path="doc/program-file-structure/Linux.md" />
|
||||
<File Path="doc/program-file-structure/macOS.md" />
|
||||
<File Path="doc/program-file-structure/Windows.md" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/Source/">
|
||||
<File Path="src/AssemblyInfo.Constants.cs" />
|
||||
<File Path="src/AssemblyInfo.cs" />
|
||||
<File Path="src/AssemblyInfo.Version.Max.cs" />
|
||||
<File Path="src/README.md" />
|
||||
<File Path="src/Utils.cs" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/Source/ImplicitUsings/">
|
||||
<File Path="src/ImplicitUsings.ArchiSteamFarm.cs" />
|
||||
<File Path="src/ImplicitUsings.AspNetCore.cs" />
|
||||
<File Path="src/ImplicitUsings.AutoMapper.cs" />
|
||||
<File Path="src/ImplicitUsings.Avalonia.cs" />
|
||||
<File Path="src/ImplicitUsings.BCL.cs" />
|
||||
<File Path="src/ImplicitUsings.Common.cs" />
|
||||
<File Path="src/ImplicitUsings.Controllers.cs" />
|
||||
<File Path="src/ImplicitUsings.Data.cs" />
|
||||
<File Path="src/ImplicitUsings.EntityFrameworkCore.cs" />
|
||||
<File Path="src/ImplicitUsings.Identity.cs" />
|
||||
<File Path="src/ImplicitUsings.Jobs.cs" />
|
||||
<File Path="src/ImplicitUsings.JsonProperty.cs" />
|
||||
<File Path="src/ImplicitUsings.JWT.cs" />
|
||||
<File Path="src/ImplicitUsings.MessagePack.cs" />
|
||||
<File Path="src/ImplicitUsings.Models.cs" />
|
||||
<File Path="src/ImplicitUsings.MSEX.cs" />
|
||||
<File Path="src/ImplicitUsings.Nito.cs" />
|
||||
<File Path="src/ImplicitUsings.NLog.cs" />
|
||||
<File Path="src/ImplicitUsings.Plugins.cs" />
|
||||
<File Path="src/ImplicitUsings.Quartz.cs" />
|
||||
<File Path="src/ImplicitUsings.ReactiveUI.cs" />
|
||||
<File Path="src/ImplicitUsings.Repositories.cs" />
|
||||
<File Path="src/ImplicitUsings.Services.cs" />
|
||||
<File Path="src/ImplicitUsings.Settings.cs" />
|
||||
<File Path="src/ImplicitUsings.SQLite.cs" />
|
||||
<File Path="src/ImplicitUsings.Steam.cs" />
|
||||
<File Path="src/ImplicitUsings.UI.cs" />
|
||||
<File Path="src/ImplicitUsings.UI.ViewModels.cs" />
|
||||
<File Path="src/ImplicitUsings.UI.Views.cs" />
|
||||
<File Path="src/ImplicitUsings.UnitTest.cs" />
|
||||
<File Path="src/ImplicitUsings.WTTS.cs" />
|
||||
</Folder>
|
||||
<Folder Name="/0.Root/TFM/">
|
||||
<File Path="src/TFM_NETX.props" />
|
||||
<File Path="src/TFM_NETX_SINGLE.props" />
|
||||
<File Path="src/TFM_NETX_WINDOWS.props" />
|
||||
<File Path="src/TFM_NETX_WITH_ALL.props" />
|
||||
<File Path="src/TFM_NETX_WITH_DESKTOP.props" />
|
||||
<File Path="src/TFM_NETX_WITH_WINDOWS.props" />
|
||||
</Folder>
|
||||
<Folder Name="/1.AppHost/">
|
||||
<Project Path="src/BD.WTTS.Client.AppHost.Bridge/Steam++.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.AppHost/BD.WTTS.Client.AppHost.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/" />
|
||||
<Folder Name="/2.Reference/AppCenter/">
|
||||
<Project Path="ref/appcenter-sdk-dotnet/SDK/AppCenter/BD.AppCenter.Any/BD.AppCenter.Any.csproj" />
|
||||
<Project Path="ref/appcenter-sdk-dotnet/SDK/AppCenterAnalytics/BD.AppCenter.Analytics.Any/BD.AppCenter.Analytics.Any.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/Avalonia/">
|
||||
<Project Path="ref/Avalonia.Image2/Avalonia.Gif/Avalonia.Gif.csproj" />
|
||||
<Project Path="ref/Avalonia.Image2/LibAPNG/LibAPNG.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/Common/">
|
||||
<Project Path="ref/Common/src/BD.Common.Area/BD.Common.Area.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Essentials.Maui.Runtime/BD.Common.Essentials.Maui.Runtime.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Essentials.Preferences.SQLite/BD.Common.Essentials.Preferences.SQLite.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Essentials.Primitives/BD.Common.Essentials.Primitives.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Essentials.Utils/BD.Common.Essentials.Utils.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Essentials/BD.Common.Essentials.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Mvvm.ReactiveUI/BD.Common.Mvvm.ReactiveUI.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Mvvm/BD.Common.Mvvm.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Pinyin.TinyPinyin/BD.Common.Pinyin.TinyPinyin.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Pinyin/BD.Common.Pinyin.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Primitives/BD.Common.Primitives.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Repositories.SQLitePCL/BD.Common.Repositories.SQLitePCL.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Security/BD.Common.Security.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common.Settings/BD.Common.Settings.csproj" />
|
||||
<Project Path="ref/Common/src/BD.Common/BD.Common.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/Ipc/">
|
||||
<Project Path="ref/dotnetCampus.Ipc/src/dotnetCampus.Ipc.Analyzers/dotnetCampus.Ipc.Analyzers.csproj" />
|
||||
<Project Path="ref/dotnetCampus.Ipc/src/dotnetCampus.Ipc/dotnetCampus.Ipc.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/Steam/">
|
||||
<Project Path="ref/Facepunch.Steamworks/Facepunch.Steamworks/Facepunch.Steamworks.Posix.csproj" />
|
||||
<Project Path="ref/Facepunch.Steamworks/Facepunch.Steamworks/Facepunch.Steamworks.Win64.csproj" />
|
||||
<Project Path="ref/Gameloop.Vdf/Gameloop.Vdf/Gameloop.Vdf.csproj" />
|
||||
<Project Path="ref/Steam4NET/Steam4NET/Steam4NET.csproj" />
|
||||
<Project Path="ref/SteamClient/ref/ValveKeyValue/ValveKeyValue/ValveKeyValue/ValveKeyValue.csproj" />
|
||||
<Project Path="ref/SteamClient/src/BD.SteamClient.Models.Protobuf/BD.SteamClient.Models.Protobuf.csproj" />
|
||||
<Project Path="ref/SteamClient/src/BD.SteamClient/BD.SteamClient.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/2.Reference/WinAuth/">
|
||||
<Project Path="ref/WinAuth/src/WinAuth/WinAuth.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/3.Test/">
|
||||
<Project Path="src/BD.WTTS.UnitTest/BD.WTTS.UnitTest.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/4.Shared/">
|
||||
<Project Path="src/BD.Avalonia8.Image2.Compat/BD.Avalonia8.Image2.Compat.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Avalonia/BD.WTTS.Client.Avalonia.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.IPC/BD.WTTS.Client.IPC.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client/BD.WTTS.Client.csproj" />
|
||||
<Project Path="src/OSShuttingDownHelper/OSShuttingDownHelper.shproj" />
|
||||
</Folder>
|
||||
<Folder Name="/4.Shared/Avalonia.Ref/">
|
||||
<Project Path="src/Avalonia.Base.Internals/Avalonia.Base.Internals.csproj" />
|
||||
<Project Path="src/Avalonia.Base/Avalonia.Base.csproj" />
|
||||
<Project Path="src/Avalonia.Controls.Internals/Avalonia.Controls.Internals.csproj" />
|
||||
<Project Path="src/Avalonia.Desktop/Avalonia.Desktop.csproj" />
|
||||
<Project Path="src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj" />
|
||||
<Project Path="src/Avalonia.Native/Avalonia.Native.csproj" />
|
||||
<Project Path="src/Avalonia.Skia.Internals/Avalonia.Skia.Internals.csproj" />
|
||||
<Project Path="src/Avalonia.WebView2/Avalonia.WebView2.csproj" />
|
||||
<Project Path="src/Avalonia.Win32/Avalonia.Win32.csproj" />
|
||||
<Project Path="src/Avalonia.X11/Avalonia.X11.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/4.Shared/ClientSDK/">
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/ref/WTTS.Public/src/BD.WTTS.MicroServices.Primitives.Resources/BD.WTTS.MicroServices.Primitives.Resources.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/ref/WTTS.Public/src/BD.WTTS.Primitives.Resources/BD.WTTS.Primitives.Resources.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.MicroServices.ClientSDK/BD.WTTS.MicroServices.ClientSDK.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.MicroServices.Primitives.Models/BD.WTTS.MicroServices.Primitives.Models.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.MicroServices.Primitives.ViewModels/BD.WTTS.MicroServices.Primitives.ViewModels.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.MicroServices.Primitives/BD.WTTS.MicroServices.Primitives.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.Primitives.Models/BD.WTTS.Primitives.Models.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.Primitives.ViewModels/BD.WTTS.Primitives.ViewModels.csproj" />
|
||||
<Project Path="ref/WTTS.MicroServices.ClientSDK/src/BD.WTTS.Primitives/BD.WTTS.Primitives.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/5.Plugins/">
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.Accelerator/BD.WTTS.Client.Plugins.Accelerator.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.Authenticator/BD.WTTS.Client.Plugins.Authenticator.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.GameAccount/BD.WTTS.Client.Plugins.GameAccount.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.GameList/BD.WTTS.Client.Plugins.GameList.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.GameTools/BD.WTTS.Client.Plugins.GameTools.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Plugins.SteamIdleCard/BD.WTTS.Client.Plugins.SteamIdleCard.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/6.Tools/">
|
||||
<Project Path="ref/Common/src/BD.Common.Settings.V4.SourceGenerator.Tools/BD.Common.Settings.V4.SourceGenerator.Tools.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Avalonia.Designer.HostApp/BD.WTTS.Client.Avalonia.Designer.HostApp.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Tools.HostsTest/BD.WTTS.Client.Tools.HostsTest.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Tools.OpenSourceLibraryList/BD.WTTS.Client.Tools.OpenSourceLibraryList.csproj" />
|
||||
<Project Path="src/BD.WTTS.Client.Tools.Publish/BD.WTTS.Client.Tools.Publish.csproj" />
|
||||
</Folder>
|
||||
<Project Path="src/BD.WTTS.Client.Avalonia.App/BD.WTTS.Client.Avalonia.App.csproj" />
|
||||
</Solution>
|
||||
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<DefineConstants>WINDOWS;$(DefineConstants)</DefineConstants>
|
||||
<SupportedOSPlatformVersion>7.0</SupportedOSPlatformVersion>
|
||||
<!-- https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref -->
|
||||
<WindowsSdkPackageVersion>10.0.19041.26</WindowsSdkPackageVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
run_path=$(dirname "$0")
|
||||
dotnet_path="$run_path/dotnet"
|
||||
dotnet_exec="$dotnet_path/dotnet"
|
||||
export DOTNET_ROOT="$dotnet_path"
|
||||
link_exec="$run_path/Steam++"
|
||||
# 判断符号链接是否存在
|
||||
if [ -L "$link_exec" ]; then
|
||||
echo "符号链接 $link_exec 已存在"
|
||||
else
|
||||
rm -rf "$link_exec" 2>/dev/null
|
||||
echo "创建符号链接 $dotnet_exec 到 $link_exec"
|
||||
ln -s "$dotnet_exec" "$link_exec"
|
||||
chmod +x "$link_exec"
|
||||
fi
|
||||
"$link_exec" "$run_path/assemblies/Steam++.dll" "$@"
|
||||
exit
|
||||
@@ -1,58 +0,0 @@
|
||||
#!/bin/bash
|
||||
base_path="$HOME/WattToolkit"
|
||||
export LC_ALL=en_US.UTF-8
|
||||
if [ "$1" = "-c" ]; then
|
||||
# 只验证 certutil 是否可用
|
||||
if command -v certutil &>/dev/null; then
|
||||
exit 200
|
||||
else
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
Install_certutil() {
|
||||
# 判断发行版类型
|
||||
if command -v certutil &>/dev/null; then
|
||||
echo "certutil 工具已安装。"
|
||||
else
|
||||
echo "证书导入以及验证需要使用 certutil 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y libnss3-tools
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y nss-tools
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y nss-tools
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S nss
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "certutil 工具已安装。"
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
}
|
||||
Install_certutil
|
||||
certutil_Init
|
||||
exit 0
|
||||
fi
|
||||
@@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
#添加桌面文件
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
exec_name="Steam++"
|
||||
rm -rf "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" >"$HOME/Desktop/Watt Toolkit.desktop"
|
||||
chmod +x "$HOME/Desktop/Watt Toolkit.desktop"
|
||||
exit 0
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=°²×° Watt Toolkit
|
||||
Exec=curl https://steampp.net/pkg/latest/steamdeck/install.sh | bash -s --
|
||||
Icon=steamdeck-gaming-return
|
||||
Terminal=true
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
@@ -1,208 +0,0 @@
|
||||
#!/bin/bash
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
mkdir -p "$base_path"
|
||||
cd "$base_path" || exit 1
|
||||
appVer_path="$base_path/WattToolkit.AppVer"
|
||||
exec_name="Steam++"
|
||||
tar_name="WattToolkit.tgz"
|
||||
tar_path="$base_path/$tar_name"
|
||||
app_name="Watt Toolkit"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
export LC_ALL=en_US.UTF-8
|
||||
Install_certutil() {
|
||||
# 判断发行版类型
|
||||
if command -v certutil &>/dev/null; then
|
||||
echo "certutil 工具已安装。"
|
||||
else
|
||||
echo "证书导入以及验证需要使用 certutil 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y libnss3-tools
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y nss-tools
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y nss-tools
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S nss
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "certutil 工具已安装。"
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
}
|
||||
Install_jq() {
|
||||
# Check if jq is already installed
|
||||
if command -v jq &>/dev/null; then
|
||||
echo "jq 工具已安装。"
|
||||
else
|
||||
echo "jq 用来解析版本更新。"
|
||||
# Check the package manager
|
||||
if command -v apt &>/dev/null; then
|
||||
# Using apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y jq
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# Using dnf (Fedora)
|
||||
sudo dnf install -y jq
|
||||
elif command -v yum &>/dev/null; then
|
||||
# Using yum (CentOS/Red Hat)
|
||||
sudo yum install -y jq
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# Using pacman (Arch Linux)
|
||||
sudo pacman -S jq
|
||||
else
|
||||
echo "请手动安装 jq 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "请手动安装 jq 工具。"
|
||||
fi
|
||||
}
|
||||
Install_zenity() {
|
||||
# 判断发行版类型
|
||||
if command -v zenity &>/dev/null; then
|
||||
echo "zenity 工具已安装。"
|
||||
else
|
||||
echo "安装过程需要 zenity 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y zenity
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y zenity
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y zenity
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S zenity
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "zenity 工具已安装。"
|
||||
fi
|
||||
}
|
||||
|
||||
Show_Run() {
|
||||
local param1=$1
|
||||
# 显示提示框,询问是否运行程序
|
||||
zenity --question --text="$1" --width=400
|
||||
|
||||
# 获取上一个命令的退出码
|
||||
response=$?
|
||||
|
||||
if [ $response -eq 0 ]; then
|
||||
echo "程序已启动。"
|
||||
exit 0 &
|
||||
# 用户点击了 "运行" 按钮,启动程序
|
||||
/bin/sh -c "$base_path/$exec_name.sh"
|
||||
else
|
||||
# 用户点击了 "关闭" 按钮,退出脚本
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
Kill_Process() {
|
||||
# 尝试的次数
|
||||
Kill_MAX_RETRIES=3
|
||||
|
||||
# 循环尝试终止进程
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
kill_retry=1
|
||||
while [ $kill_retry -le $Kill_MAX_RETRIES ]; do
|
||||
pid=$(pgrep "$process_name")
|
||||
if [ -n "$pid" ]; then
|
||||
echo "尝试 $kill_retry: 进程 $process_name 正在运行中。正在终止..."
|
||||
kill $pid
|
||||
sleep 2
|
||||
else
|
||||
break
|
||||
fi
|
||||
kill_retry=$((kill_retry + 1))
|
||||
done
|
||||
done
|
||||
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
# 检查是否成功终止进程
|
||||
if pgrep -x "$process_name" >/dev/null; then
|
||||
echo "无法终止程序 $process_name。尝试次数已达上限。"
|
||||
exit 1
|
||||
else
|
||||
echo "程序 $process_name 已成功终止。"
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
Install_certutil
|
||||
Install_zenity
|
||||
Install_jq
|
||||
certutil_Init
|
||||
Kill_Process
|
||||
dotnet_path="$base_path/dotnet"
|
||||
dotnet_exec="$dotnet_path/dotnet/dotnet"
|
||||
if [ -x "$dotnet_exec" ]; then
|
||||
echo "文件具有执行权限。"
|
||||
else
|
||||
chmod +x "$dotnet_exec"
|
||||
fi
|
||||
chmod +x "$base_path/$exec_name.sh"
|
||||
# xdg-icon-resource install "$base_path/Icons/Watt-Toolkit.png" --size 128 Watt-Toolkit
|
||||
InitDesktop() {
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
choice=$(zenity --list --radiolist --title="请选择要添加到的位置" --column="选择" --column="路径" TRUE "$HOME/.local/share/applications/" FALSE "$HOME/Desktop")
|
||||
|
||||
# 检查用户输入
|
||||
if [ "$choice" == "$HOME/.local/share/applications/" ]; then
|
||||
target_dir="$HOME/.local/share/applications/"
|
||||
break
|
||||
elif [ "$choice" == "$HOME/Desktop" ]; then
|
||||
target_dir="$HOME/Desktop/"
|
||||
break
|
||||
else
|
||||
echo "无效选项,请输入 1 或 2。"
|
||||
fi
|
||||
done
|
||||
#添加桌面文件
|
||||
rm -rf "$target_dir/Watt Toolkit.desktop" 2>/dev/null
|
||||
echo "#!/usr/bin/env xdg-open
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false" >"$target_dir/Watt Toolkit.desktop"
|
||||
chmod +x "$target_dir/Watt Toolkit.desktop"
|
||||
|
||||
}
|
||||
InitDesktop
|
||||
# update-desktop-database ~/.local/share/applications
|
||||
#运行程序
|
||||
Show_Run "下载安装完成,是否启动程序?"
|
||||
exit 0
|
||||
@@ -1,449 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 设置默认的 base_path 参数
|
||||
default_base_path="$HOME/WattToolkit"
|
||||
base_path="$default_base_path"
|
||||
|
||||
# 检查是否以root身份执行
|
||||
if [ "$EUID" -eq 0 ]; then
|
||||
echo "此脚本不能以root身份执行。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 循环直到用户输入有效路径或直接回车
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
custom_base_path=$(zenity --entry --title="安装路径" --text="请输入安装路径(默认为 $default_base_path,不输入则使用默认路径)")
|
||||
|
||||
# 如果用户提供了自定义路径,则使用该路径
|
||||
if [ -n "$custom_base_path" ]; then
|
||||
base_path="$custom_base_path"
|
||||
break
|
||||
elif [ -z "$custom_base_path" ]; then
|
||||
# 用户直接回车,使用默认路径
|
||||
break
|
||||
else
|
||||
# 用户输入无效路径,重新提示
|
||||
echo "无效路径,请重新输入。"
|
||||
fi
|
||||
done
|
||||
|
||||
# 创建安装路径
|
||||
mkdir -p "$base_path" || {
|
||||
echo "无法创建安装路径 $base_path,请检查权限或路径是否正确。"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 切换到安装路径
|
||||
cd "$base_path" || {
|
||||
echo "无法切换到安装路径 $base_path,请检查权限或路径是否正确。"
|
||||
exit 1
|
||||
}
|
||||
|
||||
appVer_path="$base_path/WattToolkit.AppVer"
|
||||
exec_name="Steam++"
|
||||
tar_name="WattToolkit.tgz"
|
||||
tar_path="$base_path/$tar_name"
|
||||
base_url="https://api.steampp.net"
|
||||
architecture=1
|
||||
app_name="Watt Toolkit"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
Check_LC_Code() {
|
||||
# 检查当前 LANG 环境变量
|
||||
current_lang="${LC_ALL:-$LANG}"
|
||||
echo "当前语言环境: $current_lang"
|
||||
|
||||
# 检查是否为 C 或 C.UTF-8
|
||||
if [ "$current_lang" = "C" ] || [ "$current_lang" = "C.UTF-8" ]; then
|
||||
echo "当前语言环境是 C 或 C.UTF-8,需要修改。"
|
||||
|
||||
# 列出系统支持的语言环境
|
||||
supported_locales=$(locale -a)
|
||||
if [ -z "$supported_locales" ]; then
|
||||
echo "未能获取到支持的语言环境列表。请检查系统配置。"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 遍历支持的语言环境列表,找到第一个不是 C 或 C.UTF-8 的项
|
||||
first_non_c_locale=""
|
||||
for locale in $supported_locales; do
|
||||
if [ "$locale" != "C" ] && [ "$locale" != "C.UTF-8" ]; then
|
||||
first_non_c_locale="$locale"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# 检查是否找到了非 C/C.UTF-8 的语言环境
|
||||
if [ -n "$first_non_c_locale" ]; then
|
||||
echo "修改语言环境为支持列表中的第一个非 C/C.UTF-8 项:$first_non_c_locale"
|
||||
export LC_ALL="$first_non_c_locale"
|
||||
echo "语言环境已修改为 $first_non_c_locale。"
|
||||
else
|
||||
echo "未能找到非 C/C.UTF-8 的语言环境。请检查系统配置。"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "当前语言环境不是 C 或 C.UTF-8,无需修改。"
|
||||
fi
|
||||
}
|
||||
Check_LC_Code
|
||||
Install_certutil() {
|
||||
# 判断发行版类型
|
||||
if command -v certutil &>/dev/null; then
|
||||
echo "certutil 工具已安装。"
|
||||
else
|
||||
echo "证书导入以及验证需要使用 certutil 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y libnss3-tools
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y nss-tools
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y nss-tools
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S nss
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 certutil 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "certutil 工具已安装。"
|
||||
fi
|
||||
}
|
||||
certutil_Init() {
|
||||
certutil -d $HOME/.pki/nssdb -L
|
||||
ret=$?
|
||||
if [ $ret -ne 0 ]; then
|
||||
echo "即将初始化 certutil \$HOME/.pki/nssdb"
|
||||
mkdir -p $HOME/.pki
|
||||
mkdir -p $HOME/.pki/nssdb
|
||||
chmod 700 $HOME/.pki/nssdb
|
||||
certutil -d $HOME/.pki/nssdb -N --empty-password
|
||||
else
|
||||
echo "certutil nssdb 正常"
|
||||
fi
|
||||
}
|
||||
Install_jq() {
|
||||
# Check if jq is already installed
|
||||
if command -v jq &>/dev/null; then
|
||||
echo "jq 工具已安装。"
|
||||
else
|
||||
echo "jq 用来解析版本更新。"
|
||||
# Check the package manager
|
||||
if command -v apt &>/dev/null; then
|
||||
# Using apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y jq
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# Using dnf (Fedora)
|
||||
sudo dnf install -y jq
|
||||
elif command -v yum &>/dev/null; then
|
||||
# Using yum (CentOS/Red Hat)
|
||||
sudo yum install -y jq
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# Using pacman (Arch Linux)
|
||||
sudo pacman -S jq
|
||||
else
|
||||
echo "请手动安装 jq 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "请手动安装 jq 工具。"
|
||||
fi
|
||||
}
|
||||
#精简版系统可能没有该工具
|
||||
Install_zenity() {
|
||||
# 判断发行版类型
|
||||
if command -v zenity &>/dev/null; then
|
||||
echo "zenity 工具已安装。"
|
||||
else
|
||||
echo "安装过程需要 zenity 工具。"
|
||||
# 判断包管理器
|
||||
if command -v apt &>/dev/null; then
|
||||
# 使用 apt (Debian/Ubuntu)
|
||||
sudo apt update
|
||||
sudo apt install -y zenity
|
||||
elif command -v dnf &>/dev/null; then
|
||||
# 使用 dnf (Fedora)
|
||||
sudo dnf install -y zenity
|
||||
elif command -v yum &>/dev/null; then
|
||||
# 使用 yum (CentOS/Red Hat)
|
||||
sudo yum install -y zenity
|
||||
elif command -v pacman &>/dev/null; then
|
||||
# 使用 pacman (Arch Linux)
|
||||
# sudo pacman -S zenity
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
else
|
||||
echo "请手动安装 zenity 工具。"
|
||||
exit 1
|
||||
fi
|
||||
echo "zenity 工具已安装。"
|
||||
fi
|
||||
}
|
||||
|
||||
Show_Run() {
|
||||
local param1=$1
|
||||
# 显示提示框,询问是否运行程序
|
||||
zenity --question --text="$1" --width=400
|
||||
|
||||
# 获取上一个命令的退出码
|
||||
response=$?
|
||||
|
||||
if [ $response -eq 0 ]; then
|
||||
echo "程序已启动。"
|
||||
exit 0 &
|
||||
# 用户点击了 "运行" 按钮,启动程序
|
||||
/bin/sh -c "$base_path/$exec_name.sh"
|
||||
else
|
||||
# 用户点击了 "关闭" 按钮,退出脚本
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
Get_NewVer() {
|
||||
#获取系统架构
|
||||
arch=$(uname -m)
|
||||
case $arch in
|
||||
x86_64)
|
||||
architecture=1
|
||||
;;
|
||||
i?86)
|
||||
architecture=0
|
||||
;;
|
||||
arm*)
|
||||
architecture=2
|
||||
;;
|
||||
aarch64)
|
||||
architecture=3
|
||||
;;
|
||||
*)
|
||||
zenity --info --text="未知的设备架构:$arch!" --width=300
|
||||
exit 500
|
||||
;;
|
||||
esac
|
||||
|
||||
# 获取发行版信息
|
||||
read -r os_version <<<"$(cat /etc/os-release | grep -E 'VERSION_ID=' | awk -F'=' '{ print $2 }' | tr -d '"')"
|
||||
|
||||
# 如果 VERSION 为空,则使用 BUILD_ID 填充
|
||||
if [ -z "$os_version" ]; then
|
||||
os_version=$(cat /etc/os-release | grep -E 'BUILD_ID=' | awk -F'=' '{ print $2 }' | tr -d '"')
|
||||
fi
|
||||
|
||||
# 分割版本号
|
||||
IFS='.' read -ra version_parts <<<"$os_version"
|
||||
|
||||
# 提取主版本号和次版本号
|
||||
major_version=${version_parts[0]}
|
||||
minor_version=${version_parts[1]}
|
||||
if [ -z "$minor_version" ]; then
|
||||
minor_version=0
|
||||
fi
|
||||
# 通过 SHA384 文件来判断是否需要更新
|
||||
wget "$base_url/basic/versions/8/16/$architecture/$major_version/$minor_version/-1/0/" -O "$appVer_path" 2>&1
|
||||
n_sha384=$(jq -r '.["\uD83E\uDD93"].Downloads[0].SHA384' "$appVer_path")
|
||||
|
||||
downloads_url=$(jq -r '.["\uD83E\uDD93"].Downloads[0].DownloadUrl' "$appVer_path")
|
||||
|
||||
# 检查 SHA384 值是否为空
|
||||
if [ "$n_sha384" = "" ]; then
|
||||
zenity --info --text="未知的最新版本 Hash:$n_sha384!" --width=300
|
||||
exit 500
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
#本地版本 Hash
|
||||
if [ -f "AppVer" ]; then
|
||||
o_sha384=$(cat "AppVer")
|
||||
fi
|
||||
if [ -e "AppVer" ]; then
|
||||
if [ "${o_sha384,,}" = "${n_sha384,,}" ]; then
|
||||
Show_Run "已是最新版本,是否启动程序?"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
Download_File() {
|
||||
# 删除旧的文件
|
||||
rm -rf $tar_path
|
||||
title="安装"
|
||||
# 检查 o_sha384 是否为空
|
||||
if [ -z "$o_sha384" ]; then
|
||||
title="安装"
|
||||
else
|
||||
title="更新"
|
||||
fi
|
||||
for i in {1..3}; do
|
||||
#下载文件到目标目录
|
||||
wget "$downloads_url" -O "$tar_path" 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# 下载中 \2\/s, 剩余时间: \3/' | zenity --progress --title="$title Watt Toolkit" --auto-close --width=500
|
||||
|
||||
RUNNING=0
|
||||
while [ $RUNNING -eq 0 ]; do
|
||||
if [ -z "$(pidof zenity)" ]; then
|
||||
pkill wget
|
||||
RUNNING=1
|
||||
fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
sleep 1
|
||||
# 校验下载文件 Hash
|
||||
actual_hash=$(sha384sum "$tar_name" | awk '{ print $1 }')
|
||||
if [ "${actual_hash,,}" = "${n_sha384,,}" ]; then
|
||||
rm "AppVer"
|
||||
echo "${actual_hash,,}" >>"$base_path/AppVer"
|
||||
break 2
|
||||
fi
|
||||
|
||||
if [ "$i" -ge "3" ]; then
|
||||
zenity --error --text="下载错误。" --width=500
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
Kill_Process() {
|
||||
# 尝试的次数
|
||||
Kill_MAX_RETRIES=3
|
||||
|
||||
# 循环尝试终止进程
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
kill_retry=1
|
||||
while [ $kill_retry -le $Kill_MAX_RETRIES ]; do
|
||||
pid=$(pgrep "$process_name")
|
||||
if [ -n "$pid" ]; then
|
||||
echo "尝试 $kill_retry: 进程 $process_name 正在运行中。正在终止..."
|
||||
kill $pid
|
||||
sleep 2
|
||||
else
|
||||
break
|
||||
fi
|
||||
kill_retry=$((kill_retry + 1))
|
||||
done
|
||||
done
|
||||
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
# 检查是否成功终止进程
|
||||
if pgrep -x "$process_name" >/dev/null; then
|
||||
echo "无法终止程序 $process_name。尝试次数已达上限。"
|
||||
exit 1
|
||||
else
|
||||
echo "程序 $process_name 已成功终止。"
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
Decompression() {
|
||||
echo "开始解压更新。"
|
||||
|
||||
# 使用 zenity 显示进度条对话框,并将解压命令输出重定向到文件
|
||||
tar -xzvf "$tar_name" 2>&1 |
|
||||
zenity --progress \
|
||||
--title="安装中" \
|
||||
--text="正在解压 $tar_name..." \
|
||||
--percentage=20 \
|
||||
--auto-close \
|
||||
--width=500
|
||||
|
||||
# 删除本地版本缓存
|
||||
rm -f "$appVer_path" &>/dev/null
|
||||
dotnet_path="$base_path/dotnet"
|
||||
dotnet_exec="$dotnet_path/dotnet"
|
||||
if [ -x "$dotnet_exec" ]; then
|
||||
echo "文件具有执行权限。"
|
||||
else
|
||||
chmod +x "$dotnet_exec"
|
||||
fi
|
||||
chmod +x "$base_path/$exec_name.sh"
|
||||
}
|
||||
|
||||
#先安装依赖;
|
||||
Install_certutil
|
||||
Install_zenity
|
||||
Install_jq
|
||||
certutil_Init
|
||||
#版本检查更新;
|
||||
Get_NewVer
|
||||
|
||||
# 使用条件判断来检查文件是否存在
|
||||
if [ -f "$tar_path" ]; then
|
||||
#如果本地存在文件与新版本计算 Hash 避免重复下载;
|
||||
temp_hash=$(sha384sum "$tar_path" | awk '{ print $1 }')
|
||||
if [ "${temp_hash,,}" != "${n_sha384,,}" ]; then
|
||||
#下载文件
|
||||
Download_File
|
||||
else
|
||||
rm "$base_path/AppVer"
|
||||
#版本号是最新缓存 输出到文件
|
||||
echo "${temp_hash,,}" >>"$base_path/AppVer"
|
||||
zenity --question --text="本地已有最新安装包是否继续解压?" --width=400
|
||||
|
||||
# 获取上一个命令的退出码
|
||||
response=$?
|
||||
|
||||
if [ $response -eq 0 ]; then
|
||||
echo "继续解压"
|
||||
else
|
||||
# 用户点击了 "关闭" 按钮,退出脚本
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
else
|
||||
#下载文件
|
||||
Download_File
|
||||
fi
|
||||
#解压前尝试杀死旧版本进程
|
||||
Kill_Process
|
||||
#解压
|
||||
Decompression
|
||||
# xdg-icon-resource install "$base_path/Icons/Watt-Toolkit.png" --size 128 Watt-Toolkit
|
||||
InitDesktop() {
|
||||
# 检查XDG_DESKTOP_DIR环境变量,如果未设置则使用默认值
|
||||
XDG_DESKTOP_DIR="${XDG_DESKTOP_DIR:-$HOME/Desktop}"
|
||||
|
||||
while true; do
|
||||
# 使用 zenity 提示用户选择安装路径或使用默认路径
|
||||
choice=$(zenity --list --radiolist --title="请选择要添加到的位置" \
|
||||
--column="选择" --column="路径" \
|
||||
TRUE "$XDG_DESKTOP_DIR" \
|
||||
FALSE "$HOME/.local/share/applications/")
|
||||
|
||||
# 检查用户输入
|
||||
if [ "$choice" == "$HOME/.local/share/applications/" ]; then
|
||||
target_dir="$HOME/.local/share/applications/"
|
||||
break
|
||||
elif [ "$choice" == "$XDG_DESKTOP_DIR" ]; then
|
||||
target_dir="$XDG_DESKTOP_DIR"
|
||||
break
|
||||
else
|
||||
# 无效选项时给出提示,并继续循环
|
||||
zenity --info --text="无效选项,请重新选择。"
|
||||
fi
|
||||
done
|
||||
|
||||
# 添加桌面文件
|
||||
rm -rf "$target_dir/Watt Toolkit.desktop" 2>/dev/null
|
||||
cat <<EOT > "$target_dir/Watt Toolkit.desktop"
|
||||
[Desktop Entry]
|
||||
Name=Watt Toolkit
|
||||
Exec=$base_path/$exec_name.sh
|
||||
Icon=$base_path/Icons/Watt-Toolkit.png
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=false
|
||||
EOT
|
||||
chmod +x "$target_dir/Watt Toolkit.desktop"
|
||||
}
|
||||
|
||||
|
||||
InitDesktop
|
||||
# update-desktop-database ~/.local/share/applications
|
||||
#运行程序
|
||||
Show_Run "下载安装完成,是否启动程序?"
|
||||
exit 0
|
||||
@@ -1,99 +0,0 @@
|
||||
#!/bin/bash
|
||||
run_path=$(dirname "$0")
|
||||
base_path="$(dirname "$run_path")"
|
||||
exec_name="Steam++"
|
||||
app_name="Watt Toolkit"
|
||||
AppData="$XDG_DATA_HOME/Steam++"
|
||||
AppData_t="$HOME/.local/share/Steam++"
|
||||
Cache="$XDG_CACHE_HOME/Steam++"
|
||||
Cache_t="$HOME/.cache/Steam+"
|
||||
PROCESS_NAMES=("$exec_name" "$app_name")
|
||||
export LC_ALL=en_US.UTF-8
|
||||
#检查是否存在 Steam++.sh 避免卸载错误
|
||||
file_to_check="$base_path/Steam++.sh"
|
||||
folders_to_check=("dotnet" "modules" "native" "script" "assemblies")
|
||||
if [ -e "$file_to_check" ]; then
|
||||
echo "文件 $file_to_check 存在"
|
||||
else
|
||||
echo "文件 $file_to_check 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for folder in "${folders_to_check[@]}"; do
|
||||
folder_path="$base_path/$folder"
|
||||
if [ -d "$folder_path" ]; then
|
||||
echo "文件夹 $folder_path 存在"
|
||||
else
|
||||
echo "文件夹 $folder_path 不存在"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "验证该文件夹是 $app_name 安装目录,请确认是否卸载。"
|
||||
|
||||
read -p "所有文件和文件夹都存在,确认卸载吗? (输入 'y' 确认): " confirmation
|
||||
|
||||
if [ "${confirmation,,}" == "y" ]; then
|
||||
echo "开始执行卸载操作"
|
||||
# 在这里添加您的卸载操作
|
||||
else
|
||||
echo "用户取消卸载操作"
|
||||
exit 0
|
||||
fi
|
||||
Kill_Process() {
|
||||
# 尝试的次数
|
||||
Kill_MAX_RETRIES=3
|
||||
|
||||
# 循环尝试终止进程
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
kill_retry=1
|
||||
while [ $kill_retry -le $Kill_MAX_RETRIES ]; do
|
||||
pid=$(pgrep "$process_name")
|
||||
if [ -n "$pid" ]; then
|
||||
echo "尝试 $kill_retry: 进程 $process_name 正在运行中。正在终止..."
|
||||
kill $pid
|
||||
sleep 2
|
||||
else
|
||||
break
|
||||
fi
|
||||
kill_retry=$((kill_retry + 1))
|
||||
done
|
||||
done
|
||||
|
||||
for process_name in "${PROCESS_NAMES[@]}"; do
|
||||
# 检查是否成功终止进程
|
||||
if pgrep -x "$process_name" >/dev/null; then
|
||||
echo "无法终止程序 $process_name。尝试次数已达上限。"
|
||||
exit 1
|
||||
else
|
||||
echo "程序 $process_name 已成功终止。"
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
Kill_Process
|
||||
|
||||
zenity --question --text="是否删除证书?" --width=400
|
||||
# 获取上一个命令的退出码
|
||||
delCer=$?
|
||||
|
||||
if [ $delCer -eq 0 ]; then
|
||||
certutil -D -d $HOME/.pki/nssdb -n "SteamTools"
|
||||
fi
|
||||
|
||||
zenity --question --text="是否删除用户数据?" --width=400
|
||||
# 获取上一个命令的退出码
|
||||
delUserData=$?
|
||||
|
||||
if [ $delUserData -eq 0 ]; then
|
||||
rm -rf $AppData 2>/dev/null
|
||||
rm -rf $AppData_t 2>/dev/null
|
||||
certutil -D -d $HOME/.pki/nssdb -n "SteamTools"
|
||||
else
|
||||
echo "保留用户数据方便下次安装。"
|
||||
echo "如需删除可手动删除该目录:$AppData 或者 $AppData_t"
|
||||
fi
|
||||
rm -rf $Cache 2>/dev/null
|
||||
rm -rf $Cache_t 2>/dev/null
|
||||
rm -rf $base_path 2>/dev/null
|
||||
rm -rf "$HOME/Desktop/Watt Toolkit.desktop" 2>/dev/null
|
||||
zenity --info --text="卸载完成!" --width=300
|
||||
@@ -1,96 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 判断是否提供了 Build_Mode 参数
|
||||
if [ -z "$1" ]; then
|
||||
Build_Mode="any" # 如果没有提供参数,则设置默认值为 "any"
|
||||
else
|
||||
Build_Mode="$1"
|
||||
fi
|
||||
|
||||
Base_Path="/Users/moxiansheng/Documents/GitHub/SteamTools"
|
||||
App_Path="$Base_Path/src/BD.WTTS.Client.Avalonia.App"
|
||||
Publish_Path="bin/Release/Publish/assemblies"
|
||||
Plugins_Release_Path="bin/Release"
|
||||
CodesignKey_Name="mossimo code"
|
||||
App_Modules_Path="$App_Path/$Publish_Path/modules"
|
||||
echo "编译主程序"
|
||||
cd "$App_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:CreatePackage=false -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
|
||||
rm -r "$App_Modules_Path"
|
||||
mkdir -p "$App_Modules_Path"
|
||||
echo "编译插件"
|
||||
#复制插件
|
||||
Copy_Plugins() {
|
||||
local Plugins_Folder=$1
|
||||
local Plugins_Folder_Name=$2
|
||||
local Plugins_FileName=$3
|
||||
mkdir -p "$App_Modules_Path/$Plugins_Folder_Name"
|
||||
cp -r "$Plugins_Folder/$Plugins_FileName" "$App_Modules_Path/$Plugins_Folder_Name/$Plugins_FileName"
|
||||
}
|
||||
echo "编译加速插件"
|
||||
Plugins_Accelerator_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Accelerator"
|
||||
cd "$Plugins_Accelerator_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "Accelerator" "BD.WTTS.Client.Plugins.Accelerator.dll"
|
||||
|
||||
Plugins_Accelerator_ReverseProxy_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy"
|
||||
cd "$Plugins_Accelerator_ReverseProxy_Path"
|
||||
# 根据 Build_Mode 执行不同逻辑
|
||||
if [ "$Build_Mode" = "any" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net8.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net8.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
lipo -create "$Publish_Path/arm64/Steam++.Accelerator" "$Publish_Path/x64/Steam++.Accelerator" -output "$Publish_Path/Steam++.Accelerator"
|
||||
Copy_Plugins "$Publish_Path" "Accelerator" "Steam++.Accelerator"
|
||||
elif [ "$Build_Mode" = "arm64" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/arm64" -f net8.0 -r osx-arm64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Publish_Path/arm64" "Accelerator" "Steam++.Accelerator"
|
||||
elif [ "$Build_Mode" = "x64" ]; then
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path/x64" -f net8.0 -r osx-x64 -p:PublishSingleFile=true --self-contained -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Publish_Path/x64" "Accelerator" "Steam++.Accelerator"
|
||||
fi
|
||||
|
||||
echo "编译令牌插件"
|
||||
Plugins_Authenticator_Path="$Base_Path/src/BD.WTTS.Client.Plugins.Authenticator"
|
||||
cd "$Plugins_Authenticator_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "Authenticator" "BD.WTTS.Client.Plugins.Authenticator.dll"
|
||||
|
||||
echo "编译账户插件"
|
||||
Plugins_GameAccount_Path="$Base_Path/src/BD.WTTS.Client.Plugins.GameAccount"
|
||||
cd "$Plugins_GameAccount_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "GameAccount" "BD.WTTS.Client.Plugins.GameAccount.dll"
|
||||
|
||||
echo "编译游戏库插件"
|
||||
Plugins_GameList_Path="$Base_Path/src/BD.WTTS.Client.Plugins.GameList"
|
||||
cd "$Plugins_GameList_Path"
|
||||
dotnet publish -c Release -p:PublishDir="$Publish_Path" -f net8.0-macos -p:EnableCodeSigning=true -p:CodesignKey="$CodesignKey_Name"
|
||||
Copy_Plugins "$Plugins_Release_Path/net8.0-macos" "GameList" "BD.WTTS.Client.Plugins.GameList.dll"
|
||||
|
||||
echo "复制插件到程序目录"
|
||||
cd "$App_Path"
|
||||
|
||||
# 根据 Build_Mode 执行不同逻辑
|
||||
if [ "$Build_Mode" = "any" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/MonoBundle"
|
||||
elif [ "$Build_Mode" = "arm64" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/osx-arm64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents"
|
||||
elif [ "$Build_Mode" = "x64" ]; then
|
||||
cp -r "$App_Modules_Path" "$Plugins_Release_Path/net8.0-macos/osx-x64/Steam++.app/Contents/MonoBundle"
|
||||
cp -r "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents/Resources" "$Plugins_Release_Path/net8.0-macos/Steam++.app/Contents"
|
||||
fi
|
||||
|
||||
echo "代码签名重新手动签名"
|
||||
App_Publish_Path="$App_Path/bin/Release/net8.0-macos/Steam++.app"
|
||||
# #代码签名重新手动签名
|
||||
codesign --remove-signature "$App_Publish_Path"
|
||||
codesign --remove-signature "$App_Publish_Path/Contents/MacOS/Steam++"
|
||||
dylibs=$(find "$App_Publish_Path/Contents/MonoBundle" -type f -name "*.dylib")
|
||||
for dylib in $dylibs; do
|
||||
codesign --remove-signature "$dylib"
|
||||
codesign -f -s "$CodesignKey_Name" "$dylib"
|
||||
done
|
||||
codesign -f -s "$CodesignKey_Name" "$App_Publish_Path/Contents/MacOS/Steam++"
|
||||
codesign -f -s "$CodesignKey_Name" "$App_Publish_Path"
|
||||
sudo xattr -rd com.apple.quarantine "$App_Publish_Path"
|
||||
@@ -1 +0,0 @@
|
||||
dotnet publish "..\src\BD.WTTS.Client.AppHost\BD.WTTS.Client.AppHost.csproj" -f net7.0 -c Release -p:PublishProfile=linux-x64 -p:DeployOnBuild=true --nologo
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +0,0 @@
|
||||
files:
|
||||
- source: /src/BD.WTTS.Client/Resources/Strings.resx
|
||||
ignore:
|
||||
- '*.cs'
|
||||
translation: /src/BD.WTTS.Client/Resources/Strings.%two_letters_code%.resx
|
||||
@@ -1,21 +0,0 @@
|
||||
# Steam++ v3.X FileSystem Document
|
||||
|
||||
### 📁 Storage
|
||||
- AppData
|
||||
- Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState```
|
||||
- Windows ```\AppData``` or ```%LocalAppData%\Steam++```
|
||||
- macOS ```~/Library/Steam++```
|
||||
- Linux ```$XDG_DATA_HOME/Steam++``` or ```$HOME/.local/share/Steam++```
|
||||
- Android ```/data/data/net.steampp.app/files```
|
||||
- Cache
|
||||
- Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache```
|
||||
- Windows ```\Cache``` or ```%Tmp%\Steam++```
|
||||
- macOS ```~/Library/Caches/Steam++```
|
||||
- Linux ```$XDG_CACHE_HOME/Steam++``` or ```$HOME/.cache/Steam++```
|
||||
- Android ```/data/data/net.steampp.app/cache```
|
||||
- Logs
|
||||
- Microsoft Store ```%USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs```
|
||||
- Windows ```\Logs``` or ```%Tmp%\Steam++\Logs```
|
||||
- macOS ```~/Library/Caches/Steam++/Logs```
|
||||
- Linux ```$XDG_CACHE_HOME/Steam++/Logs``` or ```$HOME/.cache/Steam++/Logs```
|
||||
- Android ```/data/data/net.steampp.app/cache/Logs```
|
||||
@@ -1,78 +0,0 @@
|
||||
<!--👇图标如果发生更改,还需更改 BD.WTTS.Client.Tools.OpenSourceLibraryList(Program.OpenSourceLibraryListEmoji) -->
|
||||
## 📄 Open Source Library
|
||||
* [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)
|
||||
* [GooglePlayServicesComponents](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)
|
||||
Binary file not shown.
@@ -1,4 +0,0 @@
|
||||
### [OpenWrt](https://openwrt.org/start)
|
||||
|
||||
TODO
|
||||
Asuswrt-Merlin
|
||||
@@ -1,32 +0,0 @@
|
||||
# Steam++ v3.X Program File Structure for Linux
|
||||
|
||||
- dotnet 共享运行时,删除后将使用已安装的运行时,此目录参考 [aspnetcore-runtime-7.0.7-linux-x64.tar.gz](https://download.visualstudio.microsoft.com/download/pr/c1e2729e-b96-4929-911d-bf0f24f06f47/1b2f39cbc4eb530e39cfe6f54ce78e45/aspnetcore-runtime-7.0.7-linux-x64.tar.gz),可自行升级运行库小版本号,二进制兼容
|
||||
- host
|
||||
- fxr
|
||||
- x.y.z
|
||||
- hostfxr.dll
|
||||
- shared
|
||||
- Microsoft.AspNetCore.App
|
||||
- x.y.z
|
||||
- Microsoft.NETCore.App
|
||||
- x.y.z
|
||||
- native
|
||||
- linux-x64
|
||||
- libe_sqlite3.so
|
||||
- libHarfBuzzSharp.so
|
||||
- libSkiaSharp.so
|
||||
- Steam++ (主启动程序) AppHost
|
||||
- assemblies 主模块程序集
|
||||
- modules 可选模块
|
||||
- Accelerator 网络加速
|
||||
- Steam++.Accelerator 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 Docker
|
||||
- Steam++.Plugins.Accelerator 插件程序集
|
||||
- AccountSwitch 账号切换
|
||||
- Steam++.Plugins.AccountSwitch.dll
|
||||
- ~~ArchiSteamFarm~~
|
||||
- Steam++.ArchiSteamFarm.exe
|
||||
- Steam++.Plugins.ArchiSteamFarm.dll
|
||||
- GameList 库存游戏
|
||||
- Steam++.Plugins.GameList.dll
|
||||
- LocalAuth 本地令牌
|
||||
- Steam++.Plugins.LocalAuth.dll
|
||||
@@ -1,33 +0,0 @@
|
||||
# Steam++ v3.X Program File Structure for macOS
|
||||
|
||||
- Steam++.app (包含 arm64 与 x64 以及 .NET Runtime x2 与 ASP.NET Core Runtime 文件大小应该较大)
|
||||
- Contents
|
||||
- Info.plist
|
||||
- MacOS
|
||||
- Steam++ (主启动程序)
|
||||
- MonoBundle
|
||||
- dotnet 运行时,其中 Microsoft.NETCore.App 与 tfm macos 中将存在两份重复的,此目录参考 [aspnetcore-runtime-7.0.7-osx-arm64.tar.gz](https://wnload.visualstudio.microsoft.com/download/pr/97bb1f46-3b87-4475-bc06-e5cb7f4e6d0a/3e36e0c804c5805d2fe856505d7b1b3c/aspnetcore-runtime-7.0.7-osx-arm64.tar.gz)
|
||||
- host
|
||||
- fxr
|
||||
- x.y.z
|
||||
- hostfxr.dll
|
||||
- shared
|
||||
- Microsoft.AspNetCore.App
|
||||
- x.y.z
|
||||
- Microsoft.NETCore.App
|
||||
- x.y.z
|
||||
- modules 可选模块
|
||||
- Accelerator 网络加速
|
||||
- Steam++.Accelerator 控制台子服务进程,使用匿名管道与主进程通信,无参数或指定某个参数(待定)启动时可读取配置文件启动加速,可完全独立运行,ASP.NET Core Web API 项目,可支持 ocker
|
||||
- Steam++.Plugins.Accelerator.dll 插件程序集
|
||||
- AccountSwitch 账号切换
|
||||
- Steam++.Plugins.AccountSwitch.dll
|
||||
- ~~ArchiSteamFarm~~
|
||||
- Steam++.ArchiSteamFarm.dll
|
||||
- Steam++.Plugins.ArchiSteamFarm.dll
|
||||
- GameList 库存游戏
|
||||
- Steam++.Plugins.GameList.dll
|
||||
- LocalAuth 本地令牌
|
||||
- Steam++.Plugins.LocalAuth.dll
|
||||
- PkgInfo
|
||||
- Resources
|
||||
@@ -1,70 +0,0 @@
|
||||
# Steam++ v3.X Publish Document
|
||||
|
||||
### Assets
|
||||
- Windows
|
||||
- x64
|
||||
- ```Steam++_vx.y.z_win_x64.msix```
|
||||
- ```Steam++_vx.y.z_win_x64.7z```
|
||||
- x86
|
||||
- ```Steam++_vx.y.z_win_x86.msix```
|
||||
- ```Steam++_vx.y.z_win_x86.7z```
|
||||
- Arm64
|
||||
- ```Steam++_vx.y.z_win_arm64.msix```
|
||||
- ```Steam++_vx.y.z_win_arm64.7z```
|
||||
- Linux
|
||||
- x64
|
||||
- ```Steam++_vx.y.z_linux_x64.tar.zst```
|
||||
- ```Steam++_vx.y.z_linux_x64.deb```
|
||||
- ```Steam++_vx.y.z_linux_x64.rpm```
|
||||
- Arm64
|
||||
- ```Steam++_vx.y.z_linux_arm64.tar.zst```
|
||||
- ```Steam++_vx.y.z_linux_arm64.deb```
|
||||
- ```Steam++_vx.y.z_linux_arm64.rpm```
|
||||
- macOS
|
||||
- x64
|
||||
- ```Steam++_vx.y.z_macos_x64.pkg```
|
||||
- Arm64
|
||||
- ```Steam++_vx.y.z_macos_arm64.pkg```
|
||||
- Android
|
||||
- Arm64
|
||||
- ```Steam++_vx.y.z_android_arm64.apk```
|
||||
|
||||
### Program File Structure
|
||||
- [Windows](./program-file-structure/Windows.md)
|
||||
- [Linux](./program-file-structure/Linux.md)
|
||||
- [macOS](./program-file-structure/macOS.md)
|
||||
|
||||
|
||||
<!--
|
||||
对子服务进程二进制程序的 RID 使用 ```RuntimeInformation.ProcessArchitecture.ToString()```
|
||||
通过 ```PublishFolderType="Assembly"``` 指定 Copy 到 MonoBundle 中,没有其他选项能够将其放在 MacOS 文件夹中
|
||||
|
||||
改成 Windows 的目录结构,但在 AOT 的 AppHost 中无法加载已使用框架依赖发布的程序集,错误 Initialization for self-contained components is not supported
|
||||
参考
|
||||
https://github.com/dotnet/runtime/issues/35329
|
||||
https://github.com/dotnet/runtime/search?l=C%2B%2B&q=get_is_framework_dependent
|
||||
https://github.com/dotnet/runtime/blob/6702dc5c7814e624a42ab4615224920a5635beeb/src/native/corehost/runtime_config.cpp
|
||||
https://github.com/dotnet/runtime/blob/main/docs/design/features/host-error-codes.md
|
||||
https://github.com/dotnet/samples/blob/91355ef22a10ec614a2e8daefd68785066860d57/core/hosting/src/NativeHost/nativehost.cpp
|
||||
-->
|
||||
|
||||
<!--
|
||||
### 安装 ASP.NET Core 运行时 & .NET 运行时
|
||||
- Windows
|
||||
- [使用 Windows 包管理器 (winget) 进行安装](https://learn.microsoft.com/zh-cn/dotnet/core/install/windows?tabs=net70#install-with-windows-installer)
|
||||
```winget install Microsoft.DotNet.AspNetCore.7```
|
||||
- Linux
|
||||
- [使用安装脚本或通过提取二进制文件在 Linux 上安装 .NET](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-scripted-manual)
|
||||
```wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh```
|
||||
```sudo chmod +x ./dotnet-install.sh```
|
||||
```./dotnet-install.sh --version latest --runtime aspnetcore```
|
||||
- [排查与 Linux 上缺少文件相关的 .NET 错误](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-package-mixup?pivots=os-linux-redhat)
|
||||
- macOS
|
||||
- [使用 Bash 自动化安装](https://learn.microsoft.com/zh-cn/dotnet/core/install/macos#install-with-bash-automation)
|
||||
```./dotnet-install.sh --channel 7.0 --runtime aspnetcore```
|
||||
-->
|
||||
|
||||
### 自定义 .NET Host 文档
|
||||
- [编写自定义 .NET 主机以从本机代码控制 .NET 运行时](https://learn.microsoft.com/zh-cn/dotnet/core/tutorials/netcore-hosting)
|
||||
- [.NET 分发打包](https://learn.microsoft.com/zh-cn/dotnet/core/distribution-packaging)
|
||||
- [环境变量 - 指定 .NET 运行时的位置](https://learn.microsoft.com/zh-cn/dotnet/core/tools/dotnet-environment-variables#dotnet_root-dotnet_rootx86)
|
||||
@@ -1,117 +0,0 @@
|
||||
<!-- https://keylol.com/t667906-1-1 -->
|
||||
# 前言
|
||||
Steam++ 是完全开源的,请不要在非官方渠道下载软件。我们也制作了自己的[官网](https://www.steampp.net),大家可以去[官网](https://www.steampp.net)或者开源仓库地址下载。
|
||||
|
||||
# Steam++ 工具箱
|
||||
|
||||
## x.y.z 更新内容
|
||||
微软商店版本在微软商店检查获取更新即可,一般会比桌面版晚上几天的审核时间。
|
||||
|
||||
### 版本亮点
|
||||
TODO
|
||||
|
||||
### 修复问题
|
||||
TODO
|
||||
|
||||
|
||||
[](https://steampp.net)
|
||||
[]()
|
||||
|
||||
------
|
||||
|
||||
|
||||
## 工具介绍
|
||||
|
||||
`Steam++` 是一款开源的跨平台 Steam 工具箱,所有本地功能完全免费,开源发布于 GitHub,如果您对发布的二进制文件不放心,可以自行下载源码编译运行。
|
||||
此工具的大部分功能都是需要您下载安装 Steam 才能使用。
|
||||
工具预计将整合进大部分常用的 Steam 相关工具,并且尽力做到比原工具更好用。
|
||||
软件截图
|
||||
[hide]
|
||||
[attachimg]1463881[/attachimg]
|
||||
[attachimg]1463882[/attachimg]
|
||||
[attachimg]1463884[/attachimg]
|
||||
[attachimg]1463899[/attachimg]
|
||||
[/hide]
|
||||
|
||||
## 核心功能
|
||||
|
||||
### 1. 本地方法访问加快
|
||||
|
||||
略
|
||||
|
||||
### 2. 快速切换当前设备已经记住登录的 Steam 账号
|
||||
|
||||
该功能是读取 Steam 路径下存储的本地用户登录记录直接展示操作,可以多账号切换无需重新输入密码和令牌。如果您的 IP 地址更换,会导致登录状态失效。
|
||||
|
||||
### 3. Steam 游戏成就管理
|
||||
|
||||
能够读取任何游戏的成就信息(包括隐藏成就),并且能进行成就修改,包括成就解锁以及成就反解锁,还能够修改成就统计信息
|
||||
参考 SAM(SteamAchievementManager)进行二次开发,修复了成就语言有中文却依然是英文成就信息的 BUG,修改了游戏列表的加载和操作易用性。
|
||||
注意:滥用成就管理功能可能会导致开发者封禁!
|
||||
[attachimg]1463887[/attachimg]
|
||||
|
||||
### 4. Steam 本地两步身份验证器
|
||||
|
||||
该功能能够将 Steam 手机令牌储存到您的电脑中,并能够进行与手机端一样的操作。
|
||||
不仅能查看手机令牌,还能进行交易报价确认,并且能一键全部确认。
|
||||
功能参考 WinAuth 开发,功能类似的软件还有 SteamDesktopAuthenticator 等。
|
||||
本地令牌交易市场报价确认
|
||||
[attachimg]1463890[/attachimg]
|
||||
|
||||
### 5. Steam 内置浏览器脚本注入
|
||||
|
||||
通过反代加速功能将 JS 脚本内置插入了 Steam 客户端内的浏览器,达到了与油猴类似的效果。在脚本工坊中可以从我们的服务器上下载到已经兼容的脚本。我们也会不断添加新的脚本,同时也会对旧的脚本进行维护。
|
||||
[attachimg]1463883[/attachimg]
|
||||
|
||||
### 6. Steam 家庭库共享排序
|
||||
|
||||
可以排序你的共享库存顺序,避免只能读取 A 的共享游戏,却想玩 B 的共享游戏。
|
||||
|
||||
### 7. Steam 监控下载完成定时关机
|
||||
|
||||
可以监控 Steam 下载列表所有游戏的下载进度并设置下载完成后自动关机或睡眠电脑,节约你的电费。
|
||||
|
||||
### 8. 已内置 ASF 挂卡功能
|
||||
|
||||
[ASF](https://github.com/JustArchiNET/ArchiSteamFarm) 大家肯定都不陌生,它实在是太好用了,所以我们内置了 [ASF](https://github.com/JustArchiNET/ArchiSteamFarm) 在 Steam++ 内,并在后续会对 [ASF](https://github.com/JustArchiNET/ArchiSteamFarm) 在 UI 环境下使用做更多增强体验。
|
||||
|
||||
### 10. 更多的游戏工具功能
|
||||
|
||||
支持各种老游戏无边框窗口化等等
|
||||
|
||||
#### 并且,以上功能全部免费。
|
||||
|
||||
Linux 截图:
|
||||
[attachimg]1463884[/attachimg]
|
||||
|
||||
------
|
||||
|
||||
|
||||
## 运行环境
|
||||
> 当前版本采用独立部署编译,不需要运行环境也可以运行。
|
||||
|
||||
RuntimeIdentifier | Available | Edition
|
||||
--- | --- | ---
|
||||
win-x64 | ✅ | Preview
|
||||
osx-x64 | ❌ | TODO
|
||||
linux-x64 | ❌ | TODO
|
||||
android-arm64 | ❌ | TODO
|
||||
linux-arm64 | ❌ | TODO
|
||||
osx-arm64 | ❌ | TODO
|
||||
win-arm64 | ❌ | TODO
|
||||
ios-arm64 | ❌ | TODO
|
||||
<!-- 不编译 x86/32 bit 包减少测试工作量,Windows 本机加密 32 bit 与 64 bit 不兼容,涉及本地令牌加密 -->
|
||||
<!-- arm64 for Windows 因 steamclient.dll 缺少 arm64 支持,以及 .NET 目前不支持 ARM64EC,无法加载本机库,涉及库存游戏中的部分功能 -->
|
||||
|
||||
|
||||
## 下载
|
||||
> [官网](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 误报,您可以选择添加信任。
|
||||
@@ -0,0 +1,38 @@
|
||||
# 下载指南
|
||||
- Desktop(桌面端)
|
||||
- Windows
|
||||
- 如果你使用 Intel、AMD 的 x64(x86-64/AMD64) 芯片的 PC,则下载文件名中带有 **win_x64** 的文件
|
||||
- **框架依赖版(framework-dependent executable / fde)**
|
||||
- 需要 **《ASP.NET Core 运行时 6.0.x》** 与 **《.NET 运行时 6.0.x》**,如果你 **已安装** 了相关运行时,则下载文件名中带有 **fde** 的文件,可减少本应用占用的磁盘空间
|
||||
- 如果你 **未安装相关运行时则应下载文件名中不包含 fde 的文件**,或在 [此下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0) 最新的 6.0.x 运行时
|
||||
- 在网页上点击 安装程序 x64 的链接即可下载,通常下载的文件名如下,将其安装后即可,无安装顺序要求
|
||||
- dotnet-runtime-6.0.x-win-x64.exe (.NET 运行时 6.0.x)
|
||||
- aspnetcore-runtime-6.0.x-win-x64.exe (ASP.NET Core 运行时 6.0.x)
|
||||
- 其他也包含了所需的运行时的下载项,但不推荐仅为运行本应用而安装
|
||||
- Hosting Bundle 还包含了本应用不需要的 IIS 运行时支持 (ASP.NET Core Module v2) 与 x86 的多个运行库
|
||||
- SDK 包含了较多不需要的内容
|
||||
|
||||
|
||||
- macOS
|
||||
- 如果你使用 Intel 的 x64(x86-64) 芯片的 Mac,则下载文件名中带有 **macos_x64** 的文件
|
||||
- 如果你使用 ARM64(Apple Silicon) 芯片的 Mac,例如 **Apple M1**,则下载文件名中带有 **macos_arm64** 的文件
|
||||
- Linux
|
||||
- 如果你使用 Intel、AMD 的 x64(x86-64) 芯片的 PC 则下载文件名中带有 **linux_x64** 的文件
|
||||
- 如果你使用 ARM64 芯片的 PC 例如 **Raspberry Pi Model 3+**,则下载文件名中带有 **linux_arm64** 的文件
|
||||
|
||||
<!--
|
||||
- Mobile(移动端)
|
||||
- Android
|
||||
- 如果你使用 ARM64 芯片的设备(较为**普遍**)则下载文件名中带有 **android_arm64_v8a** 的文件
|
||||
- 如果你使用 ARM32 芯片的设备(较为**稀有**)通常为 **14** 年下半年之前生产的设备,则下载文件名中带有 **android_armeabi_v7a** 的文件
|
||||
- 如果你使用 Intel、AMD 的 x64 芯片的设备(较为**稀有**)则下载文件名中带有 **android_x64** 的文件
|
||||
-->
|
||||
|
||||
<!--
|
||||
- 如果你使用 ARM64 芯片的 PC(极为**稀有**),例如 **Surface Pro X**,则下载文件名中带有 **win_x64** 的文件可通过 Win11 x86 模拟运行
|
||||
- **[暂未支持]** ~~如果你使用 ARM64 芯片的 PC(极为**稀有**),例如 **Surface Pro X**,则下载文件名中带有 **win_arm64** 的文件~~
|
||||
- **[暂未支持]** ~~如果你使用 ARM64 芯片的 Mac(较为**稀有**),例如 **M1**,则下载文件名中带有 **macos_arm64** 的文件~~
|
||||
- [在 Linux 上安装 .NET](https://docs.microsoft.com/en-us/dotnet/core/install/linux)
|
||||
- 推荐 [通过 Snap 安装 .NET Runtime](https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-snap)
|
||||
- ```sudo snap install dotnet-runtime-60 --classic```
|
||||
-->
|
||||
+3
-5
@@ -1,7 +1,5 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "11.0.0",
|
||||
"rollForward": "latestMajor",
|
||||
"allowPrerelease": true
|
||||
"msbuild-sdks": {
|
||||
"MSBuild.Sdk.Extras": "3.0.44"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Submodule ref/ArchiSteamFarm deleted from a768ec43a5
Submodule ref/Avalonia.Image2 deleted from 8a72636f7f
Submodule ref/Avalonia8 deleted from bdf87548bb
-1
Submodule ref/Common deleted from 818b673aba
@@ -1,5 +0,0 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<CheckEolWorkloads>false</CheckEolWorkloads>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Submodule ref/DirectoryPackages deleted from 5759bfb776
Submodule ref/Facepunch.Steamworks deleted from 7abc7adbb9
Submodule ref/Fusillade deleted from e53e10aef3
Submodule ref/Gameloop.Vdf deleted from 8d35bad6c8
Binary file not shown.
Submodule ref/Steam4NET deleted from 3fd0084740
Submodule ref/SteamAchievementManager deleted from 881a31e110
Submodule ref/SteamClient deleted from 12e3b6bed5
Submodule ref/Titanium-Web-Proxy deleted from 3f9ffce64d
Submodule ref/WTTS.MicroServices.ClientSDK deleted from 380d1ab71d
-1
Submodule ref/WinAuth deleted from f6d9da6d6e
Binary file not shown.
Binary file not shown.
@@ -1,11 +0,0 @@
|
||||
static void WinDivert()
|
||||
{
|
||||
var dllWinDivert = Path.Combine(ProjectUtils.ProjPath, "ref", "WinDivert.dll");
|
||||
var sysWinDivert64 = Path.Combine(ProjectUtils.ProjPath, "ref", "WinDivert64.sys");
|
||||
|
||||
byte[][] data = [File.ReadAllBytes(dllWinDivert), File.ReadAllBytes(sysWinDivert64)];
|
||||
var bytes = MemoryPackSerializer.Serialize(data);
|
||||
bytes.AsSpan().Reverse();
|
||||
|
||||
File.WriteAllBytes(Path.Combine(ProjectUtils.ProjPath, "ref", "WinDivert.mpo"), bytes);
|
||||
}
|
||||
Binary file not shown.
Submodule ref/appcenter-sdk-dotnet deleted from 470deef912
Submodule ref/dotnetCampus.Ipc deleted from f95e3481dc
@@ -0,0 +1,7 @@
|
||||
[*.cs]
|
||||
|
||||
# IDE0055: 修正格式
|
||||
dotnet_diagnostic.IDE0055.severity = suggestion
|
||||
|
||||
# IDE1006: 命名样式
|
||||
dotnet_diagnostic.IDE1006.severity = suggestion
|
||||
@@ -0,0 +1,98 @@
|
||||
|
||||
DU'LAN 都兰
|
||||
ZHA'SHUI 柞水
|
||||
LU'HE 六合
|
||||
JUN'LIAN 筠连
|
||||
JIANG'DU 江都
|
||||
BAI'XIANG 柏乡
|
||||
CHANG'YANG 长阳
|
||||
CHANG'CHUN 长春
|
||||
CHANG'BAI 长白
|
||||
CHENG'DU 成都
|
||||
MIN'HANG 闵行
|
||||
XIN'DU 新都
|
||||
TIAN'CHANG 天长
|
||||
PAN'YU 番禺
|
||||
DU'YUN 都匀
|
||||
CHANG'YUAN 长垣
|
||||
CHANG'ZHI'XIAN 长治县
|
||||
WU'DU 武都
|
||||
CHEN'QIU 沈丘
|
||||
WEN'XIU 温宿
|
||||
BENG'BU 蚌埠
|
||||
CHANG'SHUN 长顺
|
||||
BI'YANG 泌阳
|
||||
SHEN'XIAN 莘县
|
||||
DA'BU 大埔
|
||||
TA'SHI'KU'ER'GAN 塔什库尔干
|
||||
SAN'DU 三都
|
||||
YAN'DU 盐都
|
||||
ZI'CHANG 子长
|
||||
YU'DU 于都
|
||||
MIN'YUE 民乐
|
||||
HUA'DU 花都
|
||||
SHANG'DU 商都
|
||||
DU'CHANG 都昌
|
||||
KE'SHI'KE'TENG'QI 克什克腾旗
|
||||
YAN'CHANG 延长
|
||||
CHANG'BAI'SHAN 长白山
|
||||
NING'DU 宁都
|
||||
ZENG'MU'AN'SHA 曾母暗沙
|
||||
NAN'YUE 南乐
|
||||
CHANG'WU 长武
|
||||
CHANG'NING 长宁
|
||||
CHANG'AN 长安
|
||||
CHONG'QING 重庆
|
||||
HANG'TANG 行唐
|
||||
GA'SHI 伽师
|
||||
CHANG'SHOU 长寿
|
||||
SUI'LING 绥棱
|
||||
CHANG'TING 长汀
|
||||
FAN'SHI 繁峙
|
||||
CHANG'SHA 长沙
|
||||
CHANG'DAO 长岛
|
||||
XIA'MEN 厦门
|
||||
CHANG'LING 长岭
|
||||
CHANG'TAI 长泰
|
||||
YU'LI 尉犁
|
||||
LU'AN 六安
|
||||
BA'XIU 八宿
|
||||
CHANG'HAI 长海
|
||||
MU'PING 牟平
|
||||
A'TU'SHI 阿图什
|
||||
CHANG'ZHI'SHI 长治市
|
||||
CHANG'QING 长清
|
||||
CHANG'FENG 长丰
|
||||
CHANG'LE 长乐
|
||||
FENG'DU 丰都
|
||||
KA'SHI 喀什
|
||||
TONG'BAI 桐柏
|
||||
YUE'QING 乐清
|
||||
ZHONG'MU 中牟
|
||||
SHI'FANG 什邡
|
||||
WU'SHI 乌什
|
||||
DU'AN 都安
|
||||
LAO'TING 乐亭
|
||||
WU'BU 吴堡
|
||||
NA'QU 那曲
|
||||
SHAN'XIAN 单县
|
||||
NA'PO 那坡
|
||||
JU'MO 且末
|
||||
CHANG'XING 长兴
|
||||
GONG'CHANG'LING 弓长岭
|
||||
CHANG'DU 昌都
|
||||
XIAO'TING 猇亭
|
||||
GUO'YANG 涡阳
|
||||
QIAN'WEI 犍为
|
||||
WANG'DU 望都
|
||||
LUE'YANG 略阳
|
||||
SHUANG'BAI 双柏
|
||||
CHANG'SHA'XIAN 长沙县
|
||||
XIN'YUE 新乐
|
||||
CHANG'GE 长葛
|
||||
CUO'NA 错那
|
||||
DU'JIANG'YAN 都江堰
|
||||
LANG'QIA'ZI 浪卡子
|
||||
XING'YANG 荥阳
|
||||
LU'QU 碌曲
|
||||
HUANG'PI 黄陂
|
||||
@@ -0,0 +1,8 @@
|
||||
# Android Native Library
|
||||
[Xamarin.Android 支持通过标准 PInvoke 机制使用本机库。 你还可以将不属于 OS 的其他本机库绑定到你的 .apk。](https://docs.microsoft.com/zh-cn/xamarin/android/platform/native-libraries)
|
||||
|
||||
## libgojni.so & libtun2socks.so
|
||||
Source code compilation by https://github.com/2dust/v2rayNG
|
||||
|
||||
## shadowsocks-android\libtun2socks.so
|
||||
Apk extraction by https://github.com/shadowsocks/shadowsocks-android/releases/tag/v5.2.6
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Submodule
+1
Submodule references/ArchiSteamFarm added at 1d900cc7b7
Submodule
+1
Submodule references/AvaloniaGif added at 5f5459e46f
Submodule
+1
Submodule references/Depressurizer added at 7267ff264a
Submodule
+1
Submodule references/FluentAvalonia added at 50c719a4b9
Submodule
+1
Submodule references/Gameloop.Vdf added at 6bf1500c95
@@ -0,0 +1,8 @@
|
||||
using System.Runtime.CompilerServices;
|
||||
using static System.Properties.ThisAssembly;
|
||||
|
||||
[assembly: SuppressIldasm]
|
||||
[assembly: InternalsVisibleTo("System.Application.SteamTools.Client" + PublicKey)]
|
||||
[assembly: InternalsVisibleTo("System.Application.SteamTools.Client.Avalonia" + PublicKey)]
|
||||
[assembly: InternalsVisibleTo("Xamarin.Forms.Platform.Android.UnitTests" + PublicKey)]
|
||||
[assembly: InternalsVisibleTo("Assembly-CSharp" + PublicKey)]
|
||||
Submodule
+1
Submodule references/MetroRadiance added at f6cbd3d421
+255
@@ -0,0 +1,255 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>ChnCharInfo</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Microsoft.International.Converters.PinYinConverter.ChineseChar">
|
||||
<summary>
|
||||
封装了简体中文的读音和笔画等基本信息。
|
||||
</summary>
|
||||
<example>
|
||||
以下代码演示了返回给出字符的笔划数。
|
||||
<code source = "../../Example_CS/Program.cs" lang = "cs"></code>
|
||||
<code source = "../../Example_VB/Main.vb" lang = "vbnet"></code>
|
||||
<code source = "../../Example_CPP/Example_CPP.cpp" lang = "cpp"></code>
|
||||
</example>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.#ctor(System.Char)">
|
||||
<summary>
|
||||
ChineseChar类的构造函数。
|
||||
</summary>
|
||||
<param name="ch">指定的汉字字符。</param>
|
||||
<exception cref="T:System.NotSupportedException">
|
||||
字符不在简体中文扩展字符集中。
|
||||
</exception>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.HasSound(System.String)">
|
||||
<summary>
|
||||
识别字符是否有指定的读音。
|
||||
</summary>
|
||||
<param name="pinyin">指定的需要被识别的拼音。</param>
|
||||
<returns>
|
||||
如果指定的拼音字符串在实例字符的拼音集合中则返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
拼音是一个空引用。
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsHomophone(System.Char)">
|
||||
<summary>
|
||||
识别给出的字符是否是实例字符的同音字。
|
||||
</summary>
|
||||
<param name="ch">指出需要识别的字符。</param>
|
||||
<returns>
|
||||
如果给出的实例字符是同音字则返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsHomophone(System.Char,System.Char)">
|
||||
<summary>
|
||||
识别给出的两个字符是否是同音字。
|
||||
</summary>
|
||||
<param name="ch1">指出第一个字符</param>
|
||||
<param name="ch2">指出第二个字符</param>
|
||||
<returns>
|
||||
如果给出的字符是同音字返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.CompareStrokeNumber(System.Char)">
|
||||
<summary>
|
||||
将给出的字符和实例字符的笔画数进行比较。
|
||||
</summary>
|
||||
<param name="ch">显示给出的字符</param>
|
||||
|
||||
<returns>
|
||||
说明比较操作的结果。
|
||||
如果给出字符和实例字符的笔画数相同,返回值为 0。
|
||||
如果实例字符比给出字符的笔画多,返回值为> 0。
|
||||
如果实例字符比给出字符的笔画少,返回值为< 0。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.GetChars(System.String)">
|
||||
<summary>
|
||||
获取给定拼音的所有同音字。
|
||||
</summary>
|
||||
<param name="pinyin">指出读音。</param>
|
||||
|
||||
<returns>
|
||||
返回具有相同的指定拼音的字符串列表。
|
||||
如果拼音不是有效值则返回空。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
拼音是一个空引用。
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidPinyin(System.String)">
|
||||
<summary>
|
||||
识别给出的拼音是否是一个有效的拼音字符串。
|
||||
</summary>
|
||||
<param name="pinyin">指出需要识别的字符串。</param>
|
||||
|
||||
<returns>
|
||||
如果指定的字符串是一个有效的拼音字符串则返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar。
|
||||
</remarks>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
拼音是一个空引用。
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(System.Char)">
|
||||
<summary>
|
||||
识别给出的字符串是否是一个有效的汉字字符。
|
||||
</summary>
|
||||
<param name="ch">指出需要识别的字符。</param>
|
||||
<returns>
|
||||
如果指定的字符是一个有效的汉字字符则返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidStrokeNumber(System.Int16)">
|
||||
<summary>
|
||||
识别给出的笔画数是否是一个有效的笔画数。
|
||||
</summary>
|
||||
<param name="strokeNumber">指出需要识别的笔画数。</param>
|
||||
<returns>
|
||||
如果指定的笔画数是一个有效的笔画数则返回ture,否则返回false。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.GetHomophoneCount(System.String)">
|
||||
<summary>
|
||||
检索具有指定拼音的字符数。
|
||||
</summary>
|
||||
<param name="pinyin">显示需要被识别的拼音字符串。</param>
|
||||
<returns>
|
||||
返回具有指定拼音的字符数。
|
||||
如果拼音不是有效值则返回-1。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
<exception cref="T:System.ArgumentNullException">
|
||||
拼音是一个空引用。
|
||||
</exception>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.GetStrokeNumber(System.Char)">
|
||||
<summary>
|
||||
检索指定字符的笔画数。
|
||||
</summary>
|
||||
<param name="ch">指出需要识别的字符。</param>
|
||||
<returns>
|
||||
返回指定字符的笔画数。
|
||||
如果字符不是有效值则返回-1。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.GetChars(System.Int16)">
|
||||
<summary>
|
||||
检索具有指定笔画数的所有字符串。
|
||||
</summary>
|
||||
<param name="strokeNumber">指出需要被识别的笔画数。</param>
|
||||
<returns>
|
||||
返回具有指定笔画数的字符列表。
|
||||
如果笔画数是无效值返回空。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="M:Microsoft.International.Converters.PinYinConverter.ChineseChar.GetCharCount(System.Int16)">
|
||||
<summary>
|
||||
检索具有指定笔画数的字符个数。
|
||||
</summary>
|
||||
<param name="strokeNumber">显示需要被识别的笔画数。</param>
|
||||
<returns>
|
||||
返回具有指定笔画数的字符数。
|
||||
如果笔画数是无效值返回-1。
|
||||
</returns>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用 ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Microsoft.International.Converters.PinYinConverter.ChineseChar.PinyinCount">
|
||||
<summary>
|
||||
获取这个字符的拼音个数。
|
||||
</summary>
|
||||
<value>
|
||||
这个字符的拼音数。
|
||||
</value>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Microsoft.International.Converters.PinYinConverter.ChineseChar.StrokeNumber">
|
||||
<summary>
|
||||
获取这个字符的笔画数。
|
||||
</summary>
|
||||
<value>
|
||||
这个字符的笔画数。
|
||||
</value>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Microsoft.International.Converters.PinYinConverter.ChineseChar.IsPolyphone">
|
||||
<summary>
|
||||
获取这个字符是否是多音字。
|
||||
</summary>
|
||||
<value>
|
||||
这个布尔型的字符是否是多音字。
|
||||
</value>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Microsoft.International.Converters.PinYinConverter.ChineseChar.Pinyins">
|
||||
<summary>
|
||||
获取这个字符的拼音。
|
||||
</summary>
|
||||
<value>
|
||||
这个字符的拼音。
|
||||
</value>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
<member name="P:Microsoft.International.Converters.PinYinConverter.ChineseChar.ChineseCharacter">
|
||||
<summary>
|
||||
获取这个汉字字符。
|
||||
</summary>
|
||||
<value>
|
||||
汉字字符。
|
||||
</value>
|
||||
<remarks>
|
||||
请参阅<see cref="T:Microsoft.International.Converters.PinYinConverter.ChineseChar"/>来查看使用ChineseChar的实例。
|
||||
</remarks>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
||||
BIN
Binary file not shown.
+140
@@ -0,0 +1,140 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Visual Studio International Pack 1.0自述文件</title>
|
||||
<style type="text/css">
|
||||
span { font-size: 10pt;}
|
||||
li { font-size: 10pt;}
|
||||
ul { list-style: disc }
|
||||
</style>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<span style="font-size: 14pt">
|
||||
<strong>Microsoft Visual Studio International Pack 1.0自述文件</strong>
|
||||
</span>
|
||||
<br />
|
||||
<br />
|
||||
<span>
|
||||
本文档提供了关于Visual Studio International Pack 1.0的一些基本信息,其中包括了基本功能的简介、已知的问题和相关的支持信息。
|
||||
</span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<span>
|
||||
<strong>Visual Studio International Pack 1.0有什么功能?</strong>
|
||||
</span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<span><strong>East Asia Numeric Formatting Library(亚洲语系数值字符串格式化类库)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>East Asia Numeric Formatting Library提供了一组类库以帮助程序开发人员将数值数据格式转化成亚洲语系的数值字符串,支持的语言包括了繁体中文,简体中文,日文以及韩文。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Japanese Kana Conversion Library(日语假名罗马字转换类库)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Japanese Kana Conversion Library提供了一组类库以转换日文假名,它使用了有限状态机翻译字符串。此类库可支持转换到平假名、片假名、半角片假名和罗马字。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Japanese Text Alignment Library(日语文字对齐类库)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Japanese Text Alignment Library提供了一组类库让应用程序可以显示以日文特有的文字对齐方式排列的字符串。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Japanese Yomi Auto-Completion Library(日语Yomi输入自动完成类库)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Japanese Yomi Auto-Completion Library提供了一组类库以支持日文输入法的自动完成功能。这个类库可在日文输入法下使用。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Korean Auto Complete TextBox Control(韩语输入自动完成TextBox控件)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Korean Auto Complete TextBox Control提供了TextBox控件以支持韩文输入法的自动完成以及Intellisense功能。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Simplified Chinese Pin-Yin Conversion Library(简体中文拼音转换类库)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Simplified Chinese Pin-Yin Conversion Library提供了一组API,通过它们可以取得简体中文字符的拼音、同音字、笔画数等相关的属性。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool(中文繁简转换类库及Visual Studio插件工具)</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>Traditional to Simplified Chinese Conversion Library and Add-In Tool 提供了一组类库以帮助程序开发人员在应用程序中将中文繁体转换到中文简体(或是中文简体至中文繁体)。为使转换的品质更好,这种转换功能使用了Microsoft Office 2007的内置功能,以进行词对词的转换。若使用的系统中没有安装Microsoft Office 2007,则此类库将使用传统的字对字转换。除此之外,此组件也包括了一个Visual Studio插件工具,可以让使用者直接转换资源文件中的中文字符串。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<span>
|
||||
<strong>Visual Studio International Pack 1.0系统需求</strong>
|
||||
</span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<span>Microsoft Visual Studio 2005 或 Microsoft Visual Studio 2008</span>
|
||||
<br />
|
||||
<br />
|
||||
</li>
|
||||
<li>
|
||||
<span>Microsoft Office 2007 – 此需求为可选的,针对Traditional to Simplified Chinese Conversion Library and Add-In Tool,为了取得更好的转换的品质,使用者必须在同一台机器上安装Microsoft Office 2007。</span>
|
||||
<br />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<span><strong>Visual Studio International Pack 1.0已知问题</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<span>中文繁简转换类库及Visual Studio Add-In工具:当使用者转换带有.zh-TW或.zh-CN文化特性文件名的资源文件时,繁简转换Add-In工具会产生相对应的资源名并将其文化特性的扩展名设为.zh-CHT或.zh-CHS。这样的设计是因为zh-TW和zh-CN是zh-CHT和zh-CHT的子文化特性。在中性的父文化特性(zh-CHT和zh-CHS)之下,可能会有多种不同的文化特性。而我们的繁简转换Add-In工具无法替使用者来决定哪一个子文化特性才是正确的。所以繁简转化Add-In工具会将带有子文化特性的资源文件件转换为繁/简体中文的中性文化特性。</span>
|
||||
<br />
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<span><strong>其他事项</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<span><strong>在哪里可以下载到Visual Studio International Pack 1.0 的所有的组件?</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>请查询Microsoft下载中心网站。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span><strong>产品支持</strong></span>
|
||||
<br />
|
||||
<br />
|
||||
<ul><li>对Visual Studio International Pack 的支持通过电子邮箱进行,如果您有关于Visual Studio International Pack 中组件的反馈意见和建议,或者需要进一步的技术支持请发送电子邮件给<a href="mailto:vsintlpk@microsoft.com">vsintlpk@microsoft.com</a>。</li></ul>
|
||||
<br />
|
||||
</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
BIN
Binary file not shown.
+1043
File diff suppressed because it is too large
Load Diff
+4
@@ -0,0 +1,4 @@
|
||||
在符合Simplified Chinese Pin-Yin Conversion Library 许可的条件下下面的文件可以再分发:”
|
||||
|
||||
ChnCharInfo.dll
|
||||
zh-CN\ChnCharInfo.resources.dll
|
||||
BIN
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
# Windows/macOS/Linux x64 Native Library & General C# Source Code & Third Party Projects
|
||||
|
||||
## 7z.dll
|
||||
21.07 (2021-12-26) by https://www.7-zip.org
|
||||
|
||||
## libzstd.dll
|
||||
https://github.com/facebook/zstd/releases/tag/v1.5.2
|
||||
Submodule
+1
Submodule references/SevenZipSharp added at 705a75a79b
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
<supportedRuntime version="v2.0.50727" />
|
||||
</startup>
|
||||
</configuration>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user