---
id: 33b4cfbec34c4d839daf853bf4a39b3e
author: Lemon Mint
title: 'Portalite: többrelés kötéssel és szabványos net.Listener alapú könnyűsúlyú Portal Go SDK'
description: Egy könnyűsúlyú Portal kliens és CLI, amely támogatja a Go szabványos net.Listener interfészét, a több relével történő egyidejű kötést, a végpontok közötti titkosítást (E2EE) és az automatikus munkamenet-helyreállítást.
language: hu
date: 2026-08-26T14:05:55.212694445Z
path: /portalite
go_package: gosuda.org/portalite
go_repourl: https://github.com/gosuda/portalite.git
category: network
---

Korábban a [Portal](https://github.com/gosuda/portal) bemutatásakor a modern webes problémákról beszéltünk. Az AI-alapú kódolóeszközök megjelenésével mindenki képes weboldalt készíteni, ám annak nyilvánossá tétele továbbra is a nagy platformok és a felhőszolgáltatások monopóliumának területén marad. A Portal szétválasztja a webes tárhelyezést és a tartalomkészítést, és a személyes helyi szolgáltatásokat végponttól végpontig titkosított átjátszókon (relay) keresztül köti össze a világgal, így a nyilvánossá tétel jogát ismét a személyeknek adja vissza.

## Bemutatjuk a Portalite-ot

Ma a [Portalite](https://github.com/gosuda/portalite) projektet mutatom be. A Portalite **minimális függőségekkel készült, ultrakönnyű Portal-kliens és Go SDK**.

Ha a Portal filozófiája arra a kérdésre keres választ, hogyan változtassa meg a webet, akkor a Portalite az a legvékonyabb ragasztóanyag, amely ezt a filozófiát a fejlesztő alkalmazásához rögzíti. A fejlesztőnek összetett felhőbeállítások vagy telepítési folyamatok nélkül elegendő importálnia az SDK-t és néhány sornyi kódot hozzáadnia ahhoz, hogy alkalmazásába portál ingress-t építsen. Abban a pillanatban, hogy az alkalmazás elindul, a korábban csak helyben élő szerver az internet bármely pontjáról elérhető nyilvános szolgáltatássá válik.

## 1. Nyilvános Ingress két sor kódból

A Portalite támogatja a Go szabványos interfészét, a [`net.Listener`](https://pkg.go.dev/net#Listener)-t. A meglévő webes keretrendszer vagy szerverkód figyelőjének (listener) cseréje elegendő, és a megoldás azonnal működik.

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

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

http.Serve(listener, handler)
```

- **Nulla konfiguráció (Zero-config):** Portátirányítás, fix IP-cím és tűzfal bejövő szabályainak beállítása egyáltalán nem szükséges.
- **Szabványos kompatibilitás:** 100%-ban kompatibilis minden olyan Go könyvtárral, amely szabványos `net.Listener`-t használ, így a `http.Server`, a `grpc.Server`, a Gin, az Echo, a Chi és további könyvtárak is működnek vele.

## 2. Lényeg: többrelés egyidejű kötés (Multi-Relay Binding)

A legtöbb alagútkezelő eszköz egyetlen végponttól függ, ezért ha a relé szerver leáll, a szolgáltatás is megszakad. **A Portalite egyidejűleg több relé szerverhez kapcsolódva működik.**

- **Megszakítás nélküli hibaelkülönítés (Failover):** Ha a relék egy része leáll, vagy hálózati késleltetés lép fel, a működő többi relé ugyanazon virtuális figyelőn keresztül továbbra is fogadja a forgalmat.
- **Egyetlen hibapont (SPOF) kiküszöbölése:** Amíg az összes relé-munkamenet nem szakad meg egyszerre, az alkalmazás `Accept()` ciklusa nem áll le.
- **Végponttól végpontig titkosítás (E2EE):** A forgalom titkosítva kerül továbbításra, így a relé szerverek nem tekinthetnek bele az adatokba, és nem módosíthatják azokat.
- **Automatikus újracsatlakozás és öngyógyulás (Self-Healing):** Átmeneti hálózati szakadás vagy a relé újraindítása esetén a háttérben automatikusan újratárgyalja a munkameneteket és a tokeneket, így helyreállítja a kapcsolatot.

## 3. Használat azonnal, egyetlen CLI-paranccsal

Ha nem Go kódot használ, vagy gyors tesztelésre van szüksége, elegendő a CLI-nak csak a portszámot átadnia.

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

```

A parancs végrehajtásakor azonnal több relé URL kerül kiadásra, és a szolgáltatás közvetlenül kívülről is elérhetővé válik.

## 4. Könnyű, mégis erőteljes funkciók

- **Minimális függőségek:** A harmadik féltől származó függőségek elhagyásával a bináris fájl könnyű, a fordítás pedig gyors.
- **TLS és UDP támogatás:** A HTTP/gRPC-hez hasonló TLS-forgalom mellett a QUIC datagram backhaul segítségével a játékszerverekhez hasonló UDP-szolgáltatások is egyszerűen közzétehetők.

## Kezdés

- GitHub-tárhely: [https://github.com/gosuda/portalite](https://github.com/gosuda/portalite)
- Go-csomag: `go get gosuda.org/portalite`
