Commit Graph

477 Commits

Author SHA1 Message Date
Adrian Schmutzler 3eb172bb70 MySQL: Reduce field size for router ID in all tables
This is just a change of the database!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 18:04:12 +01:00
Adrian Schmutzler 87d7e345c8 MySQL: Reduce field size for rx/tx in router_stats_netif to uint32
This is just a change of the database!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 18:04:00 +01:00
Adrian Schmutzler 58ce32e322 Change router_stats_netif to use ids for netifs
This introduces a serious of changes to code and database.

This patch requires changes to the MySQL database.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:18:22 +01:00
Adrian Schmutzler ec66c05361 api/nodelist: Fix condition for coordinates
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:15:54 +01:00
Adrian Schmutzler 60b6ada1f2 index.html: Fix HTML validity
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:15:38 +01:00
Adrian Schmutzler 23dd78d1da router.html: Fix HTML validity issue
Fixes #67.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:15:32 +01:00
Adrian Schmutzler 43280caee1 user.html: Fix HTML validity
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:15:18 +01:00
Adrian Schmutzler a6ecfae9b6 map: Show Coordinates if not clicking on router icon
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:14:19 +01:00
Adrian Schmutzler 71bb5a3a68 map: Show router popup only for selected layer
If KeyXchange v1 routers are not shown, their popup windows are
now also disabled (as the user would expect); same for v2.

Fixes #95.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-30 17:12:12 +01:00
Adrian Schmutzler 0f163c87ee MySQL: Add index for deletebit in router_stats_netif
This index drastically reduces the time required for the DELETE
commands, while the other commands are not affected to strongly.

This is mainly a change to the database.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:54 +01:00
Adrian Schmutzler 0052b87a0c config: 30 Events per router are stored instead of 20
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:36 +01:00
Adrian Schmutzler 9c900e2552 config: Router stats are stored for 30 days instead of 14
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:29 +01:00
Adrian Schmutzler 8c46e93ddd Changelog: Update
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:23 +01:00
Adrian Schmutzler bf4ea20c2e index.html: Update github link
Fixes #106

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:17 +01:00
Adrian Schmutzler 5e8e399a70 statistics.html: Filter hood when clicking sectors in pie charts
Fixes #107

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:07:07 +01:00
Adrian Schmutzler a3ee0edead routertools/alfred: Replace empty hostname
Fixes #109

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:59 +01:00
Adrian Schmutzler b5a33f6e70 resetpw: Fix variable name and tidy up
Fixes HTTP 500 error.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:53 +01:00
Adrian Schmutzler d26dda7044 MySQL: Re-add keys for router/hood in stats
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:42 +01:00
Adrian Schmutzler 8d9f14b954 MySQL: Reorder primary key fields for stats
Use time for first indexed field so it is indexed individually

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:37 +01:00
Adrian Schmutzler 032b7ce15e MySQL: Reduce size of netif fields to 15 (Linux limit)
This is mainly a change to the database

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:31 +01:00
Adrian Schmutzler c55b1d259d MySQL: Reduce size of MAC address fields to 20
This is mainly a change to the database

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:25 +01:00
Adrian Schmutzler 9ab707a214 MySQL: Apply changes leftover from modifications to db init files
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:06:16 +01:00
Adrian Schmutzler 6a6a2806f6 logout: Remove admin from session
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 4f1bda0e83 user_info: Rearrange POST block
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 63316c7046 user.html: Users should have the right to delete their own account
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler cf3d3eb790 user.html: Only show authorized options in pulldown
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 4d3736b7aa user_info: Fix data reload from DB after changes
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler cea5c191a6 user.html: Display abuse properties and add ability to change it
Every user having abuse enabled will receive e-mails if routers
are reported.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 85a6c49574 register: Block registration with empty fields
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 083f3c3534 login: Allow e-mail address instead of user name
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 782d4b4065 db/users: Make nickname and email UNIQUE
This is mainly a change to the database

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 559ced0520 router.html: Only show authorized options in pulldown
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 899061b6ce router.html: Use url_for also for domain name
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 4389f4f11a router_info: Remove redundant user evaluation
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler ab400e1f01 Provide possibility to report routers
ATTENTION: Requires change in users database!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 20e71afeb0 Provide possibility to ban routers
If routers are supposed to be removed from the Monitoring
permanently, they can now be banned based on their MAC address.

All admins can do that via the web interface.

ATTENTION: This requires a database update!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 17:03:27 +01:00
Adrian Schmutzler 818dc79b7d api/alfred: Remove old comments
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 16:44:07 +01:00
Adrian Schmutzler ae3b065f63 api/alfred: Fix alignment of mysql.close()
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 16:43:52 +01:00
Adrian Schmutzler 672b8d55fc Changelog: Update
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-21 16:42:58 +01:00
Adrian Schmutzler 41ef7f281a api.py/application.py: Write extended information to full log
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 636a8d3baa routertools: Use custom file for full log, do not write to syslog
It is easier to evaluate a specific log which is not crowded with
messages from other programs

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 1c80bafc10 routertools/alfred: New routers are always 'online'
Since other states are only evaluated correctly on a CHANGE, we
set status to 'online' for new routers, so that the second call
can log unknown events.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 69fbcd3181 routertools/alfred: Catch malformatted coordinates
The puts a router with malformatted coordinates into the default
hood.

Note:
For a comma instead of dot (lat=48,3), the Monitoring will assign
default, while the keyserver will use floor(), resulting in
lat=48.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 53c9dc11fd routertools/alfred: Improve exception logging
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 7a678a73c6 routertools/alfred: Set status earlier
This prevent a variable-not-found error when status is not set
in except statement.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:16 +01:00
Adrian Schmutzler 48bf9c008b calcglobalstats/deletestats: Improve duration logging and output
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:25:00 +01:00
Adrian Schmutzler 80f20f4d0c routertools/deletestats: Split and improve netif stats deletion
This patch reorganizes the deletion of old stats:
- Commits are done after each step
- Netif stats deletion is split into UPDATE and DELETE
- Delays are added, to reduce locking

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 20:04:10 +01:00
Adrian Schmutzler 7e821b2ae7 config: Global/hood stats are stored for an entire year
Database demand for those stats is relatively low, so they can be
stored excessively.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:52:14 +01:00
Adrian Schmutzler 20eedde52e config.py: Add explanation for options
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:52:08 +01:00
Adrian Schmutzler f52af65c1c routertools/config: Add minimum time difference for router stats
This prevents errors due to the same router being sent twice in
the same second.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:52:02 +01:00
Adrian Schmutzler 9e6e3c8dbf routertools/alfred: Minimize time without router_netif data
Rearrange queries to have a minimum time where netifs for router
are not present.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:51:49 +01:00
Adrian Schmutzler a994ec114a MySQL stats: Convert from datetime to int
DB scripts still need to be updated.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:49:46 +01:00
Adrian Schmutzler ce4193556a router.html: Add permalink
This is fixed to the br-mesh address. If a router has no br-mesh,
no perma-link is displayed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:46:46 +01:00
Adrian Schmutzler f56d70ea55 application.py: Introduce /mac/<routermac> URL for shorter links
The behavior is equivalent to get_router_by_mac, just shorter.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:46:06 +01:00
Adrian Schmutzler e37214eb91 helpers: Enable search for routers by neighbors
If neighbor:<mac-address> or neighbour:<mac-address> is searched,
the routers having this neighbor are returned.

Regex is enabled.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:45:46 +01:00
Adrian Schmutzler 42a0a016a6 bootstrap.html: Add meta-tag google notranslate
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:45:32 +01:00
Adrian Schmutzler 8b81445991 bootstrap.html: Add content language
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:45:26 +01:00
Adrian Schmutzler 8d8436c7f7 mysqltools: Use UTF8 in mysqldb module
The MySQLdb python module needs this explicitly, otherwise it
defaults to latin-1.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:45:03 +01:00
Adrian Schmutzler a1024baea0 routertools/alfred: Recognize MySQL lock as specific exception
This will not change the router status to unknown

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:44:33 +01:00
Adrian Schmutzler 4fa16a738a api/alfred: Get IP address of alfred senders
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:41:59 +01:00
Adrian Schmutzler e4c1b17801 maptools.py: Only show best connection based on quality in map
Fixes #92

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:41:07 +01:00
Adrian Schmutzler d5043afb71 user.html: Replace spaces in user name to support query string
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:40:24 +01:00
Adrian Schmutzler 6b24fc89fd helpers: Enable regex for user nickname
Fixes link from user detail page already containing regex

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-10 19:40:16 +01:00
Adrian Schmutzler d2789a51df statistics.html: Increase y-limit for online/offline graph
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:12:03 +01:00
Adrian Schmutzler bd4495e660 statistics.html: Add total value to routers graph
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:12:03 +01:00
Adrian Schmutzler 7b4aaa2b50 statistics.html: Display less new routers and realign stats
This moves the online/offline and client stats to the right side.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:11:42 +01:00
Adrian Schmutzler d0d173d935 Introduce debugging function
This adds a timestamp to all debug outputs

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:02:27 +01:00
Adrian Schmutzler d71d35af10 query string: Use beginning and end markers
Since we use regex for the query string, we have to set markers
for beginning and end when we want to match only the whole field.

Fixes #85

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:02:16 +01:00
Adrian Schmutzler 17ea9274bb config: Router stats are stored for 14 days instead of 7
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:01:51 +01:00
Adrian Schmutzler 846f66281e routertools: Don't delete old stats of offline routers
With this patch, router stats are only deleted if the router
is online or missing in the router table.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:01:44 +01:00
Adrian Schmutzler 42c78f1079 routertools: Remove commented old code
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:01:29 +01:00
Adrian Schmutzler cf8b841c6a router_list.html/user.html: Show router reset in list
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 22:00:36 +01:00
Adrian Schmutzler 8f04e13c24 routertools/router.html: Display warning for lost coordinates
Warning: This requires a change of the MySQL table 'router'

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 21:59:30 +01:00
Adrian Schmutzler ebb4589301 routertools: Remember settings after router reset
This restores the behavior before the MySQL conversion: If a
router is reset, the new (empty) values are not written to
the variables, instead the old ones are kept.

In contrast to the old setting, however, we still do reset the
hood.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 21:56:35 +01:00
Adrian Schmutzler 7f81bff24b routertools: Don't use old coordinates for hood assignment
If no lat/lng or hood is sent, the device should go to Default.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 21:56:18 +01:00
Adrian Schmutzler 07208b6f5c routertools: Reorganize parsed data from router XML
Since we do not use MongoDB anymore, the structure of the parsed
data in router_update can be simplified to a less nested scheme.

In addition to that, directory keys have been adjusted to those
in MySQL. This prevents typos and errors.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-23 21:48:48 +01:00
Adrian Schmutzler 6984848203 helpers: Reenable search for community
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-20 11:49:01 +01:00
Adrian Schmutzler e20d37edf9 routertools: Write exceptions for parsing routers to file
Since exceptions during parsing a router's alfred data are
caught, you do not learn about the reasons.

Thus, this writes some information to a file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-20 11:48:55 +01:00
Adrian Schmutzler 8ff508f211 routertools: Remove leftover from debugging
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-20 11:48:49 +01:00
Adrian Schmutzler 7eed4a257c apidoc.html: Add documentation of remaining APIs
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-20 11:45:44 +01:00
Adrian Schmutzler 58b6bc34f9 helpers/api: Fix MAC search
This fixes searching for MAC addresses in the router list and
via api/get_router_by_mac/

Additionally, regex is enabled for MAC addresses.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:41:19 +01:00
Adrian Schmutzler b2541fe40e api/alfred: Write time and duration of alfred calls to file
Attention: This contains a hardcoded path!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:40:08 +01:00
Adrian Schmutzler af545d8194 config: Introduce path for debug output
Includes update of file names for debug files.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:36:43 +01:00
Adrian Schmutzler 5e75f9cad0 config: Move config to a single, separate file
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:30:39 +01:00
Adrian Schmutzler 5d8e1f9fce Changelog: Update
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:26:46 +01:00
Adrian Schmutzler 595810150c routertools: Reduce offline delay to 15 minutes
This is possible due to the optimized alfred proxy cron
triggers.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:26:35 +01:00
Adrian Schmutzler 9fc96ea103 filters.py: Change blue color for L3-Links and neighbors
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:24:52 +01:00
Adrian Schmutzler cc61b43316 router.html: Sort neighbors by quality
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:24:39 +01:00
Adrian Schmutzler 4f4afeb69f router.html: Show neighbors without associated router
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:24:30 +01:00
Adrian Schmutzler 8f0ac9520e application.py: Remove debug output for user page
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-19 15:21:20 +01:00
Adrian Schmutzler 3604b4f9b8 Changelog: Introduce changelog
This feature is planned to be permanent and updated.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:43:35 +01:00
Adrian Schmutzler 46266c9cb5 Show orphans in statistics
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:43:08 +01:00
Adrian Schmutzler 5be67936d6 Use different colors for router dots of v1 and v2
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:42:07 +01:00
Adrian Schmutzler 9e5965054d Remove mapnik/mkcsv.py
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:42:00 +01:00
Adrian Schmutzler f2f8538500 Rename hoodsv2 to hoods_v2 for consistency
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:41:52 +01:00
Adrian Schmutzler 73895af3d9 Separate hoods into layers
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:41:46 +01:00
Adrian Schmutzler 3fd731a5a2 Introduced orphaned state between offline and deletion
After 7 days of being offline, a router enters the orphaned
state with a grey icon. It is only deleted after a longer period
of 180 days.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:41:38 +01:00
Adrian Schmutzler 6f61cc6fdc Optimize MySQL commit for /api/alfred plus some debugging
Signed-off-by: Adrian Schmutzler <adsc@monitoring.freifunk-franken.de>
2017-11-16 20:40:45 +01:00
Adrian Schmutzler 39bf2032f4 routertools: Aggregate INSERT commands using executemany
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:37:26 +01:00
Adrian Schmutzler 39ab0b1f7c application.py: Fix left-over cur reference
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 20:35:49 +01:00
Adrian Schmutzler 8dc3633246 Fix missing timezone awareness of immutable data types
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 15:05:24 +01:00
Adrian Schmutzler a65873c2ee Global stats put into separate scripts and run by cron
Most of the processes is executed every five minutes, but
deleting can be done only once per day ...

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 15:00:12 +01:00
Adrian Schmutzler ece82c44f4 routertools: Remove direct references to mysql cursor
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 14:50:16 +01:00
Adrian Schmutzler bf1d1b8b2a router.html: Fix long loading times
The mysql queries had been executed in a for loop, this is
moved to a single query now.

Side effect may be a little more JavaScript execution time.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 14:44:28 +01:00
Adrian Schmutzler 60501ac775 router.html: Fix omitting coordinates if not set
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:07:31 +01:00
Adrian Schmutzler 9d167bdb86 Respect case in database and code
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:06:25 +01:00
Adrian Schmutzler 003fcbcebe routertools/stattools: Implement default hood as str "Default"
If the default is NULL (as previously), we have ugly problems
with indexing and queries. To circumvent this, the hood is
set to "Default" right at the beginning.

For old data, we add an if to the hood stats calculation.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:05:48 +01:00
Adrian Schmutzler 48cb9f0033 routertools: Remove lower() for hood name
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:04:47 +01:00
Adrian Schmutzler 3be0cd12b3 helpers: Treat spaces in query string more correctly
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:04:09 +01:00
Adrian Schmutzler a16c50124c Reintroduce regex for search strings in router list
Includes tidying-up query string helpers

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:03:40 +01:00
Adrian Schmutzler 92cd0e00a8 routertools: Treat missing XML elements better
This particularly fixes the case of missing coordinates.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:02:03 +01:00
Adrian Schmutzler e34daa118d Migrate TileStache to python3
Requires TileStache to be in absolute path

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:01:49 +01:00
Adrian Schmutzler 9a32c7bffd Delete old router events
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:01:26 +01:00
Adrian Schmutzler 5262a4e14f Provide fffconfig output option for routers
If ?fffconfig is specified after a routers ID, a config file
with the router's data is return. This can directly be copied
to /etc/config/fff on the device and thus easily recover a
lost configuration.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:01:18 +01:00
Adrian Schmutzler 412203a946 api: Add wifianalall (all hoods)
Puts reused code into a helper function

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:01:01 +01:00
Adrian Schmutzler 87093a9066 Add hood-specific statistics
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:00:48 +01:00
Adrian Schmutzler e3fe995407 MySQL: alpha3
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-11-16 00:00:07 +01:00
Dominik Heidler 1b4ae0fe51 Merge pull request #75 from adridolf/mapv2
fff-map: Add layer for KeyExchange v2
2017-10-16 12:10:00 +02:00
Adrian Schmutzler 78a8a1b65e fff-map: Add layer for KeyExchange v2
Draft version. On my local setup, I had to create CSVs manually
with mkcsv.py and copy them to /var/...

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-10-16 12:07:34 +02:00
Dominik Heidler 870785ede8 Merge pull request #74 from adridolf/ulalink
Use ULA for WebUI link
2017-10-14 16:47:04 +02:00
Adrian Schmutzler 3d4d005a17 Use ULA for WebUI link
For v2-hoods, the ULA should be used, which enables routing across
hoods.

Fixes #72

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-10-14 15:11:56 +02:00
Adrian Schmutzler 88e040af00 No legacy anymore: Fix missing firmware
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-10-14 14:59:37 +02:00
Dominik Heidler 547416ae9c No legacy anymore 2017-10-07 23:07:04 +02:00
Dominik Heidler 058bed9a2e Implement loadavg graph data collection for #55 2017-09-11 16:31:57 +02:00
Adrian Schmutzler fc4e4f3026 Add loadavg graph for routers
Fixes #55

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-09-10 12:24:36 +02:00
Dominik Heidler f51d0ae5fd Add index for "created" routerdb field (fixes #65) 2017-08-31 13:16:56 +02:00
Dominik Heidler f8c5913ad1 Commit unstaged changes from production instance 2017-08-21 11:49:26 +02:00
Adrian Schmutzler bd855abd0d Add explanation page for API functions
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-08-19 02:52:10 +02:00
Adrian Schmutzler b013533dfe Add API script to output JSON list of routers with MAC address
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-08-18 14:38:57 +02:00
Dominik Heidler 8f7a55042a Fix code style 2017-08-18 14:24:20 +02:00
Adrian Schmutzler 5f65d38908 Add WifiAnalyzer alias file output
Syntax: /api/wifianal/<hood>

This returns raw text.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-08-18 13:20:47 +02:00
Adrian Schmutzler 2a3cd94619 Harmonize tab style in api.py
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-08-17 23:36:06 +02:00
Dominik Heidler 96a8466e7a Merge pull request #58 from adridolf/consistent_hoodnames
Make capitalization and spelling of hoods consistent
2017-07-25 10:51:19 +02:00
Christian Dresel 216b0ec801 Projekt Hoodteilung extremo #9
Add Hood Erlenbach
2017-07-25 09:20:24 +02:00
Adrian Schmutzler 46dbde5c72 Make capitalization and spelling of hoods consistent
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-07-24 23:49:07 +02:00
Christian Dresel a3115c54d0 Projekt Hoodteilung extremo #8
Add Hood Coburg
2017-07-20 18:16:03 +02:00
Christian Dresel db4cd7d57f Projekt Hoodteilung extremo #7
Add Hood Lauf
2017-07-20 15:16:38 +02:00
Christian Dresel a1e7cf2650 Projekt Hoodteilung extremo #6
Add Hood Ebern
Re-positioned Hood Aschaffenburg
2017-07-19 17:10:17 +02:00
Christian Dresel 3e567ba07a Projekt Hoodteilung extremo #5
Add Hood Ebern
HoodID 25 is reserved for Coburg, it is created in the next steps
2017-07-17 20:31:34 +02:00
Christian Dresel 096c3a48fa Projekt Hoodteilung extremo #4
Re-positioned Hood Markredwitz
Re-positioned Hood Hof
Add Hood Fichtelberg
Add Hood Rehau
2017-07-17 16:20:19 +02:00
Christian Dresel 12384f2f5a Projekt Hoodteilung extremo #3
Add Hood Bayreuth
HoodID 21 is reserved for Lauf, it is created in the next steps
2017-07-17 10:56:43 +02:00
Christian Dresel e15c8908bf Projekt Hoodteilung extremo #2
Add Hood Ebermannstadt
2017-07-16 22:34:32 +02:00
Christian Dresel d9e70533ca Projekt Hoodteilung extremo #1
Re-positioned Hood Adelsdorf
Re-positioned Hood Forchheim
Add Hood ErlangenWest
2017-07-16 11:55:10 +02:00
Adrian Schmutzler 0ac862411a Set WAN uplink based on new nodewatcher xml entry and for L2TP
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-06-17 21:48:08 +02:00
Steffen Pankratz 93d0ab13c7 Added FFF link to nav bar (fixes #44)
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-06-12 19:29:42 +02:00
moexe 576c8dd0c0 adding hood Schweinfurt to hoods.py 2017-05-19 22:56:07 +02:00
Steffen Pankratz b1b6ed540f Fixed map display in Internet Explorer 11
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-05-09 21:35:28 +02:00
Steffen Pankratz 37f47eabdb Removed padding for link local addresses
See https://mantis.freifunk-franken.de/view.php?id=42 for more information.

Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-05-08 19:02:57 +02:00
Steffen Pankratz 3318794d0f Added support for layer 3 links (fixes #38)
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-04-17 13:31:31 +02:00
Steffen Pankratz 138c8c81b8 Added hood Adelsdorf.
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-03-23 19:24:49 +01:00
Dominik Heidler 5ad3111745 Add hood link to router page 2017-03-22 23:27:42 +01:00
Steffen Pankratz ff4b8ebd8f - deleted functionality to fetch data from Netmon
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-03-22 18:14:54 +01:00
Steffen Pankratz 3f0052bdfe - do not show links to Netmon anymore
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-03-22 18:12:54 +01:00
Dominik Heidler 2e4eaf2a18 Remove netmon resync code
See #34
2017-03-21 15:42:16 +01:00
loki-kun 682d62d852 Netmon Sync Button entfernt
Netmon Sync Button auf Route Seite entfernt
2017-03-21 14:48:04 +01:00
Dominik Heidler 158eb2585e Link from statistics page to hood router list
Fixes #32
2017-03-21 11:07:23 +01:00
Dominik Heidler b16199c8db Use Hood from Router XML if provided
Fixes #31
2017-03-21 10:06:59 +01:00
Steffen Pankratz 4b09731360
Added general exception handler for function 'import_nodewatcher_xml'
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2017-01-28 18:20:36 +01:00
Steffen Pankratz 6cadfaa848 - fixed exception: caused by deleting a router without an owner
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-09-25 19:46:41 +02:00
Steffen Pankratz 3db647d40f Re-positioned hood HassbergeSued
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-09-17 09:53:58 +02:00
Dominik Heidler 4a7c41260c Escape HTML in router map popup 2016-07-26 22:23:37 +02:00
Dominik Heidler d940526f79 Get chipset value only if XML key exists 2016-07-26 22:20:59 +02:00
Dominik Heidler da42ef018c Add in memory router rate limit
This is some kind of tmp hack to reduce db load
2016-07-26 22:17:39 +02:00
Dominik Heidler 797b67ee40 Record smaller stat timespan to reduce db load 2016-07-26 22:16:33 +02:00
Dominik Heidler 7845b007b5 Make E-Mails more verbose to avoid SPAM flag 2016-07-26 22:14:13 +02:00
Michael 'PoempelFox' Meier 955d265231 use https instead of http for attribution link 2016-07-23 14:55:20 +02:00
Michael 'PoempelFox' Meier ad9564dd04 zwei weitere tilelayer hinzugefuegt, so dass jetzt drei auswaehlbar sind.
Der Stil von openstreetmap.org, der Stil der auf openstreetmap.de verwendet wird, und Thunderforest Outdoors.
2016-07-23 14:13:54 +02:00
Steffen Pankratz 626595ad17 Re-positioned hood Hof
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-13 18:10:09 +02:00
Steffen Pankratz a8b38bc808 Added hood Muenchberg
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-13 18:10:09 +02:00
Steffen Pankratz 392d6adce8 Added hood Forchheim
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-13 18:10:09 +02:00
Steffen Pankratz 1698047715 Added hood Bamberg
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-13 18:09:44 +02:00
Steffen Pankratz d95604688d Added hood Marktredwitz
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-02 19:13:56 +02:00
Steffen Pankratz 9ec37e715b Added hood Aschaffenburg
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-07-02 19:13:56 +02:00
Dominik Heidler 3bf3445c51 Merge pull request #18 from kratz00/empty_mac
Added workaround for empty 'mac_addr' element in nodewatcher data.
2016-05-16 17:03:24 +02:00
Steffen Pankratz 45943a5246 Added workaround for empty 'chipset' element in nodewatcher data.
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-05-16 12:20:03 +02:00
Steffen Pankratz c42dc9b92f Added workaround for empty 'mac_addr' element in nodewatcher data.
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-05-16 12:17:49 +02:00
Steffen Pankratz 0ef01992ed Added nodelist API endpoint.
Signed-off-by: Steffen Pankratz <kratz00@gmx.de>
2016-05-03 22:24:34 +02:00
Dominik Heidler ae75d547f9 Add hood: hof 2016-04-28 17:43:55 +02:00
Dominik Heidler 698998cec5 Fix fork warning 2016-04-28 17:33:45 +02:00
Dominik Heidler cfc65780ee Add missing misc.py 2016-04-22 10:09:20 +02:00
Dominik Heidler 39d30c7021 Some ipv6 detection fix 2016-04-19 19:34:51 +02:00
Dominik Heidler c894f91abb Add option to delete a user account 2016-04-10 14:48:43 +02:00
Dominik Heidler 1c1dea66ff Add !not search operator 2016-03-16 22:32:37 +01:00
Dominik Heidler 7921ac6d90 Move datetime.utcnow().replace(tz... into function 2016-03-10 14:22:23 +01:00
Dominik Heidler e1d2217d79 Allow searching for netif 2016-03-10 14:04:37 +01:00
Dominik Heidler 95179df2c0 Handle IntOverflows and save unknown-status reason 2016-03-10 14:03:27 +01:00
Dominik Heidler b7584486ff Small XML parsing performance optimisation 2016-03-10 14:01:54 +01:00
Dominik Heidler 179c403787 Don't ask netmon for WebUI router's position 2016-03-10 14:00:12 +01:00
Dominik Heidler d8bbbf1213 Make session survive application restart 2016-03-10 13:57:36 +01:00
Dominik Heidler 5d59a208bb View the best links on the top
Sort links.csv by link quality
2016-03-10 13:56:06 +01:00
Dominik Heidler af2a80f5ee Delete routers with last_contact > 100 days ago 2016-03-10 13:55:15 +01:00
Dominik Heidler 5fee464680 Handle l2tp tunnels 2016-03-07 12:27:43 +01:00
Dominik Heidler c7436cdea2 Add link to change Avatar 2016-03-02 16:00:09 +01:00
Dominik Heidler c5c0e15c19 Double (clickable) pointer radius on 2k displays
The actual pointer image will keep its size
2016-02-29 22:22:04 +01:00
Dominik Heidler b3a0131b63 Add alfred_leagcy_provider
It gets a list of pre-0.5.1 routers from netmon mysql db,
crawls them and sends the results to a (patched) alfred master.
2016-02-29 19:16:49 +01:00
Dominik Heidler 19329ef85c User Accounts, Legacy Routers, Delete Routers 2016-02-29 18:51:58 +01:00
Dominik Heidler c34246f3a8 Let MongoClient be tz_aware
- output datetime objects from mongodb are now tz_aware with tzinfo=utc
- fixes #11
2016-02-15 18:51:40 +01:00
Dominik Heidler 4cddcbfec3 Fix MAC Address redirect 2016-02-06 11:42:11 +01:00
Dominik Heidler b508f5031c Remove trailing whitespaces from IP Addrs 2016-01-30 14:56:25 +01:00
Dominik Heidler 5a11a4083a Use new URL 2016-01-30 14:49:14 +01:00
Dominik Heidler 688b90f3f6 Show ipv4 and ipv6 addresses 2016-01-30 14:48:48 +01:00
Dominik Heidler 4984d614e7 Implement /get_router_by_mac/<mac>
- To allow hotlink from router webui
- Will redirect to router page when there is
  exactly one router with this mac
- Otherwise redirect to router list with mac
  set as filter
2016-01-25 16:49:14 +01:00
Dominik Heidler 1e9f43fe0c Nice title 2016-01-23 22:08:25 +01:00
Dominik Heidler c85ba1d403 Add fw info 2016-01-22 21:21:30 +01:00
Dominik Heidler cef52d187e Rename to "FFF Monitoring", Add Index. 2016-01-22 21:08:27 +01:00
Dominik Heidler 495c4d4512 Add scale to map 2016-01-22 20:37:31 +01:00
Dominik Heidler 44a50ecafb Reduce stat range to 2 Weeks (#3) 2016-01-22 20:33:41 +01:00
Dominik Heidler c81e8328cd use description, position,... from nodewatcher XML 2016-01-07 23:08:23 +01:00
Dominik Heidler e56336b106 rename position.comment to position_comment 2016-01-06 19:06:43 +01:00
Dominik Heidler 818ad5fc75 show data fetch hint in netmon event 2015-12-30 00:33:57 +01:00
Dominik Heidler 0cde57178f allow to filter by community 2015-12-30 00:33:36 +01:00
Dominik Heidler a8851609f5 show statustext 2015-12-22 10:35:17 +01:00
Dominik Heidler e9e53b1344 show router community 2015-12-22 10:06:14 +01:00
Dominik Heidler c888bf28b9 show router uptime 2015-12-22 09:20:48 +01:00
Dominik Heidler d40b374e3d Fix handling junk data 2015-12-14 00:05:37 +01:00
Dominik Heidler a3ff3bc4c8 fix datatables css reference
see issue #2 and #5
2015-12-11 13:18:04 +01:00
Dominik Heidler 59769571fb Merge branch 'master' of https://github.com/kratz00/ff-map 2015-12-11 11:54:45 +01:00
Steffen Pankratz 4d06d1fd2f Do not rely on CDNs for accessing bootstrap, jquery etc. (fixes #2)
- upgrade to Leaflet 0.7.7
2015-12-11 11:18:07 +01:00
Dominik Heidler 0c7c9772df remove timezone (doesn't work anyway) 2015-12-11 00:01:12 +01:00
Dominik Heidler 30d5a6f302 uwsgi catch exceptions 2015-12-10 23:57:18 +01:00
Dominik Heidler a7cfa33d3d handle status_text 2015-12-10 23:56:23 +01:00
Dominik Heidler 431b4a62dd add map zoom permalink 2015-12-10 23:51:58 +01:00
Dominik Heidler 166e72b072 fix filtering by mac address 2015-12-09 19:57:15 +01:00
Dominik Heidler 850c474371 fix js graph autoscale and Others section 2015-12-09 19:47:02 +01:00
Dominik Heidler c0bf36f4fb fix netmon_id query 2015-12-09 19:16:12 +01:00
Dominik Heidler df79b4268f netmon api tells old pos comment if changed to ""
so let's interpret a single space as an unset position comment
and allow users to set their position comment to a single space
in order to delete it
2015-12-06 00:39:56 +01:00
Dominik Heidler 79526f600f add favicon 2015-12-06 00:39:35 +01:00
Dominik Heidler 594ee53194 neighbours function doesn't like empty neighbours 2015-12-01 14:54:09 +01:00
Dominik Heidler 36938ad60a new hood: nbgland 2015-11-27 15:59:09 +01:00
Dominik Heidler b19335d3f8 fix hood updater and add hw name normalizer 2015-11-27 15:58:35 +01:00
Dominik Heidler ece780c309 fix hood total router couter & make tbl responsive 2015-11-27 15:57:17 +01:00
Dominik Heidler d137f99d45 allow spaces in hardware.name query (use _) 2015-11-27 15:56:35 +01:00
Dominik Heidler 0716ed945a show netif on multiple links to same neighbour
fixes #1
2015-11-27 15:49:02 +01:00
Dominik Heidler 1762f095a7 escape dots in regex; allow querying netmon id 2015-11-19 22:39:34 +01:00
Dominik Heidler 02c094aab2 allow users to trigger netmon resync 2015-11-19 22:37:06 +01:00
Dominik Heidler 016a9b4f70 clean routertools; add hood/hostname change event 2015-11-19 22:05:37 +01:00
Dominik Heidler a6dad73b91 don't show links originating from offline routers
mainly because the neighbour positions might be outdated
2015-11-19 14:16:12 +01:00
Dominik Heidler b5b4ff60fe filter/search router_list 2015-11-18 14:48:14 +01:00
Dominik Heidler 5b8609102a strip spaces around ip addr 2015-11-16 09:59:49 +01:00
Dominik Heidler 3eb8793e26 improve parser logic 2015-11-15 20:49:52 +01:00
Dominik Heidler 0a9e255802 add titles and make ui more responsible 2015-11-15 20:48:55 +01:00
Dominik Heidler b442d33954 make router list nice and filterable 2015-11-15 20:47:43 +01:00
Dominik Heidler 1d0ef0f321 make js pie look nicer 2015-11-15 20:45:26 +01:00
Dominik Heidler 70f821872f fill total routers col 2015-11-12 22:27:54 +01:00
Dominik Heidler 6c385b3408 add statistics page 2015-11-11 15:27:50 +01:00
Dominik Heidler 3e4debab4a make graphs hideable 2015-11-09 12:01:15 +01:00
Dominik Heidler 8bb4c8ce82 assert 0 if no quality data is available 2015-11-08 21:58:51 +01:00
Dominik Heidler 9cf93e8c18 add "router not found" error msg 2015-11-06 18:19:21 +01:00
Dominik Heidler 09c0f4abc2 add created property without netmon sync 2015-11-06 18:18:27 +01:00
Dominik Heidler cb1215ac8a multirow graph legend 2015-11-06 18:06:31 +01:00