<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: NexDam</title>
    <description>The latest articles on DEV Community by NexDam (@nexdam).</description>
    <link>https://dev.to/nexdam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3963084%2Fd2d62803-5252-4b32-a994-5e00611ce54c.png</url>
      <title>DEV Community: NexDam</title>
      <link>https://dev.to/nexdam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nexdam"/>
    <language>en</language>
    <item>
      <title>From Website to Mobile App: How I Used Capacitor to Build an Android App</title>
      <dc:creator>NexDam</dc:creator>
      <pubDate>Wed, 03 Jun 2026 17:12:51 +0000</pubDate>
      <link>https://dev.to/nexdam/from-website-to-mobile-app-how-i-used-capacitor-to-build-an-android-app-2epi</link>
      <guid>https://dev.to/nexdam/from-website-to-mobile-app-how-i-used-capacitor-to-build-an-android-app-2epi</guid>
      <description>&lt;h1&gt;
  
  
  From Website to Mobile App: How I Used Capacitor to Build an Android App
&lt;/h1&gt;

&lt;p&gt;Did you know you can turn your existing website into a native Android app without rewriting a single line of code?&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Capacitor?
&lt;/h2&gt;

&lt;p&gt;Capacitor is an open-source framework by Ionic that wraps your web app into a native mobile shell. It supports Android, iOS, and desktop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Node.js v22+&lt;/li&gt;
&lt;li&gt;Android Studio&lt;/li&gt;
&lt;li&gt;Your existing web project&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1 — Install Capacitor
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @capacitor/core @capacitor/cli @capacitor/android
npx cap init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2 — Copy Your Web Files
&lt;/h2&gt;

&lt;p&gt;Copy your HTML, CSS and JS files into the &lt;code&gt;www&lt;/code&gt; folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3 — Add Android Platform
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx cap add android
npx cap &lt;span class="nb"&gt;sync &lt;/span&gt;android
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4 — Build the APK
&lt;/h2&gt;

&lt;p&gt;Open Android Studio:&lt;br&gt;
Then: &lt;strong&gt;Build → Generate Signed Bundle / APK&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;In less than an hour I had a working Android app from my existing website nexdam.it — no React Native, no Flutter needed.&lt;/p&gt;

&lt;p&gt;The same approach works for desktop apps using Electron.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>android</category>
      <category>javascript</category>
      <category>mobile</category>
    </item>
    <item>
      <title>How to Set Up a Secure Linux Server from Scratch in 2026</title>
      <dc:creator>NexDam</dc:creator>
      <pubDate>Wed, 03 Jun 2026 16:59:08 +0000</pubDate>
      <link>https://dev.to/nexdam/how-to-set-up-a-secure-linux-server-from-scratch-in-2026-40o7</link>
      <guid>https://dev.to/nexdam/how-to-set-up-a-secure-linux-server-from-scratch-in-2026-40o7</guid>
      <description>&lt;h1&gt;
  
  
  How to Set Up a Secure Linux Server from Scratch in 2026
&lt;/h1&gt;

&lt;p&gt;Setting up a Linux server might seem intimidating at first, but with the right steps you can have a secure and production-ready environment in no time.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Choose Your Distribution
&lt;/h2&gt;

&lt;p&gt;Ubuntu Server LTS is the most popular choice for production servers. It offers long-term support, a large community, and excellent documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Initial Setup
&lt;/h2&gt;

&lt;p&gt;After installation, the first thing to do is update all packages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Create a Non-Root User
&lt;/h2&gt;

&lt;p&gt;Never run your server as root. Create a dedicated user:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adduser davide
usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;davide
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Configure SSH
&lt;/h2&gt;

&lt;p&gt;Disable root login and password authentication:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano /etc/ssh/sshd_config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PermitRootLogin no&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PasswordAuthentication no&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Set Up a Firewall
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw &lt;span class="nb"&gt;enable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Install Nginx
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;nginx &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  7. SSL with Let's Encrypt
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;certbot python3-certbot-nginx
&lt;span class="nb"&gt;sudo &lt;/span&gt;certbot &lt;span class="nt"&gt;--nginx&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; yourdomain.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A secure server is the foundation of any reliable web project. At NexDam we handle all of this for our clients so they can focus on their business.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>server</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Protect Your Website with Cloudflare Zero Trust (Free Plan)</title>
      <dc:creator>NexDam</dc:creator>
      <pubDate>Mon, 01 Jun 2026 17:47:05 +0000</pubDate>
      <link>https://dev.to/nexdam/protect-your-website-with-cloudflare-zero-trust-free-plan-published-by-nexdam-nexdamit-fgm</link>
      <guid>https://dev.to/nexdam/protect-your-website-with-cloudflare-zero-trust-free-plan-published-by-nexdam-nexdamit-fgm</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
If you have a website, an admin panel or any private resource online, you've probably asked yourself: "How do I make sure only I can access it?"&lt;br&gt;
The traditional answer is IP whitelisting or VPN — complicated, expensive and hard to maintain. There's a better way: Cloudflare Zero Trust, and the free plan is more than enough for most use cases.&lt;br&gt;
In this guide I'll show you how to protect any URL on your site so that only authorized emails can access it — with zero server configuration required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Zero Trust?&lt;/strong&gt;&lt;br&gt;
Zero Trust is a security model based on one principle: never trust, always verify. Instead of assuming that anyone inside your network is safe, every request must be authenticated — regardless of where it comes from.&lt;br&gt;
Cloudflare Zero Trust puts a login wall in front of any resource you want to protect. Nobody reaches your app until they prove who they are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;br&gt;
Before we start, make sure you have:&lt;/p&gt;

&lt;p&gt;A domain managed on Cloudflare (DNS pointing to Cloudflare)&lt;br&gt;
A Cloudflare account (free plan is enough)&lt;br&gt;
A website or app already deployed (Vercel, VPS, or any host)&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Step 1 — Access Cloudflare Zero Trust&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Log in to cloudflare.com&lt;br&gt;
From the left sidebar click Zero Trust&lt;br&gt;
If it's your first time, Cloudflare will ask you to create a team name — choose something like nexdam or your brand name&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Step 2 — Create an Access Application&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Go to Access → Applications&lt;br&gt;
Click Add an Application&lt;br&gt;
Select Self-hosted tab, then click DNS pubblico and Continue&lt;/p&gt;

&lt;p&gt;Now fill in the details:&lt;br&gt;
FieldValueApplication nameAdmin Panel (or whatever you want to protect)DomainSelect your domain from the dropdownPathpages/admin (the path you want to protect)&lt;br&gt;
Click Next.&lt;/p&gt;

&lt;p&gt;**Step 3 — Create an Access Policy&lt;br&gt;
**This is where you define who can access the resource.&lt;/p&gt;

&lt;p&gt;Click Create new policy&lt;br&gt;
Fill in:&lt;/p&gt;

&lt;p&gt;FieldValuePolicy nameAdmin &lt;a href="mailto:OnlyActionAllowSelectorEmailsValueyour@email.com"&gt;OnlyActionAllowSelectorEmailsValueyour@email.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click Save policy&lt;br&gt;
Scroll down, name your application and click Create&lt;/p&gt;

&lt;p&gt;**Step 4 — Test It&lt;br&gt;
**Open an incognito window and navigate to your protected URL, for example:&lt;br&gt;
&lt;a href="https://yourdomain.com/pages/admin" rel="noopener noreferrer"&gt;https://yourdomain.com/pages/admin&lt;/a&gt;&lt;br&gt;
You'll see a Cloudflare login screen asking for your email. Enter the authorized email — Cloudflare sends a one-time code to verify it's really you. Enter the code and you're in.&lt;br&gt;
Anyone else who tries to access that URL gets blocked — they don't even see your app.&lt;/p&gt;

&lt;p&gt;**Step 5 — Add Multiple Emails (Optional)&lt;br&gt;
**Need to give access to a teammate? Go back to your policy and add more email:&lt;br&gt;
&lt;a href="mailto:example@nexdam.it"&gt;example@nexdam.it&lt;/a&gt;&lt;br&gt;
You can also use email domains to allow everyone from a company:&lt;br&gt;
Selector: Email domain&lt;br&gt;
Value: nexdam.it&lt;br&gt;
This allows anyone with a &lt;a class="mentioned-user" href="https://dev.to/nexdam"&gt;@nexdam&lt;/a&gt;.it email to access the resource.&lt;/p&gt;

&lt;p&gt;How It Works Under the Hood&lt;br&gt;
User visits protected URL&lt;br&gt;
        ↓&lt;br&gt;
Cloudflare intercepts the request&lt;br&gt;
        ↓&lt;br&gt;
Is the user authenticated? → No → Show login screen&lt;br&gt;
        ↓ Yes&lt;br&gt;
Does the user match the policy? → No → Block&lt;br&gt;
        ↓ Yes&lt;br&gt;
Allow access to the application&lt;br&gt;
The best part: your server never receives unauthorized requests. Cloudflare blocks them at the edge, before they even reach your infrastructure.&lt;/p&gt;

&lt;p&gt;Why Zero Trust Instead of Password Protection?&lt;br&gt;
MethodSecuritySetupCost.htpasswdLowMediumFreeIP whitelistMediumHardFreeVPNHighVery hardExpensiveCloudflare Zero TrustHighEasyFree&lt;br&gt;
Zero Trust wins on every front for small teams and personal projects.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In less than 10 minutes you've added enterprise-grade access control to your website — for free. No server configuration, no VPN, no complicated setup.&lt;br&gt;
Cloudflare Zero Trust is one of the most powerful tools available on the free plan, and it's criminally underused by developers and small businesses.&lt;/p&gt;

&lt;p&gt;Need help configuring Cloudflare for your infrastructure? At NexDam we handle everything — from DNS setup to Zero Trust policies and full cybersecurity hardening.&lt;br&gt;
👉 nexdam.it — Get in touch today.&lt;/p&gt;

&lt;p&gt;Tags: cloudflare security webdev devops tutorial&lt;br&gt;
Published by NexDam — nexdam.it&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>security</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
