alphaeusmote e627cd0f54 Allow users to export screenshots as PNG files for better compatibility
Adds an HTML-based tool, svg-to-png.html, to convert SVG screenshots to PNG format for enhanced compatibility with documentation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9111ef36-26c8-4085-84ca-a35dc1fec1b5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7083d608-d6d3-4a6a-9a27-6286c5109627/83b3772f-6ea7-4e3a-8be8-a4837bd055d9.jpg
2025-05-24 02:34:38 +00:00
2025-04-09 21:15:06 +00:00

DynamoDNS

A comprehensive web-based dynamic DNS management platform offering advanced infrastructure control, monitoring, and multi-provider integration with a focus on user experience and security.

DynamoDNS Dashboard

Features

  • Multi-Provider DNS Management: Support for Cloudflare, AWS Route53, GoDaddy, and custom providers
  • Dynamic DNS Updates: Automatic IP detection and DNS record updates
  • Role-Based Access Control: Granular permissions with customizable roles
  • Customer Management: Support for multiple organizations with isolated access
  • Historical Tracking: Complete audit trail of DNS changes
  • Performance Metrics: Visualize DNS performance and activity
  • API Integration: RESTful API with token-based authentication
  • Webhook Notifications: Real-time notifications for DNS events
  • Multi-Factor Authentication: Enhanced security for user accounts
  • Customizable Dashboards: Personalized monitoring views

Technology Stack

  • Backend:

    • Express.js for API server
    • PostgreSQL for robust data storage
    • Drizzle ORM for database interactions
    • Passport.js for multi-method authentication
    • WebSockets for real-time updates
  • Frontend:

    • React for user interface
    • TanStack Query for data fetching and caching
    • Shadcn UI components for consistent design
    • Tailwind CSS for styling
    • Recharts for data visualization

Getting Started

Prerequisites

  • Node.js (v18 or later)
  • PostgreSQL (v14 or later)
  • Modern web browser

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/dynamodns.git
    cd dynamodns
    
  2. Install dependencies:

    npm install
    
  3. Configure environment variables by creating a .env file:

    DATABASE_URL=postgresql://username:password@localhost:5432/dynamodns
    PORT=5000
    SESSION_SECRET=your_secure_secret
    ENABLE_REGISTRATION=false
    
  4. Run database migrations:

    npm run db:push
    
  5. Start the application:

    npm run dev
    
  6. Access the application at http://localhost:5000

Default Admin Account

On first launch, a default admin account is created:

  • Username: admin
  • Password: admin

Important: Change the default password immediately after first login.

Documentation

Comprehensive documentation is available in the /docs directory:

Deployment

DynamoDNS can be deployed in various environments:

  • Standalone Server: Direct installation on Linux/Windows servers
  • Docker: Container-based deployment with Docker Compose
  • Cloud Platforms: Deploy to AWS, Azure, Google Cloud, or other providers

See the Deployment Guide for detailed instructions.

Contributing

We welcome contributions from the community! Please see our Development Guide for information on getting started with development.

To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support or questions, please open an issue on GitHub, or contact the maintainers directly.

Acknowledgements

  • The open source community for the amazing tools that make this project possible
  • Contributors who have helped improve and maintain this project
  • Users who have provided feedback and feature suggestions
S
Description
No description provided
Readme MIT 1.4 MiB
Languages
TypeScript 97.9%
PLpgSQL 1.7%
JavaScript 0.4%