|
5 | 5 | ## Current State |
6 | 6 |
|
7 | 7 | As part of the initial [Kickstart Spike], we are working towards an early preview of |
8 | | -the `river` tool. This work will be released in a binary format, see |
9 | | -[this issue][dist-rfc] for more details. |
| 8 | +the `river` tool. |
10 | 9 |
|
11 | 10 | [Kickstart Spike]: https://github.com/memorysafety/river/milestone/1 |
12 | | -[dist-rfc]: https://github.com/memorysafety/river/issues/15 |
13 | 11 |
|
14 | | -**Until releases begin, there is no expectation of stability.** |
| 12 | +**Until further notice, there is no expectation of stability.** |
15 | 13 |
|
16 | 14 | ### Demonstration steps |
17 | 15 |
|
18 | 16 | At the moment, `river` can be invoked from the command line. See `--help` for |
19 | 17 | all options. |
20 | 18 |
|
21 | 19 | Configuration is currently done exclusively via configuration file. See |
22 | | -[`test-config.toml`] for an example configuration file. |
| 20 | +[`test-config.toml`] for an example configuration file. Additionally, see |
| 21 | +[`toml-configuration.md`] for more configuration details. |
23 | 22 |
|
24 | 23 | [`test-config.toml`]: ./source/river/assets/test-config.toml |
25 | | - |
26 | | -The server can be launched as follows: |
27 | | - |
28 | | -```sh |
29 | | -# starting in the root of this repository |
30 | | -cd source/river |
31 | | -cargo run --release -- --config-toml ./assets/test-config.toml |
32 | | -``` |
33 | | - |
34 | | -Requests against the proxy can be made via `curl`, for example with `HTTP`: |
35 | | - |
36 | | -``` |
37 | | -curl -v http://127.0.0.1:8080 |
38 | | -* processing: http://127.0.0.1:8080 |
39 | | -* Trying 127.0.0.1:8080... |
40 | | -* Connected to 127.0.0.1 (127.0.0.1) port 8080 |
41 | | -> GET / HTTP/1.1 |
42 | | -> Host: 127.0.0.1:8080 |
43 | | -> User-Agent: curl/8.2.1 |
44 | | -> Accept: */* |
45 | | -> |
46 | | -< HTTP/1.1 403 Forbidden |
47 | | -< Server: cloudflare |
48 | | -< Date: Thu, 04 Apr 2024 13:17:27 GMT |
49 | | -< Content-Type: text/html |
50 | | -< Content-Length: 151 |
51 | | -< Connection: keep-alive |
52 | | -< CF-RAY: 86f194286d6158de-TXL |
53 | | -< |
54 | | -<html> |
55 | | -<head><title>403 Forbidden</title></head> |
56 | | -<body> |
57 | | -<center><h1>403 Forbidden</h1></center> |
58 | | -<hr><center>cloudflare</center> |
59 | | -</body> |
60 | | -</html> |
61 | | -* Connection #0 to host 127.0.0.1 left intact |
62 | | -``` |
63 | | - |
64 | | -Or using HTTPS: |
65 | | - |
66 | | -``` |
67 | | -curl -vk -H 'host: one.one.one.one' https://127.0.0.1:4443 | wc -c |
68 | | -* processing: https://127.0.0.1:4443 |
69 | | - % Total % Received % Xferd Average Speed Time Time Time Current |
70 | | - Dload Upload Total Spent Left Speed |
71 | | - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1:4443... |
72 | | -* Connected to 127.0.0.1 (127.0.0.1) port 4443 |
73 | | -* ALPN: offers h2,http/1.1 |
74 | | -} [5 bytes data] |
75 | | -* TLSv1.3 (OUT), TLS handshake, Client hello (1): |
76 | | -} [512 bytes data] |
77 | | -* TLSv1.3 (IN), TLS handshake, Server hello (2): |
78 | | -{ [122 bytes data] |
79 | | -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): |
80 | | -{ [6 bytes data] |
81 | | -* TLSv1.3 (IN), TLS handshake, Certificate (11): |
82 | | -{ [1028 bytes data] |
83 | | -* TLSv1.3 (IN), TLS handshake, CERT verify (15): |
84 | | -{ [264 bytes data] |
85 | | -* TLSv1.3 (IN), TLS handshake, Finished (20): |
86 | | -{ [52 bytes data] |
87 | | -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): |
88 | | -} [1 bytes data] |
89 | | -* TLSv1.3 (OUT), TLS handshake, Finished (20): |
90 | | -} [52 bytes data] |
91 | | -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 |
92 | | -* ALPN: server did not agree on a protocol. Uses default. |
93 | | -* Server certificate: |
94 | | -* subject: C=DE; ST=Berlin; L=Berlin; O=River Test Organization; OU=River Test Unit; CN=NOT FOR ACTUAL USE |
95 | | -* start date: Apr 3 17:53:06 2024 GMT |
96 | | -* expire date: Apr 1 17:53:06 2034 GMT |
97 | | -* issuer: C=DE; ST=Berlin; L=Berlin; O=River Test Organization; OU=River Test Unit; CN=NOT FOR ACTUAL USE |
98 | | -* SSL certificate verify result: self-signed certificate (18), continuing anyway. |
99 | | -* using HTTP/1.x |
100 | | -} [5 bytes data] |
101 | | -> GET / HTTP/1.1 |
102 | | -> Host: one.one.one.one |
103 | | -> User-Agent: curl/8.2.1 |
104 | | -> Accept: */* |
105 | | -> |
106 | | -{ [5 bytes data] |
107 | | -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): |
108 | | -{ [233 bytes data] |
109 | | -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): |
110 | | -{ [233 bytes data] |
111 | | -* old SSL session ID is stale, removing |
112 | | -{ [5 bytes data] |
113 | | -< HTTP/1.1 200 OK |
114 | | -< Date: Thu, 04 Apr 2024 13:19:07 GMT |
115 | | -< Content-Type: text/html; charset=utf-8 |
116 | | -< Content-Length: 56604 |
117 | | -< Connection: keep-alive |
118 | | -< CF-Ray: 86f196978c3e4534-TXL |
119 | | -< Access-Control-Allow-Origin: * |
120 | | -< Cache-Control: public, max-age=0, must-revalidate |
121 | | -< ETag: "5dd740d0e716a31c1b8437db0263fa93" |
122 | | -< Vary: Accept-Encoding |
123 | | -< referrer-policy: strict-origin-when-cross-origin |
124 | | -< x-content-type-options: nosniff |
125 | | -< Server: cloudflare |
126 | | -< alt-svc: h3=":443"; ma=86400 |
127 | | -< |
128 | | -{ [570 bytes data] |
129 | | -100 56604 100 56604 0 0 310k 0 --:--:-- --:--:-- --:--:-- 310k |
130 | | -* Connection #0 to host 127.0.0.1 left intact |
131 | | -56604 |
132 | | -``` |
| 24 | +[`toml-configuration.md`]: ./docs/toml-configuration.md |
133 | 25 |
|
134 | 26 | ## License |
135 | 27 |
|
|
0 commit comments