Skip to content

Commit

Permalink
add gfwlike and direct
Browse files Browse the repository at this point in the history
  • Loading branch information
maoist2009 committed Feb 9, 2025
1 parent e3094b5 commit 86b5c5a
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 19 deletions.
6 changes: 6 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,12 @@
"cloudflare-dns.com": {
"IP": "104.21.3.222",
"TLS_frag": 6
},
"tracking.miui.com": {
"method": "GFWlike"
},
"bilibili.com": {
"method": "DIRECT"
}
},
"pac_domains": [
Expand Down
48 changes: 29 additions & 19 deletions docs/HELP.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ BUILD_WINDOWS

#### 公共


| 项名 | 简单解释 | 是否可以域名自定义 |
| ------------------- | --------------------------- | ------------------ |
| `output_data` | 是否输出包内容 ||
Expand All @@ -62,35 +63,46 @@ BUILD_WINDOWS
| `TTL_log_every` | ttl缓存频率 ||
| `num_TCP_fragment` | 无sni段TCP分块数 ||
| `TCP_frag` | sni所在tcp层大致段分块长度 ||
| `method` | 操作方法,`TLSfrag``FAKEdesync`||
| `method` | 操作方法,见下文模式 | |
| `IPtype` | dns查询ip默认类型(无则换) ||

#### `TLSfrag`模式

| 项名 | 简单解释 | 是否可以域名自定义 |
| ------------------- | --------------------------- | ------------------ |
|`num_TLS_fragment` | 无sni段TLS分块数 ||
|`TLS_frag` | sni在tls层分块长度 ||

| 项名 | 简单解释 | 是否可以域名自定义 |
| ------------------ | ------------------ | ------------------ |
| `num_TLS_fragment` | 无sni段TLS分块数 ||
| `TLS_frag` | sni在tls层分块长度 ||

#### `FAKEdesync`模式

| 项名 | 简单解释 | 是否可以域名自定义 |
| ------------------- | --------------------------- | ------------------ |
|`FAKE_packet`|发送的假包内容||
|`FAKE_ttl`|假包使用的ttl,填`query`表示自动二分查询||
|`FAKE_ttl_auto_timeout`|cookie缓存时间||
|`FAKE_sleep`|发送假包后改为真包的间隔时间||

| 项名 | 简单解释 | 是否可以域名自定义 |
| ----------------------- | ---------------------------------------- | ------------------ |
| `FAKE_packet` | 发送的假包内容 ||
| `FAKE_ttl` | 假包使用的ttl,填`query`表示自动二分查询 ||
| `FAKE_ttl_auto_timeout` | cookie缓存时间 ||
| `FAKE_sleep` | 发送假包后改为真包的间隔时间 ||

其中,域名自定义指的是在`domians.xxxx.com`下也有此配置项,且该处配置优先。

#### `DIRECT`模式

直接发包,不做修改

#### `GFWlike`模式

像双方发送`FIN`,关闭连接。阻止此网站加载。(当一回gfw)。

### `domains`下有其他项:

| 项名 | 简单解释 |
| --------- | ------------------- |
| `IP` | IP地址 |
| `port` | 端口(不填默认443) |
| `IPcache` | 是否缓存 |
| `TTLcache` | 是否缓存IP对应TTL |

| 项名 | 简单解释 |
| ---------- | ------------------- |
| `IP` | IP地址 |
| `port` | 端口(不填默认443) |
| `IPcache` | 是否缓存 |
| `TTLcache` | 是否缓存IP对应TTL |

## 域名匹配规则

Expand All @@ -103,5 +115,3 @@ BUILD_WINDOWS
我本人也会维护已知的被ip封锁的网站。

## 细节看`server.py`


7 changes: 7 additions & 0 deletions server.py
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,12 @@ def my_upstream(self, client_sock):
send_data_in_fragment(settings.get("sni"),settings,data,backend_sock)
elif settings.get("method")=="FAKEdesync":
send_data_with_fake(settings.get("sni"),settings,data,backend_sock)
elif settings.get("method")=="DIRECT":
backend_sock.sendall(data)
elif settings.get("method")=="GFWlike":
client_sock.close()
backend_sock.close()
return False
else:
print("unknown method")
backend_sock.sendall(data)
Expand Down Expand Up @@ -1226,5 +1232,6 @@ def Write_TTL_cache():
json.dump(TTL_cache,f)

dataPath=Path.cwd()

ThreadtoWork=True
proxythread=start_server()

0 comments on commit 86b5c5a

Please sign in to comment.