koishi-plugin-hg-sign 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { Context } from 'koishi';
2
+ import { HypergryphConfig } from './hypergryph';
3
+ export declare class SklandClient {
4
+ private ctx;
5
+ private config;
6
+ private client;
7
+ private token;
8
+ private headerForSign;
9
+ constructor(ctx: Context, config: HypergryphConfig);
10
+ initDeviceId(): Promise<void>;
11
+ generateSignature(path: string, bodyOrQuery: string, userToken: string): {
12
+ sign: string;
13
+ headerCa: {
14
+ timestamp: string;
15
+ platform: string;
16
+ dId: string;
17
+ vName: string;
18
+ };
19
+ };
20
+ requestSigned(method: string, url: string, data?: any, headers?: any, userToken?: string): Promise<any>;
21
+ getCredByCode(oauthCode: string): Promise<any>;
22
+ checkCred(cred: string): Promise<boolean>;
23
+ refreshToken(cred: string, userToken: string): Promise<{
24
+ cred: any;
25
+ token: any;
26
+ }>;
27
+ getBindingList(cred: string, userToken: string): Promise<any>;
28
+ attendance(cred: string, userToken: string, uid: string, gameId: string): Promise<{
29
+ success: boolean;
30
+ alreadySigned: boolean;
31
+ message: string;
32
+ data?: undefined;
33
+ } | {
34
+ success: boolean;
35
+ alreadySigned: boolean;
36
+ data: any;
37
+ message: string;
38
+ }>;
39
+ attendanceEndfield(cred: string, userToken: string, role: any): Promise<{
40
+ success: boolean;
41
+ alreadySigned: boolean;
42
+ message: string;
43
+ data?: undefined;
44
+ } | {
45
+ success: boolean;
46
+ alreadySigned: boolean;
47
+ data: any;
48
+ message: string;
49
+ }>;
50
+ getPlayerInfo(cred: string, userToken: string, uid: string): Promise<any>;
51
+ getEndfieldCardDetail(cred: string, userToken: string, roleId: string, serverId: string, userId: string): Promise<any>;
52
+ }
package/lib/skland.js ADDED
@@ -0,0 +1,271 @@
1
+ import * as crypto from 'crypto';
2
+ import { get_d_id } from './security';
3
+ export class SklandClient {
4
+ ctx;
5
+ config;
6
+ client;
7
+ token = '';
8
+ headerForSign;
9
+ constructor(ctx, config) {
10
+ this.ctx = ctx;
11
+ this.config = config;
12
+ this.client = ctx.http.extend({
13
+ baseURL: config.sklandApiBaseUrl,
14
+ timeout: 30000,
15
+ headers: {
16
+ 'Content-Type': 'application/json',
17
+ 'User-Agent': 'Mozilla/5.0 (Linux; Android 12; SM-A5560 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Safari/537.36; SKLand/1.52.1',
18
+ 'Accept-Encoding': 'gzip',
19
+ 'Connection': 'close',
20
+ 'X-Requested-With': 'com.hypergryph.skland',
21
+ 'dId': '',
22
+ },
23
+ });
24
+ this.headerForSign = {
25
+ platform: '3',
26
+ timestamp: '',
27
+ dId: '',
28
+ vName: '1.0.0',
29
+ };
30
+ }
31
+ async initDeviceId() {
32
+ try {
33
+ // For now, simpler than reading/writing file cache manually if we can rely on variable or memory.
34
+ // Or we can use Koishi's cache/database if needed.
35
+ // Re-implementing dynamic generation call.
36
+ const dId = await get_d_id(this.ctx.http);
37
+ if (dId) {
38
+ this.client.config.headers['dId'] = dId;
39
+ this.headerForSign.dId = dId;
40
+ // console.log(`[Skland] Device ID initialized: ${dId}`)
41
+ }
42
+ }
43
+ catch (error) {
44
+ this.ctx.logger('hg-sign').error('[Skland] Device ID generation failed:', error);
45
+ }
46
+ }
47
+ generateSignature(path, bodyOrQuery, userToken) {
48
+ const timestamp = Math.floor(Date.now() / 1000) - 2;
49
+ const headerCa = {
50
+ ...this.headerForSign,
51
+ timestamp: String(timestamp),
52
+ };
53
+ if (!headerCa.dId && this.client.config.headers['dId']) {
54
+ headerCa.dId = this.client.config.headers['dId'];
55
+ }
56
+ const headerCaStr = JSON.stringify(headerCa);
57
+ const s = path + bodyOrQuery + timestamp + headerCaStr;
58
+ const hmac = crypto.createHmac('sha256', userToken || '');
59
+ hmac.update(s, 'utf8');
60
+ const hexS = hmac.digest('hex');
61
+ const md5Sig = crypto.createHash('md5').update(hexS).digest('hex');
62
+ // console.log(`[Skland] Calculated sign: ${md5Sig} for path: ${path}`)
63
+ return { sign: md5Sig, headerCa };
64
+ }
65
+ async requestSigned(method, url, data = null, headers = {}, userToken = '') {
66
+ if (!this.client.config.headers['dId']) {
67
+ await this.initDeviceId();
68
+ }
69
+ const methodLower = method.toLowerCase();
70
+ let path = url;
71
+ let bodyOrQuery = '';
72
+ if (methodLower === 'get') {
73
+ if (data) {
74
+ const sortedKeys = Object.keys(data).sort();
75
+ const searchParams = new URLSearchParams();
76
+ sortedKeys.forEach(key => searchParams.append(key, data[key]));
77
+ // Koishi http client might handle params serialization differently,
78
+ // but we need the exact string for signature.
79
+ bodyOrQuery = searchParams.toString();
80
+ }
81
+ }
82
+ else {
83
+ if (typeof data === 'string') {
84
+ bodyOrQuery = data;
85
+ }
86
+ else {
87
+ bodyOrQuery = data ? JSON.stringify(data) : '';
88
+ }
89
+ }
90
+ const { sign, headerCa } = this.generateSignature(path, bodyOrQuery, userToken);
91
+ const reqHeaders = {
92
+ ...headers,
93
+ sign,
94
+ ...headerCa,
95
+ };
96
+ const config = {
97
+ method,
98
+ url,
99
+ headers: reqHeaders,
100
+ };
101
+ if (methodLower === 'get') {
102
+ config.params = data;
103
+ }
104
+ else {
105
+ if (data !== null && data !== undefined && data !== '') {
106
+ config.data = data;
107
+ }
108
+ }
109
+ try {
110
+ const response = await this.client(method, url, config);
111
+ this.ctx.logger('hg-sign').info(`[Skland] Response for ${url}: ${JSON.stringify(response)}`);
112
+ return response.data;
113
+ }
114
+ catch (error) {
115
+ this.ctx.logger('hg-sign').error(`[Skland] Request ${url} failed:`, error.message);
116
+ throw error;
117
+ }
118
+ }
119
+ async getCredByCode(oauthCode) {
120
+ if (!this.client.config.headers['dId']) {
121
+ await this.initDeviceId();
122
+ }
123
+ try {
124
+ const response = await this.client.post('/api/v1/user/auth/generate_cred_by_code', {
125
+ kind: 1,
126
+ code: oauthCode,
127
+ });
128
+ if (response.code !== 0) {
129
+ throw new Error(`获取 Cred 失败: ${response.message}`);
130
+ }
131
+ return response.data;
132
+ }
133
+ catch (error) {
134
+ this.ctx.logger('hg-sign').error('[Skland] 获取 Cred 失败:', error.message);
135
+ throw error;
136
+ }
137
+ }
138
+ async checkCred(cred) {
139
+ try {
140
+ const response = await this.client.get('/api/v1/user/check', {
141
+ headers: { cred },
142
+ });
143
+ return response.code === 0;
144
+ }
145
+ catch (error) {
146
+ return false;
147
+ }
148
+ }
149
+ async refreshToken(cred, userToken) {
150
+ try {
151
+ const response = await this.requestSigned('get', '/web/v1/auth/refresh', null, { cred }, userToken);
152
+ if (response.code !== 0) {
153
+ throw new Error(`刷新token失败: ${response.message}`);
154
+ }
155
+ return {
156
+ cred: response.data.cred,
157
+ token: response.data.token,
158
+ };
159
+ }
160
+ catch (error) {
161
+ throw error;
162
+ }
163
+ }
164
+ async getBindingList(cred, userToken) {
165
+ try {
166
+ const response = await this.requestSigned('get', '/api/v1/game/player/binding', null, { cred }, userToken);
167
+ if (response.code !== 0) {
168
+ if (response.message === '用户未登录') {
169
+ throw new Error('Cred失效或未登录');
170
+ }
171
+ throw new Error(`获取 Skland 绑定列表失败: ${response.message}`);
172
+ }
173
+ return response.data.list;
174
+ }
175
+ catch (error) {
176
+ throw error;
177
+ }
178
+ }
179
+ async attendance(cred, userToken, uid, gameId) {
180
+ try {
181
+ const body = JSON.stringify({ gameId: String(gameId), uid: String(uid) });
182
+ // Note: requestSigned (and axios/koishi-http) will try to JSON stringify 'data' if it's an object.
183
+ // But if we pass a string as config.data, it should respect it.
184
+ const response = await this.requestSigned('post', '/api/v1/game/attendance', body, { cred }, userToken);
185
+ if (response.code !== 0) {
186
+ const msg = response.message || '';
187
+ if (msg.includes('请勿重复签到') || msg.includes('已经签到') || msg.includes('今日已签到') ||
188
+ (response.code === 403 && msg.includes('重复'))) {
189
+ return { success: false, alreadySigned: true, message: '今日已经签到过了' };
190
+ }
191
+ throw new Error(`签到失败: ${msg}`);
192
+ }
193
+ return { success: true, alreadySigned: false, data: response.data, message: '' };
194
+ }
195
+ catch (error) {
196
+ // Koishi http errors handling
197
+ if (error.response?.data?.message) {
198
+ const msg = error.response.data.message;
199
+ if (msg.includes('请勿重复签到') || msg.includes('已经签到') || msg.includes('今日已签到')) {
200
+ return { success: false, alreadySigned: true, message: '今日已经签到过了' };
201
+ }
202
+ }
203
+ throw error;
204
+ }
205
+ }
206
+ async attendanceEndfield(cred, userToken, role) {
207
+ try {
208
+ const url = '/web/v1/game/endfield/attendance';
209
+ const headers = {
210
+ cred,
211
+ 'Content-Type': 'application/json',
212
+ 'sk-game-role': `3_${role.roleId}_${role.serverId}`,
213
+ 'referer': 'https://game.skland.com/',
214
+ 'origin': 'https://game.skland.com/',
215
+ };
216
+ const body = null;
217
+ const response = await this.requestSigned('post', url, body, headers, userToken);
218
+ if (response.code !== 0) {
219
+ const msg = response.message || '';
220
+ if (msg.includes('请勿重复签到') || msg.includes('已经签到') || msg.includes('今日已签到') ||
221
+ msg.includes('重复') || (response.code === 400 && msg.includes('已'))) {
222
+ return { success: false, alreadySigned: true, message: '今日已经签到过了' };
223
+ }
224
+ throw new Error(`终末地签到失败: ${msg}`);
225
+ }
226
+ return { success: true, alreadySigned: false, data: response.data, message: '' };
227
+ }
228
+ catch (error) {
229
+ if (error.response?.data?.message) {
230
+ const msg = error.response.data.message;
231
+ if (msg.includes('请勿重复签到') || msg.includes('已经签到') || msg.includes('今日已签到') || msg.includes('重复')) {
232
+ return { success: false, alreadySigned: true, message: '今日已经签到过了' };
233
+ }
234
+ }
235
+ throw error;
236
+ }
237
+ }
238
+ async getPlayerInfo(cred, userToken, uid) {
239
+ try {
240
+ const response = await this.requestSigned('get', '/api/v1/game/player/info', { uid }, { cred }, userToken);
241
+ if (response.code !== 0) {
242
+ throw new Error(`获取玩家信息失败: ${response.message}`);
243
+ }
244
+ return response.data;
245
+ }
246
+ catch (error) {
247
+ throw error;
248
+ }
249
+ }
250
+ async getEndfieldCardDetail(cred, userToken, roleId, serverId, userId) {
251
+ try {
252
+ const url = '/api/v1/game/endfield/card/detail';
253
+ const headers = {
254
+ cred,
255
+ 'Content-Type': 'application/json',
256
+ 'referer': 'https://game.skland.com/',
257
+ 'origin': 'https://game.skland.com',
258
+ };
259
+ const params = { roleId, serverId, userId };
260
+ const response = await this.requestSigned('get', url, params, headers, userToken);
261
+ if (response.code !== 0) {
262
+ throw new Error(`获取终末地卡片详情失败: ${response.message}`);
263
+ }
264
+ return response.data;
265
+ }
266
+ catch (error) {
267
+ throw error;
268
+ }
269
+ }
270
+ }
271
+ //# sourceMappingURL=skland.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skland.js","sourceRoot":"","sources":["../src/skland.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "koishi-plugin-hg-sign",
3
+ "description": "森空岛信息获取,自动签到",
4
+ "version": "1.0.1",
5
+ "type": "module",
6
+ "main": "lib/index.js",
7
+ "typings": "lib/index.d.ts",
8
+ "files": [
9
+ "lib",
10
+ "assets"
11
+ ],
12
+ "license": "MIT",
13
+ "keywords": [
14
+ "chatbot",
15
+ "koishi",
16
+ "plugin"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc -b"
20
+ },
21
+ "peerDependencies": {
22
+ "koishi": "^4.18.7"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "^20.0.0",
26
+ "@types/qrcode": "^1.5.6",
27
+ "typescript": "^5.0.0"
28
+ },
29
+ "dependencies": {
30
+ "qrcode": "^1.5.4",
31
+ "uuid": "^11.0.0"
32
+ }
33
+ }
package/readme.md ADDED
@@ -0,0 +1,5 @@
1
+ # koishi-plugin-hg-sign
2
+
3
+ [![npm](https://img.shields.io/npm/v/koishi-plugin-hg-sign?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-hg-sign)
4
+
5
+ 森空岛信息获取,自动签到