<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel>
<title>natbox.io blog</title><link>https://natbox.io/blog</link><description>Tutorials, guides and news from natbox.io, small Linux servers from $1 a month.</description><language>en</language><atom:link href="https://natbox.io/blog/feed.xml" rel="self" type="application/rss+xml"/>
<item><title>Open a private admin page with an SSH tunnel, no open port needed</title><link>https://natbox.io/blog/ssh-tunnel-private-admin-pages</link><guid>https://natbox.io/blog/ssh-tunnel-private-admin-pages</guid><pubDate>Mon, 09 Nov 2026 06:00:00 +0000</pubDate><category>Guide</category><description>Reach admin panels like Uptime Kuma or code-server on your Linux server through an SSH tunnel, without exposing them to the internet or using a forwarded port.</description><enclosure url="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/cover.png" length="129690" type="image/png"/><content:encoded><![CDATA[<img class="post-cover" src="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/cover.png" alt="" width="1200" height="630">
    <p>Many server apps come with a web page for setup or admin: dashboards, database tools, code editors. Putting those pages on the open internet invites password guessing, and on a NAT VPS every open port is one of your few forwarded ports. An <strong>SSH tunnel</strong> gives you a third option: the page stays private on the server, and only you reach it, through the SSH connection you already use.</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/1-diagram.png" alt="Diagram: your browser opens localhost:8080, an encrypted SSH tunnel carries it through your SSH port to the admin page on 127.0.0.1:3001 on your server" width="1000" height="260" loading="lazy"></figure>

    <h2 id="listen">1. Make the app listen only on the server itself</h2>
    <p>Set your app to listen on <code>127.0.0.1</code> (also called localhost) instead of <code>0.0.0.0</code>. The setting is usually called <em>host</em>, <em>bind</em> or <em>listen address</em>. Then nothing outside the server can reach it. Check with <code>ss</code>:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/2-listening.png" alt="ss shows SSH listening on all addresses and the admin app only on 127.0.0.1 port 3001" width="718" height="232" loading="lazy"><figcaption>SSH on port 22 is reachable; the app on 3001 is only reachable from the server itself.</figcaption></figure>

    <h2 id="tunnel">2. Open the tunnel from your computer</h2>
    <p>On your own computer (Linux, macOS, or Windows 10 and 11 in PowerShell, which include <code>ssh</code>), run:</p>
<pre><code>ssh -N -L 8080:localhost:3001 root@natbox.io -p YOUR_SSH_PORT</code></pre>
    <ul>
      <li><code>-L 8080:localhost:3001</code>: connections to port 8080 on <em>your computer</em> go to port 3001 on <em>the server</em>.</li>
      <li><code>-N</code>: just the tunnel, no shell. Leave the window open while you work; press <kbd>Ctrl</kbd>+<kbd>C</kbd> to close it.</li>
      <li>Use your own SSH port from the client area, the same one you log in with.</li>
    </ul>
    <figure class="shot"><img src="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/3-tunnel.png" alt="On the laptop: the ssh -L command, then curl to localhost:8080 returns the page from the server" width="718" height="298" loading="lazy"></figure>

    <h2 id="browser">3. Open it in your browser</h2>
    <p>Go to <code>http://localhost:8080</code>. You are looking at the page on your server, carried over the encrypted SSH connection. In our test it is a small private log browser that only listens on 127.0.0.1:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/ssh-tunnel-private-admin-pages/4-browser.png" alt="A browser showing the server&#x27;s private page at http://localhost:8080" width="812" height="510" loading="lazy"></figure>

    <h2 id="tips">Tips</h2>
    <ul>
      <li><strong>Several pages at once:</strong> add more <code>-L</code> options, for example <code>-L 8080:localhost:3001 -L 8081:localhost:8443</code>.</li>
      <li><strong>Save typing:</strong> put it in <code>~/.ssh/config</code> on your computer, then run <code>ssh -N mybox</code>:
<pre><code>Host mybox
    HostName natbox.io
    Port YOUR_SSH_PORT
    User root
    LocalForward 8080 localhost:3001</code></pre></li>
      <li><strong>"Address already in use":</strong> something on your computer already uses 8080. Pick another local number, such as 8090.</li>
      <li><strong>Over IPv6:</strong> you can also connect to your server's IPv6 address on port 22, if your network has IPv6.</li>
    </ul>
    <p>Good candidates: the admin page of <a href="https://natbox.io/guides/uptime-kuma">Uptime Kuma</a>, a database tool for <a href="https://natbox.io/guides/postgresql">PostgreSQL</a>, or any app you only use yourself. For a public website, use a proper reverse proxy with HTTPS instead: see <a href="https://natbox.io/guides/caddy-https">HTTPS with Caddy</a>.</p>
    <p class="callout tg-follow"><strong>Get new tutorials in Telegram.</strong> Follow <a href="https://t.me/natboxio">@natboxio</a>: every new post, plus short server tips.</p>]]></content:encoded></item>
<item><title>Disk full? Find what is filling your server, and clean it up safely</title><link>https://natbox.io/blog/find-what-is-filling-your-disk</link><guid>https://natbox.io/blog/find-what-is-filling-your-disk</guid><pubDate>Sat, 07 Nov 2026 06:00:00 +0000</pubDate><category>Tutorial</category><description>Find what uses the disk on your Linux server with df, du, ncdu and find, then free space safely: apt cache, logs, old backups and journals. With screenshots.</description><enclosure url="https://natbox.io/assets/blog/find-what-is-filling-your-disk/cover.png" length="129738" type="image/png"/><content:encoded><![CDATA[<img class="post-cover" src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/cover.png" alt="" width="1200" height="630">
    <p>When a disk fills up, apps start failing in odd ways: databases stop writing, updates break halfway, and logins can get slow. Small servers fill up faster, so it pays to know where the space goes. Here is how to find out in a few minutes, and what is safe to delete.</p>
    <p class="small">About 10 minutes. Debian and Ubuntu commands; the checks work the same on AlmaLinux and Alpine.</p>

    <h2 id="df">1. How full is the disk?</h2>
    <figure class="shot"><img src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/1-df.png" alt="df -h shows a 5.2 GB disk with 1.9 GB used, 37 percent" width="735" height="188" loading="lazy"></figure>
    <p><code>df -h /</code> shows the size of your disk, how much is used and how much is left. On your server the first column shows your own server's name. The <strong>Graphs</strong> tab in the client area shows the same number. Above about 85% it is time to clean up.</p>

    <h2 id="du">2. Which folders are big?</h2>
    <p><code>du</code> adds up folder sizes. Start at the top and work down into the biggest folder:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/2-du.png" alt="du shows /root at 901 MB and /var at 722 MB; inside /var, /var/log is 641 MB" width="735" height="364" loading="lazy"><figcaption>The <code>-x</code> keeps du on your disk, and <code>sort -h</code> puts the biggest last.</figcaption></figure>

    <h2 id="ncdu">3. Or browse it with ncdu</h2>
    <p><code>ncdu</code> does the same thing with a menu you can move around in with the arrow keys and Enter. Press <kbd>d</kbd> on a file to delete it (it asks first) and <kbd>q</kbd> to quit.</p>
<pre><code>apt install -y ncdu
ncdu -x /</code></pre>
    <figure class="shot"><img src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/3-ncdu.png" alt="ncdu showing /root as the biggest folder at 900 MB" width="840" height="364" loading="lazy"></figure>

    <h2 id="big">4. List the biggest files</h2>
    <p>Usually a few large files are to blame. This lists every file over 100 MB:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/4-big-files.png" alt="find lists a 900 MB old backup archive and a 640 MB log file" width="893" height="188" loading="lazy"></figure>
    <p>Here it is an old backup someone forgot about, and an app log that was never rotated.</p>

    <h2 id="clean">5. Clean up safely</h2>
    <ul>
      <li><strong>Package cache:</strong> <code>apt-get clean</code> removes downloaded package files. Always safe.</li>
      <li><strong>Old kernels and packages:</strong> <code>apt autoremove</code> removes packages nothing needs any more. Read the list before you say yes.</li>
      <li><strong>The system journal:</strong> <code>journalctl --vacuum-size=50M</code> keeps only the newest 50 MB of logs. See <code>journalctl --disk-usage</code> first.</li>
      <li><strong>A huge log file an app still writes to:</strong> empty it with <code>truncate -s 0 FILE</code> rather than deleting it. If you delete a file a running program has open, the space is only freed when that program restarts.</li>
      <li><strong>Old backups:</strong> copy them off the server first (see <a href="https://natbox.io/guides/backups">the backups guide</a>), then delete them.</li>
    </ul>
    <figure class="shot"><img src="https://natbox.io/assets/blog/find-what-is-filling-your-disk/5-clean.png" alt="After cleaning: 371 MB used, 7 percent" width="735" height="254" loading="lazy"></figure>
    <p>From 37% to 7% used.</p>

    <h2 id="snapshots">Snapshots use disk space too</h2>
    <p>Snapshots you take in the client area's <strong>Snapshots</strong> tab are stored on your server's disk, so a snapshot keeps the files it saved, even after you delete them. If space is tight, delete snapshots you no longer need. More in the <a href="https://natbox.io/docs">docs</a>.</p>

    <h2 id="prevent">Stop it happening again</h2>
    <ul>
      <li>Make your app logs rotate: add a file in <code>/etc/logrotate.d/</code>, or log to the journal by running the app as a service (<a href="https://natbox.io/guides/run-an-app">how</a>).</li>
      <li>Cap the journal for good: set <code>SystemMaxUse=100M</code> in <code>/etc/systemd/journald.conf</code>, then <code>systemctl restart systemd-journald</code>.</li>
      <li>Keep backups off the server, not next to the data they protect.</li>
    </ul>
    <p>Still short of space? You can move to a bigger plan from the client area at any time. See <a href="https://natbox.io/#plans">the plans</a>.</p>
    <p class="callout tg-follow"><strong>Get new tutorials in Telegram.</strong> Follow <a href="https://t.me/natboxio">@natboxio</a>: every new post, plus short server tips.</p>]]></content:encoded></item>
<item><title>Keep commands running after you disconnect, with tmux</title><link>https://natbox.io/blog/keep-commands-running-with-tmux</link><guid>https://natbox.io/blog/keep-commands-running-with-tmux</guid><pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate><category>Tutorial</category><description>Use tmux on your Linux server so long downloads, backups and scripts keep running when SSH drops or you close your laptop. Step by step, with screenshots.</description><enclosure url="https://natbox.io/assets/blog/keep-commands-running-with-tmux/cover.png" length="132254" type="image/png"/><content:encoded><![CDATA[<img class="post-cover" src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/cover.png" alt="" width="1200" height="630">
    <p>You start a big download or a backup over SSH, your Wi-Fi drops, and the command dies with your connection. <strong>tmux</strong> fixes that: it keeps a terminal running on the server, so you can disconnect, go home, and pick it up again later exactly where it was.</p>
    <p class="small">About 5 minutes. Works on any natbox plan. Commands for Debian and Ubuntu; on AlmaLinux use <code>dnf install -y tmux</code>, on Alpine <code>apk add tmux</code>.</p>

    <h2 id="install">1. Install tmux and start a session</h2>
    <p>Log in to your server (<code>ssh root@natbox.io -p YOUR_PORT</code>), install tmux and start a session with a name you will remember:</p>
<pre><code>apt install -y tmux
tmux new -s download</code></pre>
    <figure class="shot"><img src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/1-new-session.png" alt="Installing tmux and starting a session called download" width="927" height="188" loading="lazy"></figure>

    <h2 id="run">2. Run your long command inside it</h2>
    <p>You are now inside tmux: it looks like a normal terminal, with a green bar at the bottom showing the session name. Start anything that takes a while. Here we download a 756 MB Debian image:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/2-running.png" alt="A curl download running inside a tmux session called download, with the green tmux status bar at the bottom" width="997" height="298" loading="lazy"><figcaption>The green bar shows you are inside tmux: session <code>download</code>, window 0.</figcaption></figure>

    <h2 id="detach">3. Detach, and log out if you like</h2>
    <p>Press <kbd>Ctrl</kbd>+<kbd>B</kbd>, let go, then press <kbd>D</kbd>. You are back in your normal shell, and tmux tells you the session is still alive. <code>tmux ls</code> lists your sessions. You can now close the window, log out, or lose your connection: the command keeps running on the server.</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/3-detach.png" alt="Detaching from tmux and listing sessions with tmux ls" width="788" height="254" loading="lazy"></figure>

    <h2 id="attach">4. Come back to it</h2>
    <p>Log in again, from any computer, and reattach:</p>
<pre><code>tmux attach -t download</code></pre>
    <p>Everything is where you left it. Our download had kept going and was at 94%:</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/4-reattach.png" alt="After reattaching, the download is at 94 percent" width="997" height="298" loading="lazy"></figure>
    <p>When the command has finished, type <code>exit</code> to close the session.</p>

    <h2 id="split">5. Bonus: two panes side by side</h2>
    <p>Inside tmux, <kbd>Ctrl</kbd>+<kbd>B</kbd> then <kbd>%</kbd> splits the window in two. Here the left pane follows an app's log with <code>journalctl -fu myapp</code> while the right pane checks memory and disk. <kbd>Ctrl</kbd>+<kbd>B</kbd> then an arrow key moves between panes.</p>
    <figure class="shot"><img src="https://natbox.io/assets/blog/keep-commands-running-with-tmux/5-split.png" alt="A tmux window split into two panes: an app log on the left, memory and disk checks on the right" width="1120" height="342" loading="lazy"></figure>

    <h2 id="keys">The keys you need</h2>
    <ul>
      <li><code>tmux new -s NAME</code>: start a session. <code>tmux ls</code>: list sessions. <code>tmux attach -t NAME</code>: go back in.</li>
      <li><kbd>Ctrl</kbd>+<kbd>B</kbd> then <kbd>D</kbd>: detach. <kbd>Ctrl</kbd>+<kbd>B</kbd> then <kbd>%</kbd> or <kbd>"</kbd>: split side by side or top and bottom.</li>
      <li><kbd>Ctrl</kbd>+<kbd>B</kbd> then <kbd>[</kbd>: scroll back with the arrow keys or Page Up; <kbd>Q</kbd> to stop scrolling.</li>
    </ul>

    <h2 id="when">tmux or a service?</h2>
    <p>tmux is for jobs you start by hand and want to watch: downloads, backups, updates, a game server console. Anything that should run all the time and start again after a reboot, such as a bot or a website, belongs in a systemd service instead: see <a href="https://natbox.io/guides/run-an-app">Keep an app running</a>. A tmux session does not survive a server restart.</p>
    <p>No server yet? <a href="https://natbox.io/free-vps-trial">Try one free for a month</a>.</p>
    <p class="callout tg-follow"><strong>Get new tutorials in Telegram.</strong> Follow <a href="https://t.me/natboxio">@natboxio</a>: every new post, plus short server tips.</p>]]></content:encoded></item>
<item><title>What&#x27;s new at natbox: Telegram bot, snapshots, keeping your trial and CaptchaBox</title><link>https://natbox.io/blog/whats-new-november-2026</link><guid>https://natbox.io/blog/whats-new-november-2026</guid><pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate><category>Update</category><description>New at natbox.io: manage servers from Telegram with @NatboxBot, take your own snapshots, keep your free trial server on a paid plan, PayPal from $1, and CaptchaBox.</description><enclosure url="https://natbox.io/assets/blog/whats-new-november-2026/cover.png" length="132970" type="image/png"/><content:encoded><![CDATA[<img class="post-cover" src="https://natbox.io/assets/blog/whats-new-november-2026/cover.png" alt="" width="1200" height="630">
    <p>A lot has changed in the client area over the last few days. Here is everything new, and where to find it.</p>

    <h2 id="telegram">Manage your servers from Telegram</h2>
    <p><a href="https://t.me/NatboxBot">@NatboxBot</a> lets you check and control your servers from Telegram. Link it from the <a href="https://my.natbox.io/telegram">Telegram page</a> in the client area (account menu, then <strong>Telegram</strong>). After that you can:</p>
    <ul>
      <li>see each server's status, SSH command, ports, IPv6 address, traffic and paid-until date;</li>
      <li>start, stop and restart a server (stop and restart ask you first);</li>
      <li>pay an unpaid invoice from your account credit, or open it on the website to pay another way;</li>
      <li>get notices for new invoices, payments, support replies, and when a server is set up or a trial is about to end.</li>
    </ul>
    <figure class="shot"><a href="https://t.me/NatboxBot"><img src="https://natbox.io/assets/blog/whats-new-november-2026/telegram.png" alt="@NatboxBot in Telegram: server status, SSH command, traffic, and Restart and Stop buttons" width="1280" height="720" loading="lazy"></a></figure>
    <p>The bot also has a small app (the <strong>Open app</strong> button) with the same features. You can even create an account in the bot. For safety the bot never shows passwords and cannot reinstall a server, and there are no payments inside Telegram.</p>

    <h2 id="snapshots">Snapshots you control</h2>
    <p>The new <strong>Snapshots</strong> tab on each server saves the server exactly as it is, for example before a big update, and lets you go back to it later. You can keep 1 snapshot on the free trial and the VPN plan, 2 on Nano, 3 on Box and Box CPU, and 5 on Box Plus. Snapshots use your server's disk space and are stored on the same machine, so keep your own off-site backups as well. The <a href="https://natbox.io/guides/backups">backups guide</a> shows how.</p>

    <h2 id="keep-trial">Keep your free trial server</h2>
    <p>If you like your free trial, you no longer need to start again on a new server. Open the trial in the client area and choose a paid plan to keep it, with all your files and settings. We also email you 7 days and 2 days before a trial ends, so it never ends by surprise.</p>

    <h2 id="paypal">PayPal from $1</h2>
    <p>You can now pay with PayPal from $1, so a single month of Nano or Box can be paid directly. Crypto payments start at $3, and account credit works for any amount. The VPN plan and burner servers have their own payment options, listed in the <a href="https://natbox.io/docs">docs</a>.</p>

    <h2 id="captchabox">CaptchaBox: a free captcha for your own sites</h2>
    <p><a href="https://captcha.natbox.io/">CaptchaBox</a> keeps bots out of your website's forms without image puzzles, cookies or Google. Visitors' browsers solve a small puzzle in the background, and your server checks the answer. It is free for 10,000 checks a month, and switching from reCAPTCHA is easy because the server check uses the same answer format. We use it on our own sign-in and sign-up pages.</p>

    <figure class="shot"><a href="https://captcha.natbox.io/"><img src="https://natbox.io/assets/video/captchabox-ad-poster.png" alt="CaptchaBox: a free captcha with no puzzles and no cookies" width="1280" height="720" loading="lazy"></a><figcaption>Watch CaptchaBox in one minute on <a href="https://captcha.natbox.io/">captcha.natbox.io</a>.</figcaption></figure>

    <h2 id="next">What's next</h2>
    <p>Follow this blog for tutorials and news, or subscribe with the <a href="https://natbox.io/blog/feed.xml">RSS feed</a>. You can also watch our <a href="https://natbox.io/video">videos</a>. Questions or ideas: <a href="https://my.natbox.io/tickets/create">open a ticket</a>.</p>
    <p class="callout tg-follow"><strong>Get new tutorials in Telegram.</strong> Follow <a href="https://t.me/natboxio">@natboxio</a>: every new post, plus short server tips.</p>]]></content:encoded></item>
<item><title>Welcome to the natbox blog, and our new video library</title><link>https://natbox.io/blog/welcome-and-videos</link><guid>https://natbox.io/blog/welcome-and-videos</guid><pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate><category>Announcement</category><description>natbox.io now has a blog for tutorials, guides and news, and a video library with tutorials for your first server and for hosting a Discord bot.</description><enclosure url="https://natbox.io/assets/blog/welcome-and-videos/cover.png" length="132383" type="image/png"/><content:encoded><![CDATA[<img class="post-cover" src="https://natbox.io/assets/blog/welcome-and-videos/cover.png" alt="" width="1200" height="630">
    <p>natbox runs small Linux servers with root over SSH, your own block of IPv4 ports and a routed /80 of IPv6, from $1.00 a month. This blog is where we will post step-by-step tutorials, longer guides, and news when something changes on our side.</p>

    <h2 id="what">What you will find here</h2>
    <ul>
      <li><strong>Tutorials:</strong> one task from start to finish, with every command, written for a natbox server but useful on any Linux VPS.</li>
      <li><strong>Guides:</strong> the background to the tutorials, such as how NAT ports and IPv6 work, and how to choose a plan.</li>
      <li><strong>Announcements and updates:</strong> new features, changes to plans, and anything that affects your server.</li>
    </ul>
    <p>Our reference guides stay in <a href="https://natbox.io/guides">Guides</a>, and the basics of your account are in the <a href="https://natbox.io/docs">docs</a>. Blog posts link to them rather than repeat them.</p>

    <h2 id="videos">New: videos</h2>
    <p>We have also put all our videos on one page: <a href="https://natbox.io/video">natbox.io/video</a>. They play from our own server, with no YouTube embed and no cookies, and the longer ones have English captions.</p>
    <figure class="shot"><a href="https://natbox.io/video#first-server"><img src="https://natbox.io/assets/video/natbox-tutorial-first-server-poster.png" alt="Video thumbnail: Free Linux server plus SSH in 2 minutes" width="1280" height="720" loading="lazy"></a><figcaption>Our first-server tutorial. Watch it on the <a href="https://natbox.io/video#first-server">video page</a>.</figcaption></figure>
    <ul>
      <li><a href="https://natbox.io/video#first-server">Get a free server and log in over SSH</a> (2:10): start a free trial, log in, change your password, and see how your ports and IPv6 work.</li>
      <li><a href="https://natbox.io/video#discord-bot">Host a Discord bot 24/7</a> (1:39): install a bot, keep its token safe, and run it as a systemd service that restarts by itself.</li>
      <li><a href="https://natbox.io/video#shorts">Three Shorts</a> of under 35 seconds, including <a href="https://natbox.io/nat-vps">what a NAT VPS is</a>.</li>
    </ul>

    <h2 id="follow">Follow along</h2>
    <p>Add <a href="https://natbox.io/blog/feed.xml">natbox.io/blog/feed.xml</a> to your feed reader, or follow us on <a href="https://x.com/natboxio">X</a> and <a href="https://www.youtube.com/@natboxio">YouTube</a>. If there is a tutorial you would like to see, <a href="https://my.natbox.io/tickets/create">open a ticket</a> or email support@natbox.io.</p>
    <p>New to natbox? <a href="https://natbox.io/free-vps-trial">Try a server free for a month</a>.</p>
    <p class="callout tg-follow"><strong>Get new tutorials in Telegram.</strong> Follow <a href="https://t.me/natboxio">@natboxio</a>: every new post, plus short server tips.</p>]]></content:encoded></item>
</channel></rss>
