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