Commit Graph

277 Commits

Author SHA1 Message Date
Nils Schneider 6463064867 gluon-config-mode: label submit button "Fertig" 2014-01-23 01:34:25 +01:00
Nils Schneider 980ddb39cc gluon-config-mode: use welcome text from site.conf 2014-01-23 01:21:43 +01:00
Nils Schneider 56b1bf77da gluon-config-mode: delay reboot a little
The reboot page should be delayed a little to give the browser time for
fetching assets (like the stylesheet). This adds a two second delay.
Unfortunately, I couldn't think of a sane way to do this within a luci
controller.

This patch forks the process. The parent will continue rendering the
page for the browser while the child will sleep and then reboot the
device. For this to work reliable the child needs to close stdout before
sleeping so the webserver closes the connection to the browser. This,
again, required a hack as lua does not allow closing std filehandles,
when prevented using luci.reboot() which was calling os.execute() and
that function will not work with stdout closed.
2014-01-23 00:04:14 +01:00
Nils Schneider 466defe3f2 gluon-config-mode: fix indentation 2014-01-22 23:18:46 +01:00
Matthias Schiffer a70ab9f3b8 More fixes for strange network interface configurations 2014-01-22 22:04:08 +01:00
Matthias Schiffer f5c532a3a9 gluon-radvd: run on br-client 2014-01-22 21:32:02 +01:00
Nils Schneider b892e1f07e Merge pull request #11 from freifunk-gluon/expertmode
gluon-luci-admin: various changes
2014-01-22 12:03:00 -08:00
Nils Schneider 3fcdce78f3 Merge pull request #10 from freifunk-gluon/luci-theme
add new luci-theme
2014-01-22 12:02:48 -08:00
Matthias Schiffer e6592f835d Properly support devices with only one ethernet interface 2014-01-22 20:44:34 +01:00
Matthias Schiffer b25519bc02 Fix race condition in dnsmasq config dir handling 2014-01-22 19:52:17 +01:00
Matthias Schiffer 8681dde4e2 gluon-config-mode: respect switch configuration 2014-01-22 19:45:07 +01:00
Matthias Schiffer 9d4fb5c6d5 gluon-core: sysconfig: don't print error message for unset config 2014-01-22 19:45:07 +01:00
Nils Schneider 9a7a874810 gluon-luci-admin: reboot.html, remove refresh
Don't refresh the reboot page after rebooting the node. It's not going
back to configmode anyway so it'll never reload without user
intervention.
2014-01-22 17:05:42 +01:00
Nils Schneider 434430bbaf gluon-luci-admin: replace overview text
This completely replaces the text on the overview page. Consider this a
placeholder until someone writes a better suited version :)
2014-01-22 17:05:42 +01:00
Nils Schneider 75b8141fd1 gluon-luci-admin: remove redundant headings 2014-01-22 17:05:42 +01:00
Nils Schneider bc119007e9 gluon-luci-admin: no logout button in configmode
Hide the "logout" button when in configmode.
2014-01-22 17:05:42 +01:00
Nils Schneider c71e3737a6 gluon-luci-admin: fix indentation
Replaces double-spaces with tabs to match surrounding code.
2014-01-22 17:05:42 +01:00
Nils Schneider 37fc87539c gluon-luci-admin: disable when not in configmode
For security reasons we'd like to disable all HTTP config interfaces
when the node is operating normally. This patch disables gluon-luci-admin
when configmode is not enabled.
2014-01-22 17:05:42 +01:00
Nils Schneider d2b45fa35a gluon-config-mode: remove subsection headings
Those headings do not convey much information make the wizard less
compact. The help texts will be rewritten to guide the user instead.
2014-01-22 17:01:27 +01:00
Nils Schneider 9f70cd70ef gluon-config-mode: replace inline style with class
Replace the inline stylesheet for the public key box on the reboot page
with a CSS class so it can be styled using the theme.
2014-01-22 17:00:58 +01:00
Nils Schneider b8abbf4b42 gluon-config-mode,luci-admin: use gluon-luci-theme
This makes gluon-config-mode and gluon-luci-admin depend on
gluon-luci-theme instead of luci-theme-openwrt.
2014-01-22 16:56:54 +01:00
Nils Schneider dab7106cb9 gluon-luci-theme: new theme, still magenta/yellow
This is the initial version of our new configmode theme. It's far from
finished but at least configmode looks good. There are lots of
declarations copied from OpenWRT's default theme so most other luci
modules would be somewhat usable when shown using this theme.
2014-01-22 16:56:32 +01:00
Nils Schneider 54fec96e7b gluon-config-mode: remove 'reset' button
The reset button resets the form. I don't think this is needed in a
wizard that simple and might confuse users so I removed it.
2014-01-21 23:42:03 +01:00
Nils Schneider 3d2511d488 gluon-config-mode: fix wizard
Due to my previous two commits configmode was broken when either meshvpn
or bandwidth limit was disabled. This fixes it but there may be a
cleaner solution provided by luci.
2014-01-21 22:19:25 +01:00
Nils Schneider 52764cc925 gluon-config-mode: bwlimit hidden when not meshvpn
Hide the bandwidth limit checkbox when meshvpn is disabled.
2014-01-21 20:02:17 +01:00
Nils Schneider 9141633bf9 gluon-config-mode: more compact tc form
Hide the downstream/upstream input fields when bandwitdh limiting is
disabled.
2014-01-21 19:50:07 +01:00
Nils Schneider 8c0188a4f6 gluon-autoupdater: Randomize mirror order
This way we have a kind of load balancing among the mirrors.
2014-01-21 13:20:50 +01:00
Daniel Ehlers 5060dd95eb gluon-luci-autoupdater: Catch up mirror support in gluon-autoupdater 2014-01-21 05:46:10 +01:00
Matthias Schiffer b36ecc8aae gluon-mesh-batman-adv: accept input on wan interface 2014-01-21 05:24:01 +01:00
Matthias Schiffer ede74a4aa2 gluon-core: move initial/020-wireless from generate to files 2014-01-21 05:24:01 +01:00
Nils Schneider e91e3f0a21 gluon-autoupdater: add more models to README
This adds a list of known models to the readme.
2014-01-21 04:45:56 +01:00
Matthias Schiffer 1b303e87ad gluon-core: add support for NTP server configuration 2014-01-21 04:22:59 +01:00
Matthias Schiffer bd425e9780 gluon-mesh-batman-adv: add DNS support 2014-01-21 03:59:15 +01:00
Matthias Schiffer f11f3b1a90 gluon-mesh-batman-adv: more initial -> invariant conversions 2014-01-21 03:05:42 +01:00
Matthias Schiffer cf70843ba7 Add support for custom dnsmasq config and odhcp6c handler scripts 2014-01-21 03:01:12 +01:00
Matthias Schiffer 0ea24a57a3 gluon-autoupdater: allow configuring the branch name independently of the UCI config section name 2014-01-21 00:29:55 +01:00
Matthias Schiffer 5706659b75 gluon-autoupdater: adjust example config for mirror support 2014-01-21 00:10:00 +01:00
Daniel Ehlers 036f573ae7 gluon-autoupdater: Enable list of mirrors for manifest and firmware.
Instead of a single url this patch allows to have a list of urls. So in case
of network instability a router can still reach local mesh-cloud server to pull
a update from. In this stage the autoupdater simply tries every mirror until
one passes all tests.
2014-01-20 23:31:15 +01:00
Daniel Ehlers 7f3e2ec201 gluon-autoupdater: Less global variables.
This also removes the need for the cleanup function. Instead the cleanup
code is moved in place.
2014-01-20 23:31:15 +01:00
Daniel Ehlers 39052fd0b7 gluon-autoupdater: Refactor code.
Move building blocks of the update into seperate functions.
2014-01-20 13:26:58 +01:00
Matthias Schiffer 4ddbf32f5b gluon-core: use gluon release in package version string 2014-01-20 05:07:55 +01:00
Matthias Schiffer d48ce43322 gluon-core: use GLUON_RELEASE from environment 2014-01-20 02:35:21 +01:00
Matthias Schiffer 56fc4fe7d0 Merge gluon-release into gluon-core 2014-01-20 01:59:10 +01:00
Matthias Schiffer 31d52aa98f gluon-simple-tc: add missing defaults on every upgrade 2014-01-20 00:06:55 +01:00
Matthias Schiffer 1980d7624b gluon-mesh-batman-adv: move wifi config to invariant 2014-01-20 00:06:55 +01:00
Matthias Schiffer 7f61b00db0 gluon-location: move information to /etc/config/gluon-location 2014-01-20 00:06:55 +01:00
Matthias Schiffer ac48e63c4a gluon-autoupdater: no need to provide a default config just to delete it in the initial script 2014-01-20 00:06:55 +01:00
Nils Schneider 6d0234a813 gluon-autoupdater: typo corrected 2014-01-19 23:19:55 +01:00
Nils Schneider 858f9d7c9a Merge pull request #7 from FreifunkBremen/master
gluon-autoupdater: get random number from /dev/urandom
2014-01-19 13:40:13 -08:00
Jan-Philipp Litza 5cad7dba41 gluon-autoupdater: get random number from urandom
The approach with awk's rand() wasn't really random between across
devices: When srand() was called without arguments, time() was used as
seed, which of course is the same on all devices when the script is
called via cron at HH:00:00.

This patch instead uses /dev/urandom as source of random (we don't need
cryptographically strong random numbers, so urandom is just fine) but
still uses awk for the comparison as busybox's ash cannot deal with
floats in $(())
2014-01-19 22:36:49 +01:00
Matthias Schiffer e85aeabbb6 gluon-alfred: add chosen gateway and load average 2014-01-19 21:44:26 +01:00
Matthias Schiffer f54ffafb1b gluon-alfred: run every minute
The run frequency and exact time affect the alfred announce interval, so we can
just run it every minute to supply alfred with the most up-to-date data.
2014-01-18 21:56:05 +01:00
Matthias Schiffer 47866fc6eb gluon-mesh-batman-adv: set gateway mode to client 2014-01-18 19:44:02 +01:00
Jan-Philipp Litza 1a00f672fe autoupdater: Use awk instead of grep+head+tail to split manifest 2014-01-17 16:09:34 +01:00
Matthias Schiffer 249ce3982f gluon-mesh-batman-adv: set bat0 MAC address to primary address 2014-01-16 23:57:42 +01:00
Jan-Philipp Litza 7197eb09dc alfred: add more traffic statistics
+ mgmt and forward counters
+ packet in addition to byte counters for everything
2014-01-16 23:47:41 +01:00
Jan-Philipp Litza 7cca730ce4 alfred: Add --no-sleep option to send immediately 2014-01-16 23:46:54 +01:00
Jan-Philipp Litza 238994e1e2 alfred: clean up delay code 2014-01-16 22:42:02 +01:00
Jan-Philipp Litza 8217d666ee alfred: add random node-specific delay before sending 2014-01-16 22:36:09 +01:00
Jan-Philipp Litza 7538125a82 alfred: make traffic counters absolute
After a lenghty discussion, we settled on absolute vs. relative values.
Main reasons:

* stateless implementation on node possible
* convertable to relative values by differentiaion on receiver
* missed transmissions only decrease granularity, whereas relative
  values would introduce wrong numbers on integration if values are
  missed
2014-01-16 22:34:57 +01:00
Jan-Philipp Litza 10f419deef alfred: add statistics (uptime+traffic) 2014-01-16 16:50:25 +01:00
Matthias Schiffer bd69f55a81 gluon-mesh-vpn-fastd: enable secure handshakes 2014-01-14 19:37:15 +01:00
Matthias Schiffer 86b72c2042 gluon-radvd: don't run as root 2014-01-14 19:34:07 +01:00
Matthias Schiffer 9675535afb gluon-mesh-vpn-fastd: don't run as root 2014-01-14 18:46:17 +01:00
Matthias Schiffer cfa49b30c0 gluon-core: add function to add users 2014-01-14 18:19:51 +01:00
Matthias Schiffer f7cb80e7f8 Add firewall rules
gluon-mesh-batman-adv should not be used without firewall to prevent forwarding
of packets from the mesh to the wan interface.

For some reason, the firewall package won't work at all without
kmod-ipt-nathelper.
2014-01-14 01:50:59 +01:00
Matthias Schiffer 7c56102c4d gluon-config-mode: use different document root 2014-01-13 20:17:29 +01:00
Matthias Schiffer ebf4a7e8a2 Remove initscript enable/disable hacks
Better configure these properly.
2014-01-13 18:29:00 +01:00
Matthias Schiffer 138bba1222 gluon-mesh-batman-adv: disable client interface in dnsmasq 2014-01-13 18:02:45 +01:00
Jan-Philipp Litza e38a0c9f11 alfred: name -> hostname 2014-01-13 17:11:41 +01:00
Jan-Philipp Litza f756a71de9 alfred: improved readability 2014-01-13 17:09:15 +01:00
Jan-Philipp Litza 0cfb32ce95 alfred: split up firmware info, include fastd version+status 2014-01-13 17:06:47 +01:00
Jan-Philipp Litza 9648152ef9 alfred: added more information to send, reformatted location
location is object with latitude and longitude
added:
* firmware
* autoupdater status
* hardware model
* primary mac address
* mesh IPv6 addresses
2014-01-13 16:10:03 +01:00
Nils Schneider 137a311e1e gluon-autoupdater: strip trailing - from model 2014-01-13 12:45:55 +01:00
Matthias Schiffer f3fec005e9 gluon-mesh-vpn-fastd: enable no_rebroadcast on the VPN interface 2014-01-13 01:03:08 +01:00
Matthias Schiffer 40ea8d9880 Clean up gluon-alfred
* Merge gluon-alfred-ffmap into gluon-alfred
* Use gluon-crond instead of alfred's "facter" mechanism based on the broken busybox crond
2014-01-12 22:37:28 +01:00
Jan-Philipp Litza b9ac954915 added gluon-alfred and gluon-alfred-ffmap 2014-01-12 22:06:50 +01:00
Matthias Schiffer 2f9b06e825 gluon-autoupdater: use the new get_model function 2014-01-12 21:40:19 +01:00
Matthias Schiffer 37c0716b9b gluon-core: add sh file to get model name etc. 2014-01-12 21:33:44 +01:00
Nils Schneider 877e1acd83 gluon-autoupdater: improve manifest.sample
Makes manifest.sample use the model instead of the board name as that is
what the script actually expects. Also, a sample signature is added.
2014-01-12 21:18:27 +01:00
Nils Schneider d101e2d6af gluon-autoupdater: remove dead code
Recently the autoupdater contained a case statement to distinguish
between TP-Link WDR3600 and TP-Link WDR4300. This was left over from
previous development versions of autoupdater that relied on the board
name instead of the model. It is thus no longer needed and be removed
safely.
2014-01-12 21:18:27 +01:00
Matthias Schiffer 10d163697b gluon-config-mode: don't depend on haveged
Now that haveged starts before the config mode, there is no need to explicity
depend on it; instead it is just used when specified in the site configuration.
2014-01-12 00:50:43 +01:00
Matthias Schiffer 35494393a8 gluon-core: fixup WAN interface MAC address setting 2014-01-11 21:31:28 +01:00
Matthias Schiffer ec862435d7 gluon-core: remove left over 'EOF' from config script 2014-01-11 20:34:58 +01:00
Matthias Schiffer 54d3ce94d3 gluon-ebtables-filter-multicast: correct interface name 2014-01-11 19:27:06 +01:00
Matthias Schiffer 5edc68e7c7 Don't accept router advertisements by default 2014-01-11 17:43:35 +01:00
Matthias Schiffer 616fef804d Add gluon-radvd package 2014-01-11 16:05:17 +01:00
Matthias Schiffer 1318cf0600 next-node: rename config sections 2014-01-11 14:23:27 +01:00
Matthias Schiffer fcc9b2dbd4 next-node: remove unused include 2014-01-11 14:11:42 +01:00
Matthias Schiffer b939096129 Disable IPv6 forwarding on br-client
Disabling forwarding prevents the node from reacting to the Subnet-Router
anycast address.
2014-01-11 14:01:23 +01:00
Matthias Schiffer 4efe5575fe Reimplement next-node configuration based on the new netifd version 2014-01-10 22:34:26 +01:00
Matthias Schiffer 4d8d989980 Add ebtables filters from the legacy firmware 2014-01-10 21:49:18 +01:00
Matthias Schiffer bb3fd05d1a Allow telnet login in config mode again 2014-01-09 10:06:36 +01:00
Matthias Schiffer 38623c2a4e Add gluon-lock-password package and make config mode depend on it 2014-01-09 09:58:59 +01:00
Matthias Schiffer aebe590081 Make package version depend on the site config version where necessary 2014-01-04 09:19:13 +01:00
Nils Schneider f34c54d84c gluon-luci-autoupdater: simple luci module for autoupdater 2013-11-28 21:49:34 +01:00
Nils Schneider f4aa08790c configmode -> gluon-config-mode 2013-11-28 20:00:37 +01:00
Nils Schneider 7f5f469de7 ssh keys 2013-11-28 20:00:37 +01:00
Nils Schneider 7d502cfa86 basic admin mode 2013-11-28 20:00:37 +01:00
Nils Schneider bc648d18e3 gluon-config-mode: show hostname on reboot page. fixes #8 2013-11-28 19:16:39 +01:00
Nils Schneider 9e05fb9bc2 autoupdater: fix initial upgrade script 2013-11-11 11:45:12 +01:00
Matthias Schiffer 7120eac372 gluon-core: clean up upgrade main script 2013-10-09 21:56:32 +02:00
Nils Schneider 71cf60acaa gluon-config-mode: texts from mkm 2013-10-09 21:13:48 +02:00
Matthias Schiffer 06318d5b66 gluon-simple-tc: add newline to end of example config 2013-10-09 20:35:55 +02:00
Nils Schneider 79e2b81232 gluon-simple-tc: initial.pl: sort keys before creating config 2013-10-04 10:47:31 +02:00
Nils Schneider fd3e4e7b70 gluon-config-mode: simple-tc ifname must be mesh-vpn, not mesh_vpn 2013-10-03 23:26:00 +02:00
Nils Schneider f518853ab4 gluon-config-mode: site.conf: configmode -> config_mode 2013-10-03 23:04:41 +02:00
Nils Schneider 5a0adcbae0 gluon-config-mode: add simple-tc settings for mesh_vpn 2013-10-03 23:00:47 +02:00
Nils Schneider 6c3d8621ff gluon-config-mode: forgot to rename uci config in button script 2013-10-03 22:48:54 +02:00
Nils Schneider f727a3c119 gluon-config-mode: forgot to rename uci config in button script 2013-10-03 22:12:47 +02:00
Nils Schneider 4076b7f1f0 gluon-simple-tc: create initial config from site.conf 2013-10-03 21:10:42 +02:00
Matthias Schiffer abd15d8671 gluon-mesh-batman-adv: clean up config script 2013-10-03 19:02:06 +02:00
Matthias Schiffer 171fafc2ff gluon-core: clean up uci config 2013-10-03 18:54:59 +02:00
Matthias Schiffer f0e56caa3c gluon-mesh-vpn-fastd: clean up configuration script 2013-10-03 18:41:45 +02:00
Matthias Schiffer a4e82e2928 Move some more configuration into the corrent packages, correctly configure multiple radios 2013-10-03 18:04:03 +02:00
Matthias Schiffer 7509a17ff4 Add gluon-simple-tc package 2013-10-03 13:59:45 +02:00
Nils Schneider de628af505 gluon-config-mode: fix upgrade script /lib/gluon/ugprade/config-mode/ 2013-10-03 13:10:18 +02:00
Nils Schneider 9d41be9ddd gluon-config-mode: rename config-mode to gluon-config-mode 2013-10-02 22:56:51 +02:00
Matthias Schiffer 38e09f3eae gluon-mesh-vpn-fastd: always enable fastd 2013-10-02 20:33:32 +02:00
Matthias Schiffer 2619925777 gluon-cron: always enable cron when it is installed 2013-10-02 20:33:32 +02:00
Matthias Schiffer 2299aab613 gluon-ebtables: always enable ebtables when they are installed 2013-10-02 20:33:32 +02:00
Nils Schneider 4fbdc927c4 gluon-config-mode: rename configmode to config-mode (except in lua variables where it is still called configmode) 2013-10-02 15:24:14 +02:00
Nils Schneider f509a995ed gluon-location is a dependency of config-mode, not autoupdater 2013-10-02 15:00:07 +02:00
Nils Schneider c3364f829c gluon-config-mode: various fixes (default values, autoupdater changes) 2013-10-02 14:46:39 +02:00
Nils Schneider b6c71dfa88 gluon-location: store lat/lon in system config 2013-10-02 14:18:42 +02:00
Nils Schneider 11331eda9b Revert "gluon-mesh-vpn-fastd: set mesh_vpn.enabled flag"
This reverts commit baf6d14160.
2013-10-02 14:02:24 +02:00
Nils Schneider edcc573976 gluon-autoupdater: new branch specification
It is now possible to specific multiple branches like this:

config branch stable
  option url ...
  list pubkey ...
  ...

config branch testing
  ...

and select one in autoupdater.settings:

config autoupdater settings
  option branch "stable"
2013-10-02 13:33:47 +02:00
Nils Schneider baf6d14160 gluon-mesh-vpn-fastd: set mesh_vpn.enabled flag 2013-10-02 13:19:39 +02:00
Nils Schneider 5e4f29304b gluon-autoupdater: rename script to autoupdater (was autoupdate) 2013-10-02 13:18:48 +02:00
Matthias Schiffer 4fdf2844a2 gluon-mesh-batman-adv: configure batman-adv 2013-10-01 21:38:21 +02:00
Matthias Schiffer a83b7cd5a3 gluon-core: upgrade: fix directory movement 2013-10-01 21:38:21 +02:00
Matthias Schiffer 31012af18f gluon-core: ensure version stamp dir existence 2013-10-01 21:38:21 +02:00
Matthias Schiffer ea0064c927 gluon-core: fix typo 2013-10-01 21:38:21 +02:00
Matthias Schiffer 4ecf602650 gluon-core: make 001-sysconfig executable 2013-10-01 21:38:21 +02:00
Matthias Schiffer 5e5bf2cf89 gluon-core: always handle core scripts first 2013-10-01 21:38:21 +02:00
Matthias Schiffer 2602962dfe Remove batman-adv specific parts of gluon-core 2013-10-01 21:38:21 +02:00
Nils Schneider ace75d4528 gluon-autoupdater: read config from site.conf 2013-09-30 23:31:35 +02:00
Matthias Schiffer 3b205b8413 gluon-next-node: fix ebtables interface name 2013-09-30 21:39:11 +02:00
Matthias Schiffer 483d7fb66c gluon-mesh-vpn-fastd: generate fastd config from site configuration 2013-09-30 21:29:52 +02:00
Matthias Schiffer 65769f8250 Use odhcp6c for interface configuration 2013-09-30 18:47:46 +02:00
Matthias Schiffer 3cad3e10ee gluon-core: remove deprecated accept_ra settings 2013-09-30 18:47:46 +02:00
Matthias Schiffer f0774c96f0 gluon-next-node: set accept_ra to 0 2013-09-30 18:47:46 +02:00
Nils Schneider 04c4f7bef1 gluon-config-mode: do not depend on luci-mod-failsafe (gluon-luci-admin will provide it's functionality) 2013-09-30 18:39:26 +02:00
Matthias Schiffer fc435e7788 gluon-next-node: add ebtables to filter IP packets with the next-node address 2013-09-30 17:38:04 +02:00
Nils Schneider f25b5157e9 gluon-autoupdater: read version from /lib/gluon/release 2013-09-30 17:12:57 +02:00
Nils Schneider 567e88eb1c gluon-release: creates /lib/gluon/release 2013-09-30 17:12:47 +02:00
Matthias Schiffer c57f81b7c4 gluon-ebtables: add missing mod-ipt-core dependency 2013-09-30 16:25:42 +02:00
Nils Schneider d4b4a46b7b configmode: move upgrade script from 0.4 to invariant 2013-09-30 16:24:37 +02:00
Nils Schneider 60583ec379 configmode: show current bandwidth limit in wizard 2013-09-30 15:14:01 +02:00
Nils Schneider a00c47daec configmode: migrate uci config of pre 0.4 firmwares 2013-09-30 14:50:29 +02:00