Skip to content

xbros/dvr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dvr

Dynamic VPN routes

Install

  1. Placer les fichiers dans le sous-répertoire nic du DocumentRoot. ex: /var/www/nic

  2. Editer le fichier de config dvr/config.php

  3. Initialiser

    /path/to/dvr/dvr init
    
  4. créer fichier passwd et ajouter utilisateurs

    htpasswd -c /path/to/.htpasswd user1
    htpasswd  /path/to/.htpasswd user2
    
  5. modifier .htaccess avec le chemin absolu vers le fichier passwd

    AuthUserFile "/path/to/.htpasswd"
    
    
  6. mettre en place cron d'actualisation des routes

    * * * * * /path/to/dvr/dvr route
    
  7. mettre en place initialisation automatique (dvr init) après démarrage du VPN. Exemple avec crontab :

    @reboot rm dvr.no*.conf; sleep 60; /path/to/dvr/dvr init
    

Update API

Protocole dyndns2

https://username:password@server.domain.fr/nic/update?hostname=devicename&myip=1.2.3.4
  • username:password = nom utilisateur et mot de passe sur serveur
  • hostname = nom du device. minimum 3 caractères alphanumeriques ou [_.-] commencant par une lettre ex: samsung-galaxy
  • myip = ip publique (optionnel). si omise ou invalide, l'ip est déterminée par le serveur.
  • offline = YES ou NOCHG (optionnel). supprime le device de la table

Return code:

  • affiché dans body

List API

Affiche les devices et ip de l'utlisateur

https://username:password@server.domain.fr/nic/list

Serveur

Authentification PHP Basic

  • fichier ~/.dvr/dvr.passwd
user passwd

table des ip

  • fichier texte ~/.dvr/dvr.conf
  • format csv space delimiter
  • une ligne par device
ip device user

script php

log des requetes

  • fichier ~/.dvr/dvr.log
  • format
ip user [time] script "message"

Client

envoie la requete avec l'ip public ttes les 5min si l'ip change

utiliser des clients pour serveurs DNS:

  • linux: ddclient
  • android: dynamic dns update