Aller au contenu

Package Center


Diaoul

Messages recommandés

Bonjour,

Je suis impressionné du boulot que vous avez fait pour ce package center.

C'est une version encore en teste ou c'est déjà une version final ?

Je suis plus tôt débutant dans le monde linux et j'avance tous les jours grasse à vous, je suis très intéresser à l'installer sur mon syno!

Pensez-vous faire un tuto bien explicite ?

Meilleures salutations.

Lien vers le commentaire
Partager sur d’autres sites

Une des requêtes AJAX de DSM quand on ouvre le gestionnaire de paquets donne ça, c'est assez intéressant puisqu'on voit "startable". J'ai essayé plusieurs choses dans mes SPK pour le mettre à false sans succès.


{

   "data" : [...],

   "success" : true

}

C'est le client qui envoie ces données au dépôt (POST?) pour l'informer sur les paquets déjà installés ?

Lien vers le commentaire
Partager sur d’autres sites

Analyse réponse :

Réponse en JSON encodé en UTF-8 et images en Base64. Aucune idée de ce que peut être 1afbb au début de la réponse...

Pour les champs coté réponse:

  • ...
  • qinst: ? un rapport avec l'installation du package ? S'il est à false peut être que ça rend le package non dispo ?
  • ...

Après un test rapide, qinst veut en fait dire quick installation.

Lorsqu'il est mis à false, une fenêtre apparaît pendant le téléchargement, l'installation et le lancement du paquet.

À true, il n'y a pas de fenêtre et seul le bouton d'installation change de comportement en fonction des étapes franchies (téléchargement, installation, lancement, ...).

Lien vers le commentaire
Partager sur d’autres sites

Non, dans le JSON envoyé par le serveur.

Après il doit très certainement y avoir un paramètre dans le fichier INFO pour indiquer ce comportement, mais je n'ai vu ça nulle part pour le moment.

J'arrive à extraire le fichier INFO d'un .spk sans utiliser la fonction exec() de PHP (cette function est désactivée par défaut sur les NAS Synology). C'est très simple, le format d'un fichier .tar (identique au .spk) est décrit ici.

Du coup ça me permet d'afficher la liste complète des fichiers contenus dans le .spk (package.tgz inclu).

J'ai créé quelques classes PHP pour faire quelque chose de propre. Par exemple, l'extraction des informations du fichier INFO ressemble à ça :


require_once 'class/syno_package.class.php';



$file = "SyslogServer-x86-1.0-1922.spk";


$spk = new Syno_Package($file);


$spk->info_package;    // Valeur de la variable package

$spk->info_version;

$spk->info_description;

$spk->info_maintainer;

$spk->info_arch;

Désolé j'ai pas réussi à faire plus simple ph34r.png

Mon but serait maintenant de pouvoir modifier les fichiers contenus dans le .spk de façon transparente. Pour ce faire, j'ai besoin de connaître l'algorithme utilisé pour calculer le checksum de l'en-tête (512 octets) d'un fichier contenu dans un .tar.

Ce checksum tient sur 8 octets mais la spec n'est pas très explicite sur son mode de calcul :

The chksum field is the ASCII representation of the octal value of the simple sum of all bytes in the header block. Each 8-bit byte in the header is added to an unsigned integer, initialized to zero, the precision of which shall be no less than seventeen bits. When calculating the checksum, the chksum field is treated as if it were all blanks.

Je vais regarder dans les sources mais si quelqu'un s'y connaît en calcul de checksum, je suis preneur.

edit : c'est bon pour le checksum.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bha ça avance, superzebulon et moi même travaillons à l'élaboration d'un outil commun de création de SPKs : https://github.com/zebulon501/spksrc

Des gars du forum allemand s'occupent de l'hébergement sur nas-forum.

Le but est d'avoir plusieurs développeurs autours d'une même table afin de faire avancer au mieux la communauté plutôt que de faire chacun dans son coin (comme merty).

Evidement ça prend du temps, si quelqu'un veut participer (développeur ou pas), la porte est ouverte.

Lien vers le commentaire
Partager sur d’autres sites

si ça peut aider, je veux bien donner un petit coup de main.

je m'y connais pas mal en développement (php, perl, shell unix, C, java) et en système linux. J'ai aussi quelques connaissances en cross-compilation.

Une fois la package center opérationnel, je pourrai proposé des packages sslh, tinyproxy et scp (qui fonctionnent sur mon syno 411+). J'ai également développé une page pour leur paramétrage dans le DSM.

Lien vers le commentaire
Partager sur d’autres sites

Pour l'upload des SPK et la génération automatique du catalogue, j'ai presque terminé. Je ne sais pas si quelqu'un s'en occupait déjà. ph34r.png

J'ai vu avec rodo37 pour les questions de sécurité afin de limiter l'upload et le téléchargement de SPK (sinon le serveur va pas aprécier).

Ce n'est pas encore implémenté, mais je pourrais également générer un SPK (tar+gzip) ou le modifier à partir de PHP.

Par exemple, ça pourrait être pratique pour modifier le fichier INFO directement depuis l'interface web du serveur.

@Diaoul : ils en sont où sur le forum allemand ?

Lien vers le commentaire
Partager sur d’autres sites

Oui, en un peu plus poussé : 19 classes PHP (hors scripts frontaux), 9 tables MySQL et quelques vues, pour l'instant.

Il y a quelques tables de log pour générer des statistiques de fréquentation/téléchargement.

Ça fonctionne très bien avec uMurmur (à tout hasard happy.png). J'ai également créé un SPK avec la version 3.4.5 de MySQL (un peu lourde pour mon DS109) :

catalog.png

Pour l'instant l'interface est très rudimentaire et est plutôt dédiée au 3ème âge :

login.png

upload.png

Lien vers le commentaire
Partager sur d’autres sites

Oui, en un peu plus poussé : 19 classes PHP (hors scripts frontaux), 9 tables MySQL et quelques vues, pour l'instant.

Il y a quelques tables de log pour générer des statistiques de fréquentation/téléchargement.

Ça fonctionne très bien avec uMurmur (à tout hasard happy.png). J'ai également créé un SPK avec la version 3.4.5 de MySQL (un peu lourde pour mon DS109) :

catalog.png

Pour l'instant l'interface est très rudimentaire et est plutôt dédiée au 3ème âge :

login.png

upload.png

Bonjour,

est-ce possible d'avoir les sources??Vous servez-vous de la fonction exec ?

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas si les sources du futur outil seront publiques prochainement. Cependant, toute personne voulant participer est la bienvenue.

Les raisons sont les suivantes :

  1. Sécurité, sécurité, sécurité : Un serveur avec son code visible sur internet, il faut vraiment avoir confiance en son code pour faire une chose pareille. La moindre faille sera visible et potentiellement exploitée
  2. Fragmentation : Le but est de rassembler les développeurs et les SPK sous un même serveur, pas de crééer un serveur par-ci par-là. La raison à un serveur centralisé est qu'il n'y a pas de gestion des conflits au sein des packages donc un package d'un serveur peut entrer en conflit avec un package d'un autre serveur...

Donc le code, oui, un jour. Pour l'instant il reste privé.

Modifié par Diaoul
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

2 questions pour piwi :

1. je suis en train de faire un spk GateOne, mais cela nécessite 2 modifications dans le spk python : ajout de tornado et support de termcap. ça te pose un problème si je modifie cela dans github ?

2. est-ce que je peux publier mes spk dans ton repo (sslh, tinyproxy et openssh) ?

Lien vers le commentaire
Partager sur d’autres sites

1. je suis en train de faire un spk GateOne, mais cela nécessite 2 modifications dans le spk python : ajout de tornado et support de termcap. ça te pose un problème si je modifie cela dans github ?

Cool! Du SSH en HTML5! Ça a été pas mal demandé sur le forum comme fonctionnalité.

Non mais ce n'est pas moi qui maintient le spk python mais zebulon501, mieux vaut lui demander directement.

2. est-ce que je peux publier mes spk dans ton repo (sslh, tinyproxy et openssh) ?

Bien sûr, je te donne les détails en mp (si tu ne les as pas déjà).

Il y a un module d'upload qui va être intégré à spksrc dans les prochains jours, ça évitera de devoir passer par l'interface d'upload web.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...
  • 4 semaines après...

Bonjour,

Bonne année à tous !J'ai installé le dernier libcurl (7.21.7-1) avec ipkg mais je n'arrive pas à le faire fonctionner. Il y a systématiquement l'erreur suivante: "cURL Error (7): Failed to connect to xxx.xxx.xxx.xxx: Invalid argument".Après plusieurs jours de recherche, je suis tombé sur ceci http://comments.gman...l.library/33285 qui dit qu'il y aurait un bug dans cette version. Est-ce que quelqu'un saurait faire un package avec la correction décrite dans l'article ? Ou bien est-ce que quelqu'un posséderait une version antérieurs (7.19.5 par exemple) ? J'ai un vieux Synology DS101j (armeb)

Merci

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.