GithubHelp home page GithubHelp logo

ntppool's Introduction

NTP Pool Project

This is the code for the NTP Pool project, http://www.pool.ntp.org/

See the LICENSE file for detailed copyright and licensing information.

For installation instructions, see https://dev.ntppool.org/install/ or https://hub.helm.sh/charts/ntppool/ntppool

Other relevant repositories are at

License

  • Copyright 2005-2020 Ask Bjørn Hansen, Develooper LLC

  • Copyright 2003-2005 Adrian von Bidder

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

ntppool's People

Contributors

abh avatar alawadhi77 avatar aleksandar-pap avatar aslamkhan029 avatar boelle avatar chips44 avatar cybernet avatar dandelionsprout avatar elljay23 avatar freso avatar jonasled avatar kahara avatar langner avatar linutux avatar loewis avatar martin-steghoefer avatar masoudigram avatar naltang avatar nicematt avatar patschi avatar platonymg avatar robkehl avatar saryarqa avatar silentt-fr avatar stickell avatar tobif avatar tsarmis avatar vani avatar volkans80 avatar xeroc 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  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  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  avatar

Watchers

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

ntppool's Issues

Monitor leap flag

Monitor the leap flag in the server replies. For now just monitor it and show it on the relevant pages; later make the score be affected when the flag is wrong.

Depends on #54.

The only real use of this is alerting server operators. ntpds will already use the IP address and SNTP clients don't care about the leap flag (generally at least).

Work better with small zones

Small zones should fallback to the "upstream" zone. Maybe if there are less than X servers, only populate the not-numbered and 0 zone with servers from that country.

Fix servers added by name

Sometimes when a server is added by name (maybe when the DNS lookup fails?) the system tries adding the name as the IP address and it doesn't go well.

Make yu.pool be served by the european pool

there's no more .yu, so make yu.pool not be in the web interface.

  • Assign the current servers there to the appropriate country
  • Make DNS queries going there be cnamed or otherwise serviced by the european pool

Review/remove/replace <div class="block">

Just about all the templates have

. Maybe it's harmless, but if not we should remove/replace it as appropriate. If it makes sense, maybe it should just be around [% content %] in the style template.

$ grep -lr '<div class="block">' docs
docs/manage/tpl/manage/delete_instructions.html
docs/manage/tpl/manage/delete_set.html
docs/manage/tpl/vendor/form.html
docs/manage/tpl/vendor/show.html
docs/manage/tpl/vendor/submitted.html
docs/manage/tpl/vendor.html
docs/ntppool/ca/join/configuration.html
docs/ntppool/ca/join.html
docs/ntppool/ca/use.html
docs/ntppool/de/join/configuration.html
docs/ntppool/de/join.html
docs/ntppool/de/use.html
docs/ntppool/dns-server.html
docs/ntppool/en/join/configuration.html
docs/ntppool/en/join.html
docs/ntppool/en/use.html
docs/ntppool/equipment/application.html
docs/ntppool/es/join/configuration.html
docs/ntppool/es/join.html
docs/ntppool/es/use.html
docs/ntppool/fi/join/configuration.html
docs/ntppool/fi/join.html
docs/ntppool/fi/use.html
docs/ntppool/fr/join.html
docs/ntppool/fr/vendors.html
docs/ntppool/index.html
docs/ntppool/jp/join/configuration.html
docs/ntppool/jp/join.html
docs/ntppool/jp/use.html
docs/ntppool/ko/join/configuration.html
docs/ntppool/ko/join.html
docs/ntppool/ko/use.html
docs/ntppool/mailinglists.html
docs/ntppool/nl/join/configuration.html
docs/ntppool/nl/join.html
docs/ntppool/nl/use.html
docs/ntppool/ru/join/configuration.html
docs/ntppool/ru/join.html
docs/ntppool/ru/use.html
docs/ntppool/sv/join/configuration.html
docs/ntppool/sv/join.html
docs/ntppool/sv/use.html
docs/ntppool/tpl/equipment/form.html
docs/ntppool/tpl/equipment/show.html
docs/ntppool/tpl/user/profile_not_public.html
docs/ntppool/tpl/zone.html
docs/ntppool/translators.html
docs/ntppool/uk/join/configuration.html
docs/ntppool/uk/join.html
docs/ntppool/uk/use.html
docs/ntppool/vendors/contribute.html
docs/ntppool/vendors.html
docs/shared/tpl/server.html

Make undelete work again

I have canceled the deletion of 93.125.234.34 on 2011-07-25. The machine is not enabled again. Could you look into this?

On undeleting we need to make sure server_scores have the relevant entries setup so monitoring gets scheduled again.

Parser for mtr --raw format

The monitor nodes should be able to do a traceroute when a node is down.

First thing to do for this is to have a bit of perl code that can parse the 'mtr --raw' format and format it pretty with perl/template toolkit code.

(After that we can build the monitors to understand a "do a traceroute" request and the central system to know when to ask the monitors to do a traceroute and archive the result).

Automatic traceroutes

Periodically (daily?) do a traceroute to each monitored server. On changes in health (from good to bad or bad to better) do a traceroute if it's not been done within ~20 minutes.

Make monitor script a daemon

Change monitor script to run continuously (under supervise, systemd, launchd etc – not daemonized, though that could be an option, too).

Whenever the last API 'poll' returned servers to check it should do so again immediately after posting results; if there were no servers to check, wait two minutes before polling again.

Restructure user_privileges table

The user_privileges table should be user_id and privilege varchar or maybe privilege_id pointing to another table instead of a tinyint column for each privilege.

Make sure IPv6 addresses are stored "compressed"

We need to make sure we normalize the IPv6 addresses when the servers are added. We could either do it with two unsigned BIGINTs (and store them numerically); but the space isn't really a concern and it's convenient to have them easily readable I think; so better to keep storing them like we are now – but normalized ...

Some of the IP related CPAN modules have a "compress IPv6 address" function or method; but I haven't looked too closely at any of them (they all have terrible APIs). Net::IP::XS seemed promising.

Replace YUI grids with bootstrap grids

The sidebar navigation is setup with yui grids. Need to remove grids.css from docs/shared/static/.static.groups.json and change the markup to work with the bootstrap grid css.

The yui- classes are only used in docs/shared/tpl/style/default.html (and base.html in the same directory, but that is only used for an internal page).

Spacing above top navigation

The spacing above and around the logo and the top navigation (the three graphical buttons) isn't as neat as it was with YUI reset.

Do AAAA DNS lookups when adding servers

When adding servers by name, also do an AAAA lookup and offer to add the IPv6 IPs if any to the pool, too. (Probably present a list of IPs with check boxes (checked by default) to approve.

See also issue #3.

Better sanity checking in monitor script

Use Capture::Tiny to run ntpdc -c loopinfo or ntpq -c rv to check that the offset is < 20ms.

Should look for ntpdc or ntpq executables in the PATH and in various other standard locations (specifically /usr/sbin/).

NTP-pool zone stats do not update

the zone statistics are not updated. For example
http://www.pool.ntp.org/zone/nl
shows a raise of 26 for several days, while the total stays at 151 servers for "today". This is the case for multiple (all?) zones.

This reveals two issues.

  1. the statistics seem to be stuck at a certain date (given the increase, it is likely the first day IPv6 servers were counted).
  2. the statistics page have no reference to the last date/time they were updated, so it is impossible to tell if you are looking at actual or outdated statistics.

Display IPv6 hosts in server counts

It would be nice if the UI would display how many IPv6 servers we have in each region.

For the condensed views (eg. Active Servers), I propose to put the IPv6 counts into parentheses, e.g.

Africa 0
Asia 4 (IPv6: 2)
Europe 91 (IPv6: 20)
North America 30 (IPv6: 4)
Oceania 1
South America 10 (IPv6: 2)

Alternatively, we could always use an IPv4:IPv6 syntax, so that people may recognize what

Germany — de.beta.grundclock.com (16:14)

means.

On the individual region pages, I'd have two separate listings:

There are 93 active servers in this zone.
history

20 of these are reachable over IPv6
history

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.