Git Product home page Git Product logo

wind's Introduction

Wind

WiND is a Web application targeting at Wireless Community Networks. It was created as a replacement for NodeDB by the members of Athens Wireless Metropolitan Network located in Athens, Greece. It has evolved into much more as you can see below in the feature list.

WiND is distributed under GNU Affero General Public License v3 where each piece of code remains under the copyright of their respective author. Everyone can see the source code and everyone can contribute to it.

Caution

There have been changes in the Database. Please review the DB Schema before you try to use the current master source with your old installation. For your convenience there is an updater script in /tools that can only run in cli. It will try to update you db schema so be advised, backup your DB First!

(Example) root@myhost:/var/www/html/wind/tools/# php update.php

Features

  • Supports multiple users and multiple nodes per user
  • Supports controling of task authorization.
  • Stores all the node information a Wireless MAN will need: location, height, area, region, backbone & AP interfaces, roof view photos, subnets & hosts in a node etc.
  • Provides an easy (but powerful) way of searching for specific nodes
  • Using NASA's SRTM data, it graphs the Line of Sight, and Fresnel Zone between two nodes and calculates Free Space Loss for the distance between them
  • Uses OpenLayers to show the nodes and their links on map.
  • Can be used to manage the distribution of IP Ranges and forward/reverse DNS assigned to each node (Hostmaster)
  • Fully themeable interface (using simple (X)HTML templates)
  • Support for localication; Unicode/UTF-8 support
  • Supports provisioning of IPv4 and IPv6 address ranges.
  • Supports user logging per node for tracking.
  • Integrates with BIND Nameserver for serving the IPv4 DNS zones.
  • A WHOIS server is provided that serves the data using the WHOIS protocol

Documentation

You can find latest documentation online on the wiki of project

wind's People

Contributors

acinonyx avatar ernest0x avatar gklis avatar jammin84 avatar jbonicioli avatar nikalexis avatar spinza avatar sque avatar stargazerwna avatar ysamouhos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wind's Issues

Add support for IPv6 management

Implement an IPv6 support similar to that found for IPv4.

The functionality that is needed:

  • Database support for storing extra information (new tables are proposed).
  • Support for arbitrary subnet size per request.
  • Admin interface to manage ip ranges per region.
  • Admin interface to manage ip subnets delegation
  • User interface to apply for a new subnet
  • User interface to view nodes assigned subnets.

Replace Channel# with Drop Down Frequency selection

Instead of free text channel we should replace it with a drop down lost of frequencies for links.

Then replace the frequency selection in link plot to automatically plot using the user selected frequency of the link.

This will also help to get rid of the "Undefined index: frequency in geoimage.php" small bug as a side effect :)

This is also the first step to frequency planning features if needed later on.

Getting error on "Line of Sight" ?

I assume,

  1. Most likely, this error is due to i defined a very large geographical area, and some SRTM files may have not completly downloaded ..

P.S
Initially I tried out two nodes by just "locating their position" , without filling up the database with more info like geographical dept. etc

Anyway I'll give a second try more detailed ...

SQL injection at page=nodes&node=

node parameter is prone to SQL injection

1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' ORDER BY nodes_services.date_in ASC LIMIT 0, 50' at line 4

Last MySQL query:
SELECT SQL_CALC_FOUND_ROWS services.title, nodes_services.id, nodes.id AS nodes__id, ip_addresses.ip, nodes_services.url, nodes_services.info, nodes_services.status, nodes_services.date_in FROM nodes_services
LEFT JOIN nodes on nodes_services.node_id = nodes.id
LEFT JOIN services on nodes_services.service_id = services.id
LEFT JOIN ip_addresses ON ip_addresses.id = nodes_services.ip_id WHERE nodes_services.node_id = '1'' ORDER BY nodes_services.date_in ASC LIMIT 0, 50 

Release Policy

The time has come that more than one developer has to agree upon a policy on how to make releases. This involves the dates, the features, the versioning, the tasks. A good start was done at the meeting of (27 Dec @ hsgr ).

The purpose of this ticket is to discuss what would be the policy and write it down to a wiki page

Bellow the bar you will find an almost complete proposal based on the meeting and my assumptions. Feel free to argue!


Versioning

Till now it was implictly assumed that we follow the Sematic Versioning where it defines what is expected to be found in each release. Briefly, a patch version change means small bug fixes, a minor version change means backward compatible changes, and major version change means API breakage or anything else.

Branches

At the meeting of 27 Dec, it was proposed that all developpers work on master branch for one or two commit changes. If something takes long time and requires a lot of commits it should become a different branch with a descriptive name like ipv6. This branch can be located in a user repository, but if it is something big, that multiple developers could work, it should be in the main repository.
For each minor release we should keep a different branch like v1.2-series. At this branch we should cherry pick bug fixes from the master branch. This branch will be used for the next patch release.

Merging

Every branch that is complete should be merged back to master. The merging should be done by following the github procedure of pull request. All the pull requests should be processed by the pull request responsibe devellopers. Who will be these devellopers, is a matter of the team decision, but selecting one or two persons will solve the confusion of the merging procedure.

Major&Minor Releases

All major and minor releases should come from the master branch. The general concept is that when all issues of a milestone are closed, then the branch should freeze. After a small freeze period and when there is no know bug, the branch should be tagged with a version like v1.4.0 (notice that patch version should be zero) and a release should be made on this tag. Then the developement on master can continue..

Patch Releases

For every active minor serie a milestone will be created with a due date of 30 days after the last release. At the end of the due date, if there are any commits since last release, then the series branch (e.g. v1.2-series) should be tagged with next patch version like v1.2.4 and a new release should be made. After the release a new milestone should start for the next patch release (e.g. 1.2.5) with due date 30 days later.
If a bug fix is critical, an exception for earlier release can be made.

Missing logic integration of node status

Code was added that you could declare the node status, like active, inactive, pending, or deleted. I personally find it a very reasonable addition, but there is no logic integration with the rest of the application. How exactly this status influence the flow of the application? Which nodes should be visible in the map? If I disable a node, what will happen with the links? Right now if I change the status, it only affects the node view page, there is no other effect than this.

So what was the plan behind this change? And how will be implemented. WiND 1 has very obscure way to define this kind of logic and it is not inside the "models" of the system, but rather on the "views".

Move to AGPLv3 Lisence

It has been already decided by all members of the wind project to move to AGPLv3 license. All the copyright notices must be updated.

It would be nice at the same to replace per-file copyright holders with a "Wind Development Team" and make a CREDITS file in root folder.

Install error

Hi Guys,

can anyone help me with the install , after i am done I get a blank browse

Am i missing a step here?

please advise

Add Due Dates in Nodes and Links

Add Pending status with Due Dates in Nodes and Links.

Include Checks to prevent users to Activate Links when nodes are pending or links are pending.

Fibre links

Hi ,

Can you guys tell me if I can add a fiber network link option next to access point and backbone links?

Thanks

Options for Google maps

Options like Terrain view, Satellite view and Labels in google maps would be helpful.
Labels in particular are very helpful.

Missing google earth icon

WiND still support exporting KML files but when new was implements the google earth icon was removed.

Get it back!

[suggestion] Check active links on node delete

Should a user be able to delete an active node ?
WiND checks next node in order to display active links when you create a node, but what happens if someone deletes one with active links?

Error adding a district

Hi Please assist as I am getting this error when trying to add a district

Thanks you in advance

1048: Column 'ip_end' cannot be null

Last MySQL query:
INSERT INTO regions (name, ip_start, ip_end, v6net, v6prefix, info) VALUES ('Western Cape', '2887647489', NULL, NULL, NULL, NULL)

LOS with other nodes (bug?)

When i go the page of one of my nodes (index.php?node=xxxx) and i click the button "Line of sight (LOS) with other nodes" a new screen appears. So far, so good.

At the left side, I see the node i've selected. At the right side i have to select a node myself. So i click on "change". Normally a list of all my nodes will appear, but now, i get a new window. Exactly the same window when i click on "Line of sight (LOS) with other nodes".

I suppose this is a bug?

Upgrade to smarty v3

Smarty v2 is a very old library, and although it receives security updates we should move to Smarty v3 that is best supported.

Firefox does not launch line of sight window

When i try to view the line of sight by selecting the link from the popup window on a node from the map nothing happens.

For example: While being in http://wind.pwmn.net/?page=nodes&node=188, if i want to check LOS from a node on the map the popup window does not launch. The url is:
javascript:%20t%20=%20window.open('?page=nodes&subpage=plot_link&a_node=188&b_node=372',%20'popup_plot_link',%20'width=600,height=450,toolbar=0,resizable=1,scrollbars=1');%20t.focus();%20return%20false;

Tested on Firefox 26 (pop-up blocking disabled). Chrome works fine.

The LOS only works with: Line of sight (LOS) with other nodes|

[suggestion][feature] Simplify Client Adition

Client nodes addition is too complicated for the simple user.
New users should be able just to click on a node or click a button "I am connected to this Access Point", and just ask for the user's location (not in a pop-up window).

Google map is not working if WiND is served under https

Google chrome (not tested with other browsers) blocks referring to external scripts through http if the document is requested through https. WiND should detect if it is served through https and load google api through https too.

MySQL error

Hello,

When I want to create the links (backbone, AP, ...) on a node, i always get the same error:

1292: Incorrect datetime value: '-- ::' for column 'due_date' at row 1

Last MySQL query:
INSERT INTO links (type, protocol, ssid, channel, frequency, status, due_date, equipment, node_id, peer_node_id, peer_ap_id, date_in) VALUES ('ap', NULL, 'Gent Watersportbaan', NULL, '2412', 'active', '-- ::', NULL, '1', NULL, NULL, '2014-07-17 14:36:12')

I already tried to add the date in the field "due_date" as 01-01-2014 00:00:00 but that doesn't help.

I've installed WiND today (17/07/2014) using Github.

Fiber network

Hi Guys,

I own a fiber and a wireless network that i would like to use wind for , the wireless network is easy as everything i need is there but it gets tricky with the fibre as this link runs in the road itself and it would be great if i can trail where the routes is running and where the manholes are situated.

Is there someone will to advise or assist with my project?

BUG : Graphing LOS going wrong

At release WiND v1.1-0-a1 the LOS graphing between two points is gone?
I always get the error "Data Error" at the place of the graphs.

poor documentation

I have just installed Wind, I am find the lack of documentation very unhelpful for a beginner

SRTM downloader not working

./download_strm.php
System is OK.
South West boundary at -32.268555446215, 141.0205078125
North East boundary at -29.036960648558, 150.93017578125
55 total SRTM maps are needed for your area.

  1. S-32E141.hgt downloading... Cannot find tile for -33,141" in any region.
    filename layout has changed

Error building database

I try to upgrade an earlier version to the latest 8/1/14 but I had no maps (openstreet or google)
After that on a clear install i had that error at installation step 6

Error building database.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') CHARSET=utf8' at line 6

Broken button to add area

In admin/areas the button to add area (Δήμοι / Κοινότητες) is broken.
(WiND v1.1-0-a1)

@ file /templates/basic/includes/pages/admin/admin_areas.tpl

edit
{include assign="btn_add" file="generic/button.tpl" class="btn-success btn-sm" glyph="plus-sign"
link=$link_area_add content="$lang.area_add"}

to
{include assign="btn_add" file="generic/button.tpl" class="btn-success btn-sm" glyph="plus-sign"
href=$link_area_add content="$lang.area_add"}

and the button is functional again.

Error at requesting assignment of a new ip subnet

At wind.hwmn.org on a specific node, when I try to request assignment of a subnet, wind refuses with an SQL error. This node has no specific configuration than many others and has not any other assigned subnets.

The error says:

 1048: Column 'ip_start' cannot be null

Last MySQL query:
INSERT INTO ip_ranges (info, node_id, ip_start, ip_end, status, date_in) VALUES (NULL, '85', NULL, NULL, 'waiting', '2013-12-11 21:43:19') 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.