STUN/P2P dynamic port helper for iSCSI

Stop checking ports every day. Keep iSCSI on one stable local entry.

As public IPv4 access disappears, STUN/P2P hole punching can discover NAT mapped ports and build direct peer-to-peer paths without relay traffic. The problem is that mapped ports can change daily. ZsLink currently focuses on iSCSI: it resolves the latest port and exposes it as a fixed local connection.

Version
V0.2
Updated
2026-08-20
Platform
macOS 13+
Current scope
iSCSI
Stable local entry 127.0.0.1:18082
Dynamic public mapping data.example.com:49728
Resolve redirect port HTTP Location
Refresh forwarding Watch & Restart
No client reconfiguration Stable Local Port

Context

Ports may change, but clients need one stable entry.

01

Dynamic ports cause repeated setup

STUN/P2P can expose the current mapped port, but that port may change. Many clients are not designed for frequent manual port edits.

02

ZsLink does one job

It turns the changing remote port into a stable local entry. Clients keep using the local address while ZsLink follows remote changes.

03

Current product boundary

Currently focused on iSCSI. Local browser access and Synology Drive Client have been verified. Other clients should be checked by actual behavior.

How it works

One local entry, with ZsLink following the remote port.

LOCAL

Clients use one fixed local entry

Your iSCSI client, local browser, or Synology Drive Client connects to a fixed local address and port instead of repeatedly editing remote ports.

CHECK

ZsLink checks the dynamic address

ZsLink reads the configured dynamic address, gets the current remote port, and shows the current target plus the latest check result.

KEEP

Keep the entry running in the background

After closing the main window, ZsLink stays in the menu bar. When the port changes, status and logs help confirm the connection.

Guide

Complete first setup in three steps.

  1. 01

    Step 1: Download and open

    Download the DMG, open it, and drag ZsLink.app to Applications. If macOS blocks the first launch, allow it in System Settings under Privacy & Security.

  2. 02

    Step 2: Set a fixed local port

    Enter the local listen port and the dynamic discovery URL in ZsLink. Your iSCSI client, local browser, or Synology Drive Client connects to this local address.

  3. 03

    Step 3: Start and keep it running

    Click Start. When the remote mapped port changes, ZsLink checks and updates so local clients do not need repeated port edits.

Download

ZsLink for macOS

Works with macOS 13 and later. Download, drag ZsLink into Applications, and follow the macOS prompt on first launch.

Download for macOS
File
ZsLink-macOS.dmg
Size
1.8 MB
Updated
2026-08-20
SHA-256
ab218021674d29e417b996fb481eff8185a87155e855d314983329efca6f18ee
ZIP
Alternative ZIP download

Contact

Trial feedback, licensing, or compatibility questions

Please include your macOS version, client type, and local port setup.

mktts@protonmail.com