Sudarsan Reddy
39847a70f2
TUN-7558: Flush on Writes for StreamBasedOriginProxy
...
In the streambased origin proxy flow (example ssh over access), there is
a chance when we do not flush on http.ResponseWriter writes. This PR
guarantees that the response writer passed to proxy stream has a flusher
embedded after writes. This means we write much more often back to the
ResponseWriter and are not waiting. Note, this is only something we do
when proxyHTTP-ing to a StreamBasedOriginProxy because we do not want to
have situations where we are not sending information that is needed by
the other side (eyeball).
2023-07-06 14:22:29 +00:00
Devin Carr
87f81cc57c
TUN-7324: Add http.Hijacker to connection.ResponseWriter
...
Allows connection.ResponseWriter implemenations to be Hijacked to properly
handle WebSocket connection downgrades from proper HTTP requests.
2023-03-29 09:21:19 -07:00
Devin Carr
bf3136debb
TUN-7253: Adopt http.ResponseWriter for connection.ResponseWriter
2023-03-08 09:56:47 -08:00
João Oliveirinha
68ef4ab2a8
TUN-7197: Add connIndex tag to debug messages of incoming requests
2023-02-22 16:08:24 +00:00
cthuang
49438f30f5
TUN-6813: Only proxy ICMP packets when warp-routing is enabled
2022-09-30 19:08:12 +01:00
João Oliveirinha
f6bd4aa039
TUN-6676: Add suport for trailers in http2 connections
2022-08-24 15:16:30 +00:00
Devin Carr
a97673e8b9
TUN-6575: Consume cf-trace-id from incoming http2 TCP requests
2022-08-16 15:30:44 +00:00
Devin Carr
b9cba7f2ae
TUN-6576: Consume cf-trace-id from incoming TCP requests to create root span
...
(cherry picked from commit f48a7cd3dd
)
2022-08-02 14:56:31 -07:00
João Oliveirinha
7f1c890a82
Revert "TUN-6576: Consume cf-trace-id from incoming TCP requests to create root span"
...
This reverts commit f48a7cd3dd
.
2022-08-02 11:13:24 +01:00
Devin Carr
f48a7cd3dd
TUN-6576: Consume cf-trace-id from incoming TCP requests to create root span
2022-08-01 20:22:39 +00:00
Sudarsan Reddy
69b28e358c
TUN-6347: Add TCP stream logs with FlowID
2022-06-09 19:41:20 +00:00
João Oliveirinha
99d4e48656
TUN-6016: Push local managed tunnels configuration to the edge
2022-05-06 15:43:24 +00:00
Devin Carr
def8f57dbc
TUN-5989: Add in-memory otlp exporter
2022-04-11 19:38:01 +00:00
Nuno Diegues
98736a03e1
TUN-5915: New cloudflared command to allow to retrieve the token credentials for a Tunnel
2022-03-23 10:35:16 +00:00
Sudarsan Reddy
5c6207debc
TUN-5696: HTTP/2 Configuration Update
2022-03-04 12:28:55 +00:00
João Oliveirinha
b6d7076400
TUN-5681: Add support for running tunnel using Token
2022-02-23 10:09:45 +00:00
João Oliveirinha
22cd8ceb8c
TUN-5682: Remove name field from credentials
2022-02-23 10:08:29 +00:00
cthuang
d68ff390ca
TUN-5698: Make ingress rules and warp routing dynamically configurable
2022-02-16 09:38:28 +00:00
cthuang
e22422aafb
TUN-5749: Refactor cloudflared to pave way for reconfigurable ingress
...
- Split origin into supervisor and proxy packages
- Create configManager to handle dynamic config
2022-02-14 15:37:09 +00:00
Sudarsan Reddy
bccf4a63dc
UN-5213: Increase MaxStreams value for QUIC transport
...
The default max streams value of 100 is rather small when subject to
high load in terms of connecting QUIC with streams faster than it can
create new ones. This high value allows for more throughput.
2021-10-08 13:48:20 +01:00
Nuno Diegues
f985ed567f
TUN-5128: Enforce maximum grace period
...
This maximum grace period will be honored by Cloudflare edge such that
either side will close the connection after unregistration at most
by this time (3min as of this commit):
- If the connection is unused, it is already closed as soon as possible.
- If the connection is still used, it is closed on the cloudflared configured grace-period.
Even if cloudflared does not close the connection by the grace-period time,
the edge will do so.
2021-09-21 16:48:37 +00:00
Rishabh Bector
a4a9f45b0a
TUN-4821: Make quick tunnels the default in cloudflared
2021-08-26 15:53:02 +00:00
Sudarsan Reddy
ed1389ef08
TUN-4814: Revert "TUN-4699: Make quick tunnels the default in cloudflared"
...
This reverts commit 18992efa0c
.
2021-07-28 10:02:55 +01:00
Rishabh Bector
18992efa0c
TUN-4699: Make quick tunnels the default in cloudflared
2021-07-26 15:57:36 +00:00
Sudarsan Reddy
8f3526289a
TUN-4701: Split Proxy into ProxyHTTP and ProxyTCP
...
http.Request now is only used by ProxyHTTP and not required if the
proxying is TCP. The dest conversion is handled by the transport layer.
2021-07-19 13:43:59 +00:00
Igor Postelnik
da4d0b2bae
TUN-4067: Reformat code for consistent import order, grouping, and fix formatting. Added goimports target to the Makefile to make this easier in the future.
2021-03-24 10:53:29 -05:00
Sudarsan Reddy
e20c4f8752
TUN-3838: ResponseWriter no longer reads and origin error tests
2021-02-23 14:19:47 +00:00
cthuang
ab4dda5427
TUN-3868: Refactor singleTCPService and bridgeService to tcpOverWSService and rawTCPService
2021-02-23 14:19:47 +00:00
cthuang
3b93914612
TUN-3764: Actively flush data for TCP streams
2021-02-23 14:19:47 +00:00
Sudarsan Reddy
368066a966
TUN-3615: added support to proxy tcp streams
...
added ingress.DefaultStreamHandler and a basic test for tcp stream proxy
moved websocket.Stream to ingress
cloudflared no longer picks tcpstream host from header
2021-02-23 14:19:47 +00:00
cthuang
e2262085e5
TUN-3617: Separate service from client, and implement different client for http vs. tcp origins
...
- extracted ResponseWriter from proxyConnection
- added bastion tests over websocket
- removed HTTPResp()
- added some docstrings
- Renamed some ingress clients as proxies
- renamed instances of client to proxy in connection and origin
- Stream no longer takes a context and logger.Service
2021-02-23 14:19:44 +00:00
Areg Harutyunyan
55bf904689
TUN-3471: Add structured log context to logs
2021-01-05 20:21:16 +00:00
Adam Chalmers
69fd502db3
TUN-3581: Tunnels can be run by name using only --credentials-file, no
...
origin cert necessary.
2020-11-25 09:54:28 -06:00
cthuang
fdb1f961b3
TUN-3557: Detect SSE if content-type starts with text/event-stream
2020-11-18 15:59:41 +00:00
cthuang
d5769519b2
TUN-3489: Add unit tests to cover proxy logic in connection package of cloudflared
2020-11-11 15:21:00 +00:00
cthuang
eef5b78eac
TUN-3480: Support SSE with http2 connection, and add SSE handler to hello-world server
2020-11-11 15:12:17 +00:00
cthuang
a490443630
TUN-3458: Upgrade to http2 when available, fallback to h2mux when we reach max retries
2020-11-11 15:11:42 +00:00
cthuang
b5cdf3b2c7
TUN-3456: New protocol option auto to automatically select between http2 and h2mux
2020-11-11 15:11:42 +00:00
cthuang
9ac40dcf04
TUN-3462: Refactor cloudflared to separate origin from connection
2020-11-11 15:11:42 +00:00
cthuang
fb82b2ced5
TUN-3019: Remove declarative tunnel entry code
2020-05-30 05:54:17 +08:00
Dalton
046be63253
AUTH-2596 added new logger package and replaced logrus
2020-05-27 17:07:19 -05:00
Adam Chalmers
a60c0273f5
TUN-2714: New edge discovery. Connections try to reconnect to the same edge IP.
2020-02-14 19:49:54 +00:00
Nick Vollmar
7e31b77646
TUN-2637: Manage edge IPs in a region-aware manner
2019-12-19 21:58:23 +00:00
Nick Vollmar
bbf31377c2
TUN-2607: add RPC stream helpers
2019-12-03 15:38:16 -06:00
Nick Vollmar
8f4fd70783
TUN-2606: add DialEdge helpers
2019-12-03 14:52:33 -06:00
Chung-Ting Huang
5bcb2da0fe
TUN-2309: Split ConnectResult into ConnectError and ConnectSuccess, each implementing its own capnp serialization logic
2019-09-19 13:47:41 -05:00
Chung-Ting Huang
80a15547e3
TUN-1961: Create EdgeConnectionManager to maintain outbound connections to the edge
2019-06-18 16:37:38 -05:00
Chung-Ting Huang
d26a8c5d44
TUN-1893: Proxy requests to the origin based on tunnel hostname
2019-06-13 14:46:22 -05:00
Chung-Ting Huang
2bef5dbe72
TUN-1682: Add context to OpenStream to prevent it from blocking indefinitely.
2019-04-11 13:44:42 -05:00
Chung-Ting Huang
c18702f297
TUN-1626: Create new supervisor to establish connection with origintunneld
2019-04-04 15:39:22 -05:00