nioc / jeedom-websocket

Jeedom plugin to provide a client-server communication over websocket protocol
GNU General Public License v2.0
2 stars 0 forks source link

Daemon qui crash #1

Closed marmoul70 closed 4 years ago

marmoul70 commented 4 years ago

Salut,

Je viens de découvrir ton plugin et je suis exactement à la recherche d'un travail comme le tient!!! En effet j'héberge actuellement mon interface sur un serveur externe car je n'aime pas du tout la partie design!! Du coup je viens de télécharger ton zip transfert sur mon ancien jeedom en V3 car mon V4 est en prod et pas envie de tout casser. Première question ton plugin est-il compatible V3? Quand je lance le daemon il ne tient pas plus de 15s et il passe en NOK. Voici les log en debug: [2020-06-19 09:20:45][INFO] : Début d'activation du plugin [2020-06-19 09:20:46][INFO] : Info sur le démon : Array ( [launchable_message] => [launchable] => nok [state] => nok [log] => nok [auto] => 0 ) [2020-06-19 09:20:46][DEBUG] : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php plugin_id=Websocket function=install callInstallFunction=1 [2020-06-19 09:20:46][INFO] : Installing daemon [2020-06-19 09:20:46][ERROR] : Daemon is not fully installed (activating / enabled) [2020-06-19 09:20:46][INFO] : Daemon installed (activating / enabled) [2020-06-19 09:21:06][INFO] : Starting daemon [2020-06-19 09:21:33][ERROR] : Erreur sur la fonction deamon_start du plugin : Vous devez attendre au moins 45 secondes entre deux lancements du démon. Dernier lancement : 2020-06-19 09:21:06 [2020-06-19 09:22:17][INFO] : Starting daemon

Je ne sais pas trop quoi faire pour t'aider plus? N'hesite pas si tu a besoin de plus de chose! Merci à toi et bonne journée. Marmoul

nioc commented 4 years ago

Hello,

Normalement oui, je suis en 3.3.50 sur une Debian 9 également. Peux-tu me retourner le résultat des commandes suivantes :

sudo systemctl status jeedom-websocket
sudo grep websocket /var/log/*
marmoul70 commented 4 years ago

marmoul@jeedom:~$ systemctl status jeedom-websocket ● jeedom-websocket.service - Jeedom websocket Loaded: loaded (/etc/systemd/system/jeedom-websocket.service; enabled; vendor Active: failed (Result: exit-code) since Fri 2020-06-19 15:10:08 CEST; 44s ag Docs: https://github.com/nioc/jeedom-websocket Process: 22522 ExecStart=/usr/bin/php bin/server.php (code=exited, status=255) Main PID: 22522 (code=exited, status=255) lines 1-6/6 (END)...skipping... et pour les logs grep: /var/log/apache2: Permission non accordée grep: /var/log/apt: est un dossier grep: /var/log/auth.log: Permission non accordée grep: /var/log/auth.log.1: Permission non accordée grep: /var/log/auth.log.2.gz: Permission non accordée grep: /var/log/auth.log.3.gz: Permission non accordée grep: /var/log/auth.log.4.gz: Permission non accordée grep: /var/log/btmp: Permission non accordée grep: /var/log/btmp.1: Permission non accordée grep: /var/log/daemon.log: Permission non accordée grep: /var/log/daemon.log.1: Permission non accordée grep: /var/log/daemon.log.2.gz: Permission non accordée grep: /var/log/daemon.log.3.gz: Permission non accordée grep: /var/log/daemon.log.4.gz: Permission non accordée grep: /var/log/debug: Permission non accordée grep: /var/log/debug.1: Permission non accordée grep: /var/log/debug.2.gz: Permission non accordée grep: /var/log/debug.3.gz: Permission non accordée grep: /var/log/debug.4.gz: Permission non accordée grep: /var/log/exim4: Permission non accordée grep: /var/log/fail2ban.log: Permission non accordée grep: /var/log/fail2ban.log.1: Permission non accordée grep: /var/log/fail2ban.log.2.gz: Permission non accordée grep: /var/log/fail2ban.log.3.gz: Permission non accordée grep: /var/log/fail2ban.log.4.gz: Permission non accordée grep: /var/log/installer: est un dossier grep: /var/log/kern.log: Permission non accordée grep: /var/log/kern.log.1: Permission non accordée grep: /var/log/kern.log.2.gz: Permission non accordée grep: /var/log/kern.log.3.gz: Permission non accordée grep: /var/log/kern.log.4.gz: Permission non accordée grep: /var/log/messages: Permission non accordée grep: /var/log/messages.1: Permission non accordée grep: /var/log/messages.2.gz: Permission non accordée grep: /var/log/messages.3.gz: Permission non accordée grep: /var/log/messages.4.gz: Permission non accordée grep: /var/log/mosquitto: est un dossier grep: /var/log/mysql: Permission non accordée grep: /var/log/ntpstats: est un dossier grep: /var/log/samba: Permission non accordée grep: /var/log/syslog: Permission non accordée grep: /var/log/syslog.1: Permission non accordée grep: /var/log/syslog.2.gz: Permission non accordée grep: /var/log/syslog.3.gz: Permission non accordée grep: /var/log/syslog.4.gz: Permission non accordée grep: /var/log/syslog.5.gz: Permission non accordée grep: /var/log/syslog.6.gz: Permission non accordée grep: /var/log/syslog.7.gz: Permission non accordée grep: /var/log/unattended-upgrades: Permission non accordée grep: /var/log/user.log: Permission non accordée grep: /var/log/user.log.1: Permission non accordée grep: /var/log/user.log.2.gz: Permission non accordée grep: /var/log/user.log.3.gz: Permission non accordée grep: /var/log/user.log.4.gz: Permission non accordée

merci

PS: pour info j'ai installé en V4 mais sa ne fonctionne pas non plus.

nioc commented 4 years ago

tu as oublié le sudo pour les logs :smiley:

marmoul70 commented 4 years ago

oups désolé je ne maitrise pas tout lol voici un txt car trop volumineux log.txt Merci

nioc commented 4 years ago

Pas de soucis. La ligne suivante indique qu'il ne trouve pas le loader (et donc se plante à l'exécution) :

PHP Fatal error:  require_once(): Failed opening required '/var/www/html/plugins/Websocket/core/php/bin/../../../3rparty/vendor/autoload.php' (include_path='.:/usr/share/php') in /var/www/html/plugins/Websocket/core/php/bin/server.php on line 8
  1. Peux-tu vérifier que le fichier existe avec les bons droits :
    ls -l /var/www/html/plugins/Websocket/core/php/bin/../../../3rparty/vendor/autoload.php

    S'il existe bien et qu'il appartient à l'utilisateur www-data, peux-tu me lister le contenu du répertoire via tree (sudo apt-get install tree) :

    tree /var/www/html/plugins/Websocket/ -u
  2. Éventuellement essaie de lancer le listener en dehors du service systemd :
    cd /var/www/html/plugins/Websocket/core/php
    php bin/server.php

    (Ctr+c pour quitter)

marmoul70 commented 4 years ago

apparement il n'existe pas root@jeedom:/home/marmoul# ls -l /var/www/html/plugins/Websocket/core/php/bin/../../../3rparty/vendor/autoload.php ls: impossible d'accéder à '/var/www/html/plugins/Websocket/core/php/bin/../../../3rparty/vendor/autoload.php': Aucun fichier ou dossier de ce type

Pourrais tu m'indiquez comment fonctionne le plugin de manière générale (je ne voudrais pas ta faire perdre ton temps si au final ça ne correspond pas à mes besoins) D'après ce que j'ai compris, on pourra envoyer n'importe quel cmd jeedom (info, historique...) en temps réel vers une page web distante? Si tu ne veux pas polluer ton git on peux passer via telegram ou autre.

Encore merci

nioc commented 4 years ago

Pas de soucis pour la discussion ici, ça peut toujours servir à d'autres.

En bref le plugin ouvre un listener Websocket, quand des clients se connectent dessus, la clé API est vérifiée et si c'est correct, le client est ajouté à la liste. A intervalle régulier, le service regarde s'il y a des clients connectés, si c'est le cas il interroge les events Jeedom (info mises à jour) et les envoie par message via le websocket. La page web qui a ouvert une connexion reçoit les messages en temps réel.

C'est bizarre que le fichier n'existe pas, il y a peut être eu un soucis lors de l'import du plugin (problème de droits sur le répertoire plugins peut être).

Envoie moi ton tree avec les droits (-u), ma proposition #2 ne fonctionnera pas car le fichier n'existe pas...

Tu es bien passé par l'archive Jeedom-Websocket-1.0.1.zip de la page release ?

Eventuellement, sur un Jeedom de test, essaie de dézipper l'archive dans le répertoire plugins (avec le bon propriétaire/groupe : sudo chown www-data:www-data /var/www/html/plugins/Websocket)

Chez moi, mon répertoire contient l'arborescence suivante (le contenu du zip) :

/var/www/html/plugins/
└── [www-data]  Websocket
    ├── [www-data]  3rparty
    │   ├── [www-data]  composer.json
    │   ├── [www-data]  composer.lock
    │   └── [www-data]  vendor
    │       ├── [www-data]  autoload.php
    │       ├── [www-data]  cboden
    │       │   └── [www-data]  ratchet
    │       │       ├── [www-data]  CHANGELOG.md
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  Makefile
    │       │       ├── [www-data]  phpunit.xml.dist
    │       │       ├── [www-data]  README.md
    │       │       ├── [www-data]  src
    │       │       │   └── [www-data]  Ratchet
    │       │       │       ├── [www-data]  AbstractConnectionDecorator.php
    │       │       │       ├── [www-data]  App.php
    │       │       │       ├── [www-data]  ComponentInterface.php
    │       │       │       ├── [www-data]  ConnectionInterface.php
    │       │       │       ├── [www-data]  Http
    │       │       │       │   ├── [www-data]  CloseResponseTrait.php
    │       │       │       │   ├── [www-data]  HttpRequestParser.php
    │       │       │       │   ├── [www-data]  HttpServerInterface.php
    │       │       │       │   ├── [www-data]  HttpServer.php
    │       │       │       │   ├── [www-data]  NoOpHttpServerController.php
    │       │       │       │   ├── [www-data]  OriginCheck.php
    │       │       │       │   └── [www-data]  Router.php
    │       │       │       ├── [www-data]  MessageComponentInterface.php
    │       │       │       ├── [www-data]  MessageInterface.php
    │       │       │       ├── [www-data]  Server
    │       │       │       │   ├── [www-data]  EchoServer.php
    │       │       │       │   ├── [www-data]  FlashPolicy.php
    │       │       │       │   ├── [www-data]  IoConnection.php
    │       │       │       │   ├── [www-data]  IoServer.php
    │       │       │       │   └── [www-data]  IpBlackList.php
    │       │       │       ├── [www-data]  Session
    │       │       │       │   ├── [www-data]  Serialize
    │       │       │       │   │   ├── [www-data]  HandlerInterface.php
    │       │       │       │   │   ├── [www-data]  PhpBinaryHandler.php
    │       │       │       │   │   └── [www-data]  PhpHandler.php
    │       │       │       │   ├── [www-data]  SessionProvider.php
    │       │       │       │   └── [www-data]  Storage
    │       │       │       │       ├── [www-data]  Proxy
    │       │       │       │       │   └── [www-data]  VirtualProxy.php
    │       │       │       │       └── [www-data]  VirtualSessionStorage.php
    │       │       │       ├── [www-data]  Wamp
    │       │       │       │   ├── [www-data]  Exception.php
    │       │       │       │   ├── [www-data]  JsonException.php
    │       │       │       │   ├── [www-data]  ServerProtocol.php
    │       │       │       │   ├── [www-data]  TopicManager.php
    │       │       │       │   ├── [www-data]  Topic.php
    │       │       │       │   ├── [www-data]  WampConnection.php
    │       │       │       │   ├── [www-data]  WampServerInterface.php
    │       │       │       │   └── [www-data]  WampServer.php
    │       │       │       └── [www-data]  WebSocket
    │       │       │           ├── [www-data]  ConnContext.php
    │       │       │           ├── [www-data]  MessageCallableInterface.php
    │       │       │           ├── [www-data]  MessageComponentInterface.php
    │       │       │           ├── [www-data]  WsConnection.php
    │       │       │           ├── [www-data]  WsServerInterface.php
    │       │       │           └── [www-data]  WsServer.php
    │       │       └── [www-data]  tests
    │       │           ├── [www-data]  autobahn
    │       │           │   ├── [www-data]  bin
    │       │           │   │   └── [www-data]  fuzzingserver.php
    │       │           │   ├── [www-data]  fuzzingclient-all.json
    │       │           │   ├── [www-data]  fuzzingclient-profile.json
    │       │           │   └── [www-data]  fuzzingclient-quick.json
    │       │           ├── [www-data]  bootstrap.php
    │       │           ├── [www-data]  helpers
    │       │           │   └── [www-data]  Ratchet
    │       │           │       ├── [www-data]  AbstractMessageComponentTestCase.php
    │       │           │       ├── [www-data]  Mock
    │       │           │       │   ├── [www-data]  Component.php
    │       │           │       │   ├── [www-data]  ConnectionDecorator.php
    │       │           │       │   ├── [www-data]  Connection.php
    │       │           │       │   └── [www-data]  WampComponent.php
    │       │           │       ├── [www-data]  NullComponent.php
    │       │           │       ├── [www-data]  Wamp
    │       │           │       │   └── [www-data]  Stub
    │       │           │       │       └── [www-data]  WsWampServerInterface.php
    │       │           │       └── [www-data]  WebSocket
    │       │           │           └── [www-data]  Stub
    │       │           │               └── [www-data]  WsMessageComponentInterface.php
    │       │           └── [www-data]  unit
    │       │               ├── [www-data]  AbstractConnectionDecoratorTest.php
    │       │               ├── [www-data]  Http
    │       │               │   ├── [www-data]  HttpRequestParserTest.php
    │       │               │   ├── [www-data]  HttpServerTest.php
    │       │               │   ├── [www-data]  OriginCheckTest.php
    │       │               │   └── [www-data]  RouterTest.php
    │       │               ├── [www-data]  Server
    │       │               │   ├── [www-data]  EchoServerTest.php
    │       │               │   ├── [www-data]  FlashPolicyComponentTest.php
    │       │               │   ├── [www-data]  IoConnectionTest.php
    │       │               │   ├── [www-data]  IoServerTest.php
    │       │               │   └── [www-data]  IpBlackListComponentTest.php
    │       │               ├── [www-data]  Session
    │       │               │   ├── [www-data]  Serialize
    │       │               │   │   └── [www-data]  PhpHandlerTest.php
    │       │               │   ├── [www-data]  SessionComponentTest.php
    │       │               │   └── [www-data]  Storage
    │       │               │       └── [www-data]  VirtualSessionStoragePDOTest.php
    │       │               └── [www-data]  Wamp
    │       │                   ├── [www-data]  ServerProtocolTest.php
    │       │                   ├── [www-data]  TopicManagerTest.php
    │       │                   ├── [www-data]  TopicTest.php
    │       │                   ├── [www-data]  WampConnectionTest.php
    │       │                   └── [www-data]  WampServerTest.php
    │       ├── [www-data]  composer
    │       │   ├── [www-data]  autoload_classmap.php
    │       │   ├── [www-data]  autoload_files.php
    │       │   ├── [www-data]  autoload_namespaces.php
    │       │   ├── [www-data]  autoload_psr4.php
    │       │   ├── [www-data]  autoload_real.php
    │       │   ├── [www-data]  autoload_static.php
    │       │   ├── [www-data]  ClassLoader.php
    │       │   ├── [www-data]  installed.json
    │       │   └── [www-data]  LICENSE
    │       ├── [www-data]  evenement
    │       │   └── [www-data]  evenement
    │       │       ├── [www-data]  CHANGELOG.md
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  doc
    │       │       │   ├── [www-data]  00-intro.md
    │       │       │   ├── [www-data]  01-api.md
    │       │       │   └── [www-data]  02-plugin-system.md
    │       │       ├── [www-data]  examples
    │       │       │   ├── [www-data]  benchmark-emit-no-arguments.php
    │       │       │   ├── [www-data]  benchmark-emit-once.php
    │       │       │   ├── [www-data]  benchmark-emit-one-argument.php
    │       │       │   ├── [www-data]  benchmark-emit.php
    │       │       │   └── [www-data]  benchmark-remove-listener-once.php
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  phpunit.xml.dist
    │       │       ├── [www-data]  README.md
    │       │       ├── [www-data]  src
    │       │       │   └── [www-data]  Evenement
    │       │       │       ├── [www-data]  EventEmitterInterface.php
    │       │       │       ├── [www-data]  EventEmitter.php
    │       │       │       └── [www-data]  EventEmitterTrait.php
    │       │       └── [www-data]  tests
    │       │           └── [www-data]  Evenement
    │       │               └── [www-data]  Tests
    │       │                   ├── [www-data]  EventEmitterTest.php
    │       │                   ├── [www-data]  functions.php
    │       │                   └── [www-data]  Listener.php
    │       ├── [www-data]  guzzlehttp
    │       │   └── [www-data]  psr7
    │       │       ├── [www-data]  CHANGELOG.md
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  README.md
    │       │       └── [www-data]  src
    │       │           ├── [www-data]  AppendStream.php
    │       │           ├── [www-data]  BufferStream.php
    │       │           ├── [www-data]  CachingStream.php
    │       │           ├── [www-data]  DroppingStream.php
    │       │           ├── [www-data]  FnStream.php
    │       │           ├── [www-data]  functions_include.php
    │       │           ├── [www-data]  functions.php
    │       │           ├── [www-data]  InflateStream.php
    │       │           ├── [www-data]  LazyOpenStream.php
    │       │           ├── [www-data]  LimitStream.php
    │       │           ├── [www-data]  MessageTrait.php
    │       │           ├── [www-data]  MultipartStream.php
    │       │           ├── [www-data]  NoSeekStream.php
    │       │           ├── [www-data]  PumpStream.php
    │       │           ├── [www-data]  Request.php
    │       │           ├── [www-data]  Response.php
    │       │           ├── [www-data]  Rfc7230.php
    │       │           ├── [www-data]  ServerRequest.php
    │       │           ├── [www-data]  StreamDecoratorTrait.php
    │       │           ├── [www-data]  Stream.php
    │       │           ├── [www-data]  StreamWrapper.php
    │       │           ├── [www-data]  UploadedFile.php
    │       │           ├── [www-data]  UriNormalizer.php
    │       │           ├── [www-data]  Uri.php
    │       │           └── [www-data]  UriResolver.php
    │       ├── [www-data]  psr
    │       │   └── [www-data]  http-message
    │       │       ├── [www-data]  CHANGELOG.md
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  README.md
    │       │       └── [www-data]  src
    │       │           ├── [www-data]  MessageInterface.php
    │       │           ├── [www-data]  RequestInterface.php
    │       │           ├── [www-data]  ResponseInterface.php
    │       │           ├── [www-data]  ServerRequestInterface.php
    │       │           ├── [www-data]  StreamInterface.php
    │       │           ├── [www-data]  UploadedFileInterface.php
    │       │           └── [www-data]  UriInterface.php
    │       ├── [www-data]  ralouphie
    │       │   └── [www-data]  getallheaders
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  README.md
    │       │       └── [www-data]  src
    │       │           └── [www-data]  getallheaders.php
    │       ├── [www-data]  ratchet
    │       │   └── [www-data]  rfc6455
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  phpunit.xml.dist
    │       │       ├── [www-data]  README.md
    │       │       ├── [www-data]  src
    │       │       │   ├── [www-data]  Handshake
    │       │       │   │   ├── [www-data]  ClientNegotiator.php
    │       │       │   │   ├── [www-data]  NegotiatorInterface.php
    │       │       │   │   ├── [www-data]  RequestVerifier.php
    │       │       │   │   ├── [www-data]  ResponseVerifier.php
    │       │       │   │   └── [www-data]  ServerNegotiator.php
    │       │       │   └── [www-data]  Messaging
    │       │       │       ├── [www-data]  CloseFrameChecker.php
    │       │       │       ├── [www-data]  DataInterface.php
    │       │       │       ├── [www-data]  FrameInterface.php
    │       │       │       ├── [www-data]  Frame.php
    │       │       │       ├── [www-data]  MessageBuffer.php
    │       │       │       ├── [www-data]  MessageInterface.php
    │       │       │       └── [www-data]  Message.php
    │       │       └── [www-data]  tests
    │       │           ├── [www-data]  ab
    │       │           │   ├── [www-data]  clientRunner.php
    │       │           │   ├── [www-data]  fuzzingclient.json
    │       │           │   ├── [www-data]  fuzzingserver.json
    │       │           │   ├── [www-data]  run_ab_tests.sh
    │       │           │   └── [www-data]  startServer.php
    │       │           ├── [www-data]  AbResultsTest.php
    │       │           ├── [www-data]  bootstrap.php
    │       │           └── [www-data]  unit
    │       │               ├── [www-data]  Handshake
    │       │               │   ├── [www-data]  RequestVerifierTest.php
    │       │               │   ├── [www-data]  ResponseVerifierTest.php
    │       │               │   └── [www-data]  ServerNegotiatorTest.php
    │       │               └── [www-data]  Messaging
    │       │                   ├── [www-data]  FrameTest.php
    │       │                   ├── [www-data]  MessageBufferTest.php
    │       │                   └── [www-data]  MessageTest.php
    │       ├── [www-data]  react
    │       │   ├── [www-data]  cache
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  phpunit.xml.dist
    │       │   │   ├── [www-data]  README.md
    │       │   │   ├── [www-data]  src
    │       │   │   │   ├── [www-data]  ArrayCache.php
    │       │   │   │   └── [www-data]  CacheInterface.php
    │       │   │   └── [www-data]  tests
    │       │   │       ├── [www-data]  ArrayCacheTest.php
    │       │   │       ├── [www-data]  CallableStub.php
    │       │   │       └── [www-data]  TestCase.php
    │       │   ├── [www-data]  dns
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  examples
    │       │   │   │   ├── [www-data]  01-one.php
    │       │   │   │   ├── [www-data]  02-concurrent.php
    │       │   │   │   ├── [www-data]  03-cached.php
    │       │   │   │   ├── [www-data]  11-all-ips.php
    │       │   │   │   ├── [www-data]  12-all-types.php
    │       │   │   │   ├── [www-data]  13-reverse-dns.php
    │       │   │   │   ├── [www-data]  91-query-a-and-aaaa.php
    │       │   │   │   └── [www-data]  92-query-any.php
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  phpunit.xml.dist
    │       │   │   ├── [www-data]  README.md
    │       │   │   ├── [www-data]  src
    │       │   │   │   ├── [www-data]  BadServerException.php
    │       │   │   │   ├── [www-data]  Config
    │       │   │   │   │   ├── [www-data]  Config.php
    │       │   │   │   │   └── [www-data]  HostsFile.php
    │       │   │   │   ├── [www-data]  Model
    │       │   │   │   │   ├── [www-data]  Message.php
    │       │   │   │   │   └── [www-data]  Record.php
    │       │   │   │   ├── [www-data]  Protocol
    │       │   │   │   │   ├── [www-data]  BinaryDumper.php
    │       │   │   │   │   └── [www-data]  Parser.php
    │       │   │   │   ├── [www-data]  Query
    │       │   │   │   │   ├── [www-data]  CachingExecutor.php
    │       │   │   │   │   ├── [www-data]  CancellationException.php
    │       │   │   │   │   ├── [www-data]  CoopExecutor.php
    │       │   │   │   │   ├── [www-data]  ExecutorInterface.php
    │       │   │   │   │   ├── [www-data]  HostsFileExecutor.php
    │       │   │   │   │   ├── [www-data]  Query.php
    │       │   │   │   │   ├── [www-data]  RetryExecutor.php
    │       │   │   │   │   ├── [www-data]  SelectiveTransportExecutor.php
    │       │   │   │   │   ├── [www-data]  TcpTransportExecutor.php
    │       │   │   │   │   ├── [www-data]  TimeoutException.php
    │       │   │   │   │   ├── [www-data]  TimeoutExecutor.php
    │       │   │   │   │   └── [www-data]  UdpTransportExecutor.php
    │       │   │   │   ├── [www-data]  RecordNotFoundException.php
    │       │   │   │   └── [www-data]  Resolver
    │       │   │   │       ├── [www-data]  Factory.php
    │       │   │   │       ├── [www-data]  ResolverInterface.php
    │       │   │   │       └── [www-data]  Resolver.php
    │       │   │   └── [www-data]  tests
    │       │   │       ├── [www-data]  CallableStub.php
    │       │   │       ├── [www-data]  Config
    │       │   │       │   ├── [www-data]  ConfigTest.php
    │       │   │       │   └── [www-data]  HostsFileTest.php
    │       │   │       ├── [www-data]  Fixtures
    │       │   │       │   └── [www-data]  etc
    │       │   │       │       └── [www-data]  resolv.conf
    │       │   │       ├── [www-data]  FunctionalResolverTest.php
    │       │   │       ├── [www-data]  Model
    │       │   │       │   └── [www-data]  MessageTest.php
    │       │   │       ├── [www-data]  Protocol
    │       │   │       │   ├── [www-data]  BinaryDumperTest.php
    │       │   │       │   └── [www-data]  ParserTest.php
    │       │   │       ├── [www-data]  Query
    │       │   │       │   ├── [www-data]  CachingExecutorTest.php
    │       │   │       │   ├── [www-data]  CoopExecutorTest.php
    │       │   │       │   ├── [www-data]  HostsFileExecutorTest.php
    │       │   │       │   ├── [www-data]  RetryExecutorTest.php
    │       │   │       │   ├── [www-data]  SelectiveTransportExecutorTest.php
    │       │   │       │   ├── [www-data]  TcpTransportExecutorTest.php
    │       │   │       │   ├── [www-data]  TimeoutExecutorTest.php
    │       │   │       │   └── [www-data]  UdpTransportExecutorTest.php
    │       │   │       ├── [www-data]  Resolver
    │       │   │       │   ├── [www-data]  FactoryTest.php
    │       │   │       │   ├── [www-data]  ResolveAliasesTest.php
    │       │   │       │   └── [www-data]  ResolverTest.php
    │       │   │       └── [www-data]  TestCase.php
    │       │   ├── [www-data]  event-loop
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  README.md
    │       │   │   └── [www-data]  src
    │       │   │       ├── [www-data]  ExtEventLoop.php
    │       │   │       ├── [www-data]  ExtEvLoop.php
    │       │   │       ├── [www-data]  ExtLibeventLoop.php
    │       │   │       ├── [www-data]  ExtLibevLoop.php
    │       │   │       ├── [www-data]  ExtUvLoop.php
    │       │   │       ├── [www-data]  Factory.php
    │       │   │       ├── [www-data]  LoopInterface.php
    │       │   │       ├── [www-data]  SignalsHandler.php
    │       │   │       ├── [www-data]  StreamSelectLoop.php
    │       │   │       ├── [www-data]  Tick
    │       │   │       │   └── [www-data]  FutureTickQueue.php
    │       │   │       ├── [www-data]  Timer
    │       │   │       │   ├── [www-data]  Timer.php
    │       │   │       │   └── [www-data]  Timers.php
    │       │   │       └── [www-data]  TimerInterface.php
    │       │   ├── [www-data]  promise
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  phpunit.xml.dist
    │       │   │   ├── [www-data]  README.md
    │       │   │   ├── [www-data]  src
    │       │   │   │   ├── [www-data]  CancellablePromiseInterface.php
    │       │   │   │   ├── [www-data]  CancellationQueue.php
    │       │   │   │   ├── [www-data]  Deferred.php
    │       │   │   │   ├── [www-data]  Exception
    │       │   │   │   │   └── [www-data]  LengthException.php
    │       │   │   │   ├── [www-data]  ExtendedPromiseInterface.php
    │       │   │   │   ├── [www-data]  FulfilledPromise.php
    │       │   │   │   ├── [www-data]  functions_include.php
    │       │   │   │   ├── [www-data]  functions.php
    │       │   │   │   ├── [www-data]  LazyPromise.php
    │       │   │   │   ├── [www-data]  PromiseInterface.php
    │       │   │   │   ├── [www-data]  Promise.php
    │       │   │   │   ├── [www-data]  PromisorInterface.php
    │       │   │   │   ├── [www-data]  RejectedPromise.php
    │       │   │   │   └── [www-data]  UnhandledRejectionException.php
    │       │   │   └── [www-data]  tests
    │       │   │       ├── [www-data]  bootstrap.php
    │       │   │       ├── [www-data]  CancellationQueueTest.php
    │       │   │       ├── [www-data]  DeferredTest.php
    │       │   │       ├── [www-data]  fixtures
    │       │   │       │   ├── [www-data]  SimpleFulfilledTestPromise.php
    │       │   │       │   ├── [www-data]  SimpleFulfilledTestThenable.php
    │       │   │       │   ├── [www-data]  SimpleRejectedTestPromise.php
    │       │   │       │   ├── [www-data]  SimpleTestCancellable.php
    │       │   │       │   └── [www-data]  SimpleTestCancellableThenable.php
    │       │   │       ├── [www-data]  FulfilledPromiseTest.php
    │       │   │       ├── [www-data]  FunctionAllTest.php
    │       │   │       ├── [www-data]  FunctionAnyTest.php
    │       │   │       ├── [www-data]  FunctionCheckTypehintTest.php
    │       │   │       ├── [www-data]  FunctionMapTest.php
    │       │   │       ├── [www-data]  FunctionRaceTest.php
    │       │   │       ├── [www-data]  FunctionReduceTest.php
    │       │   │       ├── [www-data]  FunctionRejectTest.php
    │       │   │       ├── [www-data]  FunctionResolveTest.php
    │       │   │       ├── [www-data]  FunctionSomeTest.php
    │       │   │       ├── [www-data]  LazyPromiseTest.php
    │       │   │       ├── [www-data]  PromiseAdapter
    │       │   │       │   ├── [www-data]  CallbackPromiseAdapter.php
    │       │   │       │   └── [www-data]  PromiseAdapterInterface.php
    │       │   │       ├── [www-data]  PromiseTest
    │       │   │       │   ├── [www-data]  CancelTestTrait.php
    │       │   │       │   ├── [www-data]  FullTestTrait.php
    │       │   │       │   ├── [www-data]  NotifyTestTrait.php
    │       │   │       │   ├── [www-data]  PromiseFulfilledTestTrait.php
    │       │   │       │   ├── [www-data]  PromisePendingTestTrait.php
    │       │   │       │   ├── [www-data]  PromiseRejectedTestTrait.php
    │       │   │       │   ├── [www-data]  PromiseSettledTestTrait.php
    │       │   │       │   ├── [www-data]  RejectTestTrait.php
    │       │   │       │   └── [www-data]  ResolveTestTrait.php
    │       │   │       ├── [www-data]  PromiseTest.php
    │       │   │       ├── [www-data]  RejectedPromiseTest.php
    │       │   │       ├── [www-data]  Stub
    │       │   │       │   └── [www-data]  CallableStub.php
    │       │   │       └── [www-data]  TestCase.php
    │       │   ├── [www-data]  promise-timer
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  phpunit.xml.dist
    │       │   │   ├── [www-data]  README.md
    │       │   │   ├── [www-data]  src
    │       │   │   │   ├── [www-data]  functions_include.php
    │       │   │   │   ├── [www-data]  functions.php
    │       │   │   │   └── [www-data]  TimeoutException.php
    │       │   │   └── [www-data]  tests
    │       │   │       ├── [www-data]  CallableStub.php
    │       │   │       ├── [www-data]  FunctionRejectTest.php
    │       │   │       ├── [www-data]  FunctionResolveTest.php
    │       │   │       ├── [www-data]  FunctionTimeoutTest.php
    │       │   │       ├── [www-data]  TestCase.php
    │       │   │       └── [www-data]  TimeoutExceptionTest.php
    │       │   ├── [www-data]  socket
    │       │   │   ├── [www-data]  CHANGELOG.md
    │       │   │   ├── [www-data]  composer.json
    │       │   │   ├── [www-data]  LICENSE
    │       │   │   ├── [www-data]  README.md
    │       │   │   └── [www-data]  src
    │       │   │       ├── [www-data]  ConnectionInterface.php
    │       │   │       ├── [www-data]  Connection.php
    │       │   │       ├── [www-data]  ConnectorInterface.php
    │       │   │       ├── [www-data]  Connector.php
    │       │   │       ├── [www-data]  DnsConnector.php
    │       │   │       ├── [www-data]  FixedUriConnector.php
    │       │   │       ├── [www-data]  HappyEyeBallsConnectionBuilder.php
    │       │   │       ├── [www-data]  HappyEyeBallsConnector.php
    │       │   │       ├── [www-data]  LimitingServer.php
    │       │   │       ├── [www-data]  SecureConnector.php
    │       │   │       ├── [www-data]  SecureServer.php
    │       │   │       ├── [www-data]  ServerInterface.php
    │       │   │       ├── [www-data]  Server.php
    │       │   │       ├── [www-data]  StreamEncryption.php
    │       │   │       ├── [www-data]  TcpConnector.php
    │       │   │       ├── [www-data]  TcpServer.php
    │       │   │       ├── [www-data]  TimeoutConnector.php
    │       │   │       ├── [www-data]  UnixConnector.php
    │       │   │       └── [www-data]  UnixServer.php
    │       │   └── [www-data]  stream
    │       │       ├── [www-data]  CHANGELOG.md
    │       │       ├── [www-data]  composer.json
    │       │       ├── [www-data]  examples
    │       │       │   ├── [www-data]  01-http.php
    │       │       │   ├── [www-data]  02-https.php
    │       │       │   ├── [www-data]  11-cat.php
    │       │       │   └── [www-data]  91-benchmark-throughput.php
    │       │       ├── [www-data]  LICENSE
    │       │       ├── [www-data]  phpunit.xml.dist
    │       │       ├── [www-data]  README.md
    │       │       ├── [www-data]  src
    │       │       │   ├── [www-data]  CompositeStream.php
    │       │       │   ├── [www-data]  DuplexResourceStream.php
    │       │       │   ├── [www-data]  DuplexStreamInterface.php
    │       │       │   ├── [www-data]  ReadableResourceStream.php
    │       │       │   ├── [www-data]  ReadableStreamInterface.php
    │       │       │   ├── [www-data]  ThroughStream.php
    │       │       │   ├── [www-data]  Util.php
    │       │       │   ├── [www-data]  WritableResourceStream.php
    │       │       │   └── [www-data]  WritableStreamInterface.php
    │       │       └── [www-data]  tests
    │       │           ├── [www-data]  CallableStub.php
    │       │           ├── [www-data]  CompositeStreamTest.php
    │       │           ├── [www-data]  DuplexResourceStreamIntegrationTest.php
    │       │           ├── [www-data]  DuplexResourceStreamTest.php
    │       │           ├── [www-data]  EnforceBlockingWrapper.php
    │       │           ├── [www-data]  FunctionalInternetTest.php
    │       │           ├── [www-data]  ReadableResourceStreamTest.php
    │       │           ├── [www-data]  Stub
    │       │           │   └── [www-data]  ReadableStreamStub.php
    │       │           ├── [www-data]  TestCase.php
    │       │           ├── [www-data]  ThroughStreamTest.php
    │       │           ├── [www-data]  UtilTest.php
    │       │           └── [www-data]  WritableStreamResourceTest.php
    │       └── [www-data]  symfony
    │           ├── [www-data]  http-foundation
    │           │   ├── [www-data]  AcceptHeaderItem.php
    │           │   ├── [www-data]  AcceptHeader.php
    │           │   ├── [www-data]  BinaryFileResponse.php
    │           │   ├── [www-data]  CHANGELOG.md
    │           │   ├── [www-data]  composer.json
    │           │   ├── [www-data]  Cookie.php
    │           │   ├── [www-data]  Exception
    │           │   │   ├── [www-data]  ConflictingHeadersException.php
    │           │   │   ├── [www-data]  RequestExceptionInterface.php
    │           │   │   └── [www-data]  SuspiciousOperationException.php
    │           │   ├── [www-data]  ExpressionRequestMatcher.php
    │           │   ├── [www-data]  File
    │           │   │   ├── [www-data]  Exception
    │           │   │   │   ├── [www-data]  AccessDeniedException.php
    │           │   │   │   ├── [www-data]  CannotWriteFileException.php
    │           │   │   │   ├── [www-data]  ExtensionFileException.php
    │           │   │   │   ├── [www-data]  FileException.php
    │           │   │   │   ├── [www-data]  FileNotFoundException.php
    │           │   │   │   ├── [www-data]  FormSizeFileException.php
    │           │   │   │   ├── [www-data]  IniSizeFileException.php
    │           │   │   │   ├── [www-data]  NoFileException.php
    │           │   │   │   ├── [www-data]  NoTmpDirFileException.php
    │           │   │   │   ├── [www-data]  PartialFileException.php
    │           │   │   │   ├── [www-data]  UnexpectedTypeException.php
    │           │   │   │   └── [www-data]  UploadException.php
    │           │   │   ├── [www-data]  File.php
    │           │   │   ├── [www-data]  Stream.php
    │           │   │   └── [www-data]  UploadedFile.php
    │           │   ├── [www-data]  FileBag.php
    │           │   ├── [www-data]  HeaderBag.php
    │           │   ├── [www-data]  HeaderUtils.php
    │           │   ├── [www-data]  IpUtils.php
    │           │   ├── [www-data]  JsonResponse.php
    │           │   ├── [www-data]  LICENSE
    │           │   ├── [www-data]  ParameterBag.php
    │           │   ├── [www-data]  README.md
    │           │   ├── [www-data]  RedirectResponse.php
    │           │   ├── [www-data]  RequestMatcherInterface.php
    │           │   ├── [www-data]  RequestMatcher.php
    │           │   ├── [www-data]  Request.php
    │           │   ├── [www-data]  RequestStack.php
    │           │   ├── [www-data]  ResponseHeaderBag.php
    │           │   ├── [www-data]  Response.php
    │           │   ├── [www-data]  ServerBag.php
    │           │   ├── [www-data]  Session
    │           │   │   ├── [www-data]  Attribute
    │           │   │   │   ├── [www-data]  AttributeBagInterface.php
    │           │   │   │   ├── [www-data]  AttributeBag.php
    │           │   │   │   └── [www-data]  NamespacedAttributeBag.php
    │           │   │   ├── [www-data]  Flash
    │           │   │   │   ├── [www-data]  AutoExpireFlashBag.php
    │           │   │   │   ├── [www-data]  FlashBagInterface.php
    │           │   │   │   └── [www-data]  FlashBag.php
    │           │   │   ├── [www-data]  SessionBagInterface.php
    │           │   │   ├── [www-data]  SessionBagProxy.php
    │           │   │   ├── [www-data]  SessionInterface.php
    │           │   │   ├── [www-data]  Session.php
    │           │   │   ├── [www-data]  SessionUtils.php
    │           │   │   └── [www-data]  Storage
    │           │   │       ├── [www-data]  Handler
    │           │   │       │   ├── [www-data]  AbstractSessionHandler.php
    │           │   │       │   ├── [www-data]  MemcachedSessionHandler.php
    │           │   │       │   ├── [www-data]  MigratingSessionHandler.php
    │           │   │       │   ├── [www-data]  MongoDbSessionHandler.php
    │           │   │       │   ├── [www-data]  NativeFileSessionHandler.php
    │           │   │       │   ├── [www-data]  NullSessionHandler.php
    │           │   │       │   ├── [www-data]  PdoSessionHandler.php
    │           │   │       │   ├── [www-data]  RedisSessionHandler.php
    │           │   │       │   ├── [www-data]  SessionHandlerFactory.php
    │           │   │       │   └── [www-data]  StrictSessionHandler.php
    │           │   │       ├── [www-data]  MetadataBag.php
    │           │   │       ├── [www-data]  MockArraySessionStorage.php
    │           │   │       ├── [www-data]  MockFileSessionStorage.php
    │           │   │       ├── [www-data]  NativeSessionStorage.php
    │           │   │       ├── [www-data]  PhpBridgeSessionStorage.php
    │           │   │       ├── [www-data]  Proxy
    │           │   │       │   ├── [www-data]  AbstractProxy.php
    │           │   │       │   └── [www-data]  SessionHandlerProxy.php
    │           │   │       └── [www-data]  SessionStorageInterface.php
    │           │   ├── [www-data]  StreamedResponse.php
    │           │   ├── [www-data]  Test
    │           │   │   └── [www-data]  Constraint
    │           │   │       ├── [www-data]  RequestAttributeValueSame.php
    │           │   │       ├── [www-data]  ResponseCookieValueSame.php
    │           │   │       ├── [www-data]  ResponseHasCookie.php
    │           │   │       ├── [www-data]  ResponseHasHeader.php
    │           │   │       ├── [www-data]  ResponseHeaderSame.php
    │           │   │       ├── [www-data]  ResponseIsRedirected.php
    │           │   │       ├── [www-data]  ResponseIsSuccessful.php
    │           │   │       └── [www-data]  ResponseStatusCodeSame.php
    │           │   └── [www-data]  UrlHelper.php
    │           ├── [www-data]  mime
    │           │   ├── [www-data]  Address.php
    │           │   ├── [www-data]  BodyRendererInterface.php
    │           │   ├── [www-data]  CHANGELOG.md
    │           │   ├── [www-data]  CharacterStream.php
    │           │   ├── [www-data]  composer.json
    │           │   ├── [www-data]  Crypto
    │           │   │   ├── [www-data]  SMimeEncrypter.php
    │           │   │   ├── [www-data]  SMime.php
    │           │   │   └── [www-data]  SMimeSigner.php
    │           │   ├── [www-data]  DependencyInjection
    │           │   │   └── [www-data]  AddMimeTypeGuesserPass.php
    │           │   ├── [www-data]  Email.php
    │           │   ├── [www-data]  Encoder
    │           │   │   ├── [www-data]  AddressEncoderInterface.php
    │           │   │   ├── [www-data]  Base64ContentEncoder.php
    │           │   │   ├── [www-data]  Base64Encoder.php
    │           │   │   ├── [www-data]  Base64MimeHeaderEncoder.php
    │           │   │   ├── [www-data]  ContentEncoderInterface.php
    │           │   │   ├── [www-data]  EightBitContentEncoder.php
    │           │   │   ├── [www-data]  EncoderInterface.php
    │           │   │   ├── [www-data]  IdnAddressEncoder.php
    │           │   │   ├── [www-data]  MimeHeaderEncoderInterface.php
    │           │   │   ├── [www-data]  QpContentEncoder.php
    │           │   │   ├── [www-data]  QpEncoder.php
    │           │   │   ├── [www-data]  QpMimeHeaderEncoder.php
    │           │   │   └── [www-data]  Rfc2231Encoder.php
    │           │   ├── [www-data]  Exception
    │           │   │   ├── [www-data]  AddressEncoderException.php
    │           │   │   ├── [www-data]  ExceptionInterface.php
    │           │   │   ├── [www-data]  InvalidArgumentException.php
    │           │   │   ├── [www-data]  LogicException.php
    │           │   │   ├── [www-data]  RfcComplianceException.php
    │           │   │   └── [www-data]  RuntimeException.php
    │           │   ├── [www-data]  FileBinaryMimeTypeGuesser.php
    │           │   ├── [www-data]  FileinfoMimeTypeGuesser.php
    │           │   ├── [www-data]  Header
    │           │   │   ├── [www-data]  AbstractHeader.php
    │           │   │   ├── [www-data]  DateHeader.php
    │           │   │   ├── [www-data]  HeaderInterface.php
    │           │   │   ├── [www-data]  Headers.php
    │           │   │   ├── [www-data]  IdentificationHeader.php
    │           │   │   ├── [www-data]  MailboxHeader.php
    │           │   │   ├── [www-data]  MailboxListHeader.php
    │           │   │   ├── [www-data]  ParameterizedHeader.php
    │           │   │   ├── [www-data]  PathHeader.php
    │           │   │   └── [www-data]  UnstructuredHeader.php
    │           │   ├── [www-data]  LICENSE
    │           │   ├── [www-data]  MessageConverter.php
    │           │   ├── [www-data]  Message.php
    │           │   ├── [www-data]  MimeTypeGuesserInterface.php
    │           │   ├── [www-data]  MimeTypesInterface.php
    │           │   ├── [www-data]  MimeTypes.php
    │           │   ├── [www-data]  Part
    │           │   │   ├── [www-data]  AbstractMultipartPart.php
    │           │   │   ├── [www-data]  AbstractPart.php
    │           │   │   ├── [www-data]  DataPart.php
    │           │   │   ├── [www-data]  MessagePart.php
    │           │   │   ├── [www-data]  Multipart
    │           │   │   │   ├── [www-data]  AlternativePart.php
    │           │   │   │   ├── [www-data]  DigestPart.php
    │           │   │   │   ├── [www-data]  FormDataPart.php
    │           │   │   │   ├── [www-data]  MixedPart.php
    │           │   │   │   └── [www-data]  RelatedPart.php
    │           │   │   ├── [www-data]  SMimePart.php
    │           │   │   └── [www-data]  TextPart.php
    │           │   ├── [www-data]  RawMessage.php
    │           │   ├── [www-data]  README.md
    │           │   ├── [www-data]  Resources
    │           │   │   └── [www-data]  bin
    │           │   │       └── [www-data]  update_mime_types.php
    │           │   └── [www-data]  Test
    │           │       └── [www-data]  Constraint
    │           │           ├── [www-data]  EmailAddressContains.php
    │           │           ├── [www-data]  EmailAttachmentCount.php
    │           │           ├── [www-data]  EmailHasHeader.php
    │           │           ├── [www-data]  EmailHeaderSame.php
    │           │           ├── [www-data]  EmailHtmlBodyContains.php
    │           │           └── [www-data]  EmailTextBodyContains.php
    │           ├── [www-data]  polyfill-intl-idn
    │           │   ├── [www-data]  bootstrap.php
    │           │   ├── [www-data]  composer.json
    │           │   ├── [www-data]  Idn.php
    │           │   ├── [www-data]  LICENSE
    │           │   └── [www-data]  README.md
    │           ├── [www-data]  polyfill-mbstring
    │           │   ├── [www-data]  bootstrap.php
    │           │   ├── [www-data]  composer.json
    │           │   ├── [www-data]  LICENSE
    │           │   ├── [www-data]  Mbstring.php
    │           │   ├── [www-data]  README.md
    │           │   └── [www-data]  Resources
    │           │       └── [www-data]  unidata
    │           │           ├── [www-data]  lowerCase.php
    │           │           ├── [www-data]  titleCaseRegexp.php
    │           │           └── [www-data]  upperCase.php
    │           ├── [www-data]  polyfill-php72
    │           │   ├── [www-data]  bootstrap.php
    │           │   ├── [www-data]  composer.json
    │           │   ├── [www-data]  LICENSE
    │           │   ├── [www-data]  Php72.php
    │           │   └── [www-data]  README.md
    │           └── [www-data]  routing
    │               ├── [www-data]  Annotation
    │               │   └── [www-data]  Route.php
    │               ├── [www-data]  CHANGELOG.md
    │               ├── [www-data]  CompiledRoute.php
    │               ├── [www-data]  composer.json
    │               ├── [www-data]  DependencyInjection
    │               │   └── [www-data]  RoutingResolverPass.php
    │               ├── [www-data]  Exception
    │               │   ├── [www-data]  ExceptionInterface.php
    │               │   ├── [www-data]  InvalidParameterException.php
    │               │   ├── [www-data]  MethodNotAllowedException.php
    │               │   ├── [www-data]  MissingMandatoryParametersException.php
    │               │   ├── [www-data]  NoConfigurationException.php
    │               │   ├── [www-data]  ResourceNotFoundException.php
    │               │   └── [www-data]  RouteNotFoundException.php
    │               ├── [www-data]  Generator
    │               │   ├── [www-data]  CompiledUrlGenerator.php
    │               │   ├── [www-data]  ConfigurableRequirementsInterface.php
    │               │   ├── [www-data]  Dumper
    │               │   │   ├── [www-data]  CompiledUrlGeneratorDumper.php
    │               │   │   ├── [www-data]  GeneratorDumperInterface.php
    │               │   │   └── [www-data]  GeneratorDumper.php
    │               │   ├── [www-data]  UrlGeneratorInterface.php
    │               │   └── [www-data]  UrlGenerator.php
    │               ├── [www-data]  LICENSE
    │               ├── [www-data]  Loader
    │               │   ├── [www-data]  AnnotationClassLoader.php
    │               │   ├── [www-data]  AnnotationDirectoryLoader.php
    │               │   ├── [www-data]  AnnotationFileLoader.php
    │               │   ├── [www-data]  ClosureLoader.php
    │               │   ├── [www-data]  Configurator
    │               │   │   ├── [www-data]  CollectionConfigurator.php
    │               │   │   ├── [www-data]  ImportConfigurator.php
    │               │   │   ├── [www-data]  RouteConfigurator.php
    │               │   │   ├── [www-data]  RoutingConfigurator.php
    │               │   │   └── [www-data]  Traits
    │               │   │       ├── [www-data]  AddTrait.php
    │               │   │       └── [www-data]  RouteTrait.php
    │               │   ├── [www-data]  ContainerLoader.php
    │               │   ├── [www-data]  DirectoryLoader.php
    │               │   ├── [www-data]  GlobFileLoader.php
    │               │   ├── [www-data]  ObjectLoader.php
    │               │   ├── [www-data]  PhpFileLoader.php
    │               │   ├── [www-data]  schema
    │               │   │   └── [www-data]  routing
    │               │   │       └── [www-data]  routing-1.0.xsd
    │               │   ├── [www-data]  XmlFileLoader.php
    │               │   └── [www-data]  YamlFileLoader.php
    │               ├── [www-data]  Matcher
    │               │   ├── [www-data]  CompiledUrlMatcher.php
    │               │   ├── [www-data]  Dumper
    │               │   │   ├── [www-data]  CompiledUrlMatcherDumper.php
    │               │   │   ├── [www-data]  CompiledUrlMatcherTrait.php
    │               │   │   ├── [www-data]  MatcherDumperInterface.php
    │               │   │   ├── [www-data]  MatcherDumper.php
    │               │   │   └── [www-data]  StaticPrefixCollection.php
    │               │   ├── [www-data]  RedirectableUrlMatcherInterface.php
    │               │   ├── [www-data]  RedirectableUrlMatcher.php
    │               │   ├── [www-data]  RequestMatcherInterface.php
    │               │   ├── [www-data]  TraceableUrlMatcher.php
    │               │   ├── [www-data]  UrlMatcherInterface.php
    │               │   └── [www-data]  UrlMatcher.php
    │               ├── [www-data]  README.md
    │               ├── [www-data]  RequestContextAwareInterface.php
    │               ├── [www-data]  RequestContext.php
    │               ├── [www-data]  RouteCollectionBuilder.php
    │               ├── [www-data]  RouteCollection.php
    │               ├── [www-data]  RouteCompilerInterface.php
    │               ├── [www-data]  RouteCompiler.php
    │               ├── [www-data]  Route.php
    │               ├── [www-data]  RouterInterface.php
    │               └── [www-data]  Router.php
    ├── [www-data]  core
    │   ├── [www-data]  class
    │   │   └── [www-data]  Websocket.class.php
    │   ├── [www-data]  i18n
    │   │   ├── [www-data]  en_US.json
    │   │   └── [www-data]  fr_FR.json
    │   └── [www-data]  php
    │       ├── [www-data]  bin
    │       │   └── [www-data]  server.php
    │       └── [www-data]  src
    │           └── [www-data]  Notifier.php
    ├── [www-data]  desktop
    │   └── [www-data]  php
    │       └── [www-data]  Websocket.php
    ├── [www-data]  ISSUE_TEMPLATE.md
    ├── [www-data]  LICENSE
    ├── [www-data]  logo.png
    ├── [www-data]  plugin_info
    │   ├── [www-data]  configuration.php
    │   ├── [www-data]  info.json
    │   ├── [www-data]  install.php
    │   └── [www-data]  Websocket_icon.png
    ├── [www-data]  README.md
    └── [www-data]  resources
        └── [www-data]  jeedom-websocket.service
marmoul70 commented 4 years ago

voici les resultat de la cmd `/var/www/html/plugins/Websocket/ ├── [www-data] 3rparty │   ├── [www-data] composer.json │   └── [www-data] composer.lock ├── [www-data] core │   ├── [www-data] class │   │   └── [www-data] Websocket.class.php │   ├── [www-data] i18n │   │   ├── [www-data] en_US.json │   │   └── [www-data] fr_FR.json │   └── [www-data] php │   ├── [www-data] bin │   │   └── [www-data] server.php │   └── [www-data] src │   └── [www-data] Notifier.php ├── [www-data] desktop │   └── [www-data] php │   └── [www-data] Websocket.php ├── [www-data] ISSUE_TEMPLATE.md ├── [www-data] LICENSE ├── [www-data] logo.png ├── [www-data] plugin_info │   ├── [www-data] configuration.php │   ├── [www-data] info.json │   ├── [www-data] install.php │   └── [www-data] Websocket_icon.png ├── [www-data] README.md └── [www-data] resources └── [www-data] jeedom-websocket.service

` Pour l'installation j'ai suivi la procédure d'installation par fichier dans jeedom comme tu l'a indiqué par contre je crois que c'est la version 1.0.0 Je n'ai pas réussi à dezipper directement dans le fichier via jeedom car il n'aime pas le .htacces ou fichier dans ce genre... et je t'avoue que je suis pas doué en ligne de cmd :)

marmoul70 commented 4 years ago

Bon désole avec le zip de la 1.0.1 en releases c'est bon j'avais pas pris celui la...

Du coup rien a configuré d'autre coté jeedom?

nioc commented 4 years ago

Chouette nouvelle !

Tu dois passer par l'écran de configuration du plugin pour positionner le port d'écoute, les délais de lecture et les domaines autorisés à se connecter (important pour la sécurité).

Pour info, j'ai un projet de "front" (application web) qui exploite les API Jeedom (et le websocket évidement). Tu peux y jeter un oeil ici, il y a une démo (très limitée mais ça donne un aperçu de l'UX). Note : ça ne fonctionne pas avec IE/Edge :rofl:

marmoul70 commented 4 years ago

J'ai configuré mon l'url de mon serveur distant et ajouté le code js dans un script par contre ja passe direct par un onclose. Peut-tu préciser cette partie du coup? new WebSocket('ws://IPdeJeedom:8090/myawesomesocket') C'est correct? ou place ton 'myawesomesocket'? Pour la clé API c'est bien la clé générale?

J'ai jeté un oeil à ton projet de front et c'est le projet que j'aimerai avoir. j'ai déja commencé un projet dans ce sens avec laravel (que je découvre) et un template de metronic. Actuellement pour faire le lien entre jeedom et mon front perso avec laravel je me sers d'un solution de contournement avec un serveur 'Constellation' que j'aimerai éteindre par la suite pour n'avoir que jeedom<>Mon interface. Par contre j'ai énormément de question quand à ton système du coup car j'aimerai que récupérer la partie script à inséré dans mon template :) (j'en demande beaucoup lol) Merci à toi

nioc commented 4 years ago

Tu as 2 options :

La clé à fournir est celle de ton utilisateur Jeedom.

Pour le front, on en discute plus tard, je dois filer :smile:

marmoul70 commented 4 years ago

Effectivement avec la clé de l'utilisateur sa fonctionne!! super idée de lié à des users!!! Au plaisir d'échanger avec toi sur le front. A bientôt

nioc commented 4 years ago

Pour le coup, ça fait partie des API du core Jeedom, je ne fais que l'utiliser 😄 Je clôture l'issue et je reviens vers toi pour le front.