Download the PHP package monosize/dynamic-dns-ip-updater without Composer

On this page you can find all versions of the php package monosize/dynamic-dns-ip-updater. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dynamic-dns-ip-updater

Dynamic DNS IP Updater for Apache

This Symfony bundle provides an automated solution for managing dynamic IP addresses in Apache's access control configurations. In environments where IP addresses change regularly, maintaining accurate access control becomes challenging. This bundle solves that problem by automatically synchronizing your Apache configuration with the current IP addresses of your dynamic DNS domains.

Understanding Dynamic DNS and Access Control

Dynamic DNS (DDNS) is a method of automatically updating DNS records in real-time. It's commonly used when your IP address might change periodically, such as with residential internet connections or cloud services that don't provide static IPs. While DDNS ensures your domain always points to the correct IP, maintaining access control based on these IPs requires additional automation.

This bundle bridges that gap by monitoring your dynamic DNS domains and automatically updating your Apache configuration whenever IP changes are detected. It supports both IPv4 and IPv6, providing comprehensive coverage for modern network environments.

Core Features

The bundle has been designed with reliability and efficiency in mind:

Monitoring and Updates:

Safety and Reliability:

Integration:

System Requirements

Before installation, ensure your environment meets these prerequisites:

Installation and Setup

  1. First, install the package using Composer:

  2. Register the bundle in your Symfony application. Add this line to config/bundles.php:

  3. Configure your dynamic DNS domains by creating or updating your .env file:

Configuration Management

The bundle manages a dedicated section in your .htaccess file, marked with clear delimiters:

This block is automatically maintained by the bundle. The clear delimiters ensure:

Operation Modes

The bundle can operate in two primary modes:

Manual Operation

Use the command-line interface for direct control:

Automated Operation

For continuous monitoring, you can implement automatic updates using either Symfony's Scheduler or traditional cron jobs.

Using Symfony Scheduler (Recommended):

Using Traditional Crontab:

Understanding the Update Process

Each update cycle follows a carefully designed process to ensure reliability:

  1. Domain Resolution:

    • Reads configured domains from environment
    • Resolves current IPv4 and IPv6 addresses
    • Validates resolution results
  2. Change Detection:

    • Compares new IPs with cached values
    • Determines if updates are necessary
    • Optimizes performance by avoiding unnecessary writes
  3. Safe Updates:

    • Creates timestamped backup of current configuration
    • Validates backup creation
    • Implements update using atomic operations
  4. Error Handling:

    • Detects any problems during update
    • Automatically restores from backup if needed
    • Logs detailed error information
  5. Cache Management:
    • Updates cache with new IP addresses
    • Sets appropriate cache expiration
    • Maintains cache consistency

Monitoring and Logging

The bundle integrates with Symfony's logging system to provide comprehensive operational insights:

Configuration Changes:

Error Conditions:

Performance Metrics:

Logs are written to your Symfony application's log directory (var/log/), following the standard Symfony logging conventions.

Development and Testing

The bundle includes a comprehensive test suite and development tools:

Running Tests:

Test Coverage Analysis: To generate detailed coverage reports, install either PCOV (recommended) or Xdebug:

Contributing

We welcome contributions that improve the bundle's functionality or documentation. To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Implement your changes with tests
  4. Submit a pull request

For significant changes, please open an issue first to discuss your proposed changes.

Support and Troubleshooting

If you encounter issues or need assistance:

  1. Check the logs in var/log/ for detailed error messages
  2. Verify your DNS domains are correctly configured
  3. Ensure proper file permissions for .htaccess
  4. Open an issue on the GitHub repository with:
    • Detailed description of the problem
    • Relevant log entries
    • Your configuration (without sensitive data)
    • Steps to reproduce the issue

License

This project is licensed under the MIT License, promoting open collaboration and reuse. See the LICENSE file for complete terms.


All versions of dynamic-dns-ip-updater with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
symfony/framework-bundle Version ^6.0|^7.0
symfony/console Version ^6.0|^7.0
symfony/cache Version ^6.0|^7.0
symfony/dotenv Version ^6.0|^7.0
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package monosize/dynamic-dns-ip-updater contains the following files

Loading the files please wait ....