From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Fischer <matthias.fischer@ipfire.org> To: development@lists.ipfire.org Subject: Re: [PATCH] New package: IPTraffic 0.8.2 Date: Tue, 26 Jan 2021 17:45:13 +0100 Message-ID: <6c2ab522-ab9a-e4f6-20df-577afad854d9@ipfire.org> In-Reply-To: <9BF9EFBC-F046-4FF1-AAE6-BE016487D2AA@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1827777834622330271==" List-Id: <development.lists.ipfire.org> --===============1827777834622330271== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi, On 25.01.2021 20:27, Michael Tremer wrote: > Hello Matthias, >=20 > Thank you for submitting the patch. >=20 > It is great to see more people taking part in development tasks, but I am n= ot really sure what has been done here. >=20 > The main problem is that I do not know what IPTraffic does, or how it works= . The code is in a tarball and I am not aware if there is a Git repository to= see what has been changed over time. Oh my, just came back from work and had to read a lot of postings here. Hm... I must confess I was puzzled after reading through all of it - its a pity. Perhaps I should have coded this for Pakfire in a different manner to make things more transparent and perhaps avoid a bit of todays discussions - but I can't make that undone. It started with a classical ipcop installation script. As I see it, Bernhard has already looked through the code. The only thing I can think of now: I could rewrite the build process - if this makes still sense, let me know. If it doesn't fit our needs - than thats it. >> On 17 Jan 2021, at 17:15, Matthias Fischer <matthias.fischer(a)ipfire.org>= wrote: >>=20 >> From: Frank Mainz <frank(a)cybermainzel.de> >>=20 >> Please note: >> This is a port of the old 'IPTraffics' addon from ipcop to ipfire >> done by RadioCarbon (Frank Mainz). >> He asked me to publish this for him - ALL programming work was done by him. >> I'm only the MITM. >=20 > You can use =E2=80=9Cgit commit =E2=80=94-author=3D=E2=80=A6=E2=80=9D to se= t the correct author and you should sign-off as yourself as usual. FYI: This is exactly what I did in the *first* commit... =3D> https://patchwork.ipfire.org/patch/3813/ ...and in GIT: =3D> https://git.ipfire.org/?p=3Dpeople/mfischer/ipfire-2.x.git;a=3Dcommit;h=3Dbc2= af5d1c92fb09ddd8266000a0666fff9c67e26 ...but I forgot to do set the author in the last one. That happens. > So to go back to the usual question: What is being proposed here and why? >=20 > Who is this add-on for? What are its features, and what are its limitations? >=20 > Why is this realised as add-on and not as part of the core system? I do not= want to suggest that it should be either. It just seems that this decision h= as been made I would like to know based on what reasons :) As I see it - it was once written as an addon and just stayed in this condition. No one had the idea to integrate it. Simple. Don't get me wrong - I'm not offended - just a little disappointed how the whole thing has gone here at once and would definitely try to still get the best out of it. Best, Matthias > Best, > -Michael >=20 >> Description: >> With the add-on =E2=80=9CIPTraffic=E2=80=9D you can determine the traffic = of a computer >> based on its IP address. >> Only the traffic between IPFire and the client to be monitored can be dete= rmined. >> The display is shown once as a tabular overview and additionally a statist= ical >> graphic can be called up for each client over the period of the last hour,= day, >> week, month and year. >>=20 >> Signed-off-by: Matthias Fischer <matthias.fischer(a)ipfire.org> >> --- >> config/rootfiles/packages/iptraffic | 22 ++++++ >> lfs/iptraffic | 108 ++++++++++++++++++++++++++++ >> make.sh | 1 + >> src/paks/iptraffic/install.sh | 40 +++++++++++ >> src/paks/iptraffic/uninstall.sh | 28 ++++++++ >> src/paks/iptraffic/update.sh | 26 +++++++ >> 6 files changed, 225 insertions(+) >> create mode 100644 config/rootfiles/packages/iptraffic >> create mode 100644 lfs/iptraffic >> create mode 100644 src/paks/iptraffic/install.sh >> create mode 100644 src/paks/iptraffic/uninstall.sh >> create mode 100644 src/paks/iptraffic/update.sh >>=20 >> diff --git a/config/rootfiles/packages/iptraffic b/config/rootfiles/packag= es/iptraffic >> new file mode 100644 >> index 000000000..b860cd9aa >> --- /dev/null >> +++ b/config/rootfiles/packages/iptraffic >> @@ -0,0 +1,22 @@ >> +etc/fcron.minutely/update-iptraffic >> +srv/web/ipfire/html/images/iptraffic >> +srv/web/ipfire/cgi-bin/iptraffic.cgi >> +srv/web/ipfire/html/images/iptraffic/addblue.gif >> +srv/web/ipfire/html/images/iptraffic/addfaint.gif >> +srv/web/ipfire/html/images/iptraffic/addgray.gif >> +srv/web/ipfire/html/images/iptraffic/addgreen.gif >> +srv/web/ipfire/html/images/iptraffic/addorange.gif >> +srv/web/ipfire/html/images/iptraffic/addred.gif >> +srv/web/ipfire/html/images/iptraffic/blue.png >> +srv/web/ipfire/html/images/iptraffic/graph.png >> +srv/web/ipfire/html/images/iptraffic/gray.png >> +srv/web/ipfire/html/images/iptraffic/green.png >> +srv/web/ipfire/html/images/iptraffic/orange.png >> +srv/web/ipfire/html/images/iptraffic/red.png >> +srv/web/ipfire/html/images/iptraffic/square-green.png >> +srv/web/ipfire/html/images/iptraffic/square-red.png >> +srv/web/ipfire/html/images/iptraffic/square-yellow.png >> +usr/local/bin/iptraffic.pl >> +var/ipfire/addon-lang/iptraffic.de.pl >> +var/ipfire/addon-lang/iptraffic.en.pl >> +var/ipfire/menu.d/EX-iptraffic.menu >> diff --git a/lfs/iptraffic b/lfs/iptraffic >> new file mode 100644 >> index 000000000..8f1dfd676 >> --- /dev/null >> +++ b/lfs/iptraffic >> @@ -0,0 +1,108 @@ >> +#########################################################################= ###### >> +# = # >> +# IPFire.org - A linux based firewall = # >> +# Copyright (C) 2007-2020 IPFire Team <info(a)ipfire.org> = # >> +# = # >> +# This program is free software: you can redistribute it and/or modify = # >> +# it under the terms of the GNU General Public License as published by = # >> +# the Free Software Foundation, either version 3 of the License, or = # >> +# (at your option) any later version. = # >> +# = # >> +# This program is distributed in the hope that it will be useful, = # >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # >> +# GNU General Public License for more details. = # >> +# = # >> +# You should have received a copy of the GNU General Public License = # >> +# along with this program. If not, see <http://www.gnu.org/licenses/>. = # >> +# = # >> +#########################################################################= ###### >> + >> +#########################################################################= ###### >> +# Definitions >> +#########################################################################= ###### >> + >> +include Config >> + >> +VER =3D 0.8.2 >> + >> +THISAPP =3D iptraffic-$(VER) >> +DL_FILE =3D $(THISAPP).tar.gz >> +DL_FROM =3D $(URL_IPFIRE) >> +DIR_APP =3D $(DIR_SRC)/$(THISAPP) >> +TARGET =3D $(DIR_INFO)/$(THISAPP) >> +PAK_VER =3D 1 >> +PROG =3D iptraffic >> + >> +DEPS =3D "" >> + >> +#########################################################################= ###### >> +# Top-level Rules >> +#########################################################################= ###### >> + >> +objects =3D $(DL_FILE) >> + >> +$(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) >> + >> +$(DL_FILE)_MD5 =3D 4d6d54a8e17111da6a60d3c7d4588f16 >> + >> +install : $(TARGET) >> + >> +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >> + >> +download :$(patsubst %,$(DIR_DL)/%,$(objects)) >> + >> +md5 : $(subst %,%_MD5,$(objects)) >> + >> +dist:=20 >> + $(PAK) >> + >> +#########################################################################= ###### >> +# Downloading, checking, md5sum >> +#########################################################################= ###### >> + >> +$(patsubst %,$(DIR_CHK)/%,$(objects)) : >> + @$(CHECK) >> + >> +$(patsubst %,$(DIR_DL)/%,$(objects)) : >> + @$(LOAD) >> + >> +$(subst %,%_MD5,$(objects)) : >> + @$(MD5) >> + >> +#########################################################################= ###### >> +# Installation Details >> +#########################################################################= ###### >> + >> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >> + @$(PREBUILD) >> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) >> + >> + # Install GUI >> + install -v -m 755 $(DIR_SRC)/srv/web/ipfire/cgi-bin/iptraffic.cgi \ >> + /srv/web/ipfire/cgi-bin/iptraffic.cgi >> + >> + # Install images >> + -mkdir -p /srv/web/ipfire/html/images/iptraffic >> + install -v -m 644 $(DIR_SRC)/srv/web/ipfire/html/images/iptraffic/* \ >> + /srv/web/ipfire/html/images/iptraffic/ >> + >> + # Install iptraffic script >> + install -v -m 755 $(DIR_SRC)/usr/local/bin/iptraffic.pl \ >> + /usr/local/bin/iptraffic.pl >> + >> + # Create symlink for one minute updates >> + ln -sf /usr/local/bin/iptraffic.pl \ >> + /etc/fcron.minutely/update-iptraffic >> + >> + # Install language files >> + install -v -m 004 $(DIR_SRC)/var/ipfire/addon-lang/iptraffic.*.pl \ >> + /var/ipfire/addon-lang/ >> + >> + # Install menu entry >> + install -v -m 644 $(DIR_SRC)/var/ipfire/menu.d/EX-iptraffic.menu \ >> + /var/ipfire/menu.d/EX-iptraffic.menu >> + chown nobody.nobody /var/ipfire/menu.d/EX-iptraffic.menu >> + >> + @rm -rf $(DIR_APP) >> + @$(POSTBUILD) >> diff --git a/make.sh b/make.sh >> index a9db53edf..267e1b09a 100755 >> --- a/make.sh >> +++ b/make.sh >> @@ -1654,6 +1654,7 @@ buildipfire() { >> lfsmake2 ncdu >> lfsmake2 lshw >> lfsmake2 socat >> + lfsmake2 iptraffic >> } >>=20 >> buildinstaller() { >> diff --git a/src/paks/iptraffic/install.sh b/src/paks/iptraffic/install.sh >> new file mode 100644 >> index 000000000..a9f857784 >> --- /dev/null >> +++ b/src/paks/iptraffic/install.sh >> @@ -0,0 +1,40 @@ >> +#!/bin/bash >> +#########################################################################= ### >> +# = # >> +# This file is part of the IPFire Firewall. = # >> +# = # >> +# IPFire is free software; you can redistribute it and/or modify = # >> +# it under the terms of the GNU General Public License as published by = # >> +# the Free Software Foundation; either version 2 of the License, or = # >> +# (at your option) any later version. = # >> +# = # >> +# IPFire is distributed in the hope that it will be useful, = # >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # >> +# GNU General Public License for more details. = # >> +# = # >> +# You should have received a copy of the GNU General Public License = # >> +# along with IPFire; if not, write to the Free Software = # >> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US= A # >> +# = # >> +# Copyright (C) 2020 IPFire-Team <info(a)ipfire.org>. = # >> +# = # >> +#########################################################################= ### >> +# >> +. /opt/pakfire/lib/functions.sh >> +extract_files >> + >> +mkdir -p /srv/web/ipfire/html/graphs/iptraffic >> +mkdir -p /var/log/iptraffic >> +mkdir -p /var/log/rrd/iptraffic >> + >> +touch /var/log/iptraffic/iptraffic.db >> + >> +restore_backup ${NAME} >> + >> +chown -R nobody.nobody /var/log/iptraffic >> +chown -R nobody.nobody /var/log/rrd/iptraffic >> +chown root.nobody /usr/local/bin/iptraffic.pl >> +chown nobody.nobody /var/ipfire/menu.d/EX-iptraffic.menu >> + >> +/usr/local/bin/update-lang-cache >> diff --git a/src/paks/iptraffic/uninstall.sh b/src/paks/iptraffic/uninstal= l.sh >> new file mode 100644 >> index 000000000..dac570c05 >> --- /dev/null >> +++ b/src/paks/iptraffic/uninstall.sh >> @@ -0,0 +1,28 @@ >> +#!/bin/bash >> +#########################################################################= ### >> +# = # >> +# This file is part of the IPFire Firewall. = # >> +# = # >> +# IPFire is free software; you can redistribute it and/or modify = # >> +# it under the terms of the GNU General Public License as published by = # >> +# the Free Software Foundation; either version 2 of the License, or = # >> +# (at your option) any later version. = # >> +# = # >> +# IPFire is distributed in the hope that it will be useful, = # >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # >> +# GNU General Public License for more details. = # >> +# = # >> +# You should have received a copy of the GNU General Public License = # >> +# along with IPFire; if not, write to the Free Software = # >> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US= A # >> +# = # >> +# Copyright (C) 2007 IPFire-Team <info(a)ipfire.org>. = # >> +# = # >> +#########################################################################= ### >> +# >> +. /opt/pakfire/lib/functions.sh >> + >> +remove_files >> + >> +/usr/local/bin/update-lang-cache >> diff --git a/src/paks/iptraffic/update.sh b/src/paks/iptraffic/update.sh >> new file mode 100644 >> index 000000000..89c40d0d7 >> --- /dev/null >> +++ b/src/paks/iptraffic/update.sh >> @@ -0,0 +1,26 @@ >> +#!/bin/bash >> +#########################################################################= ### >> +# = # >> +# This file is part of the IPFire Firewall. = # >> +# = # >> +# IPFire is free software; you can redistribute it and/or modify = # >> +# it under the terms of the GNU General Public License as published by = # >> +# the Free Software Foundation; either version 2 of the License, or = # >> +# (at your option) any later version. = # >> +# = # >> +# IPFire is distributed in the hope that it will be useful, = # >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of = # >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # >> +# GNU General Public License for more details. = # >> +# = # >> +# You should have received a copy of the GNU General Public License = # >> +# along with IPFire; if not, write to the Free Software = # >> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US= A # >> +# = # >> +# Copyright (C) 2007 IPFire-Team <info(a)ipfire.org>. = # >> +# = # >> +#########################################################################= ### >> +# >> +. /opt/pakfire/lib/functions.sh >> +./uninstall.sh >> +./install.sh >> --=20 >> 2.18.0 >>=20 >=20 --===============1827777834622330271==--