Skip to content

r2dtools/sslbot

Repository files navigation

SSLBot – Server Agent for SSLPanel

SSLBot is a lightweight server agent developed by R2DTools that works seamlessly with SSLPanel. It automates issuing, installing, and renewing SSL/TLS certificates — making it simple to secure your web domains via a user-friendly UI.

🔒 Features

  • One-click SSL/TLS issuance and renewal
  • Let`sEncrypt certificate automation
  • Integration with Nginx and Apache
  • Lightweight agent with CLI interface
  • Works with the SSLPanel UI

🖥 Supported Web Servers

  • Nginx
  • Apache

🚀 Install

  1. Connect to your server via SSH

  2. Download and unpack the latest SSLBot archive:

    wget -O sslbot.tar.gz https://github.com/r2dtools/sslbot/releases/latest/download/r2dtools-sslbot.tar.gz \
    && mkdir -p /opt/r2dtools \
    && tar -xzf sslbot.tar.gz -C /opt/r2dtools
  3. Add the SSLBot service to systemd:

    cat >/etc/systemd/system/sslbot.service <<'EOT'
    [Unit]
    Description=R2DTools SSLBot
    
    [Service]
    Type=simple
    Restart=always
    ExecStart=/opt/r2dtools/sslbot serve
    
    [Install]
    WantedBy=multi-user.target
    EOT
  4. Run the SSLBot service:

    systemctl daemon-reload \
    && systemctl start sslbot.service \
    && systemctl enable sslbot.service
  5. Check if the SSLBot service is running:

    systemctl status sslbot.service
  6. Ensure port 60150 is open (default):

    • This is required for communication with SSLPanel
    • You can change the port in /opt/config.yaml configuration file:
      port: <port>
      
    • Restart the service after changing the port:
      systemctl restart sslbot.service
      

🚀 Update

  1. Connect to your server via SSH

  2. Download and unpack the latest SSLBot archive:

    wget -O sslbot.tar.gz https://github.com/r2dtools/sslbot/releases/latest/download/r2dtools-sslbot.tar.gz \
    && mkdir -p /opt/r2dtools \
    && tar -xzf sslbot.tar.gz -C /opt/r2dtools
  3. Restart the SSLBot service:

    systemctl restart sslbot.service
  4. Check if the SSLBot service is running:

    systemctl status sslbot.service
    

🔑 Connecting SSLBot to SSLPanel

Generate a connection token:

/opt/r2dtools/sslbot generate-token

To view the token:

/opt/r2dtools/sslbot show-token

⚙️ SSLBot CLI Usage

Task Command
Issue a Let's Encrypt certificate
/opt/r2dtools/sslbot issue-cert <br>  --email your@email.com <br>  --domain example.com <br>  --alias www.example.com <br>  --webserver nginx
Generate SSLPanel token /opt/r2dtools/sslbot generate-token
Show existing token /opt/r2dtools/sslbot show-token
Deploy an existing certificate
/opt/r2dtools/sslbot deploy-cert <br>  --domain example.com <br>  --cert /path/to/cert.pem <br>  --key /path/to/key.pem <br>  --webserver nginx
List configured domains /opt/r2dtools/sslbot hosts
Manage ACME challenge directory
/opt/r2dtools/sslbot common-dir <br>  --domain example.com <br>  --enable <br>  --webserver apache
Run SSLBot service manually /opt/r2dtools/sslbot serve
Show help for all commands /opt/r2dtools/sslbot --help

🛠 Troubleshooting

  • Ensure systemctl status sslbot.service shows the service is active.
  • Make sure port 60150 is open and not blocked by firewall rules.
  • If you change the port or any config parameter, remember to restart:
    systemctl restart sslbot.service

📄 License

This project is open source and available under the MIT License.


👥 Community & Support


Secure your web server today with SSLBot + SSLPanel. Easy. Automated. Free.

Packages

No packages published

Contributors 2

  •  
  •  

Languages