Skip to main content

Spring Boot Integration

Orbien provides an embeddable Java client for Spring Boot. Current scope:

  • Tunnel protocols: TCP and HTTP only
  • Transport: TCP only
  • No TCP multiplexing: orbien.tcp-mux must be false, and the server must also set [transport].tcpMux = false (multiplexing is on by default; turn it off when using the Java client)
<dependency>
<groupId>io.github.lxien</groupId>
<artifactId>orbien-spring-boot-starter</artifactId>
<version>3.6.1</version>
</dependency>

Minimal configuration

# application.yml
orbien:
enabled: true
server: "127.0.0.1:9527"
# token: YOUR_TOKEN
tunnel:
protocol: http
domains:
- web.example.com

Disable multiplexing on the server:

# orbien-server.toml
listen = "0.0.0.0:9527"
httpGwPort = 80

[transport]
tcpMux = false

TCP example

orbien:
enabled: true
server: "127.0.0.1:9527"
token: YOUR_TOKEN
tunnel:
protocol: tcp
# local-port: 3306
remote-port: 9000

Full reference

# application.yml
orbien:
enabled: true
server: "127.0.0.1:9527"
token: YOUR_TOKEN
tcp-mux: false # must be false
pool-count: 1
heartbeat-interval-secs: 30
user: spring-boot-demo
tunnel:
name: web-demo
protocol: http
local-ip: 127.0.0.1
# local-port: 8080
# remote-port: 9000
domains:
- web.example.com
# - admin

Configuration reference

KeyDefaultDescription
orbien.enabledtrueWhether to enable
orbien.server127.0.0.1:9527Server address
orbien.tokenemptyAuth token
orbien.tcp-muxfalseOnly false is allowed
orbien.pool-count1Data connections pre-allocated at login
orbien.heartbeat-interval-secs30Control-plane heartbeat interval (seconds)
orbien.useremptyDisplay username
orbien.tunnel.namesee aboveTunnel name
orbien.tunnel.protocoltcptcp or http
orbien.tunnel.local-ip127.0.0.1Local service IP
orbien.tunnel.local-port0Local service port
orbien.tunnel.remote-port0Public port on the server; required when protocol=tcp
orbien.tunnel.domains[]HTTP domain list; required when protocol=http