mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 17:55:42 +00:00
docs: update README.md
This commit is contained in:
parent
5bf2c2d9cb
commit
7d8436f138
121
INSTALL.md
121
INSTALL.md
@ -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
|
|
||||||
```
|
|
||||||
77
README.md
77
README.md
@ -3,7 +3,8 @@
|
|||||||
<p align="center">Your companion in the quest for domain names 🔍 <br/><a href="https://domainwatchdog.eu">domainwatchdog.eu »</a></p>
|
<p align="center">Your companion in the quest for domain names 🔍 <br/><a href="https://domainwatchdog.eu">domainwatchdog.eu »</a></p>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
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) !
|
For more information please check out [the documentation](https://domainwatchdog.eu) !
|
||||||
|
|
||||||
## Why use it?
|
## Why use it?
|
||||||
@ -20,7 +21,7 @@ detailed history of events (ownership changes, renewals, etc.) is not feasible w
|
|||||||
## Install
|
## Install
|
||||||
|
|
||||||
> [!TIP]
|
> [!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
|
### 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.
|
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
|
## Security
|
||||||
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.
|
|
||||||
|
|
||||||
The table below lists the supported API connector providers:
|
Please see [SECURITY.md](./SECURITY.md).
|
||||||
|
|
||||||
| Provider | Supported |
|
## License
|
||||||
|:--------------------------------------------------------------------------:|:----------------:|
|
|
||||||
| [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** |
|
|
||||||
|
|
||||||
If a domain has expired and a connector is linked to the Watchlist, then Domain Watchdog will try to order it via the
|
This source code of this project is licensed under *GNU Affero General Public License v3.0 or later*.
|
||||||
connector provider's API.
|
Contributions are welcome as long as they do not contravene the Code of Conduct.
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
@ -100,20 +66,5 @@ names.
|
|||||||
caching system, etc.
|
caching system, etc.
|
||||||
> * Please note that this project is NOT affiliated IN ANY WAY with the API Providers used to order domain names.
|
> * 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.
|
> * 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.
|
> * 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
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user