---
id: 33b4cfbec34c4d839daf853bf4a39b3e
author: Lemon Mint
title: 'Portalite: Ľahký Portal Go SDK so viacerými reléovými väzbami a štandardným net.Listener'
description: Ide o ľahký klient Portal a CLI, ktorý podporuje štandardné rozhranie Go net.Listener, súbežné viazanie na viacero relé, end-to-end šifrovanie (E2EE) a automatické obnovenie relácie.
language: sk
date: 2026-08-26T14:05:55.212694445Z
path: /portalite
go_package: gosuda.org/portalite
go_repourl: https://github.com/gosuda/portalite.git
category: network
---

Predtým, keď sme predstavovali [Portal](https://github.com/gosuda/portal), sme hovorili o problémoch moderného webu. Vďaka nástrojom na kódovanie s umelou inteligenciou môže dnes vytvoriť webovú stránku každý, no samotné zverejnenie tejto stránky zostáva výsadou veľkých platforiem a cloudu. Portal oddeľuje hosťovanie webu od tvorby obsahu a prostredníctvom end-to-end šifrovaného relé pripája lokálne služby jednotlivca k celému svetu, čím jednotlivcovi vracia právo na zverejnenie.

## Predstavujeme Portalite

Dnes predstavujem [Portalite](https://github.com/gosuda/portalite). Portalite je **ultraľahký klient Portal a Go SDK vytvorený s minimálnymi závislosťami**.

Ak je Portal filozofiou o tom, „ako zmeniť web", potom je Portalite najtenším lepidlom, ktorým túto filozofiu pripájame k aplikáciám vývojárov. Vývojár nepotrebuje zložitú cloudovú konfiguráciu ani deployment pipeline. Stačí importovať SDK a pridať niekoľko riadkov kódu, aby do svojej aplikácie zahrnul portal ingress. Okamihom spustenia aplikácie sa server, ktorý dovtedy existoval len lokálne, stane verejnou službou dostupnou odkiaľkoľvek z internetu.

## 1. Verejný Ingress s kódom dlhým len dva riadky

Portalite podporuje [`net.Listener`](https://pkg.go.dev/net#Listener), štandardné rozhranie jazyka Go. Stačí nahradiť listener v existujúcom webovom frameworku alebo serverovom kóde a okamžite funguje.

```go
identity, err := portalite.GenerateIdentity("my-service")

listener, err := portalite.Expose(ctx, portalite.ExposeConfig{
    Relays:   portalite.DefaultRelays(),
    Identity: identity,
})

http.Serve(listener, handler)
```

- **Bez konfigurácie (Zero-config):** Nie je potrebné nastavovať presmerovanie portov, pevnú IP adresu ani pravidlá príchodzej komunikácie vo firewalle.
- **Štandardná kompatibilita:** Je plne kompatibilný s `http.Server`, `grpc.Server`, Gin, Echo, Chi a so všetkými knižnicami jazyka Go, ktoré používajú štandardný `net.Listener`.

## 2. Hlavná vlastnosť: súčasné viacrelé väzby (Multi-Relay Binding)

Väčšina tunelovacích nástrojov závisí od jedného koncového bodu, preto sa služba preruší spolu s relé serverom, keď tento prestane fungovať. **Portalite funguje súčasným pripojením k viacerým relé serverom.**

- **Bezpečné prepnutie pri výpadku (Failover):** Ak niektoré z relé vypadnú alebo nastane sieťové oneskorenie, zvyšné funkčné relé naďalej prijímajú prevádzku cez rovnaký virtuálny listener.
- **Odstránenie jedného bodu zlyhania (SPOF):** Pokiaľ sa všetky relé relácie nepreruší súčasne, slučka `Accept()` aplikácie sa neprpreruší.
- **End-to-end šifrovanie (E2EE):** Prevádzka sa prenáša zašifrovaná, takže relé server nemôže nahliadnuť do údajov ani ich zmeniť.
- **Automatické znovupripojenie a samoliečenie (Self-Healing):** Pri dočasnom výpadku siete alebo reštarte relé sa relácie a tokeny na pozadí automaticky znovu dohodnú a spojenie sa obnoví.

## 3. Okamžité použitie jedným príkazom v CLI

Ak nepíšete kód v jazyku Go alebo potrebujete rýchly test, stačí cez CLI zadať iba číslo portu.

```sh
$ go install gosuda.org/portalite/cmd/portalite@latest && portalite expose --name "my-service" 3000
URL https://my-service.rly.best
URL https://my-service.s-h.day

```

Ihneď po spustení príkazu sa vydajú URL adresy viacerých relé a služba je okamžite dostupná zvonku.

## 4. Ľahké, ale výkonné funkcie

- **Minimálne závislosti:** Odstránením závislostí tretích strán je binárny súbor ľahký a zostavenie prebehne rýchlo.
- **Podpora TLS a UDP:** Okrem TLS prevádzky, ako sú HTTP/gRPC, umožňuje QUIC datagramový backhaul jednoducho sprístupniť aj UDP služby, napríklad herné servery.

## Začíname

- Repozitár na GitHube: [https://github.com/gosuda/portalite](https://github.com/gosuda/portalite)
- Balíček Go: `go get gosuda.org/portalite`
