mirror of
https://github.com/EndPositive/slipstream.git
synced 2025-10-08 12:25:04 +00:00
Add GitHub pages
This commit is contained in:
parent
1ce5cf30c9
commit
e65f055ab0
16 changed files with 667 additions and 119 deletions
44
docs/installation/build.md
Normal file
44
docs/installation/build.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: Local build
|
||||
parent: Installation
|
||||
nav_order: 23
|
||||
---
|
||||
|
||||
# Building slipstream locally
|
||||
|
||||
To build slipstream locally on debian-based distros, you need the following dependencies installed:
|
||||
|
||||
* cmake
|
||||
* git
|
||||
* pkg-config
|
||||
* libssl-dev
|
||||
* ninja-build
|
||||
* clang
|
||||
|
||||
Clone the slipstream repo and its submodules recursively.
|
||||
This fetches slipstream, [SPCDNS](https://github.com/spc476/SPCDNS), [lua-resty-base-encoding](https://github.com/spacewander/lua-resty-base-encoding), and our [picoquic fork](https://github.com/EndPositive/slipstream-picoquic/).
|
||||
|
||||
```shell
|
||||
$ git clone --recurse-submodules https://github.com/EndPositive/slipstream.git
|
||||
```
|
||||
|
||||
You can then configure slipstream by running the following command:
|
||||
|
||||
```shell
|
||||
# Configure CMake
|
||||
$ cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_MAKE_PROGRAM=ninja \
|
||||
-DCMAKE_C_COMPILER=clang \
|
||||
-DCMAKE_CXX_COMPILER=clang++ \
|
||||
-G Ninja \
|
||||
-S . \
|
||||
-B build
|
||||
# Build the client and server binaries
|
||||
$ cmake \
|
||||
--build build \
|
||||
--target slipstream-client slipstream-server
|
||||
```
|
||||
|
||||
This will place the client and server binaries in the `build/` directory.
|
||||
These are dynamically linked binaries against OpenSSL and GNU C.
|
||||
45
docs/installation/docker.md
Normal file
45
docs/installation/docker.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
title: Docker image
|
||||
parent: Installation
|
||||
nav_order: 22
|
||||
---
|
||||
|
||||
# GitHub Container Registry
|
||||
|
||||
Docker images are published to the GHCR at every release.
|
||||
The client and server are packaged in different images.
|
||||
|
||||
* [ghcr.io/endpositive/slipstream-client](https://ghcr.io/endpositive/slipstream-client)
|
||||
* [ghcr.io/endpositive/slipstream-server](https://ghcr.io/endpositive/slipstream-server)
|
||||
|
||||
### Tags
|
||||
|
||||
* latest
|
||||
* vX.X.X
|
||||
|
||||
# Usage
|
||||
|
||||
The client requires port 5201 to be forwarded to the host.
|
||||
The server requires port 53 to be forwarded.
|
||||
|
||||
```shell
|
||||
$ docker run \
|
||||
--rm \
|
||||
-p 53:53 \
|
||||
ghcr.io/endpositive/slipstream-server:v0.0.1 \
|
||||
--target-address=x.x.x.x:yy \
|
||||
--domain=test.com
|
||||
```
|
||||
|
||||
```shell
|
||||
$ docker run \
|
||||
--rm \
|
||||
-p 5201:5201 \
|
||||
ghcr.io/endpositive/slipstream-server:v0.0.1 \
|
||||
--domain=test.com \
|
||||
--resolver=1.1.1.1:53
|
||||
```
|
||||
|
||||
Any TCP connections on the client's port `5201` will now be forwarded to `x.x.x.x:yy`.
|
||||
You could also run a slipstream on a different port than 53, but then a public resolver won't be able to reach the server.
|
||||
This may be useful in scenarios where you setup a direct connection between the client and server rather than through public DNS infrastructure.
|
||||
18
docs/installation/gh.md
Normal file
18
docs/installation/gh.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: GitHub releases
|
||||
parent: Installation
|
||||
nav_order: 21
|
||||
---
|
||||
|
||||
# GitHub releases
|
||||
|
||||
slipstream binaries are published to GitHub at every in release.
|
||||
These are dynamically linked binaries against OpenSSL and GNU C.
|
||||
Visit the latest GitHub release [here](https://github.com/EndPositive/slipstream/releases/latest).
|
||||
|
||||
```shell
|
||||
$ wget https://github.com/EndPositive/slipstream/releases/download/v0.0.1/slipstream-client-v0.0.1-linux-x86_64
|
||||
```
|
||||
```shell
|
||||
$ wget https://github.com/EndPositive/slipstream/releases/download/v0.0.1/slipstream-server-v0.0.1-linux-x86_64
|
||||
```
|
||||
8
docs/installation/index.md
Normal file
8
docs/installation/index.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: Installation
|
||||
nav_order: 20
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
Download slipstream through GitHub releases, Docker (GitHub Container Registry), or build slipstream locally.
|
||||
Loading…
Add table
Add a link
Reference in a new issue