gettingstarted.rst revision 9a690580
1Getting Started
2===============
3
4Supported Platforms
5-------------------
6
7LSQUIC compiles and runs on Linux, FreeBSD, Mac OS, and Android.  It has been
8tested on i386, x86_64, and ARM (Raspberry Pi and Android).
9
10Windows support is on the TODO list.
11
12Dependencies
13------------
14
15LSQUIC library uses:
16
17- zlib_;
18- BoringSSL_; and
19- `ls-hpack`_ (as a Git submodule).
20- `ls-qpack`_ (as a Git submodule).
21
22The accompanying demo command-line tools use libevent_.
23
24What's in the box
25-----------------
26
27- ``src/liblsquic`` -- the library
28- ``test`` -- demo client and server programs
29- ``test/unittests`` -- unit tests
30
31Building
32--------
33
34To build the library, follow instructions in the README_ file.
35
36Demo Examples
37-------------
38
39Fetch Google home page:
40
41::
42
43    ./http_client -s www.google.com -p / -o version=Q050
44
45Run your own server (it does not touch the filesystem, don't worry):
46
47::
48
49    ./http_server -c www.example.com,fullchain.pem,privkey.pem -s 0.0.0.0:4433
50
51Grab a page from your server:
52
53::
54
55    ./http_client -H www.example.com -s 127.0.0.1:4433 -p /
56
57You can play with various options, of which there are many.  Use
58the ``-h`` command-line flag to see them.
59
60Next steps
61----------
62
63If you want to use LSQUIC in your program, check out the :doc:`tutorial` and
64the :doc:`apiref`.
65
66:doc:`internals` covers some library internals.
67
68.. _zlib: https://www.zlib.net/
69.. _BoringSSL: https://boringssl.googlesource.com/boringssl/
70.. _`ls-hpack`: https://github.com/litespeedtech/ls-hpack
71.. _`ls-qpack`: https://github.com/litespeedtech/ls-qpack
72.. _libevent: https://libevent.org/
73.. _README: https://github.com/litespeedtech/lsquic/blob/master/README.md
74