Beginner's Guide

IP Transit Dashboard for everyone

Everything you need to know about Shulker IP Transit — what it is, why you might need it, and how the dashboard works. Written for someone who has never done networking before. No jargon without an explanation.

Updated recently 24 min read Beginner friendly

What is IP Transit?

Imagine your server as a house, and its IP address as its street address. In normal life, each house has exactly one address, given by the phone/cable company, and you can't get a second one without buying more land.

Shulker IP Transit changes that. It gives your server a second, dedicated public IPv4 address — delivered through a private encrypted link we call a tunnel — that works on any server anywhere: a VPS you rent from another provider, a dedicated server in a data centre, or even the computer sitting in your bedroom.

You run one command on your server. Within about 30 seconds, your server responds to the internet on the new IP — while keeping all of its existing IPs and services exactly as they are.

One-command setup
Paste a single command into your server. No config files, no firewall puzzles, no terminal wizardry.
Works anywhere
Any VPS, any dedicated server, any home computer. Even behind a router you don't control.
DDoS protection
Attack traffic hits our network first and gets filtered before it reaches your server or your home connection.

💰 Price — $2.66 per IP per month, or pay quarterly ($7.98 per IP per 3 months). Billed in USD, cheaper than buying a dedicated IPv4 from most hosting providers.

The problems it solves

IP Transit isn't a "nice to have" for most people — it fixes a real, concrete problem. Here are the most common ones:

Home servers behind CGNAT

Your ISP puts you behind a shared router. You have no public IP of your own, and port forwarding in your home router does nothing. Visitors on the internet literally can't reach your server.

IP Transit gives you a real public IP that bypasses this completely.

DDoS protection for your own servers

You run a game server, a web app, or an API. When someone attacks you, your server dies — or worse, your home internet connection dies because the flood of attack traffic saturates it.

IP Transit routes traffic through our protected network first, so attacks never touch you.

Extra IPs for multiple services

One server, many services. You want your website on one IP, mail on another, a game server on a third — so they don't fight over port 80 or affect each other's reputation.

Order several IPs and attach them all to the same server.

Moving servers without changing IPs

Your old VPS is dying. You've bought a new one. Normally you'd have to tell every user, player or DNS record that your IP changed.

Instead, detach the IP from the old server and attach it to the new one. Same IP, new machine.

Game servers that attract attacks

Minecraft, CS2, Rust servers get DDoSed by angry players and competitors. Without protection, one attack wipes out your player base.

Your players connect to your Shulker IP. Attacks get absorbed by our network. Game plays like normal.

Home lab / self-hosting

You're running Nextcloud, Home Assistant, Plex, or a personal mail server at home. You want it reachable from the outside, securely.

IP Transit gives it a public address while keeping your home IP completely hidden.

Why don't I just use port forwarding?

Port forwarding works only if two things are true: your ISP gives you a real public IP, and you can access your router's admin panel. Both fail in many real situations:

SituationPort forwarding works?
Home fibre with a public IP (rare now)✅ Usually
Home internet behind CGNAT❌ Impossible
Mobile broadband / 4G / 5G router❌ Almost never
Dorm / hostel / office network❌ Router admin locked
Shared apartment WiFi❌ No admin access
Any setup where the ISP blocks incoming ports (port 80/443)❌ Blocked upstream

In any of these cases, IP Transit is a direct solution: your server gets a public address through a tunnel your ISP can't block, because the tunnel uses the same outbound connection your server uses for anything else.

✅ Bottom line — if you've ever said "I want to host X but I can't because of my ISP / my router / CGNAT", IP Transit is the answer.

How it works (in plain English)

IP Transit is built on a tunnel — a secure private connection between two computers over the internet. Think of it like a covered walkway between two buildings: data goes in one end and comes out the other, protected from the weather outside.

The internet
Visitors, players, attackers
Shulker network
Your new IP lives here. Attacks filtered out
Private tunnel
WireGuard or GRE — carries only clean traffic
Your server
Now also answers on the new IP

Here's what happens, step by step, when a visitor types your new IP into their browser:

  1. Visitor → Shulker network. The visitor's request arrives at our edge. Our network holds your new IP, so this is where it lands.
  2. Shulker filters the traffic. Our DDoS scrubbing layer looks at every packet. Normal traffic is let through; attack traffic is dropped right here.
  3. Clean traffic enters the tunnel. The remaining good packets travel through an encrypted private connection to your server.
  4. Your server answers. Replies go back through the tunnel, out through our network, and to the visitor — who only ever sees your Shulker IP, never your real one.

WireGuard and GRE — what are they?

These are two flavours of "tunnel" technology. WireGuard is a modern encrypted tunnel (fast, lightweight, encrypted). GRE is an older, simpler, very stable tunnel. Shulker picks the right one for you automatically — the install command sets it up — and you never need to configure either by hand.

🕵️ Your real IP stays private — from the outside world, all anyone sees is your Shulker IP. They cannot discover your real server IP or your home IP. This is one of the biggest advantages over simply pointing DNS at your home connection.

Getting started — your first IP in 3 steps

  1. Order an IP. Click the Order IP button at the top of the dashboard. Choose how many (up to 10 per order) and whether to pay monthly or quarterly. Complete the payment. Your IP appears in the dashboard instantly.
  2. Generate an install command. Click your new IP's card, switch to the Connect tab, and press Generate install command. You'll get a single one-time command.
  3. Paste it into your server. SSH into your server as root, paste the command, press Enter. Wait about 30 seconds. The IP flips from Offline to Online on the dashboard.
What pasting the command looks like
# SSH into your server (your real IP, not the Shulker one)
ssh root@your-server-ip

# Paste the one-time command from the dashboard
curl -fsSL https://shulker.in/cdn/ip-transit/install.sh | sudo bash -s -- --token ipt_xxxxxxxxxxxx

# Wait ~30 seconds. Check it worked:
curl ifconfig.me
# Output should now include your new Shulker IP

⚠️ You need root access — the install command runs with full privileges because it needs to create the tunnel and add the IP to your network interface. On a VPS or dedicated server, you almost always have root. On a personal computer, use sudo.

The dashboard — every element explained

This is the page you land on. It shows every IP you own, their live status, and lets you do everything — order, rename, renew, connect, view history. Let's walk through it from top to bottom.

1. Page header

IP Transit How it works + Order IP
Left: the page title. Middle: a short subtitle. Right: Order IP button to buy a new address. The small How it works chip opens the guide you're reading right now, inside the dashboard.

2. Flash messages and alerts

Below the header you may see coloured banners:

ColourWhat it means
GreenSuccess — e.g. "Payment received — 1 IP was delivered instantly."
AmberWarning — e.g. live status temporarily unavailable, or a payment is being processed.
BlueInfo — e.g. "You have 1 paid order under manual review by our team."
RedError — e.g. order could not be created. Read the message; usually retryable.

3. Waitlist card (only appears when stock is short)

If you placed a multi-IP order but we didn't have enough free tunnels on the backend, you'll see an amber card here showing "1 of 3 IPs activated". A progress bar tracks how many IPs have been delivered.

Two buttons: Retry now asks our backend again immediately (rate-limited to a few seconds between tries). Contact support appears after the first retry — use it if the wait is dragging on. The card updates live on its own as soon as new stock arrives.

4. Stat cards

Total IPs: 3 Online now: 2 Need attention: 1
  • Total IPs — how many addresses you own (active + expiring + expired + suspended combined).
  • Online now — how many are currently up and answering on the tunnel. Only counts IPs that are not expired and not suspended.
  • Need attention — how many IPs are expiring, expired, or suspended. This is your "things to fix" number.

5. Search and filters

🔍 Search by IP, name or region All Active Expiring Expired Suspended

Search matches against the IP address, the name you gave it, and the region — all at the same time. Typing "fra" will find any IP whose name or region contains "fra". It's instant — no page reload.

The chips on the right filter the list to a specific status. Click All to clear the filter. You can combine search + filter: search "proxy" and click Expiring to see only expiring IPs whose name contains "proxy".

6. The tunnel card — the main thing on the page

Each IP you own is shown as a horizontal card. This is what you look at most, so it's packed with information at a glance. Here's what each part means, from left to right:

PartWhat it shows
🇩🇪 flag icon The country of the IP's region. Quick visual recognition — you don't need to read "de0" every time.
IP address Your public IPv4, in mono font. This is what the outside world sees.
Name (alias) A label you give the IP ("Production proxy", "Minecraft EU", etc.). Only you see it. Click it to rename. Shows "Add a name" if empty.
Region The node the IP is attached to (e.g. de0, us1). Useful if you have IPs in multiple locations.
⬇ Download / ⬆ Upload Current throughput in Mbps, updated live every few seconds. Both show 0 bps when the IP is offline.
Sparkline A tiny chart of the last ~4 minutes of traffic. Green = download, blue = upload. Fills in as the dashboard polls.
Status pill One of ● Online, ○ Offline, Expiring, Expired, or Suspended. Explained below.
Expiry info Exact expiry date and how many days left. Turned amber when expiring, red when expired.
Manage / Renew Opens the detail window on click. Shows Renew (with a warning colour) when the IP is expiring or expired, so you can fix it in one click.

Status pills — what each one means

PillMeaning
● OnlineThe tunnel is up and traffic is flowing. Everything is working.
○ OfflineNo server is currently connected through the tunnel. Either you haven't run the install command yet, or your server has been down/rebooted without the tunnel coming back.
ExpiringExpires within 7 days. Not yet a problem, but renew soon.
ExpiredAlready past the expiry date. Still held for you for 3 more days — renew immediately or you lose the IP.
SuspendedAdministratively suspended (billing, abuse, or by request). Doesn't matter what state the tunnel is in — the IP is not usable. Contact support.

7. Expired IPs section

Expired IPs move into their own collapsible section below the active list. The header shows "N expired" — expand it to see them. Each card still shows all the usual info and lets you renew with one click. The 3-day grace period is highlighted so you know how much time you have left.

8. Billing & renewal history

At the bottom, a collapsible table shows every purchase and renewal: date, IP, type, term, billing period and amount. Useful for reconciliation, expense reports, and seeing what you've been paying for what. Click the header to expand.

The IP detail window

Click any tunnel card and a large window opens. This is where you do everything with that specific IP. It's split into three tabs.

Overview tab

Everything about the IP at a glance, live:

Connection
Online / Offline / Suspended. The raw current state of the tunnel.
Download
Current receive throughput. Updates live, no refresh needed.
Upload
Current transmit throughput. Same live updates.
Data this period
Total bytes transferred so far this billing period, split by direction.

The live traffic chart

A big Grafana-style graph showing download (green) and upload (blue) over the last few minutes. It updates every 4 seconds. Hover anywhere on the chart to see the exact values at that moment, plus a "how long ago" timestamp — perfect for diagnosing whether a spike was real.

The dashed horizontal grid lines are auto-scaled to your traffic peak, so slow traffic still fills the chart nicely, and fast traffic shows the real shape.

Details table

Below the chart, a two-column table with all the technical details:

FieldWhat it tells you
IP addressYour public IPv4
NameYour custom label, or "Not set"
RegionNode/country with a flag
Tunnel IPThe private IP on the tunnel side (not the public one). Only matters if you're setting up advanced routing — ignore otherwise.
ProtocolWireGuard or GRE — whichever we chose for you
SubnetIf you own a whole block, the CIDR(s). Single IPs show just one entry.
CreatedWhen the IP was first delivered to you
Last billedLast renewal / purchase timestamp
ExpiresDate, colour-coded by urgency
Service IDInternal ID — useful when contacting support

Action buttons

At the bottom: Rename opens the name dialog, Renew opens the renewal modal. Renew is hidden if the IP is suspended (you can't renew suspended IPs — you need to fix the suspension first).

Connect tab

This is where you generate the one-time install command. Detailed in the next section.

History tab

A chronological list of every purchase and renewal for this specific IP, with amounts and dates. Very useful when your accountant asks "how much have we paid for this IP?".

The Connect tab — step by step

This is the most important tab. Everything that actually attaches an IP to a server happens here.

  1. Choose the command lifetime. The dropdown offers 1 hour, 24 hours, 3 days, or 7 days. This is how long the install command stays valid before it can no longer be used. Pick the shortest window that gives you time to paste it — 1 hour is plenty if you're ready to go, 24 hours if you want a buffer.
  2. Click Generate install command. The command is created on our side and shown in a black box with a copy button. It works once and it expires at the time shown. Treat it like a password.
  3. Copy and paste it into your server. SSH into the server as root, paste, press Enter. The command creates the tunnel interface, adds the IP, and starts forwarding.
  4. Wait ~30 seconds. The tunnel establishes and traffic starts flowing. The dashboard flips the IP from Offline to Online automatically — you don't need to refresh.
What you'll see in the Connect tab
// Install command (single use, expires)
curl -fsSL https://shulker.in/cdn/ip-transit/install.sh | sudo bash -s -- --token ipt_xxxxxxxx

// Remove command (single use, same token)
curl -fsSL https://shulker.in/cdn/ip-transit/install.sh | sudo bash -s -- --remove --token ipt_xxxxxxxx

What the remove command is for

The remove command does the opposite — it disconnects the IP from the server you ran it on. Use it when:

  • You're moving the IP to a different server (run remove on old, install on new).
  • You want to stop using the IP on that server but keep it (for example, shutting down a service).
  • You're decommissioning a server.

🔐 Never share the install command — anyone who has it can attach your IP to their server and receive your traffic. Generate a fresh command each time, never reuse, never paste into public chats, logs, or screenshot tutorials. Treat it exactly like a root password.

⚠️ When the tab is blocked — if the IP is suspended or expired, the Connect tab shows a warning and hides the generate button. You'll need to renew (expired) or contact support (suspended) first.

Rate limit

To prevent accidental command-spam, install commands are limited to 6 per minute per user. If you hit that limit, wait 60 seconds and try again.

Ordering more IPs

Click Order IP at the top of the dashboard. A modal opens with a few choices:

FieldWhat it does
How many IPs?Stepper between 1 and 10. If you need more, place multiple orders.
Billing periodMonthly ($2.66 per IP) or Quarterly ($7.98 per IP — three months up-front).
Total dueThe amount shown is what will be charged. Prices are calculated on our server — the number you see is final.
Approx. in INRA display-only estimate at a fixed conversion rate. Your card is charged in USD.

Clicking Continue to payment creates the order, opens the checkout page, and after payment you land back on the dashboard with a green banner: "Payment received — 1 IP was delivered instantly." The IP shows up in your list immediately.

ℹ️ Sometimes it takes a few seconds — if our backend is momentarily out of stock (rare), the IP goes into the waitlist. You still paid, and the dashboard keeps retrying until stock comes back — usually within a few minutes. Your payment is safe the whole time.

Renewing an IP

There are three places you can renew from:

  • Click the yellow Renew button directly on an expiring / expired card.
  • Open the IP's detail window, then click Renew at the bottom of the Overview tab.
  • Expand the Expired IPs section and renew from there.

The renewal modal shows the IP address, billing period selector, and the new expiry date the renewal would give you. Click Renew and pay, complete payment, and the IP's expiry extends immediately.

✅ Renewing extends, it doesn't replace — renewing an IP does not change it. Same IP, same tunnel, same configuration. The only thing that changes is the expiry date.

⚠️ Renew before expiry to keep the same IP — you have a 3-day grace period after expiry. Renew any time within that window and you keep the IP. After 3 days the IP goes back to our pool and may be given to another customer — at which point it cannot be recovered.

Renaming (adding a name)

Every IP can have a friendly name to help you recognise it. Names are purely cosmetic — they don't affect routing, DNS, or anything technical.

  1. Click the small pencil icon next to the IP address on its card, or Rename in the detail window.
  2. Type a name — up to 40 characters. Letters, numbers, spaces, dashes, underscores, dots.
  3. Press Enter or click Save. Instantly applied across the dashboard and the API.

To remove a name, clear the field and save. The card will say "Add a name" again.

Naming conventions we recommend

Good names make multi-IP setups much easier to reason about:

✓ Production web ✓ Mail EU ✓ MC survival (de0)
✗ ip1 ✗ server ✗ test

Moving an IP to a different server

One of the biggest advantages of IP Transit: you can move an IP between servers without it changing. Useful when upgrading hardware, migrating hosts, or replacing a failed machine.

  1. On the OLD server, open the IP's Connect tab, copy the remove command, and run it. The IP disconnects from the old server and goes Offline.
  2. On the NEW server, open the IP's Connect tab again, generate a fresh install command (the old one was single-use), copy it, and run it.
  3. Wait ~30 seconds. The IP flips back to Online — now answering on the new machine.

💡 No DNS changes needed — since the IP itself never changes, DNS records, firewall rules, partner integrations, and saved bookmarks all keep working. The DNS was pointing at the IP all along — only the machine behind it changed.

⚠️ Only one server per IP at a time — if you run the install command on a second server while the first is still connected, the second one takes over and the first loses the tunnel. Always run remove first when you can, so you don't lose packets unexpectedly.

Expired IPs and the 3-day grace period

When an IP passes its expiry date, it doesn't disappear instantly. Here's the timeline:

WhenWhat happens
7 days before expiryIP shows Expiring. The card is highlighted amber.
Expiry dateIP moves to Expired. Tunnel is disabled, traffic stops. You can still renew.
Expiry + 1 to 3 daysStill in grace period. Renew and it stays yours, same IP, same setup.
Expiry + 3 daysIP returns to our pool. It may be given to another customer at any moment. Cannot be recovered.

🚨 Renew before grace ends — we cannot recover an IP after the grace period, even for support. If it's gone, it's gone. Enable billing reminders or renew early.

What "out of stock" means

Occasionally our backend runs out of free tunnels for your region — especially for multi-IP orders during busy periods. When this happens:

  • You still pay. Your order is not lost.
  • Any IPs we could deliver are delivered immediately.
  • The remaining ones go on a waitlist — an amber card at the top of the dashboard shows your progress ("1 of 3 activated").
  • Our team is alerted automatically. We add capacity as fast as we can.
  • The dashboard retries every few seconds — you don't have to do anything.

If it's been more than a few hours, click Contact support on the waitlist card. Include your order number (shown on the card) and we'll look into it immediately.

Troubleshooting

"My IP is stuck on Offline"

  • Have you actually run the install command on a server? A new IP with no install command will show Offline until you connect one.
  • If you ran it and it says Offline: SSH back into the server and check the tunnel interface exists. The install script creates one named something like shulker0 or wg-ipt. Run ip a to check.
  • Rebooted the server? The tunnel should come back automatically. If it doesn't, re-run the install command on that server (the previous one has likely expired).
  • Still offline after 2 minutes? Open the Connect tab again, generate a fresh command, and re-run it. If that also fails, contact support.

"The install command failed with a permission error"

You need to be root or use sudo. If you're logged in as a normal user, prefix the whole line with sudo — or log in with sudo -i first.

"The install command says 'token expired' or 'already used'"

Install commands are single-use and expire after the TTL you chose (1h / 24h / 3 days / 7 days). Generate a new one from the Connect tab. This is intentional — the previous one cannot be re-used, because if anyone saw it, it could attach your IP to their server.

"I can't generate an install command"

Possible reasons, in order of likelihood:

  • IP is suspended — the button is hidden. Contact support.
  • IP is expired — renew it first.
  • Rate limit hit — 6 commands per minute. Wait 60 seconds.
  • Our backend is temporarily unavailable — try again in a minute.

"I paid but my IP hasn't shown up"

Give it 30 seconds and refresh. Then look at the top of the dashboard — is there a waitlist card? If yes, some IPs are delivered, others are queued. If there's no waitlist card and no IP, the payment might still be processing (bank confirmation can take a few minutes). If 5+ minutes have passed and nothing appeared, contact support with your order number.

"My IP shows Suspended — why?"

Suspension can happen for billing issues, abuse reports, or by manual request. The detail window shows the exact reason when one is available. Contact support — you cannot renew, rename, or generate commands while suspended.

"Live stats show 0 bps but the IP is Online"

That means the tunnel is up but nothing is currently flowing. Perfectly normal if the server is idle. Open the Overview tab and watch the chart — traffic spikes when someone actually uses the service.

Glossary

Every term you might trip over, defined in plain language.

IP address (IPv4)
A number like 203.0.113.10 that identifies a device on the internet. IPv4 addresses are 32-bit, which is why there's a global shortage and they cost money.
Public IP
An IP address reachable from anywhere on the internet. Your home router usually has one; the devices behind it usually don't.
Private IP / LAN IP
An IP address only reachable inside your local network, like 192.168.1.5. Not routable on the internet.
CGNAT
Carrier-Grade NAT. Your ISP shares one public IP among many customers. You don't have your own public IP, so port forwarding is impossible.
Port forwarding
A router setting that says "send traffic on port X to device Y inside my network". Only works if you have a public IP and admin access to the router.
Tunnel
A private connection between two computers over the public internet. Traffic goes in at one end and comes out the other, as if the two were directly connected.
WireGuard
A modern, fast, encrypted tunnel technology. Lightweight and stable. One of the two tunnel types Shulker uses.
GRE
Generic Routing Encapsulation. An older, very widely supported tunnel type. The other tunnel Shulker uses.
DDoS
Distributed Denial of Service — a flood of fake traffic designed to overwhelm a server or network so it can't serve real users. Shulker absorbs these attacks for you.
Root access
Full administrative control over a Linux server. Required to install a tunnel and add IP addresses.
Root shell / SSH
A remote terminal connection to your server, opened with the ssh command. This is how you run the install command.
Subnet / CIDR
A range of IP addresses written like 203.0.113.0/28. Used when you own more than one IP.
Tunnel IP
The private IP of the tunnel itself, like 10.64.0.2. Different from your public Shulker IP. You rarely need to think about it.
Alias / name
A cosmetic label you give an IP ("Production web"). Only visible to you.
Grace period
The 3 days after expiry during which you can still renew and keep the same IP.

FAQ

Will I lose my existing IP when I install the new one?

No. Your server keeps every IP it already has. The Shulker IP is added, not replacing anything.

Can I run more than one IP on the same server?

Yes. Run the install command for each IP on the same server. Each becomes an additional address the server answers on.

What OS can I use?

Any modern Linux (Ubuntu, Debian, CentOS, Alma, Rocky, Arch — all supported). The install command handles the specifics. Windows is not directly supported through the script.

Can I use the IP from a home connection?

Yes — that's one of the main use cases. As long as your home computer can reach the internet (which it obviously can), the tunnel works.

Does the tunnel consume my bandwidth?

The tunnel itself is lightweight, but traffic you push through it counts as your server's normal outbound/inbound traffic — because the data still flows over your server's internet connection. The tunnel doesn't double it, but it's still using the same pipe.

What if I lose access to the server that's running the tunnel?

Generate a new install command from the dashboard and run it on a new server. The old server's tunnel is instantly displaced. The IP itself never changes.

Do I need to open any ports in my firewall?

You need to allow the tunnel's outbound connection. Typically UDP 51820 (WireGuard) or IP protocol 47 (GRE) if using GRE. The install script usually handles the local firewall for you. If you're on a restrictive network, contact support with your environment and we'll help.

Can I get a block of IPs, not just single addresses?

By default each order is single IPs. Blocks are available on request — contact support with the size and region you need.

Is the IP shared with anyone else?

No. Every IP is fully dedicated to you for the lifetime of your subscription. No CGNAT, no sharing, no surprises.

How do I cancel?

Don't renew. The IP runs until its expiry, then goes through the 3-day grace period, then releases. If you want to release immediately, run the remove command on your server and contact support.