initial commit

This commit is contained in:
zhangjingqiang 2023-03-09 17:55:45 +08:00
commit 13716f4923
1425 changed files with 163227 additions and 0 deletions

View file

@ -0,0 +1,79 @@
.. _log_escape:
**********
Escape Log
**********
The escape log contains only errors when we need to connect to or send data to remote peer.
Shared Keys
===========
The following shared keys are set in all type of escape logs:
escaper_type
------------
**required**, **type**: enum string
The type of the escaper.
escaper_name
------------
**required**, **type**: string
The name of the escaper.
escape_type
-----------
**required**, **type**: enum string
The subtype of this escape log. The meaning of non-shared keys are depend on this value.
task_id
-------
**required**, **type**: uuid in simple string format
UUID of the task.
The task_id is also contained in task logs.
upstream
--------
**required**, **type**: domain:port | socket address string
The target upstream that the client want to access.
next_bound_addr
---------------
**optional**, **type**: socket address string
The local address for the remote connection.
Present only if we have connected to the remote peer.
next_peer_addr
--------------
**optional**, **type**: socket address string
The peer address for the remote connection.
The peer may be the upstream, or will be a next proxy address, which depends on the type of escaper.
Present only if we have selected the ip address of the next peer.
Sub Types
=========
.. toctree::
:maxdepth: 2
tcp_connect
tls_handshake
udp_sendto

View file

@ -0,0 +1,46 @@
.. _log_escape_tcp_connect:
**********
TcpConnect
**********
The following keys are available for TcpConnect escape log:
next_bind_ip
------------
**optional**, **type**: ip address string
The selected bind IP before we really connect to the remote peer.
Present only if bind ip config is enabled on the corresponding escaper.
next_expire
-----------
**optional**, **type**: rfc3339 timestamp string with microseconds
The expected expire time of the next peer.
Present only if the next escaper is dynamic and we have selected the remote peer.
tcp_connect_tries
-----------------
**optional**, **type**: int
How many times we have tried to connect to the remote peer.
tcp_connect_spend
-----------------
**optional**, **type**: time duration string
How many time we have spent during connection of the remote peer (all tries count in).
reason
------
**required**, **type**: enum string
The brief error reason.

View file

@ -0,0 +1,56 @@
.. _log_escape_tls_handshake:
************
TlsHandshake
************
The following keys are available for TlsHandshake escape log:
next_bind_ip
------------
**optional**, **type**: ip address string
The selected bind IP before we really connect to the remote peer.
Present only if bind ip config is enabled on the corresponding escaper.
next_expire
-----------
**optional**, **type**: rfc3339 timestamp string with microseconds
The expected expire time of the next peer.
Present only if the next escaper is dynamic and we have selected the remote peer.
tls_name
--------
**required**, **type**: domain name or ip string
The name we used to identify the cert of the remote peer.
tls_peer
--------
**required**, **type**: domain:port | socket address string
The remote peer we need to setup TLS with.
tls_application
---------------
**required**, **type**: enum string
Show the application protocol we want to use inside the TLS channel.
The values are:
* HttpForward
The user send a HttpsForward request, and we need to do setup TLS channel.
* HttpProxy
The next peer is a https proxy.

View file

@ -0,0 +1,23 @@
.. _log_escape_udp_sendto:
*********
UdpSendto
*********
The following keys are available for UdpSendto escape log:
next_expire
-----------
**optional**, **type**: rfc3339 timestamp string with microseconds
The expected expire time of the next peer.
Present only if the next escaper is dynamic and we have selected the remote peer.
reason
------
**required**, **type**: enum string
The brief error reason.