You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+40-12
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ sudo apt install scion-apps-*
17
17
18
18
### Build:
19
19
20
-
1. Install go 1.13
20
+
1. Install go 1.14
21
21
22
22
See e.g. https://github.com/golang/go/wiki/Ubuntu
23
23
@@ -28,7 +28,7 @@ sudo apt install scion-apps-*
28
28
```shell
29
29
sudo apt-get install -y libpam0g-dev
30
30
```
31
-
31
+
32
32
1. Clone this repository
33
33
34
34
```shell
@@ -41,7 +41,7 @@ sudo apt install scion-apps-*
41
41
```shell
42
42
make setup_lint
43
43
```
44
-
44
+
45
45
1. Run `make` to build all projects (and run linters). Run `make -j` to use multiple jobs to build.
46
46
47
47
1. Run `make test` to run the linters and unit tests.
@@ -56,6 +56,7 @@ SCION dispatcher and SCION daemon.
56
56
Please refer to the [SCIONLab tutorials](https://docs.scionlab.org) to get
57
57
started.
58
58
59
+
59
60
#### Environment
60
61
61
62
The dispatcher and sciond sockets are assumed to be at default locations, but
@@ -70,7 +71,7 @@ When running multiple local ASes, e.g. during development, the address of the
70
71
sciond corresponding to the desired AS needs to be specified in the
71
72
`SCION_DAEMON_ADDRESS` environment variable.
72
73
In this case, the different sciond addresses can be found in their
73
-
corresponding `sd.toml` configuration files in the `gen/ISDx/ASy/endhost`
74
+
corresponding `sd.toml` configuration files in the `gen/ASx`
74
75
directory, or summarized in the file `gen/sciond_addresses.json`.
75
76
76
77
@@ -90,38 +91,65 @@ This configuration file needs to contain the SCION address of the RAINS
90
91
resolver, in the form `<ISD>-<AS>,[<IP>]`.
91
92
92
93
94
+
## _examples
95
+
96
+
The directory _examples contains a minimal "hello, world" application using SCION that sends one packet from a client to a server. The directory also contains small example programs that show how HTTP can be used over SCION/QUIC for servers, proxies, and clients.
97
+
98
+
More documentation is available in the [helloworld README](_examples/helloworld/README.md) and in the [shttp README](_examples/shttp/README.md).
99
+
100
+
93
101
## bat
94
102
95
-
bat is a cURL-like tool for testing, debugging, and generally interacting with HTTP servers over SCION/QUIC. Documentation of the code is available in the [README.md](bat/README.md).
103
+
bat is a cURL-like tool fortesting, debugging, and generally interacting with HTTP servers over SCION/QUIC. Documentation of the code is availablein the [bat README](bat/README.md).
96
104
97
105
Installation and usage information is available on the [SCION Tutorials web page for bat](https://docs.scionlab.org/content/apps/bat.html).
98
106
99
107
108
+
## bwtester
109
+
110
+
The bandwidth testing application bwtester enables a variety of bandwidth tests on the SCION network. Documentation of the code and protocol are described in the [bwtester README](bwtester/README.md).
111
+
112
+
Installation and usage information is available on the [SCION Tutorials web page for bwtester](https://docs.scionlab.org/content/apps/bwtester.html).
113
+
114
+
100
115
## camerapp
101
116
102
-
Camerapp contains image fetcher and server applications, using the SCION network. Documentation of the code is available in the [README.md](https://github.com/netsec-ethz/scion-apps/blob/master/camerapp/README.md).
117
+
Camerapp contains image fetcher and server applications, using the SCION network. Documentation of the code is available in the [camerapp README](camerapp/README.md).
103
118
104
119
Installation and usage information is available on the [SCION Tutorials web page for camerapp](https://docs.scionlab.org/content/apps/access_camera.html).
105
120
106
121
122
+
## netcat
123
+
124
+
netcat contains a SCION port of the netcat application. See the [netcat README](netcat/README.md) for more information.
125
+
126
+
127
+
## pkg
128
+
129
+
Pkg contains underlaying library code for scion-apps.
130
+
131
+
- appnet: simplified and functionally extended wrapper interfaces for the SCION core libraries
132
+
- appquic: a simple interface to use QUIC over SCION
133
+
- shttp: a client/server implementation of HTTP/3 over SCION/QUIC
134
+
- integration: a simple framework to support intergration testing forthe demo applicationsin this repository
135
+
136
+
107
137
## sensorapp
108
138
109
139
Sensorapp contains fetcher and server applications for sensor readings, using the SCION network.
110
140
111
141
Installation and usage information is available on the [SCION Tutorials web page for sensorapp](https://docs.scionlab.org/content/apps/fetch_sensor_readings.html).
112
142
113
143
114
-
## bwtester
144
+
## ssh
115
145
116
-
The bandwidth testing application `bwtester` enables a variety of bandwidth tests on the SCION network.
146
+
Directory ssh contains a SSH client and server running over SCION network.
117
147
118
-
Documentation of the code and protocol are described in the [bwtester README](bwtester/README.md).
119
-
120
-
Installation and usage information is available on the [SCION Tutorials web page for bwtester](https://docs.scionlab.org/content/apps/bwtester.html).
148
+
More documentation is available in the [ssh README](ssh/README.md).
121
149
122
150
123
151
## webapp
124
152
125
153
Webapp is a Go application that will serve up a static web portal to make it easy to experiment with SCIONLab test apps on a virtual machine.
126
154
127
-
Installation and usage information is available on the [SCION Tutorials web page for webapp](https://docs.scionlab.org/content/apps/as_visualization/webapp.html).
155
+
Installation and usage information is available on the [SCION Tutorials web page forwebapp](https://docs.scionlab.org/content/apps/as_visualization/webapp.html) andin the [webapp README](webapp/README.md).
All examples require a running SCION endhost stack, i.e. a running SCION dispatcher and SCION daemon. Please refer to '[Running](../../README.md#Running)' in this repository's main README and the [SCIONLab tutorials](https://docs.scionlab.org) to get started.
28
+
29
+
### Generic file server example
30
+
31
+
Run `example-shttp-fileserver`:
32
+
33
+
```
34
+
bin/example-shttp-fileserver
35
+
```
36
+
37
+
See '[Environment](../../README.md#Environment)' on how to set the dispatcher and sciond environment variables in the server's AS.
38
+
39
+
Build `scion-bat` as a client for `example-shttp-fileserver`:
40
+
41
+
```
42
+
make scion-bat
43
+
```
44
+
45
+
See also the application '[bat](../../bat/README.md)' for more details on the cURL-like CLI tool `scion-bat`.
46
+
47
+
Access `example-shttp-fileserver` with `scion-bat`:
48
+
49
+
```
50
+
bin/scion-bat 17-ffaa:1:a,[127.0.0.1]:443/
51
+
```
52
+
53
+
Replace '17-ffaa:1:a' with your server's ISD and AS numbers and see '[Environment](../../README.md#Environment)' on how to set the dispatcher and sciond environment variables in the client's (or proxy's) AS.
54
+
55
+
Run `example-shttp-proxy` to provide `example-shttp-fileserver` functionality via HTTP:
Access `example-shttp-fileserver` via HTTP with `cURL`:
62
+
63
+
```
64
+
curl -v http://127.0.0.1:8080/
65
+
```
66
+
67
+
(Or navigate to http://127.0.0.1:8080/ in a web browser.)
68
+
69
+
`example-shttp-proxy` can also be used as a proxy from SCION to HTTP, from SCION to SCION, and from HTTP to HTTP. See package [shttp](../../pkg/shttp/README.md) for more details.
70
+
71
+
### Simple shttp-based server example
72
+
73
+
Open a shell in the root of the scion-apps repository and run `example-shttp-server`:
74
+
75
+
```
76
+
cd _examples/shttp/server
77
+
go run .
78
+
```
79
+
80
+
Open a new shell in the scion-apps repository and access `example-shttp-server` with `scion-bat`:
0 commit comments