Add GitHub pages

This commit is contained in:
Jop Zitman 2025-05-20 16:55:28 +08:00
parent 1ce5cf30c9
commit e65f055ab0
16 changed files with 667 additions and 119 deletions

View 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.

View 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
View 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
```

View file

@ -0,0 +1,8 @@
---
title: Installation
nav_order: 20
---
# Installation
Download slipstream through GitHub releases, Docker (GitHub Container Registry), or build slipstream locally.