Aller au contenu

Messages recommandés

Posté(e)

Gaetan,

Euh encore moi, le lien fonctionne, ensuite je vais sur SPK puis SQUIDGUARD et si je vois bien tous les fichiers qui doivent composer le paquet, je ne vois pas où récupérer le SPK...

Encore merci de ton Aide.

PS : d'après toi serait-il utile de lancer un sujet à destination des Technicien Syno pour qu'ils fassent quelque chose d'utilisable avec leur paquet Proxy ?

Posté(e) (modifié)

oui, en fait, c'est les sources, faut le compiler toi meme

une petite machine virtuelle debian fait l'affaire pour çà

pour le paquet squidguard de synocommunity, il y a un PR qui traine depuis 6 mois avec des modification de bug, on ne sais pas pourquoi cela n'a toujours pas été pris en compte, et comme çà bouge pas, certaine personne ont preferer recuperer les sources, les modifier, et les compiler pour eux meme (comme moi par exemple) afin que le paquet soit fonctionnel

Modifié par Gaetan Cambier
Posté(e)

Re,

Je sens que je vais abuser mais te serait-il possible de le compiler et de publier le spk quelque part ? (ton site perso par exemple, ou tu me l'envoi par mail...)

En fait, je comprends les mots que tu écris mais je n'ai aucune idée de comment faire, je n'ai jamais pratiqué... Machine virtuelle debian => comment on fait ça ?

Si tu ne peux (veux ?) pas, pas de soucis, je chercherais de mon côté pour faire comme tu dis au moins j'apprendrais des trucs nouveaux mais ce sera pas pour demain (pb de temps...)

Encore merci pour tout !!!

Posté(e)

Je remercie fortement Gaetan Cambier qui a eu le gentillesse de me transmettre le SPK du squidguard qu'il utilise (après compilation par ses soins) et, avec son accord, je vous le mets à dispo mais attention il n'est pas compatible avec tous les syno, juste avec les suivantes :

cedarview (x64)

  • x14 Series
    • RS814(RP)+ - synology_cedarview_rs814+/synology_cedarview_rs814rp+
    • RS2414(RP)+ - synology_cedarview_rs2414+/synology_cedarview_rs2414rp+
  • x13 Series
    • DS713+
    • DS1513+
    • DS1813+
    • DS2413+
  • x12 Series
    • DS412+
    • RS812(RP)+
    • DS1512+
    • DS1812+
    • RS2212(RP)+

Et est dispo ici : https://1fichier.com/?062mum41qn

En espérant que ça en aidera d'autres, amusez-vous bien !!! dans l'attente que la synocommunity mette un paquet officiel compatible avec tous les syno (à jour des divers bugs déjà corrigés et en attente de validation) ou que Synology mette à niveau leur proxy (on sait jamais... :rolleyes: )

  • 8 mois après...
Posté(e)

Je remercie fortement Gaetan Cambier qui a eu le gentillesse de me transmettre le SPK du squidguard qu'il utilise (après compilation par ses soins) et, avec son accord, je vous le mets à dispo mais attention il n'est pas compatible avec tous les syno,

En espérant que ça en aidera d'autres, amusez-vous bien !!! dans l'attente que la synocommunity mette un paquet officiel compatible avec tous les syno (à jour des divers bugs déjà corrigés et en attente de validation) ou que Synology mette à niveau leur proxy (on sait jamais... :rolleyes: )

non non, j'ai les version compatible pour tous les nas à partir des des dsxx10 ;)

Posté(e)

Bonjour à tous,

Désolé pour le détérage du topic, mais après 3 jours de recherches infructueuses sur internet, z'êtes mon dernier espoir.

J'ai installé le paquet Squidgard sur mon Syno (DS115). Après quelque bricolage, tout se lance bien, j'ai accès à la page squidgard d'admin, tout ça tout ça.

J'ai cependant le soucis (apparement connu) de l'emergency mode. INSOLUBLE :'( 

Je vous past la fin de mon squidgard.log

"Aidez-moi, Obi-Wan Kenobi, vous êtes mon seul espoir !"

2015-10-12 10:49:28 [7085] INFO: New setting: logdir: /usr/local/squidguard/var/logs
2015-10-12 10:49:28 [7085] INFO: New setting: dbhome: /usr/local/squidguard/var/db
2015-10-12 10:49:28 [7085] init domainlist /usr/local/squidguard/var/db/adult/domains
2015-10-12 10:49:28 [7084] INFO: New setting: logdir: /usr/local/squidguard/var/logs
2015-10-12 10:49:28 [7084] INFO: New setting: dbhome: /usr/local/squidguard/var/db
2015-10-12 10:49:28 [7084] init domainlist /usr/local/squidguard/var/db/adult/domains
2015-10-12 10:49:28 [7083] INFO: New setting: logdir: /usr/local/squidguard/var/logs
2015-10-12 10:49:28 [7083] INFO: New setting: dbhome: /usr/local/squidguard/var/db
2015-10-12 10:49:28 [7083] init domainlist /usr/local/squidguard/var/db/adult/domains
2015-10-12 10:49:28 [7086] INFO: New setting: logdir: /usr/local/squidguard/var/logs
2015-10-12 10:49:28 [7086] INFO: New setting: dbhome: /usr/local/squidguard/var/db
2015-10-12 10:49:28 [7086] init domainlist /usr/local/squidguard/var/db/adult/domains
2015-10-12 10:49:28 [7085] FATAL: sgDbLoadTextFile: put: Invalid argument
2015-10-12 10:49:28 [7085] ERROR: Going into emergency mode
2015-10-12 10:49:28 [7084] FATAL: sgDbLoadTextFile: put: Invalid argument
2015-10-12 10:49:28 [7084] ERROR: Going into emergency mode
2015-10-12 10:49:28 [7083] FATAL: sgDbLoadTextFile: put: Invalid argument
2015-10-12 10:49:28 [7083] ERROR: Going into emergency mode
2015-10-12 10:49:28 [7086] FATAL: sgDbLoadTextFile: put: Invalid argument
2015-10-12 10:49:28 [7086] ERROR: Going into emergency mode
  • 5 mois après...
Posté(e) (modifié)

Ohé la foule,

Tite question, j'ai mon SquidGuard qui est devenu instable ... il s'arrête sans qu'on lui demande quoi que ce soit :eek: .... du coup plus de connexion http à la maison, et forcément ça râle !!

Avez-vous remarqué ce genre de comportement ou s'est-il passé un truc uniquement chez moi, auquel cas je referai une install ??

Pas de news en vue pour le SquidGuard Manager ?

Merci du retour

Bonne journée

Modifié par Dom31
Posté(e)

Bonjour à tous,

 

Une petite idée pour faire fonctionner l'interface SquiguardMGR sur DSM 6 ?

 

Merci

Precise le probleme ou le message d'erreur, ca aidera grandement ;)

A la fois, le gros probleme, c'est synology : aucune doc developper sur dsm 6.0 et le reverse engeneering, ca prend un temps fou que j'au pas trop

Pour terminer, si c'est juste un probleme d'interface pense que la modification des fichiers de config est tout a fait possible en ligne de commande ;)

Posté(e)

Bonjour,

Je suis passé sur DSM 6 et je peux donner des informations complémentaires après analyse :

L'outil SquidGuardMgr ne donnait pas l'utilisateur connecté et le chemin d'accès à l'outil change via DSM 6 : 

IP:port/webman/3rdparty/squidguard/squidguardmgr.cgi et non IP:port/3rdparty/squidguard/squidguardmgr.cgi

En changeant la variable : admin à 1 pour passer la protection le temps de configurer dans squidguardmgr.cgi, on y accède.

Le chemin d'accès à l'outil doit être changer pour y accéder correctement.

@+ si besoin d'info, et je suis aussi le sujet :)

 

Entre DSM 5 et DSM 6 les accès ont changé, on dirait.

Posté(e)

Bsr,

Cool, j'avais changé l'adresse mais pas le "1" pour l'admin.

Merci

J'ai retrouvé mon Squidguard Manager, tout semble à peu près ok, mis à part le redémarrage de Squid qui patauge ds la semoule, sans, manifestement, faire de redémarrage de Squid.

Posté(e)

en attendant, pour faire un restart, redemarre le paquet, c pas top, mais bon, le temps que je trouve tous les problème ;)

Il y a 6 heures, Florent_P a dit :

Bonjour,

Je suis passé sur DSM 6 et je peux donner des informations complémentaires après analyse :

L'outil SquidGuardMgr ne donnait pas l'utilisateur connecté et le chemin d'accès à l'outil change via DSM 6 : 

IP:port/webman/3rdparty/squidguard/squidguardmgr.cgi et non IP:port/3rdparty/squidguard/squidguardmgr.cgi

En changeant la variable : admin à 1 pour passer la protection le temps de configurer dans squidguardmgr.cgi, on y accède.

Le chemin d'accès à l'outil doit être changer pour y accéder correctement.

@+ si besoin d'info, et je suis aussi le sujet :)

 

Entre DSM 5 et DSM 6 les accès ont changé, on dirait.

le chemin, c encore qu'un problème mineur, par contre, reste le problème de securité qui me semble bien + compliqué avec le programme authenticate.cgi qui ne semble plus réagir de la meme facon, et toujours aucune doc developper de la part de synology, c qui me fait royamlement CHI$$ 

Posté(e) (modifié)

Re,

Pour information, après bidouillages, je viens donner un petit supplément : la variable $user ne se récupère pas.

Je tente mais le cgi n'est pas ma partie.

 

Suite : Après quelques essais avec l aide du net : j'ai une variable perl qui change d'information : $ENV{HTTP_COOKIE} qui reçoit un identifiant id suite à connection. Mais cet id est dans la variable.

Comment lui dire que je veux verifier la variable sur une zone en perl (bien sur)

A plus tard 

Modifié par Florent_P
Posté(e)
Il y a 10 heures, Florent_P a dit :

la variable $user ne se récupère pas.

comme je le disait, c'est le problème du fichier authenticate.cgi qui ne semble plus fonctionner comme avant (meme problème pour haproxy mais en language python) :

maintenant, question bete : dans les paramètre du dsm, tu aurait pas une protection contre le XSS activé ? (dans dsm 5.2 c'est alelioré la protection contre les requetes inter site qu'il faut absolument désactivé dans : panneau de config --> securité --> securité)

 

Posté(e)
Il y a 1 heure, gaetan.cambier a dit :

bon, j'ai pris la décision de passer à dsm 6.0 pour pouvoir avancer dans tous ses problème

Cà, c'est ce qu'on appelle payer de son corps :-)

Posté(e)

bon, en somme, mes paquets "fonctionnent" mais c'est les interfaces graphique qui posent problème

c "moins grave on va dire"

j'y travaille, mais si des personnes trouve des solutions ou meme juste des pistes, elle sont les bienvenue ;)

Posté(e) (modifié)
Il y a 5 heures, gaetan.cambier a dit :

comme je le disait, c'est le problème du fichier authenticate.cgi qui ne semble plus fonctionner comme avant (meme problème pour haproxy mais en language python) :

maintenant, question bete : dans les paramètre du dsm, tu aurait pas une protection contre le XSS activé ? (dans dsm 5.2 c'est alelioré la protection contre les requetes inter site qu'il faut absolument désactivé dans : panneau de config --> securité --> securité)

 

Hello,

Je viens de tester et malheureusement non, en enlevant toutes les sécurités possibles, la variable $user n'est pas récupéré.

En revanche, dans le shell, $LOGNAME récupère bien le nom (visu via set) 

mais impossible de le rapatrier dans le cgi.

il y a 28 minutes, gaetan.cambier a dit :

bon, en somme, mes paquets "fonctionnent" mais c'est les interfaces graphique qui posent problème

c "moins grave on va dire"

j'y travaille, mais si des personnes trouve des solutions ou meme juste des pistes, elle sont les bienvenue ;)

Pour ma part, j'essaie de donner le maximum d'indications. Je ne sais pas si ca aide vraiment.

 

Modifié par Florent_P
Posté(e)
il y a 19 minutes, Florent_P a dit :

Pour ma part, j'essaie de donner le maximum d'indications. Je ne sais pas si ca aide vraiment.

si si, ca aide ;)

problème de droit d'access sur le module d'authentification (encore et toujours), je check une solution ;)

Posté(e)

Merci,

Je suis en train de regarder les autres cgi dans les packages sous DSM 6, ils sont tous compilés. Je remarque sinon un fichier en plus "config" qui explique rapidement le programme.

@+

Posté(e) (modifié)
Il y a 2 heures, gaetan.cambier a dit :

problème de droit d'access sur le module d'authentification (encore et toujours), je check une solution ;)

gaetan, J'ai trouvé cela sur le web :

Citation

Hi, in the DSM 6 Beta 2, the authenticate.cgi can found under:

/etc/apparmor.d/cache/usr.syno.synoman.webman.authenticate.cgi

A vérifier sur les SDM6 finaux, moi je suis resté en 5.2 lol

EDIT :

Sinon j'ai jeté un coup d'oeil au contenu du paquet "Advanced Power Manager for Synology DS" qui est en perl et qui semble avoir été mis à jours pour fonctionner sur DSM6 ... on y trouve effectivement quelques indications quant à l'utilisation de "/usr/syno/synoman/webman/modules/authenticate.cgi" qui semble faire référence à SynoToken ....

Paquet téléchargeable ici pour voir le contenu: http://downloads.sourceforge.net/project/advpowermgr4ds/release-3/advpowermgr-3.4-5.spk?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fadvpowermgr4ds%2Ffiles%2Frelease-3%2F&ts=1459697670&use_mirror=iweb

je mets ici le bout de code en perl utilisé pour vérifier les privilèges dans cette application:

#!/usr/bin/perl

use JSON qw( to_json from_json );

my $VERSION_FILE = "/etc.defaults/VERSION";
my $LOGIN_CGI = "/usr/syno/synoman/webman/login.cgi";
my $AUTH_CGI = "/usr/syno/synoman/webman/modules/authenticate.cgi";
# initdata: Pre DSM6.0 (Build 7307)
my $INITDATA_CGI = "/usr/syno/synoman/webman/initdata.cgi";
# synowebapi: DSM6.0 (Build 7307)
my $SYNOWEBAPI = "/usr/syno/bin/synowebapi";
my $version;

sub version {

    unless(defined($version)) {
        if (open(my $fh, "$VERSION_FILE")) {
            while (<$fh>) {
                next unless m#^buildnumber="(\d+)"$#;
                $version = $1;
                last;
            }
            close($fh);
        } else {
            warning("No '%s' file found", $VERSION_FILE);
            $version = -1;
        }
        info("DSM version is %d", $version);
    }

    return $version;
}


sub check_privilege {
    my $class = shift;
    my $appname = "SYNO.SDS._ThirdParty.App.AdvancedPowerManager";

    open(my $fh, '-|', $LOGIN_CGI) or die_exec($LOGIN_CGI);
    my @out = (<$fh>);
    chomp(@out);
    close($fh);

    # Skip HTTP header
    my $raw_data = join('', @out);

    $raw_data = substr($raw_data, index($raw_data, "{") - 1);
    my $ret = from_json($raw_data);
    my $token = $ret->{SynoToken};

    if (defined($token)) {
        $ENV{"QUERY_STRING"} = "SynoToken=$token";
        $ENV{"X-SYNO-TOKEN"} = "$token";
    }

    open($fh, "$AUTH_CGI |") or die_exec($AUTH_CGI);
    my $user = <$fh>;
    chomp($user);
    close($fh);

    return ('', '', 0) if $user eq "";

    my ($appprivilege, $is_admin);
    if (version() >= 7307) {
        # DSM 6.0
        open($fh, "$SYNOWEBAPI --exec api=SYNO.Core.Desktop.Initdata method=get version=1 runner=$user |") or die_exec($SYNOWEBAPI);
        @out = (<$fh>);
        close($fh);
        $raw_data = join('', @out);
        $ret = from_json($raw_data);
        $appprivilege = defined($ret->{'data'}->{'AppPrivilege'}->{$appname}) ? 1 : 0;
        $is_admin = defined($ret->{'data'}->{'Session'}->{'is_admin'} && $ret->{'data'}->{'Session'}->{'is_admin'} eq JSON->true()) ? 1 : 0;
    } else {
        open($fh, "$INITDATA_CGI |") or die_exec($INITDATA_CGI);
        @out = (<$fh>);
        close($fh);
        $raw_data = join('', @out);
        $raw_data = substr($raw_data, index($raw_data, "{") - 1);

        $ret = from_json($raw_data);
        $appprivilege = defined($ret->{'AppPrivilege'}->{$appname}) ? 1 : 0;
        $is_admin = $ret->{Session}->{is_admin} eq JSON->true();
    }

    return ('', '', 0) unless ($appprivilege || $user eq "admin");
    return ($token, $user, $is_admin);
}

 

Modifié par loli71

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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.