diff --git a/README.md b/README.md index 234e86b..8199ad9 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,51 @@ It'll regularly check your IP address and update a selected Digital Ocean domain - At least one domain name added to your account. - At least a `cname` or an `A` record added to a domain that DODDNS will try to update. -# Docs +## Installation / Usage -You can see installation instruction, usage and other things [in the documentation](https://atomescrochus.gitbook.io/doddns/). +Using composer, you will need to run the following command to install DODDNS into the global space: + +``` +composer global require jpmurray/doddns +``` + +For DODDNS to work correctly you will have to make sure composer vendor's bin folder is added to your system's `$PATH`. You can test it by typing `doddns` in your terminal of choice: if it is installed correctly, you should be seeing commands usage instructions. + +Next, you will have to add your DigitalOcean API token with the `token:add` command and then select which record you want to update with the `record:select` command. + +Once it's done, you're good to go! + +## Available commands + +You can then use the doddns command to see a list of possible actions: + +- `ip:last`: will output the last known IP that has been found / used and the timestamp of last update. +- `ip:current`: will query ipcheck.doddns.com to get your current IP address. +- `notifications:toggle`: turn desktop notification on or off (default is off). +- `record:delete`: removes saved record from the config file. +- `record:select`: Display a list of domains and records found with your DigitalOcean token to choose which to update with your current IP address. +- `record:update`: updates the selected record in config file with current IP. +- `token:add {token}`: will set your DigitalOcean personal access token, overwriting any existing value. + +### Automatic updates + +If you want DODDNS to update your selected domain record automatically with your current IP address, you will have to add entry to your cron tab like so: + +``` +* * * * * php /path-to-doddns/doddns schedule:run >> /dev/null 2>&1. +``` + +After that, DODDNS will try to update every hours by itself. + +## Updating DODDNS + +### Version 3.0.0 and after + +Version 3.0.0 changed a lot in term of workflow. If you install DODDNS from before 3.0.0, it is suggested that you remove the doddns folder entirely from the .config folder located in your home directory then start back from scratch so everything is clean. + +### Before 3.0.0 + +If you've pulled or downloaded a new version, be sure to run doddns setup and choose the upgrade option to make sure your local database is up to date! You can also forgo the menu to upgrade directly using `doddns setup -U`. ## PRs Any help is appreciated, please PR to the develop branch. diff --git a/app/Helpers/DigitalOceanHelper.php b/app/Helpers/DigitalOceanHelper.php index b04d656..7ac78fb 100644 --- a/app/Helpers/DigitalOceanHelper.php +++ b/app/Helpers/DigitalOceanHelper.php @@ -2,29 +2,24 @@ namespace App\Helpers; -use DigitalOceanV2\Adapter\GuzzleHttpAdapter; -use DigitalOceanV2\DigitalOceanV2; +use DigitalOceanV2\Client; -/** - * - */ class DigitalOceanHelper { - private $adapter; private $digitalocean; - + public $domain; public $domainRecord; protected $token; - + public function __construct($token) { $this->token = $token; - $this->adapter = new GuzzleHttpAdapter($this->token); - $this->digitalocean = new DigitalOceanV2($this->adapter); + $this->digitalocean = new Client(); + $this->digitalocean->authenticate($this->token); $this->domain = $this->digitalocean->domain(); $this->domainRecord = $this->digitalocean->domainRecord(); @@ -41,7 +36,7 @@ public function getDomains() public function getDomainRecords($domain) { return collect($this->domainRecord->getAll($domain))->filter(function ($record) { - return $record->type == "CNAME" || $record->type == "A"; + return $record->type == 'CNAME' || $record->type == 'A'; }); } } diff --git a/builds/doddns b/builds/doddns index 789d631..4185a22 100755 Binary files a/builds/doddns and b/builds/doddns differ diff --git a/changelog.md b/changelog.md index 132c051..3073124 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,10 @@ ## X (Next release) +## 3.5.0 + +- Usage of the Digital Ocean API Client has changed, fixed its usage. + ## 3.4.2 - Box file was empty, didn't compile binary correctly. diff --git a/composer.json b/composer.json index 23c45f2..b075ec4 100644 --- a/composer.json +++ b/composer.json @@ -24,11 +24,12 @@ ], "require": { "php": "^7.3", - "guzzlehttp/guzzle": "^7.0", + "guzzlehttp/guzzle": "^7.2", "laravel-zero/framework": "^8.0", "nunomaduro/laravel-console-menu": "^3.1", "nunomaduro/laravel-desktop-notifier": "^2.2", - "toin0u/digitalocean-v2": "~2.0", + "toin0u/digitalocean-v2": "~4.3", + "http-interop/http-factory-guzzle": "^1.0", "laminas/laminas-text": "^2.7" }, "require-dev": { diff --git a/composer.lock b/composer.lock index a2f6c9b..7bf53a0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3a5ed7eb0f9be6ae083f79f49ce7ff59", + "content-hash": "4eae477029cfb078bbec0200d85e58b7", "packages": [ { "name": "beberlei/assert", @@ -129,6 +129,72 @@ ], "time": "2021-01-20T22:51:39+00:00" }, + { + "name": "clue/stream-filter", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/clue/stream-filter.git", + "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/stream-filter/zipball/aeb7d8ea49c7963d3b581378955dbf5bc49aa320", + "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\StreamFilter\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/php-stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], + "support": { + "issues": "https://github.com/clue/stream-filter/issues", + "source": "https://github.com/clue/stream-filter/tree/v1.5.0" + }, + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2020-10-02T12:38:20+00:00" + }, { "name": "container-interop/container-interop", "version": "1.2.0", @@ -744,6 +810,60 @@ }, "time": "2021-04-26T09:17:50+00:00" }, + { + "name": "http-interop/http-factory-guzzle", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/http-interop/http-factory-guzzle.git", + "reference": "34861658efb9899a6618cef03de46e2a52c80fc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/34861658efb9899a6618cef03de46e2a52c80fc0", + "reference": "34861658efb9899a6618cef03de46e2a52c80fc0", + "shasum": "" + }, + "require": { + "guzzlehttp/psr7": "^1.4.2", + "psr/http-factory": "^1.0" + }, + "provide": { + "psr/http-factory-implementation": "^1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.5", + "phpunit/phpunit": "^6.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Factory\\Guzzle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "An HTTP Factory using Guzzle PSR7", + "keywords": [ + "factory", + "http", + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/http-interop/http-factory-guzzle/issues", + "source": "https://github.com/http-interop/http-factory-guzzle/tree/master" + }, + "time": "2018-07-31T19:32:56+00:00" + }, { "name": "illuminate/bus", "version": "v8.40.0", @@ -2075,16 +2195,16 @@ }, { "name": "nesbot/carbon", - "version": "2.46.0", + "version": "2.47.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4" + "reference": "606262fd8888b75317ba9461825a24fc34001e1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/606262fd8888b75317ba9461825a24fc34001e1e", + "reference": "606262fd8888b75317ba9461825a24fc34001e1e", "shasum": "" }, "require": { @@ -2164,7 +2284,7 @@ "type": "tidelift" } ], - "time": "2021-02-24T17:30:44+00:00" + "time": "2021-04-13T21:54:02+00:00" }, { "name": "nunomaduro/collision", @@ -2520,39 +2640,55 @@ "time": "2020-10-30T15:41:03+00:00" }, { - "name": "php-school/cli-menu", - "version": "4.1.0", + "name": "php-http/client-common", + "version": "2.3.0", "source": { "type": "git", - "url": "https://github.com/php-school/cli-menu.git", - "reference": "d25ae866d86b1ac95f026e7147c0e30ef4996dcd" + "url": "https://github.com/php-http/client-common.git", + "reference": "e37e46c610c87519753135fb893111798c69076a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-school/cli-menu/zipball/d25ae866d86b1ac95f026e7147c0e30ef4996dcd", - "reference": "d25ae866d86b1ac95f026e7147c0e30ef4996dcd", + "url": "https://api.github.com/repos/php-http/client-common/zipball/e37e46c610c87519753135fb893111798c69076a", + "reference": "e37e46c610c87519753135fb893111798c69076a", "shasum": "" }, "require": { - "beberlei/assert": "^2.4 | ^3", - "ext-mbstring": "*", - "ext-posix": "*", - "php": ">=7.1", - "php-school/terminal": "^0.2.1" + "php": "^7.1 || ^8.0", + "php-http/httplug": "^2.0", + "php-http/message": "^1.6", + "php-http/message-factory": "^1.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "symfony/options-resolver": "^2.6 || ^3.4.20 || ~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^8.0 | ^9.0", - "squizlabs/php_codesniffer": "^3.2" + "doctrine/instantiator": "^1.1", + "guzzlehttp/psr7": "^1.4", + "nyholm/psr7": "^1.2", + "phpspec/phpspec": "^5.1 || ^6.0", + "phpspec/prophecy": "^1.10.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" + }, + "suggest": { + "ext-json": "To detect JSON responses with the ContentTypePlugin", + "ext-libxml": "To detect XML responses with the ContentTypePlugin", + "php-http/cache-plugin": "PSR-6 Cache plugin", + "php-http/logger-plugin": "PSR-3 Logger plugin", + "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, "autoload": { "psr-4": { - "PhpSchool\\CliMenu\\": "src" - }, - "files": [ - "src/Util/ArrayUtils.php" - ] + "Http\\Client\\Common\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2560,56 +2696,64 @@ ], "authors": [ { - "name": "Michael Woodward", - "email": "mikeymike.mw@gmail.com" - }, - { - "name": "Aydin Hassan", - "email": "aydin@hotmail.com" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" } ], - "description": "A command line menu helper in PHP", + "description": "Common HTTP Client implementations and tools for HTTPlug", + "homepage": "http://httplug.io", "keywords": [ - "cli", - "console", - "menu", - "php-school", - "phpschool", - "terminal" + "client", + "common", + "http", + "httplug" ], "support": { - "issues": "https://github.com/php-school/cli-menu/issues", - "source": "https://github.com/php-school/cli-menu/tree/4.1.0" + "issues": "https://github.com/php-http/client-common/issues", + "source": "https://github.com/php-http/client-common/tree/2.3.0" }, - "time": "2020-10-24T09:18:48+00:00" + "time": "2020-07-21T10:04:13+00:00" }, { - "name": "php-school/terminal", - "version": "0.2.1", + "name": "php-http/discovery", + "version": "1.13.0", "source": { "type": "git", - "url": "https://github.com/php-school/terminal.git", - "reference": "725f86c7db996a4cf65648022f17e22391e97320" + "url": "https://github.com/php-http/discovery.git", + "reference": "788f72d64c43dc361e7fcc7464c3d947c64984a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-school/terminal/zipball/725f86c7db996a4cf65648022f17e22391e97320", - "reference": "725f86c7db996a4cf65648022f17e22391e97320", + "url": "https://api.github.com/repos/php-http/discovery/zipball/788f72d64c43dc361e7fcc7464c3d947c64984a7", + "reference": "788f72d64c43dc361e7fcc7464c3d947c64984a7", "shasum": "" }, "require": { - "ext-posix": "*", - "php": ">=7.1" + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0" }, "require-dev": { - "phpstan/phpstan": "^0.9.2", - "phpunit/phpunit": "^7.1", - "squizlabs/php_codesniffer": "^3.2" + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1", + "puli/composer-plugin": "1.0.0-beta10" + }, + "suggest": { + "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", + "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, "autoload": { "psr-4": { - "PhpSchool\\Terminal\\": "src" + "Http\\Discovery\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2618,119 +2762,139 @@ ], "authors": [ { - "name": "Michael Woodward", - "email": "mikeymike.mw@gmail.com" - }, - { - "name": "Aydin Hassan", - "email": "aydin@hotmail.com" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" } ], - "description": "A command line terminal utility in PHP", + "description": "Finds installed HTTPlug implementations and PSR-7 message factories", + "homepage": "http://php-http.org", "keywords": [ - "cli", - "console", - "php-school", - "phpschool", - "terminal" + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr7" ], "support": { - "issues": "https://github.com/php-school/terminal/issues", - "source": "https://github.com/php-school/terminal/tree/0.2.1" + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.13.0" }, - "time": "2019-12-17T21:56:06+00:00" + "time": "2020-11-27T14:49:42+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.7.5", + "name": "php-http/httplug", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + "url": "https://github.com/php-http/httplug.git", + "reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "url": "https://api.github.com/repos/php-http/httplug/zipball/191a0a1b41ed026b717421931f8d3bd2514ffbf9", + "reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" + "php": "^7.1 || ^8.0", + "php-http/promise": "^1.1", + "psr/http-client": "^1.0", + "psr/http-message": "^1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + "friends-of-phpspec/phpspec-code-coverage": "^4.1", + "phpspec/phpspec": "^5.1 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" + "name": "Eric GELOEN", + "email": "geloen.eric@gmail.com" }, { - "name": "Graham Campbell", - "email": "graham@alt-three.com" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], - "description": "Option Type for PHP", + "description": "HTTPlug, the HTTP client abstraction for PHP", + "homepage": "http://httplug.io", "keywords": [ - "language", - "option", - "php", - "type" + "client", + "http" ], "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + "issues": "https://github.com/php-http/httplug/issues", + "source": "https://github.com/php-http/httplug/tree/master" }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2020-07-20T17:29:33+00:00" + "time": "2020-07-13T15:43:23+00:00" }, { - "name": "psr/container", - "version": "1.1.1", + "name": "php-http/message", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "url": "https://github.com/php-http/message.git", + "reference": "fb0dbce7355cad4f4f6a225f537c34d013571f29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-http/message/zipball/fb0dbce7355cad4f4f6a225f537c34d013571f29", + "reference": "fb0dbce7355cad4f4f6a225f537c34d013571f29", "shasum": "" }, "require": { - "php": ">=7.2.0" + "clue/stream-filter": "^1.5", + "php": "^7.1 || ^8.0", + "php-http/message-factory": "^1.0.2", + "psr/http-message": "^1.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.6", + "ext-zlib": "*", + "guzzlehttp/psr7": "^1.0", + "laminas/laminas-diactoros": "^2.0", + "phpspec/phpspec": "^5.1 || ^6.3", + "slim/slim": "^3.0" + }, + "suggest": { + "ext-zlib": "Used with compressor/decompressor streams", + "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", + "laminas/laminas-diactoros": "Used with Diactoros Factories", + "slim/slim": "Used with Slim Framework PSR-7 implementation" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" - } + "Http\\Message\\": "src/" + }, + "files": [ + "src/filters.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2738,47 +2902,394 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "HTTP Message related tools", + "homepage": "http://php-http.org", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "http", + "message", + "psr-7" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "issues": "https://github.com/php-http/message/issues", + "source": "https://github.com/php-http/message/tree/1.11.0" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-02-01T08:54:58+00:00" }, { - "name": "psr/http-client", - "version": "1.0.1", + "name": "php-http/message-factory", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", + "php": ">=5.4", "psr/http-message": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "support": { + "issues": "https://github.com/php-http/message-factory/issues", + "source": "https://github.com/php-http/message-factory/tree/master" + }, + "time": "2015-12-19T14:08:53+00:00" + }, + { + "name": "php-http/promise", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/promise.git", + "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", + "phpspec/phpspec": "^5.1.2 || ^6.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joel Wurtz", + "email": "joel.wurtz@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Promise used for asynchronous HTTP requests", + "homepage": "http://httplug.io", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/php-http/promise/issues", + "source": "https://github.com/php-http/promise/tree/1.1.0" + }, + "time": "2020-07-07T09:29:14+00:00" + }, + { + "name": "php-school/cli-menu", + "version": "4.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-school/cli-menu.git", + "reference": "d25ae866d86b1ac95f026e7147c0e30ef4996dcd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-school/cli-menu/zipball/d25ae866d86b1ac95f026e7147c0e30ef4996dcd", + "reference": "d25ae866d86b1ac95f026e7147c0e30ef4996dcd", + "shasum": "" + }, + "require": { + "beberlei/assert": "^2.4 | ^3", + "ext-mbstring": "*", + "ext-posix": "*", + "php": ">=7.1", + "php-school/terminal": "^0.2.1" + }, + "require-dev": { + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8.0 | ^9.0", + "squizlabs/php_codesniffer": "^3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpSchool\\CliMenu\\": "src" + }, + "files": [ + "src/Util/ArrayUtils.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Woodward", + "email": "mikeymike.mw@gmail.com" + }, + { + "name": "Aydin Hassan", + "email": "aydin@hotmail.com" + } + ], + "description": "A command line menu helper in PHP", + "keywords": [ + "cli", + "console", + "menu", + "php-school", + "phpschool", + "terminal" + ], + "support": { + "issues": "https://github.com/php-school/cli-menu/issues", + "source": "https://github.com/php-school/cli-menu/tree/4.1.0" + }, + "time": "2020-10-24T09:18:48+00:00" + }, + { + "name": "php-school/terminal", + "version": "0.2.1", + "source": { + "type": "git", + "url": "https://github.com/php-school/terminal.git", + "reference": "725f86c7db996a4cf65648022f17e22391e97320" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-school/terminal/zipball/725f86c7db996a4cf65648022f17e22391e97320", + "reference": "725f86c7db996a4cf65648022f17e22391e97320", + "shasum": "" + }, + "require": { + "ext-posix": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "^0.9.2", + "phpunit/phpunit": "^7.1", + "squizlabs/php_codesniffer": "^3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpSchool\\Terminal\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Woodward", + "email": "mikeymike.mw@gmail.com" + }, + { + "name": "Aydin Hassan", + "email": "aydin@hotmail.com" + } + ], + "description": "A command line terminal utility in PHP", + "keywords": [ + "cli", + "console", + "php-school", + "phpschool", + "terminal" + ], + "support": { + "issues": "https://github.com/php-school/terminal/issues", + "source": "https://github.com/php-school/terminal/tree/0.2.1" + }, + "time": "2019-12-17T21:56:06+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.7.5", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2020-07-20T17:29:33+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -2809,6 +3320,61 @@ }, "time": "2020-06-29T06:28:15+00:00" }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -2864,16 +3430,16 @@ }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -2897,7 +3463,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -2908,9 +3474,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.3" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "time": "2020-03-23T09:12:05+00:00" + "time": "2021-05-03T11:20:27+00:00" }, { "name": "psr/simple-cache", @@ -3273,6 +3839,73 @@ ], "time": "2021-04-19T14:07:32+00:00" }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, { "name": "symfony/error-handler", "version": "v5.2.7", @@ -3403,6 +4036,75 @@ ], "time": "2021-02-15T18:55:04+00:00" }, + { + "name": "symfony/options-resolver", + "version": "v5.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", + "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v5.2.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T12:56:27+00:00" + }, { "name": "symfony/polyfill-ctype", "version": "v1.22.1", @@ -4374,38 +5076,35 @@ }, { "name": "toin0u/digitalocean-v2", - "version": "2.3.0", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/DigitalOceanPHP/Client.git", - "reference": "0e8e134060ba8ed4944ececd0d4b1f7c79313910" + "reference": "1ffb85f66e6d1530b3a3ed1b74de293fc0b0bb85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DigitalOceanPHP/Client/zipball/0e8e134060ba8ed4944ececd0d4b1f7c79313910", - "reference": "0e8e134060ba8ed4944ececd0d4b1f7c79313910", + "url": "https://api.github.com/repos/DigitalOceanPHP/Client/zipball/1ffb85f66e6d1530b3a3ed1b74de293fc0b0bb85", + "reference": "1ffb85f66e6d1530b3a3ed1b74de293fc0b0bb85", "shasum": "" }, "require": { - "php": ">=5.4.0" + "ext-json": "*", + "php": "^7.2.5 || ^8.0", + "php-http/client-common": "^2.3", + "php-http/discovery": "^1.12", + "php-http/httplug": "^2.2", + "psr/http-client-implementation": "^1.0", + "psr/http-factory-implementation": "^1.0", + "psr/http-message": "^1.0", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { - "guzzle/guzzle": "^3.7", - "guzzlehttp/guzzle": "^5.3|^6.3", - "kriswallsmith/buzz": "^0.16", - "phpspec/phpspec": "^2.5" - }, - "suggest": { - "guzzle/guzzle": "To use GuzzleAdapter, require guzzle/guzzle:^3.7.", - "guzzlehttp/guzzle": "To use GuzzleHttpAdapter, require guzzlehttp/guzzle:^5.3|^6.3.", - "kriswallsmith/buzz": "To use BuzzAdapter, require kriswallsmith/buzz:^0.16." + "bamarni/composer-bin-plugin": "^1.4.1", + "guzzlehttp/guzzle": "^7.2", + "http-interop/http-factory-guzzle": "^1.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "DigitalOceanV2\\": "src/" @@ -4418,19 +5117,26 @@ "authors": [ { "name": "Antoine Corcy", - "email": "contact@sbin.dk", - "homepage": "http://sbin.dk", - "role": "Developer" + "email": "contact@sbin.dk" }, { - "name": "Yassir Hannnoun", - "email": "yassir.hannoun@gmail.com", - "homepage": "https://yassirh.com", - "role": "Developer" + "name": "Graham Campbell", + "email": "graham@alt-three.com" + }, + { + "name": "Yassir Hannoun", + "email": "yassir.hannoun@gmail.com" + }, + { + "name": "Glenn Jacobs", + "email": "glenn@neondigital.co.uk" + }, + { + "name": "Cameron Van Orman", + "email": "cameron@efelle.com" } ], - "description": "DigitalOcean API v2 PHP 5.4+ library", - "homepage": "https://github.com/toin0u/DigitalOceanV2", + "description": "DigitalOcean API v2 client for PHP", "keywords": [ "Cloud Hosting", "SSD", @@ -4439,8 +5145,8 @@ "vps" ], "support": { - "issues": "https://github.com/toin0u/DigitalOceanV2/issues", - "source": "https://github.com/toin0u/DigitalOceanV2" + "issues": "https://github.com/DigitalOceanPHP/Client/issues", + "source": "https://github.com/DigitalOceanPHP/Client/tree/4.3.0" }, "funding": [ { @@ -4448,7 +5154,7 @@ "type": "github" } ], - "time": "2019-01-27T21:16:56+00:00" + "time": "2021-03-14T20:10:34+00:00" }, { "name": "vlucas/phpdotenv", diff --git a/config/app.php b/config/app.php index 8ecc8ca..72ef52b 100644 --- a/config/app.php +++ b/config/app.php @@ -26,7 +26,7 @@ | */ - 'version' => '3.4.2', + 'version' => '3.5.0', /* |--------------------------------------------------------------------------