DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location

Overview

DomainMOD

Project Home: https://domainmod.org
Project Demo: https://demo.domainmod.org
Documentation: https://domainmod.org/docs/
Source Code: https://domainmod.org/source/

About

DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location. DomainMOD also includes a Data Warehouse framework that allows you to import your web server data so that you can view, export, and report on your live data. Currently the Data Warehouse only supports web servers running WHM/cPanel.

Live Demo

Not sure if DomainMOD is what you're looking for? Don't want to take the time to install it only to find out that it's not? We hate when that happens ourselves, which is why we've setup a live demo so you don't waste your time.

So go ahead, take the live demo for a test drive before you install: https://demo.domainmod.org

Requirements

Software: PHP v5.5+, MySQL
PHP Extensions: PDO (MySQL), cURL, OpenSSL, gettext
PHP Settings: allow_url_fopen

Downloading

There are currently four options for downloading DomainMOD.

Option #1 -- Using Docker

Please see our official DomainMOD container on Docker Hub for more information: https://hub.docker.com/r/domainmod/domainmod

Option #2 -- Downloading a .zip file

Visit the following URL to download DomainMOD in a .zip file: https://domainmod.org/download/

Option #3 -- Using Git

To download using Git, change to the directory where you want to install DomainMOD and run the following command (this download option requires that you have Git installed on your server):

git clone https://github.com/domainmod/domainmod.git

Option #4 -- Installing via Softactulous

Softaculous is the web hosting industry's leading software auto-installer, and it has helped millions of users install applications with a few clicks of a mouse. Softaculous easily integrates into the leading control panels like cPanel, Plesk, DirectAdmin, InterWorx, H-Sphere, and more. Check your hosting control panel or contact your web host if you're not sure if they offer Softaculous.

To install DomainMOD simply open Softaculous, use the search feature to find DomainMOD, and then click the "Install Now" button. After you answer a few questions about your installation Softaculous will do the rest.

More Information: http://www.softaculous.com/softaculous/apps/others/DomainMOD/

Installing

If you installed DomainMOD using Docker or Softaculous in the previous step you can ignore the rest of this Installing section, as you should already have DomainMOD up-and-running.

If you downloaded the .zip file in the previous step, you will now need to upload the archive to your web server and then unpack it into the folder where you wish to install (or unpack it and then upload it, whichever you prefer).

If you used Git to retrieve the source code in the previous step, just change to the directory where you ran the git command and your files are already waiting for you in a folder called /domainmod/. Feel free to rename this folder to whatever you want.

Installation Steps

  1. Create a MySQL database that will be used to store DomainMOD's data.

  2. In the '_includes' folder, copy config.SAMPLE.inc.php to config.inc.php and then update config.inc.php to reflect your web server's settings.

  3. In a web browser, visit the URL where you just installed DomainMOD, enter the requested information, and then click the Install button. For example, example.com/domainmod/. After a few seconds a message will appear letting you know that the installation was successful.

  4. Setup the below cron job on your web server.

Cron Job

DomainMOD includes a Task Scheduler that allows you to run various system jobs at specified times, which helps keep your DomainMOD installation up-to-date and running smoothly, as well as notifies you of important information, such as emailing you to let you know about upcoming Domain & SSL Certificate expirations.

The Task Scheduler is very powerful, and it enables features that you otherwise wouldn't be able to use, but in order for it to function you need to schedule the below cron job to run on your web server. Once the cron job is setup to run, the Task Scheduler will be live.

If you installed DomainMOD using Docker, the cron job will be setup and running automatically within the container, so there's nothing you need to setup manually.

NOTE: This file should be executed every 10 minutes.

Filename: /cron.php

Security

Although we've done our best to secure DomainMOD, unfortunately there are many factors that could cause security holes, such as the software being run on insecure hardware, software like PHP and MySQL having out-of-date versions with known vulnerabilities, easy-to-guess passwords being used, and so on. Due to these factors we recommend the following steps to help secure your DomainMOD installation.

  1. Secure your installation with an SSL Certificate.

  2. Do not use easy-to-guess passwords. Ever.

  3. Although DomainMOD has its own authentication system, we recommend that you also use HTTP authentication on your installation directory to add an extra layer of security.

  4. Do not store your account passwords or API keys in DomainMOD. Although the ability to save this information exists, use it at your own risk. This information is fairly secure if you run DomainMOD on your local computer, but there's a much higher risk of someone gaining access to it if you host the site on a server that is accessible to the outside world.

    WARNING: Saving your API keys (and other relevant API connection information) in DomainMOD is necessary if you want to use the Domain Queue, however we recommend that you only save this information temporarily while you're using the Domain Queue, and that you remove it as soon as you're done.

  5. Do not host DomainMOD on a public website or on an easy-to-guess URL.

    If you do end up hosting DomainMOD on a public website, you should use your website's robots.txt file to block bots and spiders from crawling your site, otherwise your DomainMOD URL may end up in public search results.

  6. Do not give the URL to anyone who does not need to access DomainMOD. You should treat the URL like a password.

  7. Always use the most up-to-date version of DomainMOD. This will help protect you from any security vulnerabilities that are found and fixed.

Upgrading

WARNING: Before upgrading it's strongly recommended that you backup your DomainMOD installation directory and database. If something goes wrong during the upgrade there may be no way to recover your data, and having a backup of your installation directory and database will allow you to easily restore your previous version. The Backup & Restore documentation can be found here: https://domainmod.org/docs/userguide/backup-restore/

Option #1 -- Docker Install
If you installed DomainMOD using Docker, please see our official DomainMOD container on Docker Hub for upgrade information: https://hub.docker.com/r/domainmod/domainmod

Option #2 -- .zip File Install
If you installed DomainMOD by downloading the .zip file, visit the following URL to download the most up-to-date version: https://domainmod.org/download/

Once the download completes, upload and unpack the new archive overtop of where you installed the previous version (or unpack it and then upload it, whichever you prefer).

Option #3 -- Git Install
If you installed DomainMOD using Git right from your web server, just run the following command from within your installation directory to upgrade:

git pull

Option #4 -- Softaculous Install
If you installed DomainMOD using Softaculous you're just a few clicks away from upgrading to the newest version. Please see the upgrade instructions on the Softaculous Wiki: https://www.softaculous.com/docs/How_to_upgrade_installations

Data Warehouse

DomainMOD has a Data Warehouse framework built right into it, which allows you to import the data stored on your web server. Currently the only web servers that are supported are ones that run WHM/cPanel.

If your web server doesn't run WHM/cPanel, or you don't want to import your web server data into DomainMOD, you can ignore this section.

NOTE: Importing your web server(s) into the Data Warehouse will not modify any of your other DomainMOD data, nor any of the data on your web server.

Supported Data
The following WHM sections are currently supported, but our end goal is to have every piece of WHM information that can be retrieved via the API stored in the Data Warehouse.

Accounts
Domain, IP Address, Owner, User, Contact Email, Plan, Theme, Shell, Partition, Disk Limit, Disk Usage, Max Addons, Max FTP Accounts, Max Email Lists, Max Parked Domains, Max POP Accounts, Max SQL Accounts, Max Subdomains, Creation Date, Suspend Status, Suspend Reason, Suspend Time, Max Email Per Hour, Failed Email % Before Defer, Min Failed Email # Before Defer

DNS Zones
Zone Filename, Original/Primary Source of Zone Data, Admin Email, Serial #, Refresh, Retry, Expiry, Minimum TTL, Authoritative Name Server

DNS Records
TTL, Class, Type, IP Address, CNAME, Mail Server, Mail Server Priority, TXT Data, Line # of Zone, # of Lines, RAW Data

Code of Conduct

Please see CODE_OF_CONDUCT.md for a detailed explanation of our code of conduct.

Contributing

Please see CONTRIBUTING.md for our contributing guidelines.

Support

For the DomainMOD documentation please visit https://domainmod.org/docs/, or access the /docs/ folder within your DomainMOD installation.

If you have any questions, comments, or bugs to report, please visit https://domainmod.org/support/.

Changelog

Please see the CHANGELOG file that came with DomainMOD, or view the Changelog online at https://domainmod.org/changelog/.

License

DomainMOD is an open source domain and internet asset manager.
Copyright (c) 2010-2022 Greg Chetcuti [email protected]

DomainMOD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

DomainMOD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with DomainMOD. If not, see http://www.gnu.org/licenses/.

Comments
  • Installation issue again

    Installation issue again

    Hello, I know it's weird in my case, but I just tried installing the latest version and when I run install I get this error.

    There was a problem retrieving the creation type ID

    It won't advance from there and I haven't changed any server configuration since the last version that worked for me.

    Did you make substantial schema changes? The issue in this case I think is database related rather than code related or permission related.

    opened by mihail-minkov 21
  • Can't Install - how to debug?

    Can't Install - how to debug?

    My install page is blank. Besides creating a database and setting values in config.inc.php, the documentation should describe full setup details and how to enable debug logs.

    opened by aphilsmith 12
  • Bug: Can't Install. Install Page giving 500 error after typing in e-mail Install log says...

    Bug: Can't Install. Install Page giving 500 error after typing in e-mail Install log says...

    [07-Sep-2017 12:37:56 UTC] PHP Fatal error: [ERROR]: Field 'notes' doesn't have a default value in /home/techsu/public_html/domaintracker/domainmod/classes/DomainMOD/Error.php on line 42

    opened by haynes11 10
  • Namecheap won't import via API

    Namecheap won't import via API

    I can't pull data through from namecheap I just get "

    error | Unable to get domain list -- | --

    "

    as the error in debug log. API key is correct. Unknown what to put in API secret (Tried the API key in both and still didn't work) Is this a broken feature?

    Best, J

    opened by haynes11 9
  • Cron not running

    Cron not running

    Hi,

    I don't believe the cron job is running. Can someone confirm to me what command they are using to run their cron job?

    I'm running mine on cpanel/WHM.

    Best, Jerome

    opened by haynes11 9
  • Update time displays 1978 year instead of 2018

    Update time displays 1978 year instead of 2018

    Today I have added custom domain field and saved changes. Inserted date is correct, but updated displays 1978 year. It seems like something, somewhere went wrong.

    doman-mod-time

    opened by Qrzysio 8
  • Installation failure

    Installation failure

    Get first page where I am prompted for admin password, upon entering the password I get the following error. I have confirmed that php-pdo is installed.

    PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1364 Field 'notes' doesn't have a default value in /var/www/domainmod/install/index.php:189\nStack trace:\n#0 /var/www/domainmod/install/index.php(189): PDO->query('\n IN...')\n#1 {main}\n thrown in /var/www/domainmod/install/index.php on line 189

    opened by Kirk-H 8
  • [Feature Request] Support Cloudflare Registrar

    [Feature Request] Support Cloudflare Registrar

    Hi,

    Many thanks for domainmod, its very useful for me to manage all our domains across the providers!

    Although Cloudflare only supports domain transfer and not direct purchase for domains, it would be really useful to be able to include Cloudflare-registered domains in domainmod.

    The relevant Cloudflare documentation is here https://api.cloudflare.com/#registrar-domains-properties

    Is it possible to extend domainmod to support Cloudflare registrar?

    Many thanks again!!

    enhancement 
    opened by moose999 7
  • [Feature Request] Centralized DNS record management using DNSControl

    [Feature Request] Centralized DNS record management using DNSControl

    First, thank you for DomainMOD, and well done! I understand if your scope and intent for this project doesn't support something like what I am suggesting here, but I figured I'd throw it out there.

    After an instance where Google arbitrarily flagged a perfectly healthy and up-to-date billing account and suspended services, resulting in a 17-hour DNS blackout that affected almost all of my websites I realized that DNS redundancy across datacenters and regions still left me vulnerable to an over-zealous account security algorithm. So I searched for something that could help keep my DNS records synchronized across multiple independent nameservers (Gandi.net's LiveDNS and Google's Cloud DNS in my case). I found a very elegant solution in an open-source service created by Stack Overflow--DNSControl.

    Using plain-language JSON files, DNSControl allows one to setup DNS records once and then push them to multiple nameservers using built-in support for a few dozen API's. I figured it wouldn't be too difficult to script this into an extension of DomainMOD so that it could include active DNS records management. Even if the frontend wasn't as simple as a GUI form or an automated output from the existing interface for supplying DNS records--but rather required properly formatted JSON files to be supplied separately--this could make DomainMOD a singular interface for every common aspect of managing domain names.

    I've started tinkering with it on a dev server with some of my parked domains, I will put forth some additional effort if anyone here is interested. My own limitations as a developer would require someone with more ability to take anything I complete and dress it up properly, but I'm willing to put some time and effort into helping wherever I can.

    Either way, thanks again for sharing your efforts with the community, feel free to close this out if it's a non-starter.

    --Steve

    enhancement question 
    opened by nativeit 7
  • Domain list is empty

    Domain list is empty

    I have imported my domains, but somehow the list of domains is empty, meanwhile the dashboard shows that there are 3 domains which expires in the next 60 days.

    Any idea what I have done wrong?

    screen shot 2017-06-28 at 12 51 56 screen shot 2017-06-28 at 12 51 48
    opened by marktopper 7
  • Does not work with Mariadb 10 through softaculous

    Does not work with Mariadb 10 through softaculous

    When trying to install with Mariadb installed, the error

    The following errors were found :
    
        Required MYSQL version less than 8.0.0 AND found version is : 10.5.8
    

    comes up, preventing install.

    This is likely related to the ubuntu 20.10 issue as well since that comes default with mariadb 10.

    bug question 
    opened by outerregion 5
  • [Feature Request] Domain Queue routine run.

    [Feature Request] Domain Queue routine run.

    Domain queue now only run once. It would be great if it can run routinely. From add new domains to update domains stats. The potential of the feature is unlimited.

    investigating 
    opened by PasserDreamer 1
  • [Bug] The side menu were not translated at all

    [Bug] The side menu were not translated at all

    Sidebar Dropdown are all plaintext instead of the gettext form. Attached file is my fix.

    NAVIGATION and HELP headers also not support translation. menu-main.inc.zip

    investigating 
    opened by PasserDreamer 1
  • .day tld not stuck in pending state

    .day tld not stuck in pending state


    System Information

    DomainMOD Version: 4.19.0 (4.19.0) Local IP Address: 172.23.0.3 Remote IP Address: 102.119.189.120 Web Server OS: Linux c23dd4d67f7a 5.10.102.1-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 Web Server Software: Apache/2.4.53 (Debian) PHP Version: 7.4.29 PHP Error Log Location: /var/www/html/domainmod.log MySQL Version: 10.5.16-MariaDB-log MySQL Mode: NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

    Server Software: PHP v5.5+: Pass, MySQL: Pass PHP Extensions: PDO (MySQL): Enabled, cURL: Enabled, OpenSSL: Enabled, gettext: Enabled PHP Settings: allow_url_fopen: Enabled


    Hi,

    Am trying to import All domain under my account from cloudflare, All domain are imported successfully except .day tld domain.

    image

    Have try to remove the domain and re-add again, run the cron manually but it still stuck in Pending State

    Under the debug log,

    image

    Regards haidar

    investigating 
    opened by haidars 1
  • Domain that has been pulled by a csv file, do not shown on the system

    Domain that has been pulled by a csv file, do not shown on the system

    Hi there!

    I'm using the newest version of your system - Version 4.19.0.

    I've just tried to pull a domain with the Domain CSV Importer feature. I succeeded. You can see that on the DB and on the Dashboard. DB: image

    Dash: image

    But somehow, cannot reach it on the system. image image

    What should I do? There's no error msg here...

    investigating 
    opened by maorweissSV 1
  • PHP error: Column 'domain' cannot be null -- unable to import new domains

    PHP error: Column 'domain' cannot be null -- unable to import new domains

    Version 4.18.01

    PHP Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'domain' cannot be null in /var/www/html/classes/DomainMOD/DomainQueue.php:874\nStack trace:\n#0 /var/www/html/classes/DomainMOD/DomainQueue.php(874): PDOStatement->execute()\n#1 /var/www/html/classes/DomainMOD/DomainQueue.php(171): DomainMOD\\DomainQueue->importToDomainQueue()\n#2 /var/www/html/admin/scheduler/run.php(180): DomainMOD\\DomainQueue->processQueueList()\n#3 {main}\n thrown in /var/www/html/classes/DomainMOD/DomainQueue.php on line 874, referer: https://domainmod.xxxx.net/admin/scheduler/

    investigating 
    opened by ctrlbrk42 9
  • Convert nine variable assignments to the usage of combined operators

    Convert nine variable assignments to the usage of combined operators

    :eyes: Some source code analysis tools can help to find opportunities for improving software components. :thought_balloon: I propose to increase the usage of combined operators accordingly.

    diff --git a/assets/ssl-provider-fees.php b/assets/ssl-provider-fees.php
    index 8814efe6..0deb417a 100644
    --- a/assets/ssl-provider-fees.php
    +++ b/assets/ssl-provider-fees.php
    @@ -135,7 +135,7 @@
     
         foreach ($result2 as $row2) {
     
    -        $temp_all_missing_fees = $temp_all_missing_fees .= "<a href=\"add/ssl-provider-fee.php?sslpid=" . $sslpid . "&type_id=" . $row2->id . "\">" . $row2->type . "</a>, ";
    +        $temp_all_missing_fees .== "<a href=\"add/ssl-provider-fee.php?sslpid=" . $sslpid . "&type_id=" . $row2->id . "\">" . $row2->type . "</a>, ";
             $count++;
     
         }
    diff --git a/classes/DomainMOD/Format.php b/classes/DomainMOD/Format.php
    index 386f96ec..d1ab8d3f 100644
    --- a/classes/DomainMOD/Format.php
    +++ b/classes/DomainMOD/Format.php
    @@ -61,7 +61,7 @@ public function formatForMysql($domain_list)
             }
             $list_formatted = implode("\r\n", $new_domain_list);
             $list_formatted = "'" . $list_formatted;
    -        $list_formatted = $list_formatted . "'";
    +        $list_formatted .= "'";
             $list_formatted = preg_replace("/\r\n/", "','", $list_formatted);
             $list_formatted = str_replace(" ", "", $list_formatted);
             return trim($list_formatted);
    diff --git a/classes/DomainMOD/Layout.php b/classes/DomainMOD/Layout.php
    index 7a7240aa..1b1f569d 100644
    --- a/classes/DomainMOD/Layout.php
    +++ b/classes/DomainMOD/Layout.php
    @@ -95,7 +95,7 @@ public function pageBrowser($parameters)
                         $piece .= "$i";
                     }
                     $piece .= "</a>\n";
    -                $start = $start + $amm;
    +                $start += $amm;
                     $numSoFar++;
                     $wholePiece .= $piece;
                 }
    diff --git a/domains/index.php b/domains/index.php
    index 02fdb04b..1b3ae909 100644
    --- a/domains/index.php
    +++ b/domains/index.php
    @@ -964,7 +964,7 @@
     
         $parameters = array($total_rows, 15, $result_limit, "&pcid=" . $pcid . "&oid=" . $oid . "&dnsid=" . $dnsid . "&ipid=" . $ipid . "&whid=" . $whid . "&rid=" . $rid . "&raid=" . $raid . "&daterange=" . $daterange . "&tld=" . $tld . "&segid=" . $segid . "&is_active=" . $is_active . "&result_limit=" . $result_limit . "&sort_by=" . $sort_by, $temp_numbegin, $temp_begin, $temp_num);
         $navigate = $layout->pageBrowser($parameters);
    -    $sql = $sql . $navigate[0];
    +    $sql .= $navigate[0];
     
     }
     
    diff --git a/domains/results.php b/domains/results.php
    index c05eba2a..ba9b8a18 100644
    --- a/domains/results.php
    +++ b/domains/results.php
    @@ -188,10 +188,10 @@
             foreach ($result as $row) {
     
                 $temp_initial_fee = $row->initial_fee * $row->conversion;
    -            $total_initial_fee_export = $total_initial_fee_export + $temp_initial_fee;
    +            $total_initial_fee_export += $temp_initial_fee;
     
                 $temp_renewal_fee = $row->renewal_fee * $row->conversion;
    -            $total_renewal_fee_export = $total_renewal_fee_export + $temp_renewal_fee;
    +            $total_renewal_fee_export += $temp_renewal_fee;
     
                 if ($row->active == "0") {
                     $domain_status = strtoupper(_('Expired'));
    diff --git a/vendor/phpmailer/phpmailer/class.phpmailer.php b/vendor/phpmailer/phpmailer/class.phpmailer.php
    index abb67961..7b1132ad 100644
    --- a/vendor/phpmailer/phpmailer/class.phpmailer.php
    +++ b/vendor/phpmailer/phpmailer/class.phpmailer.php
    @@ -1991,13 +1991,13 @@ public function utf8CharBoundary($encodedText, $maxLength)
                         // If the encoded char was found at pos 0, it will fit
                         // otherwise reduce maxLength to start of the encoded char
                         if ($encodedCharPos > 0) {
    -                        $maxLength = $maxLength - ($lookBack - $encodedCharPos);
    +                        $maxLength -= $lookBack - $encodedCharPos;
                         }
                         $foundSplitPos = true;
                     } elseif ($dec >= 192) {
                         // First byte of a multi byte character
                         // Reduce maxLength to split at start of character
    -                    $maxLength = $maxLength - ($lookBack - $encodedCharPos);
    +                    $maxLength -= $lookBack - $encodedCharPos;
                         $foundSplitPos = true;
                     } elseif ($dec < 192) {
                         // Middle byte of a multi byte character, look further back
    diff --git a/vendor/phpmailer/phpmailer/class.smtp.php b/vendor/phpmailer/phpmailer/class.smtp.php
    index d2b9a0ab..e2fee9ea 100644
    --- a/vendor/phpmailer/phpmailer/class.smtp.php
    +++ b/vendor/phpmailer/phpmailer/class.smtp.php
    @@ -712,7 +712,7 @@ public function data($msg_data)
             //Message data has been sent, complete the command
             //Increase timelimit for end of DATA command
             $savetimelimit = $this->Timelimit;
    -        $this->Timelimit = $this->Timelimit * 2;
    +        $this->Timelimit *= 2;
             $result = $this->sendCommand('DATA END', '.', 250);
             $this->recordLastTransactionID();
             //Restore timelimit
    
    investigating 
    opened by elfring 1
Releases(v4.19.0)
  • v4.19.0(Apr 25, 2022)

    • Added CSV Import support
    • Added Cloudflare API support
    • Added support for Registrar Account ID
    • Added a security policy in repo root
    • Upgraded AdminLTE from v3.1.0 to v3.2.0
    • Changed currency converter to Exchangerate.host
    • Upgraded Composer
    • Upgraded GJClasses (0.34.0 -> 0.35.0)
    • Various fixes and copy updates
    Source code(tar.gz)
    Source code(zip)
  • v4.18.01(Jul 24, 2021)

  • v4.18.0(Jul 23, 2021)

    • Added Dark Mode
    • Added Feedback page
    • Added a strong Content Security Policy
    • Added the ability to disable the CSP headers
    • Added ssl.php Helper
    • Upgraded AdminLTE from v2.4.5 to v3.1.0
    • Improved session security on password change
    • Various UI updates and improvements
    Source code(tar.gz)
    Source code(zip)
  • v4.17.0(Jun 27, 2021)

    • Added URL Custom Field Type
    • Added exchangerate.host currency conversion support
    • Added numerous security measures
      • Enabled X-Content-Type-Options nosniff for security
      • Enabled X-XSS-Protection header to help prevent XSS
      • Enabled session.cookie_httponly for security
      • Cast some variables as integers for XSS protection
      • Implemented anti-frame HTTP headers
      • Updated $segid to be cast as integer for security
      • Disabled autocomplete for password fields
    • Updated translations
    • Updated Composer packages
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.16.0(Nov 3, 2020)

  • v4.15.0(May 18, 2020)

    • Added Gandi API support
    • Added support for more than 100 domains with Namecheap API
    • Added some text validation to Asset pages
    • Added GitHub "Stale" App
    • Changed PHP requirement from 5.3.2 to 5.5
    • Fixed domain sanitization for IDN compatibility
    • Fixed Integrity constraint violation error
    • Fixed SSL keyword search
    • Fixed unbuffered query issue (again)
    • Sanitized SSL keyword search
    • Reverted some identical operators
    • Removed Scrutinizer-CI badges from README
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.14.0(May 11, 2020)

    • Added Backup & Restore
    • Added the ability to change the email signature
    • Updated Name.com API to v4
    • Changed delete links to modals
    • Switched password hashing from MD5 to bcrypt
    • Removed Free Currency Converter API
    • Upgraded Composer
    • Upgraded GJClasses (0.27.0 -> 0.29.0)
    • Upgraded PHPMailer (5.2.27 -> 5.2.28)
    • Installed mysql-import (1.0.1)
    • Installed uploader (0.1.8)
    • Installed mysqldump-php (2.9)
    • Fixed various vulnerabilities (including CVE-2019-15811)
    Source code(tar.gz)
    Source code(zip)
  • v4.13.0(Feb 9, 2019)

    • Added Custom Domain Fields to main Domains page
    • Added Custom SSL Fields to main SSL page
    • Added the ability to change Currency Converter
    • Fixed Segment filtering bug when no active domains
    • Switched placeholder date to unix epoch time
    • Switched DEMO_INSTALLATION from integer to boolean
    • Switched $from_cron from integer to boolean
    • Switched 'Upgrade Available' message colour
    • Updated text sanitization to use GJClasses
    • Updated redirect on various settings pages
    • Updated Conversion class
    • Updated sendExpirations & checkExpiring classes
    • Updated Composer
    • Updated GJClasses (0.21.0 -> 0.27.0)
    • Updated PHPMailer (5.2.26 -> 5.2.27)
    Source code(tar.gz)
    Source code(zip)
  • v4.12.0(Feb 3, 2019)

    • Added Sanitize class
    • Added Unsanitize class
    • Added Validate class
    • Added GJClasses Composer package
    • Added Date Picker to Add Domain
    • Added Date Picker to Add SSL Certificate
    • Added Contributing Guidelines
    • Implemented GJClasses for currency conversions
    • Updated Composer
    • Updated Security section of README
    • Updated README
    • Updated copyright
    • Validations to prevent Cross-Site Scripting
    • Validations to prevent SQL Injection
    • Further sanitize user input
    • Linked TLD results to registrar fee edit
    • Showed default currency with Fee heading
    • Refactored each() statements for PHP 7.2 compatibility
    • Moved pageTitle method from System to Layout
    • Removed unused getConversionRate method
    • Removed unused Form class calls
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.11.01(Sep 12, 2018)

  • v4.11.0(Aug 30, 2018)

    • Added DW table checks to prevent fatal errors
    • Added MYSQL_ATTR_USE_BUFFERED_QUERY true to PDO options
    • Added MySQL mode declaration during DB connection
    • Added MySQL mode to System Information page
    • Fixed Textarea field display on add SSL page
    • Fixed readOnlyCheck method
    • Fixed add segment URL
    • Fixed search_for search box code
    Source code(tar.gz)
    Source code(zip)
  • v4.10.0(May 27, 2018)

    • Added date picker to all expiry date fields
    • Added DIR_TEMP constant to init.inc.php
    • Added /temp folder to .gitignore
    • Added date picker to all expiry date fields
    • Added a short version of the system requirements
    • Added File class
    • Updated how the date range picker functions
    • Updated type casting from (integer) to (int)
    • Fixed CVE-2018-11403
    • Fixed CVE-2018-11404
    Source code(tar.gz)
    Source code(zip)
  • v4.09.03(Apr 10, 2018)

  • v4.09.02(Apr 9, 2018)

  • v4.09.01(Apr 8, 2018)

  • v4.09.00(Apr 8, 2018)

    • Added Requirements to README
    • Added Code of Conduct to README
    • Added PHP mail() wrapper
    • Added logging to email sends
    • Expanded the installation process
    • Updated Composer (1.4.1 -> 1.4.2)
    • Updated PHPMailer (5.2.25 -> 5.2.26)
    • Updated PHP Cron Expression Parser (1.2.0 -> 1.2.1)
    • Switched from Fixer.io to Currency Converter API
    • Updated Email Send code
    • Updated remote file retrieval code
    • Updated System Information page with more data
    • Updated logging to include more information
    • Updated Registrar API writeups
    • Various fixes & code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.08.00(Nov 6, 2017)

    • Replaced Yahoo Finance API with Fixer.io API
    • Changed GoDaddy domain list limit to 1,000
    • Reordered Dashboard Panels
    • Added lowercaseTlds method to Maintenance class
    • Removed line break from end of version.txt
    Source code(tar.gz)
    Source code(zip)
  • v4.07.00(Oct 2, 2017)

    • Finished converting MySQLi to PDO
    • Implemented database transactions
    • Implemented Database class
    • Implemented Upgrade class
    • Updated Dashboard panels
    • Updated rules in checkFormat method
    • Updated PHPMailer (5.2.23 -> 5.2.25)
    • Fixed expiration email URLs
    Source code(tar.gz)
    Source code(zip)
  • v4.06.01(Jun 26, 2017)

  • v4.06.00(Jun 26, 2017)

    • Migrated database tables from MyISAM to InnoDB
    • Finished converting main queries to PDO
    • Switched to Composer for PSR-4 Autoloading
    • Updated Data Warehouse classes
    • Updated DOCTYPE
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.05.03(Jun 4, 2017)

    • Added Helper File mechanism
    • Added local logging of PHP errors
    • Added error reporting options
    • Updated System Information page
    • Code Cleanup (Converting to PDO)
    Source code(tar.gz)
    Source code(zip)
  • v4.05.02(May 30, 2017)

  • v4.05.01(May 30, 2017)

    • Fixed bulk domain renewal bug
    • Updated DB execute syntax for PHP 5.3 compatibility
    • Updated Add & Edit User processes
    • Added timeBasicMinusDays method to Time class
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.05.00(May 27, 2017)

  • v4.04.001(May 16, 2017)

  • v4.04.000(May 16, 2017)

    • Added Date and Time Stamp Custom Field Types
    • Updated DB upgrade script to run from command line
    • Changed email encoding from iso-8859-1 to UTF-8
    • Updated Composer (? -> 1.4.1)
    • Updated PHP Cron Expression Parser (1.1.0 -> 1.2.0)
    • Updated PHPMailer (5.2.16 -> 5.2.23)
    • Code cleanup
    Source code(tar.gz)
    Source code(zip)
  • v4.03.002(May 16, 2017)

  • v4.03.001(May 16, 2017)

  • v4.03.000(May 16, 2017)

    • Increased SMTP Port form field from 3 to 5
    • Updated Maintenance class to lowercase domains
    • Updated Domain Queue maintenance tasks
    • Updated highlightText method
    • Added Softaculous to README
    • Added Documentation (User Guide)
    Source code(tar.gz)
    Source code(zip)
  • v4.02.001(May 16, 2017)

    • Updated GoDaddy API domain retrieval to 10,000
    • Increased SMTP port length from 3 to 5
    • Updated currency symbol for Turkish Lira
    • Changed Maintenance task order
    • Removed URL encoding from footer redirects
    • Updated default DATETIME values in install script
    Source code(tar.gz)
    Source code(zip)
Owner
DomainMOD
An open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location.
DomainMOD
Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Server Manager Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open

null 8 Aug 9, 2022
ViMbAdmin project provides a web based virtual mailbox administration system to allow mail administrators to easily manage domains, mailboxes and aliases.

ViMbAdmin project (vim-be-admin) provides a web based virtual mailbox administration system to allow mail administrators to easily manage domains, mailboxes and aliases.

Open Solutions 464 Jan 1, 2023
Mibew Messenger - open-source live support application written in PHP and MySQL

Mibew Messenger is an open-source live support application written in PHP and MySQL. It enables one-on-one chat assistance in real-time directly from your website.

Mibew Messenger 443 Dec 13, 2022
Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms 1.1k Dec 22, 2022
A11Y platform - built by a community who believes in an open internet.

Equalify the web! 96.8% of homepages are inaccessible, according to WebAIM. That statistic is unacceptable. Everyone should have access to online info

Blake Bertuccelli 65 Dec 13, 2022
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

opensourcepos 2.7k Jan 2, 2023
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP

MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP. It supports only MySQL databases.

Lucas Giovanni 6 Aug 26, 2022
This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. It allows you to query some other server information

QueryServer This is a plugin written in PHP programming language and running on the PocketMine platform that works stably on the API 4.0.0 platform. I

Thành Nhân 1 Jul 6, 2022
Open Source Social Network (OSSN) is a social networking software written in PHP.

Open Source Social Network (OSSN) is a social networking software written in PHP. It allows you to make a social networking website and helps your members build social relationships, with people who share similar professional or personal interests. It is available in 17 international languages.

Open Source Social Network 923 Jan 6, 2023
Feature plugin to count CSS and JS assets loaded by the theme on front-end and display recommandations in Site Health

=== Site Health - Audit Enqueued Assets === Contributors: audrasjb, whodunitagency Tags: site health, performance audit, performance test, assets, scr

Jb Audras 3 Nov 5, 2021
Bolt is a simple CMS written in PHP. It is based on Silex and Symfony components, uses Twig and either SQLite, MySQL or PostgreSQL.

⚠️ Note - Not the latest version This is the repository for Bolt 3. Please know that Bolt 5 has been released. If you are starting a new project, plea

Bolt 4.1k Dec 27, 2022
This is a Task Manager system for managing your task. You can categorize your tasks and upload music to the project And a whole host of other features

taskManager Login and register Each user can have their own task Categorize tasks by creating folders Edit and Delete Folders Search for Tasks Show nu

masoudharooni 11 May 22, 2022
OpenEMR is a Free and Open Source electronic health records and medical practice management application

OpenEMR is a Free and Open Source electronic health records and medical practice management application. It features fully integrated electronic health records, practice management, scheduling, electronic billing, internationalization, free support, a vibrant community, and a whole lot more. It runs on Windows, Linux, Mac OS X, and many other platforms.

OpenEMR 2.1k Jan 9, 2023
🔐 Password Manager written in PHP with MySQL database.

Password Manager A very basic password manager. Tech stack: PHP MySQL Bootstrap Setup Download and install XAMPP. Clone this repository: git clone htt

Olivér 4 Jun 25, 2022
Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable.

Damn Vulnerable Web Application (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goal is to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and to aid both students & teachers to learn about web application security in a controlled class room environment.

Robin Wood 7k Jan 5, 2023
Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income.

Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income. Table of Contents About

Ray Icemont 4 Nov 22, 2022
A PHP based web application to help manage your postmortems

morgue a safe place for all your postmortem data Overview This is a PHP based web application to help manage your postmortems. It has a pluggable feat

Etsy, Inc. 1k Dec 29, 2022
EspoCRM open source CRM application

EspoCRM is an Open Source CRM (Customer Relationship Management) software that allows you to see, enter and evaluate all your company relationships regardless of the type. People, companies or opportunities - all in an easy and intuitive interface.

EspoCRM - Open Source CRM 1k Dec 29, 2022