summarylogtreecommitdiffstats
path: root/uos.patch
blob: 3a3245ca177fc8f88989a8f07906b8f862134332 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
diff --git a/src/controller/main-controller.js b/src/controller/main-controller.js
index 51c6169..b5d2101 100644
--- a/src/controller/main-controller.js
+++ b/src/controller/main-controller.js
@@ -7,6 +7,7 @@ const {
 } = require('electron');
 const path = require('path');
 const CssInjector = require('../js/css-injector');
+const { execSync } = require('child_process');
 
 class MainController {
     constructor() {
@@ -28,7 +29,7 @@ class MainController {
             }
         })
 
-        this.window.loadURL('https://wx.qq.com/?lang=zh_CN')
+        this.window.loadURL('https://wx2.qq.com/?lang=zh_CN&target=t')
 
         this.window.webContents.on('dom-ready', () => {
             this.window.webContents.insertCSS(CssInjector.login)
@@ -62,6 +63,25 @@ class MainController {
             (details) => this.handleRequest(details)
         )
 
+        session.defaultSession.webRequest.onBeforeSendHeaders({urls: [
+            "https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage*",
+            "https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage*",
+        ]},
+            (details, callback) => {
+                let token = execSync('/opt/wechat-uos-token/wechat-uos-token.sh').toString('ascii');
+                if (details.url.indexOf("/cgi-bin/mmwebwx-bin/webwxnewloginpage") > -1) {
+                    details.requestHeaders["extspam"] = token
+                    details.requestHeaders["client-version"] = "8.0.0"
+                    callback({
+                        requestHeaders: details.requestHeaders,
+                    })
+                } else {
+                    callback({});
+                }
+            }
+        )
+
+
         ipcMain.on('resizeWindow', (event, value) => {
             if (value === 'desktop') {
                 this.window.setSize(1000, this.window.getSize()[1], true)