Skip to content

OpenVPN Install 2.0.0

Choose a tag to compare

@alsyundawy alsyundawy released this 19 Jul 07:45
· 21 commits to master since this release

πŸš€ Release v2.0.0 β€” Official Repository Integration & Advanced DNS Support

Release Date: 19 July 2026

Version 2.0.0 is a major feature release introducing official OpenVPN repository integration, 35 public DNS providers, native dual-stack IPv6 DNS support, local Unbound resolver integration, extensive ShellCheck compliance, and comprehensive security hardening.


✨ Highlights

  • πŸš€ Official OpenVPN 2.6 repository integration
  • 🌐 35 integrated public DNS providers
  • 🌍 Native IPv4 + IPv6 DNS push support
  • πŸ›‘οΈ Local Unbound recursive resolver with DNSSEC hardening
  • βœ… Full ShellCheck compliance improvements
  • ⚑ Cleaner, modular, and more maintainable codebase

βž• Added

Official OpenVPN Repository

Added automatic installation from the official OpenVPN repository for:

  • Debian
  • Ubuntu
  • RHEL
  • Fedora

Public DNS Providers

Integrated 35 public DNS providers, including:

  • Google Public DNS
  • Cloudflare (Standard, Security, Family)
  • Quad9 (Secure, Unsecured, ECS)
  • OpenDNS (Home, FamilyShield)
  • AdGuard (Default, Family, Non-Filtering)
  • AliDNS
  • DNSPod
  • 114DNS
  • Baidu DNS
  • OneDNS
  • DNSPai
  • CleanBrowsing (Security, Adult, Family)
  • Verisign
  • DNS.WATCH
  • Yandex (Basic, Safe, Family)
  • Level3 / Lumen
  • Neustar (Default, Threat Protection, Family)
  • Oracle Dyn
  • Alternate DNS
  • Comodo Secure DNS
  • Freenom World DNS

Networking

  • Added IPv6 DNS push support across all supported DNS providers
  • Added Local Unbound Resolver (Option 1) featuring:
    • DNSSEC validation
    • DNS rebinding protection
    • OpenVPN-optimized configuration

Installer

Added new installer components:

  • installOpenVPNRepo()
  • installUnbound()
  • Automatic Unbound service validation with retry logic

πŸ› οΈ Improvements

Code Quality

  • Replaced repetitive DNS case blocks with an array-driven push_dns() helper
  • Improved restart validation for Unbound with automatic retry (up to 10 attempts)
  • Updated project documentation, headers, feature descriptions, and inline comments

🐞 Bug Fixes

Resolved multiple ShellCheck findings, including:

  • SC2164 β€” Protected all cd operations with proper error handling
  • SC2155 β€” Separated declaration and assignment
  • SC2086 β€” Properly quoted variable expansions
  • SC2006 β€” Replaced legacy backticks with $()
  • SC2166 β€” Replaced legacy test expressions with modern [[ ]]

Additional improvements:

  • Custom DNS validation now fully supports IPv6 addresses

πŸ”’ Security

Unbound Hardening

Enabled:

  • hide-identity
  • hide-version
  • harden-glue
  • harden-dnssec-stripped

Additional protections:

  • DNS rebinding protection for RFC1918 private networks
  • IPv6 ULA rebinding protection
  • use-caps-for-id (0x20 encoding) to improve DNS spoofing resistance

πŸ“¦ Summary

Version Focus
v2.0.0 Official OpenVPN repositories, 35 DNS providers, Unbound integration, IPv6 support, ShellCheck compliance, modular architecture

Full Changelog: https://github.com/alsyundawy/OpenVPN-Install/commits/2.0.0