Commit Graph

8456 Commits

Author SHA1 Message Date
Karlatemp
64f4f8c208
[build] Fix android binary validator 2023-07-11 02:22:54 +08:00
Karlatemp
1903d10333
[build] Fix android source set not depends on jvmBaseMain when using jvm android target 2023-07-11 01:35:19 +08:00
cssxsh
eecff3bc4e
update: Questions.md 23-07-03 (#2721)
* update: Questions.md

* update: Questions.md

* update: Questions.md

* add: tips
2023-07-05 22:51:32 +08:00
Karlatemp
685fb2d3d9
[core] Handle UnsupportedOperationException on EncryptService initialize & add special signals 2023-07-03 20:37:30 +08:00
Karlatemp
96e93e670e
[core] Drop qua holding 2023-07-02 21:50:04 +08:00
Karlatemp
fa389f40bb
Refactor attachToBot to Factory 2023-07-02 21:27:03 +08:00
sandtechnology
787ee833cc
Fix extradata not passed for simple packet 2023-07-02 21:27:03 +08:00
sandtechnology
8af6c3fcf6
Remove unused EncryptServiceContext value and pass QUA
All final value only need to passed to initialize method
2023-07-02 21:27:03 +08:00
Karlatemp
19132b359b
[core] Provide CoroutineScope to service 2023-07-02 21:27:03 +08:00
Karlatemp
c080cd19f2
Merge remote-tracking branch 'origin/dev' into core/pkgsso 2023-07-02 21:27:02 +08:00
Karlatemp
ed7eca7f6b
[core] Push bot working directories to service 2023-07-02 21:27:02 +08:00
Karlatemp
804cb8b12d
[core] Service alert 2023-07-02 21:27:02 +08:00
Karlatemp
897e59123f
[core] EncryptService per bot 2023-07-02 21:27:02 +08:00
sandtechnology
006f2d1177
[core] Support simple packet signing 2023-07-02 21:21:04 +08:00
sandtechnology
8570987c34
[core] Add extraData decoding for future debugging 2023-07-02 21:21:03 +08:00
sandtechnology
760075e914
[core] Fix wrong SSOReserveField proto and packet codec
1.Body is a lambda function, so invoke it by only once
2.Fix wrong protoBuf serializer, use protocol one
3.Pass all packets to EncryptService (which packet should be sign should judge by service itself)
4.Fix wrong proto number and add missed default value, also fix proto naming
2023-07-02 21:21:02 +08:00
sandtechnology
b77a4573d1
[core] Add missed KEY_DEVICE_INFO context for qSecurityGetSign 2023-07-02 21:21:00 +08:00
sandtechnology
644eddd4d9
[core] Add qimei36 key for EncryptServiceContext 2023-07-02 21:20:59 +08:00
sandtechnology
390726ff4d
[core] Update phone and pad protocol 2023-07-02 21:20:58 +08:00
Karlatemp
7750284e53
[core] Push device to sso service & little change 2023-07-02 21:20:57 +08:00
Karlatemp
1877c95783
[core] Fix qimei holding 2023-07-02 21:20:55 +08:00
Karlatemp
bf992f877e
[core] Packet sso frame parsing debug log 2023-07-02 21:20:53 +08:00
Karlatemp
92948a484c
[core] Handle all sso packet 2023-07-02 21:20:52 +08:00
Karlatemp
5fd091eaad
[core] Fix sso packet struct 2023-07-02 21:20:31 +08:00
StageGuard
1fde79d7ad
[core] decode SsoSecureA2Access 2023-07-02 21:20:29 +08:00
StageGuard
1dacce61cd
[core] decode SsoEstablishShareKey 2023-07-02 21:20:28 +08:00
StageGuard
ff96dce35d
[core] sso reserve field and encrypt spi 2023-07-02 21:20:26 +08:00
Karlatemp
67dd471fdb
[core] change bodyType to encryptMethod 2023-07-02 21:19:24 +08:00
Him188
2eb313ba69
[core] 默认关闭进行登录验证时的内部日志; 可使用 system prop mirai.network.auth.logging=true 启用 2023-06-28 17:26:13 +01:00
cssxsh
cb3dc9f897
fix: qrcode login (#2708)
* fix: uri

* update: macos 6.8.2.21241

* add: pc (macos) t544

* add: protocol value

* add: protocol supported check

* fix: name
2023-06-26 21:30:45 +01:00
cssxsh
356f00b54b
修复禁言匿名成员 (#2711) 2023-06-25 10:48:56 +01:00
StageGuard
545e5bb310
[core] Provide isFirstLogin and getReLoginCause in BotAuthInfo (#2664)
* [core] provide `isFirstLogin` and `getReLoginCause` in `BotAuthInfo`

* [core] provide `reAuthCause` as sealed class

* [core] add test

* Update mirai-core-api/src/commonMain/kotlin/auth/BotAuthorization.kt

我觉得这个描述不太好,因为这里是 `authorize` 过程而不是 `login` 过程

Co-authored-by: Him188 <Him188@mamoe.net>

* [core] optimize docs and rename

* import

* revert linebreak

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-06-20 14:22:49 +01:00
Him188
8ff64d4a7f
Remove native (#2700)
* Remove native target

* Add foojay-resolver-convention

* disable windows
2023-06-16 13:40:46 +01:00
ヒューマンワーキン
9a6b9cc900
[core/android] Fix wrong publication of androidRelease (#2699) 2023-06-15 22:59:54 +08:00
BakaFT
3b8954372e
[docs](EventList.md): fix mismatch between description and event name (#2692) 2023-06-13 19:07:50 +01:00
sandtechnology
3ec8e552cd
[core] Add encryption SPI & T544 support (#2566)
* Initial design for encryption SPI & T544 support

* Fix missed vararg

* Move EncryptWorkerService to internal spi

* Add useAndroid val to QQAndroidClient and rebase to the latest dev branch

* Remove docs and annotations (Throws and MiraiExperimentalApi)

* Remove unwanted changes

* Remove redundant runBlocking in tlv544

* Tweak the file annotation location

* Remove suspend modifier for doTLVEncrypt

* Disable DebuggingProperties

* Fix format

* Remove empty line

* Remove empty line again

* Use instance field directly

* Add Volatile annotation to instance

* Use atomicRef instead of field

* Use kotlin lambda for readability

* wip

* Improve EncryptService API

* Add possible values

* remove docs

* Add key BOT_PROTOCOL

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-06-04 00:01:54 +01:00
Him188
68c991c078
[core] Add DeviceInfoBuilder. Close #2669 (#2674)
* [core] Add DeviceInfoBuilder. Close #2669

* Use private var

* fix doc
2023-05-28 19:20:30 +01:00
微莹·纤绫
97f85bc8b9
[core] ForwardMessage refine by light app (#2675) 2023-05-28 19:20:12 +01:00
Him188
e89d245ca0
[build] Fix build sync when ENABLE_ANDROID_INSTRUMENTED_TESTS is false 2023-05-27 16:00:29 +01:00
cssxsh
3dfe86bbe0
fix: digest message (#2672)
fix: unsigned int
2023-05-27 12:40:48 +01:00
微莹·纤绫
8b4af6d8cf
[console] 优化插件 classpath 策略 (#2666)
* [console/it] Fix testers not run when testers modified

* [console] Add options to control plugin classpath resolving

- Also add `META-INF/mirai-console-plugin/options.properties`

* [console/it] Testers for options.properties

* api dump

* update property names

* doc update
2023-05-21 21:21:20 +08:00
StageGuard
60d360baad
[core] Update login protocol, deprecate DeviceInfo constructor and serializer (#2613)
* [core] update protocol

* [core] fix t106 decryption key

* [core] handle t543

* [core] revert t106

* [core] revert native test pow data

* [core] split build version and apk version name

* [core] pass time to t1 instead of time diff

* [core] remove unused t106 writer & rename param ip to ipv4 of t1 and t106

* [core] implement qimei for t545
TODO: aes and rsa crypto for nativeMain

* [core] fix base64 decode for android in rsa

* [core] fix unix timestamp parsing on native and add more tests

* [api] DeviceInfo move `androidId` to main constructor and adjust test.

* [api] do not request qimei when protocol is neither  ANDROID_PHONE nor ANDROID_PAD

* [api] implement aes crypto for native target

* [api] rsa crypto for multi-platform

* [api] crypto test

* [api] move freePointer util

* [api] openssl api compatibility

* [core] add explicit `androidId` param

* [core] remove unused `tlvCount`

* [core] optimize crypto

* [core] move Qimei to network package

* [core] move appId to protocol

* [core] lazily initialize qimeiLogger

* [core] write byte array to BIO mem

* [core] move qimei to client, add direct serializer for DeviceInfo

* [core] optimize DeviceInfoDelegateSerializer

* [core] real user-agent when requesting qimei

* [core] use `DeviceInfo.version.release`

* [core] remove unused wtlogin packet

* [core] do what constructor serializer should do

* [core] fix endless cache validation caused by not upgrading device info file.

* [core] request qimei before fast-login

* [core] tlv order

* [core] remove wrong tests and print more detail when deserialize failed.

* [core] device info upgrade for native

* [core] request qimei after validating cache

* [core] DeviceInfo compatibility

* [core] DeviceInfo test name

* [core] compatibility serializer

* [core] disable rsa crypto test on android unit test

* [core] move rsa impl to jvmBase

* action

* import

* api dump

* api dump

* revert wrong api dumps

* [core] Deprecate DeviceInfo constructor and serializer, provide `serializeToString` and `deserializeFromString` for replacement

* rerun ci

* optimize

* use serializer directly

* optimize test

* revert

* [core] CacheValidator use `DeviceInfo.serializeToString()` instead of direct serializer

* Remove `println` in `DeviceInfoManager`

* Add legacy deserialize overload for ABI compatibility

* Remove uncompleted docs for DeviceInfo

* Suppress DeviceInfo deprecation warnings for internal usages

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-05-21 13:45:46 +01:00
Him188
dafa25d611
[core] Simplify and stabilize BaseService and AudioToSilkService (#2658)
* [core] Simplify and stabilize BaseService and AudioToSilkService

* fix

* api dump
2023-05-21 00:24:51 +01:00
Him188
c57fdd7790
Revert "[core] Add common JvmFile for compatibility"
This reverts commit 64e3d6c0f2.
2023-05-08 13:00:53 +01:00
Him188
64e3d6c0f2
[core] Add common JvmFile for compatibility 2023-05-08 12:21:38 +01:00
cssxsh
44e9bb118c
[core+console] Update docs (#2639)
* feat: Question.md

* update: UserManual.md

* update: ConsoleTerminal.md

* update: ConsoleTerminal.md

* update: Question.md

* update: Bots.md

* update: Question.md

* update: EventList.md

* update: Question.md

* update: Preparations.md

* update: ConsoleTerminal.md

* update: Bots.md

* update: nav.js

* update: UserManual.md

* update: Bots.md

* update: Bots.md

* update: Bots.md

* update: ConsoleTerminal.md

* update: Questions.md

* update: Questions.md

* update: ...

* update: Bots.md

* update: Questions.md

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-05-06 13:13:18 +01:00
Him188
9d1e78386e
[core] Generate blocking bridges for Announcements.members and Announcements.remind 2023-05-06 11:53:04 +01:00
Him188
b82e938b2c
[build] Fix checkAndroidApiLevel tasks when building without ADK 2023-05-06 11:20:49 +01:00
Him188
363d1f7ece
Remove module-level opt-ins, add @OptIn explicit in use-sites;
added some opt-in markers on API which should have:

- `appendMiraiCodeTo`

Made API stable (otherwise they require too heavy opt-ins):
- MiraiConsoleImplementation$ConsoleLaunchOptions
- LowLevelApi
2023-05-06 11:04:31 +01:00
Karlatemp
96a772c5ca
Add mirai.enable.jvmtoolchain.special=false to disable jvmToolchain 2023-05-05 23:26:52 +08:00