From 7d8436f138fc6b08f521a25d8a98a51c442099ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Gangloff?= Date: Sun, 16 Nov 2025 12:41:15 +0100 Subject: [PATCH] docs: update README.md --- INSTALL.md | 121 ----------------------------------------------------- README.md | 77 +++++++--------------------------- 2 files changed, 14 insertions(+), 184 deletions(-) delete mode 100644 INSTALL.md diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 740e8b4..0000000 --- a/INSTALL.md +++ /dev/null @@ -1,121 +0,0 @@ -# Installation and Update - -## Installation - -To deploy a Domain Watchdog instance, please refer to the Symfony documentation -on [How to deploy a Symfony application](https://symfony.com/doc/current/deployment.html). - -### Prerequisites - -- PHP 8.4 or higher -- PostgreSQL 16 or higher - -In order to retrieve information about domain names, Domain Watchdog will query the RDAP server responsible for the TLD. -It is crucial that the Domain Watchdog instance is placed in a clean environment from which these servers can be -queried. -In particular, the DNS servers and root certificates of the system must be trusted. - -### Steps - -Clone the repository: - -```shell -git clone https://github.com/maelgangloff/domain-watchdog.git - ``` - -#### Backend - -1. Install dependencies: - ```shell - composer install - ``` -2. Set up your environment variables: - ```shell - cp .env .env.local - ``` -3. Generate the cryptographic key pair for the JWT signature - ```shell - php bin/console lexik:jwt:generate-keypair - ``` -4. Run database migrations: - ```shell - php bin/console doctrine:migrations:migrate - ``` -5. Start the Symfony server: - ```shell - symfony server:start - ``` -6. Build assets: - ```shell - php bin/console assets:install - ``` -7. Don't forget to set up workers to process the [message queue](https://symfony.com/doc/current/messenger.html) - -#### Frontend - -1. Install dependencies: - ```shell - yarn install - ``` -2. Generate language files: - ```shell - yarn run ttag:po2json - ``` -3. Make the final build: - ```shell - yarn build - ``` -4. Add and modify the following files as you wish: - ~~~ - public/content/home.md - public/content/privacy.md - public/content/tos.md - public/content/faq.md - public/images/icons-512.png - public/images/banner.png - public/favicon.ico - ~~~ - -## Update - -**Any updates are your responsibility. Make a backup of the data if necessary.** - -Fetch updates from the remote repository: - -```shell -git pull origin master - ``` - -### Backend - -1. Install dependencies: - ```shell - composer install - ``` -2. Run database migrations: - ```shell - php bin/console doctrine:migrations:migrate - ``` -3. Clearing the Symfony cache: - ```shell - php bin/console cache:clear - ``` -4. Build assets: - ```shell - php bin/console assets:install - ``` - -### Frontend - -1. Install dependencies: - ```shell - yarn install - ``` -2. Generate language files: - ```shell - yarn run ttag:po2json - ``` -3. Make the final build: - ```shell - yarn build - ``` diff --git a/README.md b/README.md index 576f20c..aa90fa9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@

Your companion in the quest for domain names ๐Ÿ”
domainwatchdog.eu ยป


-Domain Watchdog is an app that uses RDAP to collect publicly available info about domains, track their history, and purchase them. +Domain Watchdog is an app that uses RDAP to collect publicly available info about domains, track their history, and +purchase them. For more information please check out [the documentation](https://domainwatchdog.eu) ! ## Why use it? @@ -20,7 +21,7 @@ detailed history of events (ownership changes, renewals, etc.) is not feasible w ## Install > [!TIP] -> For more details on the installation procedure, please refer to the documentation. +> For more details on the installation procedure, please refer to [the documentation](https://domainwatchdog.eu). ### Docker Deployment @@ -42,55 +43,20 @@ docker compose up By default, the container listens on http://localhost:8080, but you can configure this in environment variables. -## Features +## Development and contributions -### Auto-purchase domain +See [the documentation](https://domainwatchdog.eu) for information on setting up a development environment and making +your contributions. +To add a new provider, a [dedicated page](https://domainwatchdog.eu/en/developing/add-provider/) is available. -A connector is a way to order a domain name. It is important to mention that this project does not act as a payment -intermediary. -Indeed, the user's credentials are directly used to enable the purchase via the provider's API. To this end, the user -gives his consent to define the legal framework in which the use of his account with the provider's API will be made. +## Security -The table below lists the supported API connector providers: +Please see [SECURITY.md](./SECURITY.md). -| Provider | Supported | -|:--------------------------------------------------------------------------:|:----------------:| -| [OVH](https://api.ovh.com) | **Yes** | -| [GANDI](https://api.gandi.net/docs/domains/) | **Yes** | -| [NAMECHEAP](https://www.namecheap.com/support/api/methods/domains/create/) | **Yes** | -| [AUTODNS](https://cloud.autodns.com/) | **Yes** | -| [NAME.COM](https://www.name.com/en-en/api-docs/) | **Yes** | -| Custom EPP Server | **EXPERIMENTAL** | +## License -If a domain has expired and a connector is linked to the Watchlist, then Domain Watchdog will try to order it via the -connector provider's API. - -Note: If the same domain name is present on several Watchlists, it is not possible to predict in advance which user will -win the domain name. The choice is left to chance. - -### Monitoring - -![Watchlist Diagram](https://github.com/user-attachments/assets/c3454572-3ac5-4b39-bc5e-6b7cf72fab92) - - -A watchlist is a list of domain names, triggers and possibly an API connector. - -They allow you to follow the life of the listed domain names and send you a notification when a change has been -detected. - -A notification to the user is sent when a new event occurs on one of the domain names in the Watchlist. This can be an -email or a chat via Webhook (Slack, Mattermost, Discord, ...). An iCalendar export of domain events is possible. - -### RDAP search - -The latest version of the WHOIS protocol was standardized in 2004 by RFC 3912.[^1] This protocol allows anyone to -retrieve key information concerning a domain name, an IP address, or an entity registered with a registry. - -ICANN launched a global vote in 2023 to propose replacing the WHOIS protocol with RDAP. As a result, registries and -registrars will no longer be required to support WHOIS from 2025 (*WHOIS Sunset Date*).[^2] - -Domain Watchdog uses the RDAP protocol, which will soon be the new standard for retrieving information concerning domain -names. +This source code of this project is licensed under *GNU Affero General Public License v3.0 or later*. +Contributions are welcome as long as they do not contravene the Code of Conduct. ## Disclaimer @@ -100,20 +66,5 @@ names. caching system, etc. > * Please note that this project is NOT affiliated IN ANY WAY with the API Providers used to order domain names. > * The project installers are responsible for the use of their own instance. -> * Under no circumstances will the owner of this project be held responsible for other cases over which he has no control. - -## Useful documentation - -> [!NOTE] -> - [RFC 7482 : Registration Data Access Protocol (RDAP) Query Format](https://datatracker.ietf.org/doc/html/rfc7482) -> - [RFC 7483 : JSON Responses for the Registration Data Access Protocol (RDAP)](https://datatracker.ietf.org/doc/html/rfc7483) -> - [RFC 7484 : Finding the Authoritative Registration Data (RDAP) Service](https://datatracker.ietf.org/doc/html/rfc7484) - -## Licensing - -This source code of this project is licensed under *GNU Affero General Public License v3.0 or later*. -Contributions are welcome as long as they do not contravene the Code of Conduct. - -[^1]: RFC 3912 : WHOIS Protocol Specification. (2004). IETF Datatracker. https://datatracker.ietf.org/doc/html/rfc3912 -[^2]: 2023 Global Amendments to the Base gTLD Registry Agreement (RA), Specification 13, and 2013 Registrar -Accreditation Agreement (RAA) - ICANN. (2023). https://www.icann.org/resources/pages/global-amendment-2023-en +> * Under no circumstances will the owner of this project be held responsible for other cases over which he has no + control.