You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.en-US.md
+49-15Lines changed: 49 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,16 +31,20 @@ This tool is completely free and open-source. If you paid for it, you've been sc
31
31
32
32
## 📢 Before You Start
33
33
34
-
Note: Unlocking characters is only effective locally; others will still see your original character and emojis.
34
+
Note: Unlocking characters is only effective locally; others will still see your original character and emojis. For example, sending the 3rd emoji of the new character still appears as the 3rd emoji of your original character to everyone else.
35
35
36
36
> [!CAUTION]
37
-
> Mod at your own risk — safety comes first.
37
+
> Mod responsibly—safety always comes first.
38
38
>
39
-
> This project is for learning and research only; delete it within 24 hours of download and do not use it for commercial purposes.
39
+
> Improper use or careless configuration may get your account banned.
40
40
>
41
-
> The official Mahjong Soul service may detect this and ban your account.
41
+
> This project is for learning, research, and communication only; delete it within 24 hours of download and never use it for commercial purposes, otherwise you bear all consequences.
42
42
>
43
-
> Any consequences are solely your responsibility; using this project means you accept these terms.
43
+
> Mahjong Soul's official servers may detect this project and ban your account; the authors assume no liability for any result.
44
+
>
45
+
> Using this project means you acknowledge and agree to all of the above.
@@ -52,7 +56,7 @@ You can click the images to join or scan the QR codes.
52
56
53
57
## 🥰 Current Features
54
58
55
-
The program consists of two parts: `mod` and `helper`, which are a combination of [Mahjong Soul mod_plus](https://github.com/Avenshy/mahjong_mod_plus) and [mahjong-helper-mahjong-mitmproxy](https://github.com/Avenshy/mahjong-helper-mahjong-mitmproxy).
59
+
The program consists of two parts: `mod` and `helper`, combining [Majsoul mod_plus](https://github.com/Avenshy/majsoul_mod_plus) and [mahjong-helper-majsoul-mitmproxy](https://github.com/Avenshy/mahjong-helper-majsoul-mitmproxy).
56
60
57
61
The default configuration enables `helper` and disables `mod`. To customize, modify the `mod_switch` and `helper_switch` in `./liqi_config/settings.json`.
58
62
@@ -82,10 +86,12 @@ The default configuration enables `helper` and disables `mod`. To customize, mod
82
86
- In `liqi_config/settings.json`, set the universal settings including toggles for Helper and Mod—`modSwitch` and `helperSwitch`, `false` is off, `true` is on.
83
87
- In `liqi_config/settings.mod.json`, set the Mod-specific settings.
84
88
2. Start the program by running the executable file.
85
-
3. Start the game, either the web version or the client/Steam version. Make sure Mahjong Soul traffic goes through the local `majsoul_max_rs` HTTP proxy (listening on `127.0.0.1:23410`). It is recommended to use a rule-based proxy client such as `Clash` or `Surge` (with configuration overrides) — see the “Proxy & Routing” section below for examples.
89
+
3. Start the game (web or client/Steam) and make sure all Mahjong Soul traffic goes through the local `majsoul_max_rs` HTTP proxy (it listens on `127.0.0.1:23410` by default). A rule-based proxy client such as `Clash` or `Surge` (with configuration overrides) makes this easy—see “Proxy & Routing” for concrete examples.
90
+
- Web version: usually you only need the browser to honor the system proxy or apply the domain rules, without enabling `TUN` / enhanced mode.
91
+
- Client / Steam: likewise split the game process traffic to `majsoul_max_rs` via `Clash` / `Surge`, but you **must** enable `TUN` / enhanced mode in the proxy client or the local process traffic will not be hijacked.
86
92
4. Log in to the game and enjoy.
87
93
88
-
Instructions for macOS and Linux are similar.
94
+
macOS or Linux users can follow the same flow; only the proxy setup in step 3 differs slightly.
89
95
90
96
For the Android version, assuming you are technically proficient, only key terms are provided here: `Termux`, `NekoBox`, effective only on game route 1.
91
97
@@ -96,11 +102,11 @@ For the Android version, assuming you are technically proficient, only key terms
96
102
Before routing traffic through it, import and trust the `hudsucker.cer` root certificate in your operating system (you can download it from the [hudsucker](https://github.com/omjadas/hudsucker/blob/main/examples/ca/hudsucker.cer)); otherwise HTTPS handshakes may fail due to certificate verification.
97
103
98
104
> [!CAUTION]
99
-
> For native clients / Steam, enable `TUN` / enhanced mode in your proxy client so that the game process traffic actually passes through `majsoul_max_rs`.
105
+
> For native clients / Steam, enable `TUN` / enhanced mode in your proxy client so the game process traffic actually passes through `majsoul_max_rs`, and make sure traffic leaving `majsoul_max_rs` is not routed back to itself (avoiding loopback proxies).
100
106
>
101
107
> For the web version in a browser, enhanced mode is usually unnecessary as long as the browser follows the system proxy or correct domain rules.
102
108
103
-
### Clash example (local Rust version)
109
+
### Using Clash for Routing
104
110
105
111
```yml
106
112
proxies:
@@ -118,13 +124,25 @@ proxy-groups:
118
124
- DIRECT
119
125
120
126
rules:
121
-
# Client / Steam (recommended)
127
+
# Required to avoid loopback routing
128
+
- PROCESS-NAME,majsoul_max_rs,DIRECT
129
+
- PROCESS-NAME,majsoul_max_rs.exe,DIRECT
130
+
# Choose the section below that matches your platform
# Choose the section below that matches your platform
158
+
# Client / Steam
137
159
PROCESS-NAME,雀魂麻將,🀄 Majsoul
138
160
PROCESS-NAME,jantama_mahjongsoul.exe,🀄 Majsoul
139
161
PROCESS-NAME,Jantama_MahjongSoul.exe,🀄 Majsoul
162
+
# Web (browser)
163
+
DOMAIN-KEYWORD,majsoul,🀄 Majsoul
164
+
DOMAIN-KEYWORD,maj-soul,🀄 Majsoul
165
+
DOMAIN-KEYWORD,catmjstudio,🀄 Majsoul
166
+
DOMAIN-KEYWORD,catmajsoul,🀄 Majsoul
167
+
IP-CIDR,146.66.155.0/24,🀄 Majsoul
168
+
IP-CIDR,185.25.182.18/32,🀄 Majsoul
169
+
IP-CIDR,203.107.63.200/32,🀄 Majsoul
140
170
```
141
171
142
-
### Web / platforms without PROCESS-NAME rules
172
+
### Web / Platforms Without PROCESS-NAME Rules
143
173
144
-
If you play in a browser or on platforms that ignore `PROCESS-NAME` (e.g. iOS / iPadOS), use domain/IP rules instead (Clash example):
174
+
If you play in a browser or on platforms that cannot use `PROCESS-NAME`rules (e.g. iOS / iPadOS), mimic the domain/IP rules used for the web version (Clash example below). In this scenario you must deploy `majsoul_max_rs` on a different machine (for example via [MajsoulMax-rs-docker](https://github.com/zhuozhiyongde/MajsoulMax-rs-docker) on a VPS), otherwise routing Mahjong Soul traffic to a local `majsoul_max_rs` node will create a loopback proxy.
145
175
146
176
```yml
147
177
rules:
@@ -172,7 +202,11 @@ Override example:
172
202
- MajsoulMax-rs
173
203
- DIRECT
174
204
+rules:
175
-
# Client / Steam (recommended)
205
+
# Required to avoid loopback routing
206
+
- PROCESS-NAME,majsoul_max_rs,DIRECT
207
+
- PROCESS-NAME,majsoul_max_rs.exe,DIRECT
208
+
# Choose the section below that matches your platform
0 commit comments