Deb package version 0.3

This commit is contained in:
KatolaZ 2017-01-29 18:15:55 +00:00
parent 33a4c4b01b
commit ce29fd6f30
51 changed files with 6154 additions and 0 deletions

7
Makefile Normal file
View File

@ -0,0 +1,7 @@
all: doc
doc: setnet.8
gzip -c setnet.8 > setnet.8.gz
groff -m mdoc -T html setnet.8 > setnet.8.html

View File

@ -0,0 +1,32 @@
2017-01-29 KatolaZ <katolaz@freaknet.org>
* setnet.sh:
* removed "Load file" and "New File" in WiFi configuration
2017-01-23 KatolaZ <katolaz@freaknet.org>
* setnet.sh:
* fixed a few minors bugs
2017-01-20 KatolaZ <katolaz@freaknet.org>
* setnet.sh (0.3):
* implemented check of running shell
* implemented workaround for zsh -- now fully supported
* added chk_out and chk_exit
* all direct commands (e.g., ip, wpa_cli) are now checked
* added support for EAP/PEAP
* added support for EAP/TLS
2017-01-07 KatolaZ <katolaz@freaknet.org>
* setnet.sh (configure_device): Improved wifi detection
(netdiag_ping), (netdiag_traceroute),(netdiag_query):
changed dialog to programbox
* solved viasualitation bug in ip config
* added a manpage
* Added configuration variable "WIFI_DEVICES"
* The "Setup interface" menu has been reorganised
* added "Config IP Address" and "Manage Wifi Networking"

View File

@ -0,0 +1,132 @@
+--------------+
| setnet |
+--------------+
Copyleft (C) Vincenzo "KatolaZ" Nicosia <katolaz@freaknet.org>
2016, 2017
=== DESCRIPTION ===
setnet is a shell script with a dialog UI to configure ethernet and
wifi connections. It is meant to be POSIX-compliant, and has been
tested with bash, busybox, dash, ksh, mksh, posh, and yash. It is
still to be considered beta software, so you should use it AT YOUR OWN
RISK, but it is already fully functional.
=== LICENSE ===
setnet is Free Software, and can be used and distributed under the
terms of the GNU General Public License, either version 3 of the
licence or, at your option, any later version.
Please see the file LICENSE for more information
=== DEPENDENCIES ===
In order to run setset, you MUST satisfy this (relatively small) set
of dependencies:
- a posix-compliant shell (bash, busybox, dash, ksh, mksh, posh, and
yash have been tested)
- dialog (version 1.2 tested, but it should work with previous
versions as well)
- dhcp-client (for dhclient, tested with isc-dhcp-client)
- iproute2 (for ip)
- wireless-tools (for iwconfig, currently required for interface
identification)
Most of those tools might already be installed in your system anyway.
In particular, setnet uses:
- dialog: to provide a minimal Text-based User Interface,
- ip: to configure network interfaces and get information about them,
- dhclient: for DHCP-based IP configuration
- iwconfig: to check whether a network device is a wifi adapter
In order to use the full set of functionalities provided by setnet,
you MIGHT also need the following packages:
- wpa_supplicant (for wifi configuration)
- net-tools (for netstat, to gather information about network status)
- iputils-ping (for ping)
- bind9-nost (for host, used to check DNS configuration)
- traceroute (to trace the route between your host and any other host
in the Internet)
Again, most of them should be already installed in your system anyway.
=== USAGE ===
setnet is installed under /usr/sbin/setnet.sh. If invoked with "-h",
it provides a list of supported options:
$ ./setnet.sh -h
Usage: setnet.sh [OPTION]
Options:
-c cfg_file Load configuration from cfg_file.
-v Print version number and exit.
-h Show this help.
$
If the argument "-c" is specified, setnet will use the provided
configuration file. Otherwise, it will look for its configuration file
in one of the following locations:
- /etc/setnetrc
- ~/.setnetrc
in the given order. The following configuration variables should be
defined in setnetrc:
- WPA_FILE
This is the file configuration file used by wpa_supplicant.
- LOGNAME
This is the file used for logging.
- TRUNCATE_LOG
if equal to "yes", the log file will be truncated when setnet
starts
=== root vs. mortal users ===
Networking is an amdinistration task, and as such should be performed
by the host administrator, i.e., the user with UID 0 (normally called
"root"). However, in many modern GNU/Linux systems it is customary to
allow normal users to perform some administration tasks. There are at
least two concrete possibilities to allow a particular user (in the
following we call such user "fool") to configure network interfaces
using setnet.
-- 1) First approach: using sudo
If sudo is installed in your system, it is sufficient to add the
following line:
fool ALL=NOPASSWD: /usr/sbin/setnet.sh
to the file /etc/sudoers, and the user "fool" will be able to run
setnet.sh with effective UID 0 (i.e., as if it was root), by using the
command:
[fool@host]$ sudo /usr/sbin/setnet.sh
and thus will be able to perform all the needed admin tasks to
configure networking.
-- 2) Second approach: using sup
......TO BE DOCUMENTED......

View File

@ -0,0 +1,10 @@
setnet for Debian
----------------
<this file describes information about the source package, see Debian policy
manual section 4.14. You WILL either need to modify or delete this file>
-- Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org> Wed, 04 Jan 2017 18:52:56 +0000

View File

@ -0,0 +1,40 @@
setnet (0.3-1) unstable; urgency=medium
* Version 0.3 -- See ChangeLog for details
-- Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org> Sun, 29 Jan 2017 15:43:35 +0000
setnet (0.2.1-1) unstable; urgency=medium
* Version 0.2.1 -- See ChangeLog for details
-- Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org> Sat, 07 Jan 2017 23:29:44 +0000
setnet (0.2-1) unstable; urgency=medium
* Initial release (20170104)
== Major Changes ==
+ Polished code to make it posix-shell compliant
+ Tested with bash, busybox, dash, ksh, mksh, posh, yash
+ Added support and checks for hard, soft, and optional
dependencies
+ Added standard command line options (-c, -h, -v)
+ Added submenu "Info" with basic network testing tools
+ Added submenu "Dump" to dump network information to a file
+ Added submenu "Log" (shows setnet logfile)
+ Added status information in device configuration panel
+ Added minimal README.Debian file
-- Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org> Wed, 04 Jan 2017 18:52:56 +0000

View File

@ -0,0 +1 @@
9

View File

@ -0,0 +1,19 @@
Source: setnet
Section: unknown
Priority: optional
Maintainer: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
Build-Depends: debhelper (>=9)
Standards-Version: 3.9.8
Homepage: http://kalos.mine.nu/setnet
#Vcs-Git: git://anonscm.debian.org/collab-maint/setnet.git
#Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/setnet.git
Package: setnet
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, bash | busybox | dash | ksh | mksh | posh | yash | zsh, dhcp-client, dialog, iproute2, iw
Suggests: wpasupplicant, pastebinit, net-tools, iputils-ping, bind9-host, traceroute
Description: simple shell/dialog tool to configure networks
setnet is a shell script with a dialog UI to configure ethernet
and wifi connections. It is meant to be POSIX-compliant, and has
been tested on bash, busybox, dash, ksh, mksh, posh, yash, and zsh.

View File

@ -0,0 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: setnet
Source: <http://kalos.mine.nu/setnet>
Files: debian/*
Copyright: 2016 Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
License: GPL-3+
This package 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 package 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 <https://www.gnu.org/licenses/>
.

View File

@ -0,0 +1 @@
setnet

View File

@ -0,0 +1 @@
setnet_0.3-1_all.deb unknown optional

View File

@ -0,0 +1,26 @@
#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: setnet
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: <Enter a short description of the software>
# Description: <Enter a long description of the software>
# <...>
# <...>
### END INIT INFO
# Author: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
DESC="setnet"
DAEMON=/usr/bin/setnet
# This is an example to start a single forking daemon capable of writing
# a pid file. To get other behaviors, implement do_start(), do_stop() or
# other functions to override the defaults in /lib/init/init-d-script.
# See also init-d-script(5)

View File

@ -0,0 +1,5 @@
setnet.sh /usr/sbin
setnetrc /etc/
wpa_setnet.conf /etc/wpa_supplicant/
setnet.8.gz /usr/share/man/man8/
ChangeLog /usr/share/doc/setnet/

View File

@ -0,0 +1,56 @@
.\" Hey, EMACS: -*- nroff -*-
.\" (C) Copyright 2017 Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>,
.\"
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH Setnet SECTION "January 4 2017"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
setnet \- program to do something
.SH SYNOPSIS
.B setnet
.RI [ options ] " files" ...
.br
.B bar
.RI [ options ] " files" ...
.SH DESCRIPTION
This manual page documents briefly the
.B setnet
and
.B bar
commands.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
.\" respectively.
\fBsetnet\fP is a program that...
.SH OPTIONS
These programs follow the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
For a complete description, see the Info files.
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.SH SEE ALSO
.BR bar (1),
.BR baz (1).
.br
The programs are documented fully by
.IR "The Rise and Fall of a Fooish Bar" ,
available via the Info system.

View File

@ -0,0 +1,154 @@
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
<!-- Process this file with docbook-to-man to generate an nroff manual
page: `docbook-to-man manpage.sgml > manpage.1'. You may view
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
less'. A typical entry in a Makefile or Makefile.am is:
manpage.1: manpage.sgml
docbook-to-man $< > $@
The docbook-to-man binary is found in the docbook-to-man package.
Please remember that if you create the nroff version in one of the
debian/rules file targets (such as build), you will need to include
docbook-to-man in your Build-Depends control field.
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
<!ENTITY dhsurname "<surname>SURNAME</surname>">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "<date>January 4 2017</date>">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1). -->
<!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
<!ENTITY dhemail "<email>katolaz@freaknet.org</email>">
<!ENTITY dhusername "Vincenzo (KatolaZ) Nicosia">
<!ENTITY dhucpackage "<refentrytitle>Setnet</refentrytitle>">
<!ENTITY dhpackage "setnet">
<!ENTITY debian "<productname>Debian</productname>">
<!ENTITY gnu "<acronym>GNU</acronym>">
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
]>
<refentry>
<refentryinfo>
<address>
&dhemail;
</address>
<author>
&dhfirstname;
&dhsurname;
</author>
<copyright>
<year>2003</year>
<holder>&dhusername;</holder>
</copyright>
&dhdate;
</refentryinfo>
<refmeta>
&dhucpackage;
&dhsection;
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>program to do something</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<arg><option>-e <replaceable>this</replaceable></option></arg>
<arg><option>--example <replaceable>that</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This manual page documents briefly the
<command>&dhpackage;</command> and <command>bar</command>
commands.</para>
<para>This manual page was written for the &debian; distribution
because the original program does not have a manual page.
Instead, it has documentation in the &gnu;
<application>Info</application> format; see below.</para>
<para><command>&dhpackage;</command> is a program that...</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<para>These programs follow the usual &gnu; command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below. For a complete description, see the
<application>Info</application> files.</para>
<variablelist>
<varlistentry>
<term><option>-h</option>
<option>--help</option>
</term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option>
<option>--version</option>
</term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>bar (1), baz (1).</para>
<para>The programs are documented fully by <citetitle>The Rise and
Fall of a Fooish Bar</citetitle> available via the
<application>Info</application> system.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>This manual page was written by &dhusername; &dhemail; for
the &debian; system (and may be used by others). Permission is
granted to copy, distribute and/or modify this document under
the terms of the &gnu; General Public License, Version 2 any
later version published by the Free Software Foundation.
</para>
<para>
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->

View File

@ -0,0 +1,291 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!--
`xsltproc -''-nonet \
-''-param man.charmap.use.subset "0" \
-''-param make.year.ranges "1" \
-''-param make.single.year.ranges "1" \
/usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
manpage.xml'
A manual page <package>.<section> will be generated. You may view the
manual page with: nroff -man <package>.<section> | less'. A typical entry
in a Makefile or Makefile.am is:
DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl
XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0"
manpage.1: manpage.xml
$(XP) $(DB2MAN) $<
The xsltproc binary is found in the xsltproc package. The XSL files are in
docbook-xsl. A description of the parameters you can use can be found in the
docbook-xsl-doc-* packages. Please remember that if you create the nroff
version in one of the debian/rules file targets (such as build), you will need
to include xsltproc and docbook-xsl in your Build-Depends control field.
Alternatively use the xmlto command/package. That will also automatically
pull in xsltproc and docbook-xsl.
Notes for using docbook2x: docbook2x-man does not automatically create the
AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as
<refsect1> ... </refsect1>.
To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections
read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be
found in the docbook-xsl-doc-html package.
Validation can be done using: `xmllint -''-noout -''-valid manpage.xml`
General documentation about man-pages and man-page-formatting:
man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/
-->
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "FIRSTNAME">
<!ENTITY dhsurname "SURNAME">
<!-- dhusername could also be set to "&dhfirstname; &dhsurname;". -->
<!ENTITY dhusername "Vincenzo (KatolaZ) Nicosia">
<!ENTITY dhemail "katolaz@freaknet.org">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1) and
http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
<!ENTITY dhsection "SECTION">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
<!ENTITY dhtitle "setnet User Manual">
<!ENTITY dhucpackage "Setnet">
<!ENTITY dhpackage "setnet">
]>
<refentry>
<refentryinfo>
<title>&dhtitle;</title>
<productname>&dhpackage;</productname>
<authorgroup>
<author>
<firstname>&dhfirstname;</firstname>
<surname>&dhsurname;</surname>
<contrib>Wrote this manpage for the Debian system.</contrib>
<address>
<email>&dhemail;</email>
</address>
</author>
</authorgroup>
<copyright>
<year>2007</year>
<holder>&dhusername;</holder>
</copyright>
<legalnotice>
<para>This manual page was written for the Debian system
(and may be used by others).</para>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU General Public License,
Version 2 or (at your option) any later version published by
the Free Software Foundation.</para>
<para>On Debian systems, the complete text of the GNU General Public
License can be found in
<filename>/usr/share/common-licenses/GPL</filename>.</para>
</legalnotice>
</refentryinfo>
<refmeta>
<refentrytitle>&dhucpackage;</refentrytitle>
<manvolnum>&dhsection;</manvolnum>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>program to do something</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- These are several examples, how syntaxes could look -->
<arg choice="plain"><option>-e <replaceable>this</replaceable></option></arg>
<arg choice="opt"><option>--example=<parameter>that</parameter></option></arg>
<arg choice="opt">
<group choice="req">
<arg choice="plain"><option>-e</option></arg>
<arg choice="plain"><option>--example</option></arg>
</group>
<replaceable class="option">this</replaceable>
</arg>
<arg choice="opt">
<group choice="req">
<arg choice="plain"><option>-e</option></arg>
<arg choice="plain"><option>--example</option></arg>
</group>
<group choice="req">
<arg choice="plain"><replaceable>this</replaceable></arg>
<arg choice="plain"><replaceable>that</replaceable></arg>
</group>
</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>&dhpackage;</command>
<!-- Normally the help and version options make the programs stop
right after outputting the requested information. -->
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>-h</option></arg>
<arg choice="plain"><option>--help</option></arg>
</group>
</arg>
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>-v</option></arg>
<arg choice="plain"><option>--version</option></arg>
</group>
</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para>This manual page documents briefly the
<command>&dhpackage;</command> and <command>bar</command>
commands.</para>
<para>This manual page was written for the Debian distribution
because the original program does not have a manual page.
Instead, it has documentation in the GNU <citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> format; see below.</para>
<para><command>&dhpackage;</command> is a program that...</para>
</refsect1>
<refsect1 id="options">
<title>OPTIONS</title>
<para>The program follows the usual GNU command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below. For a complete description, see the
<citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> files.</para>
<variablelist>
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry>
<term><option>-e <replaceable>this</replaceable></option></term>
<term><option>--example=<replaceable>that</replaceable></option></term>
<listitem>
<para>Does this and that.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option></term>
<term><option>--help</option></term>
<listitem>
<para>Show summary of options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option></term>
<term><option>--version</option></term>
<listitem>
<para>Show version of program.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="files">
<title>FILES</title>
<variablelist>
<varlistentry>
<term><filename>/etc/foo.conf</filename></term>
<listitem>
<para>The system-wide configuration file to control the
behaviour of <application>&dhpackage;</application>. See
<citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>${HOME}/.foo.conf</filename></term>
<listitem>
<para>The per-user configuration file to control the
behaviour of <application>&dhpackage;</application>. See
<citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for further details.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="environment">
<title>ENVIRONMENT</title>
<variablelist>
<varlistentry>
<term><envar>FOO_CONF</envar></term>
<listitem>
<para>If used, the defined file is used as configuration
file (see also <xref linkend="files"/>).</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="diagnostics">
<title>DIAGNOSTICS</title>
<para>The following diagnostics may be issued
on <filename class="devicefile">stderr</filename>:</para>
<variablelist>
<varlistentry>
<term><errortext>Bad configuration file. Exiting.</errortext></term>
<listitem>
<para>The configuration file seems to contain a broken configuration
line. Use the <option>--verbose</option> option, to get more info.
</para>
</listitem>
</varlistentry>
</variablelist>
<para><command>&dhpackage;</command> provides some return codes, that can
be used in scripts:</para>
<segmentedlist>
<segtitle>Code</segtitle>
<segtitle>Diagnostic</segtitle>
<seglistitem>
<seg><errorcode>0</errorcode></seg>
<seg>Program exited successfully.</seg>
</seglistitem>
<seglistitem>
<seg><errorcode>1</errorcode></seg>
<seg>The configuration file seems to be broken.</seg>
</seglistitem>
</segmentedlist>
</refsect1>
<refsect1 id="bugs">
<!-- Or use this section to tell about upstream BTS. -->
<title>BUGS</title>
<para>The program is currently limited to only work
with the <package>foobar</package> library.</para>
<para>The upstreams <acronym>BTS</acronym> can be found
at <ulink url="http://bugzilla.foo.tld"/>.</para>
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<!-- In alpabetical order. -->
<para><citerefentry>
<refentrytitle>bar</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>baz</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>, <citerefentry>
<refentrytitle>foo.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry></para>
<para>The programs are documented fully by <citetitle>The Rise and
Fall of a Fooish Bar</citetitle> available via the <citerefentry>
<refentrytitle>info</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry> system.</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,2 @@
?package(setnet):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\
title="setnet" command="/usr/bin/setnet"

View File

@ -0,0 +1,39 @@
#!/bin/sh
# postinst script for setnet
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -0,0 +1,37 @@
#!/bin/sh
# postrm script for setnet
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -0,0 +1,35 @@
#!/bin/sh
# preinst script for setnet
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
install|upgrade)
;;
abort-upgrade)
;;
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -0,0 +1,38 @@
#!/bin/sh
# prerm script for setnet
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see https://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
remove|upgrade|deconfigure)
;;
failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0

View File

@ -0,0 +1,25 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

View File

@ -0,0 +1,2 @@
README.Debian
README.source

View File

@ -0,0 +1,4 @@
#
# Regular cron jobs for the setnet package
#
0 4 * * * root [ -x /usr/bin/setnet_maintenance ] && /usr/bin/setnet_maintenance

View File

@ -0,0 +1,20 @@
dh_update_autotools_config
dh_auto_configure
dh_auto_build
dh_auto_test
dh_prep
dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_installman
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb

View File

@ -0,0 +1,10 @@
# Defaults for setnet initscript
# sourced by /etc/init.d/setnet
# installed at /etc/default/setnet by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Additional options that are passed to the Daemon.
DAEMON_OPTS=""

View File

@ -0,0 +1,20 @@
Document: setnet
Title: Debian setnet Manual
Author: <insert document author here>
Abstract: This manual describes what setnet is
and how it can be used to
manage online manuals on Debian systems.
Section: unknown
Format: debiandoc-sgml
Files: /usr/share/doc/setnet/setnet.sgml.gz
Format: postscript
Files: /usr/share/doc/setnet/setnet.ps.gz
Format: text
Files: /usr/share/doc/setnet/setnet.text.gz
Format: HTML
Index: /usr/share/doc/setnet/html/index.html
Files: /usr/share/doc/setnet/html/*.html

View File

@ -0,0 +1,2 @@
misc:Depends=
misc:Pre-Depends=

View File

@ -0,0 +1,2 @@
/etc/setnetrc
/etc/wpa_supplicant/wpa_setnet.conf

View File

@ -0,0 +1,14 @@
Package: setnet
Version: 0.3-1
Architecture: all
Maintainer: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
Installed-Size: 106
Depends: bash | busybox | dash | ksh | mksh | posh | yash | zsh, dhcp-client, dialog, iproute2, iw
Suggests: wpasupplicant, pastebinit, net-tools, iputils-ping, bind9-host, traceroute
Section: unknown
Priority: optional
Homepage: http://kalos.mine.nu/setnet
Description: simple shell/dialog tool to configure networks
setnet is a shell script with a dialog UI to configure ethernet
and wifi connections. It is meant to be POSIX-compliant, and has
been tested on bash, busybox, dash, ksh, mksh, posh, yash, and zsh.

View File

@ -0,0 +1,7 @@
e3dc7a9c882aa5cbef5ea3009edafff8 usr/sbin/setnet.sh
04ce1326afcf37d187e89fac5183fa44 usr/share/doc/setnet/ChangeLog
d690d59753d9fcd42667d50efb859a68 usr/share/doc/setnet/README.Debian
ce1a3cb85232ebdcb6f0249637c89792 usr/share/doc/setnet/changelog.Debian.gz
2a7f2dbc8dada20a58c2ebd7b3af3ea2 usr/share/doc/setnet/changelog.gz
e5218c2f383b136780a03ba5e3f610b2 usr/share/doc/setnet/copyright
5085750511379132343cff7e67c8c4ba usr/share/man/man8/setnet.8.gz

View File

@ -0,0 +1,28 @@
##
##
## setnetrc -- configuration file for setnet
##
##
##
## WPA_FILE: The default configuration file for wpa_supplicant
##
WPA_FILE=/etc/wpa_supplicant/wpa_setnet.conf
##
## LOGFILE: Location of the logfile
##
LOGFILE=/var/log/setnet.log
##
## TRUNCATE_LOG: Truncate the log file at startup
##
TRUNCATE_LOG="yes"
##
## WIFI_DEVICES: List of Wi-Fi devices, to be used if automatic
## detection fails
##
##WIFI_DEVICES="wlan1 wlan4"

View File

@ -0,0 +1,4 @@
ctrl_interface=/var/run/wpa_supplicant
update_config=1
GROUP=wheel

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
2017-01-29 KatolaZ <katolaz@freaknet.org>
* setnet.sh:
* removed "Load file" and "New File" in WiFi configuration
2017-01-23 KatolaZ <katolaz@freaknet.org>
* setnet.sh:
* fixed a few minors bugs
2017-01-20 KatolaZ <katolaz@freaknet.org>
* setnet.sh (0.3):
* implemented check of running shell
* implemented workaround for zsh -- now fully supported
* added chk_out and chk_exit
* all direct commands (e.g., ip, wpa_cli) are now checked
* added support for EAP/PEAP
* added support for EAP/TLS
2017-01-07 KatolaZ <katolaz@freaknet.org>
* setnet.sh (configure_device): Improved wifi detection
(netdiag_ping), (netdiag_traceroute),(netdiag_query):
changed dialog to programbox
* solved viasualitation bug in ip config
* added a manpage
* Added configuration variable "WIFI_DEVICES"
* The "Setup interface" menu has been reorganised
* added "Config IP Address" and "Manage Wifi Networking"

View File

@ -0,0 +1,132 @@
+--------------+
| setnet |
+--------------+
Copyleft (C) Vincenzo "KatolaZ" Nicosia <katolaz@freaknet.org>
2016, 2017
=== DESCRIPTION ===
setnet is a shell script with a dialog UI to configure ethernet and
wifi connections. It is meant to be POSIX-compliant, and has been
tested with bash, busybox, dash, ksh, mksh, posh, and yash. It is
still to be considered beta software, so you should use it AT YOUR OWN
RISK, but it is already fully functional.
=== LICENSE ===
setnet is Free Software, and can be used and distributed under the
terms of the GNU General Public License, either version 3 of the
licence or, at your option, any later version.
Please see the file LICENSE for more information
=== DEPENDENCIES ===
In order to run setset, you MUST satisfy this (relatively small) set
of dependencies:
- a posix-compliant shell (bash, busybox, dash, ksh, mksh, posh, and
yash have been tested)
- dialog (version 1.2 tested, but it should work with previous
versions as well)
- dhcp-client (for dhclient, tested with isc-dhcp-client)
- iproute2 (for ip)
- wireless-tools (for iwconfig, currently required for interface
identification)
Most of those tools might already be installed in your system anyway.
In particular, setnet uses:
- dialog: to provide a minimal Text-based User Interface,
- ip: to configure network interfaces and get information about them,
- dhclient: for DHCP-based IP configuration
- iwconfig: to check whether a network device is a wifi adapter
In order to use the full set of functionalities provided by setnet,
you MIGHT also need the following packages:
- wpa_supplicant (for wifi configuration)
- net-tools (for netstat, to gather information about network status)
- iputils-ping (for ping)
- bind9-nost (for host, used to check DNS configuration)
- traceroute (to trace the route between your host and any other host
in the Internet)
Again, most of them should be already installed in your system anyway.
=== USAGE ===
setnet is installed under /usr/sbin/setnet.sh. If invoked with "-h",
it provides a list of supported options:
$ ./setnet.sh -h
Usage: setnet.sh [OPTION]
Options:
-c cfg_file Load configuration from cfg_file.
-v Print version number and exit.
-h Show this help.
$
If the argument "-c" is specified, setnet will use the provided
configuration file. Otherwise, it will look for its configuration file
in one of the following locations:
- /etc/setnetrc
- ~/.setnetrc
in the given order. The following configuration variables should be
defined in setnetrc:
- WPA_FILE
This is the file configuration file used by wpa_supplicant.
- LOGNAME
This is the file used for logging.
- TRUNCATE_LOG
if equal to "yes", the log file will be truncated when setnet
starts
=== root vs. mortal users ===
Networking is an amdinistration task, and as such should be performed
by the host administrator, i.e., the user with UID 0 (normally called
"root"). However, in many modern GNU/Linux systems it is customary to
allow normal users to perform some administration tasks. There are at
least two concrete possibilities to allow a particular user (in the
following we call such user "fool") to configure network interfaces
using setnet.
-- 1) First approach: using sudo
If sudo is installed in your system, it is sufficient to add the
following line:
fool ALL=NOPASSWD: /usr/sbin/setnet.sh
to the file /etc/sudoers, and the user "fool" will be able to run
setnet.sh with effective UID 0 (i.e., as if it was root), by using the
command:
[fool@host]$ sudo /usr/sbin/setnet.sh
and thus will be able to perform all the needed admin tasks to
configure networking.
-- 2) Second approach: using sup
......TO BE DOCUMENTED......

View File

@ -0,0 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: setnet
Source: <http://kalos.mine.nu/setnet>
Files: debian/*
Copyright: 2016 Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
License: GPL-3+
This package 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 package 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 <https://www.gnu.org/licenses/>
.

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -0,0 +1,39 @@
# Example watch control file for uscan
# Rename this file to "watch" and then you can run the "uscan" command
# to check for upstream updates and more.
# See uscan(1) for format
# Compulsory line, this is a version 4 file
version=4
# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig
#opts="pgpsigurlmangle=s%$%.sig%"
# HTTP site (basic)
#http://example.com/downloads.html \
# files/setnet-([\d\.]+)\.tar\.gz debian uupdate
# Uncommment to examine a FTP server
#ftp://ftp.example.com/pub/setnet-(.*)\.tar\.gz debian uupdate
# SourceForge hosted projects
# http://sf.net/setnet/ setnet-(.*)\.tar\.gz debian uupdate
# GitHub hosted projects
#opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%<project>-$1.tar.gz%" \
# https://github.com/<user>/setnet/tags \
# (?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate
# PyPI
# https://pypi.python.org/packages/source/<initial>/setnet/ \
# setnet-(.+)\.tar\.gz debian uupdate
# Direct Git
# opts="mode=git" http://git.example.com/setnet.git \
# refs/tags/v([\d\.]+) debian uupdate
# Uncomment to find new files on GooglePages
# http://example.googlepages.com/foo.html setnet-(.*)\.tar\.gz

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,28 @@
##
##
## setnetrc -- configuration file for setnet
##
##
##
## WPA_FILE: The default configuration file for wpa_supplicant
##
WPA_FILE=/etc/wpa_supplicant/wpa_setnet.conf
##
## LOGFILE: Location of the logfile
##
LOGFILE=/var/log/setnet.log
##
## TRUNCATE_LOG: Truncate the log file at startup
##
TRUNCATE_LOG="yes"
##
## WIFI_DEVICES: List of Wi-Fi devices, to be used if automatic
## detection fails
##
##WIFI_DEVICES="wlan1 wlan4"

View File

@ -0,0 +1,4 @@
ctrl_interface=/var/run/wpa_supplicant
update_config=1
GROUP=wheel

Binary file not shown.

View File

@ -0,0 +1,31 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 3.0 (quilt)
Source: setnet
Binary: setnet
Architecture: all
Version: 0.3-1
Maintainer: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
Homepage: http://kalos.mine.nu/setnet
Standards-Version: 3.9.8
Build-Depends: debhelper (>= 9)
Package-List:
setnet deb unknown optional arch=all
Checksums-Sha1:
4da555a67963c294da095ff109cc667d59e1a165 15264 setnet_0.3.orig.tar.xz
385b56aa57ba03d8796181ef614990e75ed7972e 9784 setnet_0.3-1.debian.tar.xz
Checksums-Sha256:
3dc62ec17da189929d150d81d71fcf523cebe96e649df12895181008554b1b89 15264 setnet_0.3.orig.tar.xz
924cbccca6ebf1186685b28b4b0b4ce859b9c2edac0934a67f70c87fd572d6a0 9784 setnet_0.3-1.debian.tar.xz
Files:
815d0e40991d5ddf0283d7fa50117024 15264 setnet_0.3.orig.tar.xz
4bfb7ef1dd2a9cd2dd906768b165c982 9784 setnet_0.3-1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEARECAAYFAliOD0YACgkQXyCzrgtfBi+sogCff4wJxB+dBXXkTT1Zf0ls8Aut
I9IAnRidpFn8ikG2w4Cz5gdva9qlWaWQ
=6hGB
-----END PGP SIGNATURE-----

Binary file not shown.

View File

@ -0,0 +1,42 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 29 Jan 2017 15:43:35 +0000
Source: setnet
Binary: setnet
Architecture: source all
Version: 0.3-1
Distribution: unstable
Urgency: medium
Maintainer: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
Changed-By: Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>
Description:
setnet - simple shell/dialog tool to configure networks
Changes:
setnet (0.3-1) unstable; urgency=medium
.
* Version 0.3 -- See ChangeLog for details
Checksums-Sha1:
4d4ea9bcd81404ee0fee1c96d938b5264b973b7b 1029 setnet_0.3-1.dsc
4da555a67963c294da095ff109cc667d59e1a165 15264 setnet_0.3.orig.tar.xz
385b56aa57ba03d8796181ef614990e75ed7972e 9784 setnet_0.3-1.debian.tar.xz
6aa9c86346950682559140f14c78812db6dce917 19184 setnet_0.3-1_all.deb
Checksums-Sha256:
1338f58b26d2fc69ee7cafb6ccb17964e4e8cc304bacb61f02d9fc05c95143d1 1029 setnet_0.3-1.dsc
3dc62ec17da189929d150d81d71fcf523cebe96e649df12895181008554b1b89 15264 setnet_0.3.orig.tar.xz
924cbccca6ebf1186685b28b4b0b4ce859b9c2edac0934a67f70c87fd572d6a0 9784 setnet_0.3-1.debian.tar.xz
8d21265a6c08452099fb37e8238262a26cf25f3de517e16708128ff5c98265c3 19184 setnet_0.3-1_all.deb
Files:
027742a6c6c9eafab82ba703ed5540bd 1029 unknown optional setnet_0.3-1.dsc
815d0e40991d5ddf0283d7fa50117024 15264 unknown optional setnet_0.3.orig.tar.xz
4bfb7ef1dd2a9cd2dd906768b165c982 9784 unknown optional setnet_0.3-1.debian.tar.xz
5a91801da4f525c435d7d59d560d6679 19184 unknown optional setnet_0.3-1_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEARECAAYFAliOD0kACgkQXyCzrgtfBi9FVgCfUsTa40vLLPKfZrpdrG0QypyO
87kAn0RxwdhcVFD+DZiZUWvabiYWDYDj
=lyD1
-----END PGP SIGNATURE-----

Binary file not shown.

329
setnet.8.html Normal file
View File

@ -0,0 +1,329 @@
<!-- Creator : groff version 1.22.2 -->
<!-- CreationDate: Sun Jan 29 18:10:38 2017 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title></title>
</head>
<body>
<hr>
<p>SETNET(8) System Manager&rsquo;s Manual SETNET(8)</p>
<p style="margin-top: 1em"><b>NAME</b></p>
<p style="margin-left:6%;"><b>setnet.sh</b> &mdash;
minimalist shell script for network configuration with
dialog interface</p>
<p style="margin-top: 1em"><b>SYNOPSIS</b></p>
<p style="margin-left:19%;"><b>setnet.sh</b>
[<b>&minus;c&nbsp;</b><i>config_file</i>]
[<b>&minus;d&nbsp;</b><i>trace_file</i>] [<b>&minus;h</b>]
[<b>&minus;v</b>]</p>
<p style="margin-top: 1em"><b>DESCRIPTION</b></p>
<p style="margin-left:6%;">setnet.sh is a shell script for
network management, with a terminal user interface based on
dialog(1). It works as a wrapper around the basic tools for
the configuration of Ethernet and Wi-Fi interfaces,
including ip(8), dhclient(8), and wpa_cli(8).</p>
<p style="margin-left:6%; margin-top: 1em">setnet.sh allows
to configure static and/or DHCP-based connections to a
LAN/WLAN, and to manage the authentication to a Wi-Fi
network. At present, open (no key), WPA-Personal (WPA-PSK
and WPA2-PSK), and WPA-Enterprise (EAP/PEAP or EAP/TLS) are
supported.</p>
<p style="margin-left:6%; margin-top: 1em">setnet.sh can be
also used as a minimal interface to basic network
diagnostics tools, including ping(8), host(1),
traceroute(1), and netstat(8). It allows to show some
information about network status, including the routing
table, content of resolv.conf and nsswitch.conf, active
TCP/IP connections, running daemons, etc., and to dump those
information to a file. Support for posting a dump of network
status to websites like pastebin.com is under
development.</p>
<p style="margin-left:6%; margin-top: 1em">setnet.sh
recognises the following options:</p>
<p style="margin-top: 1em"><b>&minus;c</b>
<i>config_file</i></p>
<p style="margin-left:17%;">specify a configuration
file</p>
<p style="margin-top: 1em"><b>&minus;d</b>
<i>trace_file</i></p>
<p style="margin-left:17%;">enable dialog debug, and write
the trace to the provided trace_file</p>
<p style="margin-top: 1em"><b>&minus;h</b></p>
<p style="margin-left:17%; margin-top: 1em">print a minimal
help and exit</p>
<p style="margin-top: 1em"><b>&minus;v</b></p>
<p style="margin-left:17%; margin-top: 1em">show version
and exit</p>
<p style="margin-left:6%; margin-top: 1em">The main
setnet.sh menu allows to choose from five sections, as
described below:</p>
<p style="margin-top: 1em"><b>Setup</b></p>
<p style="margin-left:17%; margin-top: 1em">This section
allows to configure a network interface, selected from the
list of available network devices (as returned by &quot;ip
-o link&quot;). Once a device has been selected, it is
possible to choose on of the following functions</p>
<p style="margin-top: 1em"><b>View</b></p>
<p style="margin-left:26%; margin-top: 1em">View current
device configuration, i.e., MAC address, link status, IP
address, etc.</p>
<p style="margin-top: 1em"><b>WiFi</b></p>
<p style="margin-left:26%; margin-top: 1em">(available only
for wi-fi devices) Manage the association to a Wi-Fi
network. This allows to restart wpa_supplicant, to manage
the currently configured networks, to add a new network, and
to show (and modify) the configuration file used by
wpa_supplicant.</p>
<p style="margin-top: 1em"><b>Conf</b></p>
<p style="margin-left:26%; margin-top: 1em">Configure the
IP address of the device. It is possible to choose between
<i>DHCP-based</i> and <i>Static</i> IP configuration.</p>
<p style="margin-top: 1em"><b>Start</b></p>
<p style="margin-left:26%; margin-top: 1em">Bring the
interface up (using &quot;ip link set &lt;DEVNAME&gt;
up&quot;).</p>
<p style="margin-top: 1em"><b>Stop</b></p>
<p style="margin-left:26%; margin-top: 1em">Bring the
interface down (using &quot;ip link set &lt;DEVNAME&gt;
down&quot;).</p>
<p style="margin-top: 1em"><b>Restart</b></p>
<p style="margin-left:26%;">Restart the interface by
putting it first down and then up again.</p>
<p style="margin-top: 1em"><b>Info</b></p>
<p style="margin-left:17%; margin-top: 1em">This section
provides information about the current network status and
allows to perform basic diagnostic tasks. The following
functions are available:</p>
<p style="margin-top: 1em"><b>ARP</b></p>
<p style="margin-left:24%; margin-top: 1em">Show the
current ARP table</p>
<p style="margin-top: 1em"><b>Connections</b></p>
<p style="margin-left:24%;">List active network connections
by running &quot;netstat -tnp&quot;</p>
<p style="margin-top: 1em"><b>DNS</b></p>
<p style="margin-left:24%; margin-top: 1em">List the
configured DNS, by showing the &quot;nameserver&quot;
entries in <i>/etc/resolv.conf.</i></p>
<p style="margin-top: 1em"><b>Lookup</b></p>
<p style="margin-left:24%;">Perform a DNS lookup through
&quot;host &lt;HOST&gt;&quot;. If &lt;HOST&gt; is a FQDN,
the result will be the IP address(es) associated to that
domain name. If &lt;HOST&gt; is an IP address, the result is
the list of FQDNs associated to that address.</p>
<p style="margin-top: 1em"><b>Ping</b></p>
<p style="margin-left:24%; margin-top: 1em">Ping a host,
using its IP of FQDN (Fully-Qualified Domain Name) by
running &quot;ping -c 5 &lt;HOST&gt;&quot;.</p>
<p style="margin-top: 1em"><b>Resolver</b></p>
<p style="margin-left:24%;">Show the system resolver
configuration, i.e. the content of the file
<i>/etc/nsswitch.conf</i></p>
<p style="margin-top: 1em"><b>Routes</b></p>
<p style="margin-left:24%;">Show the current routing
table</p>
<p style="margin-top: 1em"><b>Services</b></p>
<p style="margin-left:24%;">Show a list of processes
(daemons) listening on TCP ports, by running &quot;netstat
-ltnp&quot;.</p>
<p style="margin-top: 1em"><b>Traceroute</b></p>
<p style="margin-left:24%;">Show the route to a given host,
as obtained by running the command &quot;traceroute
&lt;HOST&gt;&quot;.</p>
<p style="margin-top: 1em"><b>Dump</b></p>
<p style="margin-left:17%; margin-top: 1em">Dump
information about current network status to a file. The user
can choose which information to include from a checklist.
The support for dumping network information to web
applications like <i>pastebin</i> is currently under
development.</p>
<p style="margin-top: 1em"><b>Log</b></p>
<p style="margin-left:17%; margin-top: 1em">Show the
logfile written by setnet.sh</p>
<p style="margin-top: 1em"><b>About</b></p>
<p style="margin-left:17%; margin-top: 1em">Provide
information about copyright, contributors, and license.</p>
<p style="margin-top: 1em"><b>ENVIRONMENT</b></p>
<p style="margin-left:6%;">setnet.sh uses the following
environment variables:</p>
<p style="margin-top: 1em">WPA_FILE</p>
<p style="margin-left:17%;">The configuration file for
wpa_supplicant(1) (default to
<i>/etc/wpa_supplicant/wpa_setnet.conf</i> ).</p>
<p style="margin-top: 1em">LOGFILE</p>
<p style="margin-left:17%;">The file used by setnet.sh for
logging (default to <i>/var/log/setnet.log</i> ).</p>
<p style="margin-top: 1em">TRUNCATE_LOG</p>
<p style="margin-left:17%;">If it is set to &quot;yes&quot;
or &quot;YES&quot;, the log file is truncated when setnet.sh
starts.</p>
<p style="margin-top: 1em">WIFI_DEVICES</p>
<p style="margin-left:17%;">List of wifi devices. This list
is used only when automatic detection of wifi devices
fails.</p>
<p style="margin-left:6%; margin-top: 1em">These variables
are normally set in the setnetrc configuration file (see
<b>FILES</b> below). setnet.sh will exit if either WPA_FILE
or LOGFILE are undefined.</p>
<p style="margin-top: 1em"><b>FILES</b></p>
<p style="margin-left:6%;">setnet.sh uses a configuration
file which defines the environment variables described in
<b>ENVIRONMENT</b> above. setnet.sh looks for the following
files:</p>
<p style="margin-top: 1em"><b>&bull;</b></p>
<p style="margin-left:19%;">the <i>config_file</i> provided
through the option <b>-c</b> (if any).</p>
<p style="margin-top: 1em"><b>&bull;</b></p>
<p style="margin-left:19%;">the file <i>/etc/setnetrc</i>
(if it exists)</p>
<p style="margin-top: 1em"><b>&bull;</b></p>
<p style="margin-left:19%;">the file <i>~/.setnetrc</i> (if
it exists)</p>
<p style="margin-left:6%; margin-top: 1em">in that order.
If a <i>config_file</i> is provided, the other files are
ignored. Otherwise, if <i>~/.setnetrc</i> exists, it takes
precedence over <i>/etc/setnetrc.</i></p>
<p style="margin-top: 1em"><b>SEE ALSO</b></p>
<p style="margin-left:6%;">ip(8), dhclient(8),
wpa_supplicant(8), wpa_cli(8), netstat(8).</p>
<p style="margin-top: 1em"><b>AUTHORS</b></p>
<p style="margin-left:6%;">setnet.sh is Free Software,
distributed under the terms of the GNU General Public
License (GPL), version 3 of the License.</p>
<p style="margin-left:6%; margin-top: 1em">setnet.sh is
copyleft (c) by Vincenzo (KatolaZ) Nicosia
&lt;katolaz@freaknet.org&gt;</p>
<p style="margin-top: 1em"><b>BUGS</b></p>
<p style="margin-left:6%;">At present, setnet.sh can
reliably manage no more than one Wi-Fi device at a time.
This is due to the fact that the configuration file for
wpa_supplicant is defined in the environment variable
WPA_FILE. There is no limitation on the number of Ethernet
devices that setnet.sh can manage, but you should be careful
with having more than one <b>dhclient</b> processes running,
since each of them will try to add a default gateway to the
kernel routing table.</p>
<p style="margin-top: 1em"><b>SECURITY
CONSIDERATIONS</b></p>
<p style="margin-left:6%;">Configuring networking is an
administration task, and setnet.sh requires root privileges
to work properly. It is possible to allow a regular user to
run setnet.sh, e.g. by using sudo(8) or sup(1) (see
https://sup.dyne.org/ for more information about sup).</p>
<p style="margin-left:6%; margin-top: 1em">setnet.sh can
recognise if it is running under sudo(8) or sup(1), by
looking at the content of the environment variables
SUDO_UID/SUP_UID, SUDO_GID/SUP_GID, and SUDO_USER/SUP_USER.
When setnet.sh is run under sudo(8) or sup(1), some
functionalities are disabled. In particular, loading and
editing an alternate wpa_supplicant configuration file is
forbidden (and for obvious reasons, since this would in
principle allow the sudoer to edit *any* file in your
system).</p>
<p style="margin-left:6%; margin-top: 1em">Linux
January&nbsp;06, 2017 Linux</p>
<hr>
</body>
</html>