Skip to content

Commit

Permalink
add mekya docs
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaokangwang committed Oct 13, 2024
1 parent 0c95f43 commit 6d0cd20
Show file tree
Hide file tree
Showing 3 changed files with 160 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/.vuepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ export default defineUserConfig({
'/v5/config/stream/meek',
'/v5/config/stream/httpupgrade',
'/v5/config/stream/hy2',
'/v5/config/stream/mekya',
],
},
{
Expand Down Expand Up @@ -402,6 +403,7 @@ export default defineUserConfig({
'/en_US/v5/config/stream/meek',
'/en_US/v5/config/stream/httpupgrade',
'/en_US/v5/config/stream/hy2',
'/en_US/v5/config/stream/mekya',
],
},
{
Expand Down
78 changes: 78 additions & 0 deletions docs/en_US/v5/config/stream/mekya.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# mekya

Meek is a censorship resistent protocol that encode mkcp traffic into plain HTTP request/responses. This would allow the traffic to be reflected over significant amount of platforms to migrate the effect of IP blocking. (v5.21.0+)

This transport has improved performance compare to meek as a result of utilizing mkcp protocol instead of sequential transmission.

Subscription have been enabled for this transport protocol.

## mekya Stream Transport
* Name: `mekya`
* Type: Transport Protocol
* ID: `stream.mekya`

> `kcp`: [KCPSetting](kcp.md)
The mkcp settings to be applied to this transport.

> `maxWriteSize`: number
(Server only)

The maximum size of a response that will be written to a single response.

> `maxWriteDurationMs`: number
(Server only)

The maximum time in milliseconds that a server will hold a request for write.

> `maxSimultaneousWriteConnection`: number
(Server only)

The maximum amount of in-flight http request a server will hold for write.

> `packetWritingBuffer`: number
(Server only)

The maxium amount of packets that a server will hold awaiting write.

> `url`: string
(Client only)

The url of the server.

> `maxWriteDelay`: number
(Client only)

The maximum amount of time in milliseconds that writes are accumulated for a single request.

> `maxRequestSize`: number
(Client only)

The maximum size of a request that will be written to a single response.

> `pollingIntervalInitial`: number
(Client only)

The initial polling time for response.

> `h2PoolSize`: number
(Client only)

The size of the http2 clients to use for higher concurrency.

## mekya Usage Examples

The configuration examples of mekya based proxy can be found:

[mekya Client](https://github.com/v2fly/v2ray-core/blob/master/testing/scenarios/config/mekya_client.json)

[mekya Server](https://github.com/v2fly/v2ray-core/blob/master/testing/scenarios/config/mekya_server.json)
80 changes: 80 additions & 0 deletions docs/v5/config/stream/mekya.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
## mekya

mekya(美咔) 是一种反审查协议,它将 mkcp 流量编码成普通的 HTTP 请求/响应。这将允许流量在大量平台上转发,以减轻 IP 阻断的影响。(v5.21.0+)

相比于 meek 的顺序传输,此传输方式性能有所提升,得益于采用 mkcp 协议。

此传输协议已启用订阅。

## mekya 流传输
* 名称:`mekya`
* 类型:传输协议
* ID:`stream.mekya`

> `kcp`: [KCPSetting](kcp.md)
应用于此传输方式的 mkcp 设置。

> `maxWriteSize`: number
(仅限服务器)

将写入单个响应的最大响应大小。

> `maxWriteDurationMs`: number
(仅限服务器)

服务器将保持请求打开以进行写入的最长时间(毫秒)。

> `maxSimultaneousWriteConnection`: number
(仅限服务器)

服务器将保留打开以进行写入的未完成 HTTP 请求的最大数量。

> `packetWritingBuffer`: number
(仅限服务器)

服务器将保持请求打开以进行的数据包的最大数量。

> `url`: string
(仅限客户端)

服务器的 URL。

> `maxWriteDelay`: number
(仅限客户端)

为单个请求积累写入数据的最大时间(毫秒)。

> `maxRequestSize`: number
(仅限客户端)

将写入单个响应的最大请求大小。

> `pollingIntervalInitial`: number
(仅限客户端)

初始轮询时间。

> `h2PoolSize`: number
(仅限客户端)

并发性 http2 客户端的数量。

## mekya 使用示例

基于 mekya 的代理配置示例可在以下位置找到:

[mekya 客户端](https://github.com/v2fly/v2ray-core/blob/master/testing/scenarios/config/mekya_client.json)

[mekya 服务器](https://github.com/v2fly/v2ray-core/blob/master/testing/scenarios/config/mekya_server.json)

(本文档为机器翻译自英文版本后手工校对)

1 comment on commit 6d0cd20

@arinc9
Copy link
Contributor

@arinc9 arinc9 commented on 6d0cd20 Oct 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xiaokangwang this is missing the addition of mekya to the Supported Streams section on docs/v5/config/stream.md and its English counterpart. Perhaps we should just remove the Supported Streams section if it's a burden to maintain?

Please sign in to comment.