[PKGBUILD] LogProtect

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

[PKGBUILD] LogProtect

Message par mélodie »

Bonjour,

Parcourant les fiches Framasoft côté éducatifs, j'ai découvert cette application qui me semble intelligemment conçue, j'ai récupéré les sources et invoqué un configure et un make dedans, puis tenté de lancer le soft contre un fichier contenant des mots à filtrer, et me voici, pour vous demander si un archer voudrait bien faire un PKGBUILD, et aussi si quelqu'un pourra ensuite, donner quelques indications sur ce qu'il faut faire et ne pas faire, en regard de iptables (selon si on en a un configuré) et netfilter (lu quelque chose à ce sujet dans le howto, mais je ne vois pas trop ce que ça implique en terme de configuration).

Voici l'adresse du site de LogProtect:
http://www.logprotect.fr/
LogProtect est un logiciel libre et gratuit de contrôle parental.
Un seul but : empêcher un enfant de donner sur un
T'chat, sur msn, sur un formulaire... ses coordonnées
personnelles.
La page des sources:
http://www.octets.fr/logprotect.html

Un extrait de la Faq qu'on trouve dans les sources (fichier faq.html):
A quoi sert ce programme ?
Ce programme est destiné à protéger les personnes, et particulièrement les enfants, en les empêchant d'envoyer leurs coordonnées ou d'autres informations permettant de les identifier sur Internet, que cela soit sur un forum, un logiciel de chat ou autre.

Il existe déjà une version pour Windows qui s'installe sur chaque poste et supprime les informations indésirables au moment de la frappe. Ce programme, que je nomme pour le moment lps, a été conçu pour simplifier la tâche du responsable d'un réseau interne. Ce réseau, par exemple celui d'une école primaire, est connecté à Internet par une machine passerelle. Cette dernière 'voit' donc passer tout le traffic que génèrent les forums et applications de chat. lps s'installe sur la passerelle et cherche dans les paquets qui sortent du réseau des informations interdites et les remplace par des caractères '_'.

Cette solution permet de filtrer le traffic généré par un réseau possiblement hétérogène, la seule condition de fonctionnement étant que ce traffic passe par une passerelle fonctionnant sous GNU/Linux.
Merci par avance,
Mélodie.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

Salut,

je me suis amusé a faire un PKGBUILD pour lps (logprotect) :

Code : Tout sélectionner

# Contributor: Marc Poiroud <marci1 AT archlinux.fr>
pkgname=lps
pkgver=0.94
pkgrel=1
pkgdesc="empêcher un enfant de donner ses coordonnées personnelles."
arch=(i686 x86_64)
url="http://www.octets.fr/logprotect.html"
license=('GPL')
depends=('iptables' 'pygtk')
#options=(!docs)	# supprime /usr/share/doc/lps
source=(http://www.octets.fr/projets/logprotect/$pkgname-$pkgver.tar.gz)
md5sums=('ffa53da41a6bb9902ebd1090b4cc2104')

build() {
	cd $startdir/src/$pkgname-$pkgver
	# il est possible de ne pas compiler avec python en dépendance
	# pour cela il faut préciser au configure :  --without-pygtk-frontend
	./configure --prefix=/usr
	make || return 1
	make DESTDIR=$startdir/pkg install
	# installation de script d'init
	install -D -m755 $startdir/src/$pkgname-$pkgver/rc.filter \
		$startdir/pkg/etc/rc.d/lps
}
Ce qui manque :
* un fichier .install pour expliquer que 'lps' doit être ajouter dans les DEAMONS du rc.conf

Explication :
* iptable est lancé par /etc/rc.d/lps et il écrase TOUTE les configurations existantes, donc méfiance.
* netfilter est un module du noyau mais là je maîtrise pas assez pour savoir comment il s'utilise, le script charge des modules, je présume que c'est lié à netfilter.
* il existe une interface en pygtk pour régler/configurer lps, on peut s'en passer en compilant avec l'option --without-pygtk-frontend et donc supprimer la dépendance 'pygtk'

Voilà :)

Pour info, voici le contenu du paquetage une fois fini :

Code : Tout sélectionner

pkg/                                                                                                                    
|-- etc                                                                                                                 
|   `-- rc.d                                                                                                            
|       `-- lps                                                                                                         
`-- usr                                                                                                                 
    |-- etc                                                                                                             
    |   `-- lps                                                                                                         
    |       |-- lpsrc                                                                                                   
    |       `-- word-list                                                                                               
    |-- lib                                                                                                             
    |   `-- python2.5                                                                                                   
    |       `-- site-packages                                                                                           
    |           |-- LpsUI                                                                                               
    |           |   |-- __init__.py                                                                                     
    |           |   |-- __init__.pyc                                                                                    
    |           |   |-- lplogo.png                                                                                      
    |           |   |-- lpsconf.py                                                                                      
    |           |   |-- lpsconf.pyc                                                                                     
    |           |   |-- lpsdefaults.py                                                                                  
    |           |   |-- lpsdefaults.pyc                                                                                 
    |           |   |-- lpsgui.py                                                                                       
    |           |   |-- lpsgui.pyc                                                                                      
    |           |   |-- lpsstore.py                                                                                     
    |           |   `-- lpsstore.pyc                                                                                    
    |           `-- pylps-0.3-py2.5.egg-info                                                                            
    |-- sbin                                                                                                            
    |   |-- lps
    |   `-- pylps
    `-- share
        |-- doc
        |   `-- lps
        |       |-- AUTHORS
        |       |-- COPYING
        |       |-- ChangeLog
        |       |-- INSTALL
        |       |-- PORTS
        |       |-- faq.html
        |       `-- rc.filter
        `-- locale
            |-- fr
            |   `-- LC_MESSAGES
            |       `-- pylps.mo
            `-- it
                `-- LC_MESSAGES
                    `-- pylps.mo
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

marc[i1] a écrit : Explication :
* iptable est lancé par /etc/rc.d/lps et il écrase TOUTE les configurations existantes, donc méfiance.
* netfilter est un module du noyau mais là je maîtrise pas assez pour savoir comment il s'utilise, le script charge des modules, je présume que c'est lié à netfilter.
Un grand merci marc[i1] ! Pour avoir la précision qui manque à propos de netfilter, et toutes infos supplémentaires utiles éventuelles , je vais envoyer un mail au responsable du projet, en pointant vers ici.
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message par Skunnyk »

Hello,

Juste pour infos, netfilter est le module firewall/nat du kernel linux.
iptables est "simplement" un outil permettant de configurer netfilter (même si par abus de langage, on écris/dis souvent iptables à la place de netfilter)
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

grillé par martien, mais vainqueur par namcap :lol:

Code : Tout sélectionner

# $Id: PKGBUILD,v 1.00 2008/10/29 23:37:00 celmir Exp $ 
# Contributor: Celmir <scribe-celmir@wanadoo.fr>
# Maintainer: Celmir 

pkgname=lps
pkgver=0.94
pkgrel=1
pkgdesc="parental control tool"
arch=(i686)
license=('GPL')
url="http://www.octets.fr/logprotect.html"
makedepends=('make')
depends=('glib2')
source=(http://www.octets.fr/projets/logprotect/$pkgname-$pkgver.tar.gz)
md5sums=('ffa53da41a6bb9902ebd1090b4cc2104')
build() {
        cd $startdir/src/$pkgname-$pkgver
        ./configure --prefix=/usr --sysconfdir=/etc
        make || return 1
        make DESTDIR=$startdir/pkg install || return 1
        chmod 0644 $startdir/pkg/etc/lps/{lpsrc,word-list}
        install -D -m755 $startdir/src/$pkgname-$pkgver/rc.filter \
              $startdir/pkg/etc/rc.d/lps
}

:o

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

Skunnyk a écrit :Hello,

Juste pour infos, netfilter est le module firewall/nat du kernel linux.
iptables est "simplement" un outil permettant de configurer netfilter (même si par abus de langage, on écris/dis souvent iptables à la place de netfilter)
Alors on peut clairement comprendre qu'il n'y a rien de spécial à faire ? Et pour iptables, si quelqu'un a un iptables configuré, il a tout intérêt à en faire un backup avant de lancer la bête, quitte à fusionner les configurations du fichier de backup et celles créées par lps lors de son premier démarrage ?

Ou bien est-ce pire et le daemon lps crée un nouveau fichier de config pour iptables à chaque nouveau démarrage de la machine/du daemon lps ?
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »


Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

in french :P
Bonnes docs, explications claires.
http://www.netfilter.org/documentation/ ... tion-howto

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

celmir a écrit :in french :P
Bonnes docs, explications claires.
http://www.netfilter.org/documentation/ ... tion-howto
Excellent ! Merci Celmir,
2. Qu'est ce qu'un `réseau informatique'?

Un réseau informatique est juste un ensemble de trucs qui permettent à des noeuds de se parler entre eux (par `noeuds' on entend ordinateurs, imprimantes, distributeurs de coca ou n'importe quoi dans le genre). La façon dont ils sont connectés n'a pas vraiment d'importance: vous pouvez utiliser des fibres optiques ou bien des pigeons voyageurs. Évidemment, certains choix sont meilleurs que d'autres (surtout si vous avez un chat).


:parterre:

c'est exactement ce qu'il me fallait ! :lol:
Avatar de l’utilisateur
celmir
Daikyu
Messages : 78
Inscription : jeu. 10 janv. 2008, 19:38
Localisation : La Rochelle (17)

Message par celmir »

Et oui une bonne documentation adaptée à vos besoins réels, c'est un métier.
Bon je précise : je n'ai pas de chat mais j'ai quand même réussit à utiliser la doc malgré ces conditions extrêmes :P

Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra
http://celmir.tuxfamily.org
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

celmir a écrit :grillé par martien, mais vainqueur par namcap :lol:

Code : Tout sélectionner

...
        ./configure --prefix=/usr --sysconfdir=/etc
...

:o
Effectivement, mettre les fichiers conf dans /etc c'est plus propre, bien vu :)
Ne vous emmerdez plus, emmerdez les autres.
Répondre