www/content/services/public.md
Simon Marsh 0a0158eccc
All checks were successful
continuous-integration/drone/push Build is passing
node updates and tidying
2024-02-17 23:32:30 +00:00

249 lines
9.8 KiB
Markdown

---
title: "Public Services"
geekdocDescription: "List of public services"
weight: 20
---
Services provided for use within DN42
## Website
- [burble.dn42](https://burble.dn42/) (dn42 link)
- [dn42.burble.com](https://dn42.burble.com/) (public internet link)
This website is built using [Hugo](https://gohugo.io/) and is
[distributed](/services/internal/#rproxyburbledn42) across burble.dn42
core nodes.
The public internet site is a [CloudFlare](https://www.cloudflare.com) pages
application and the source is [published](https://git.burble.com/burble.dn42/www)
in the burble.dn42 git.
## Service Administration Portal
- [svc.burble.dn42](https://svc.burble.dn42/)
The service portal allows you to configure your burble.dn42 services.
Functionality includes:
- Setting or changing a burble.dn42 LDAP password
- Changing your shell for the shell services
- Viewing peering information
## Diagnostic Services
### Looking Glass
- [lg.burble.com](https://lg.burble.com) (public internet link)
- [lg.burble.dn42](https://lg.burble.dn42) (dn42 link)
The burble.dn42 looking glass is based on
[bird-lg-go](https://github.com/xddxdd/bird-lg-go) with some local
customisations. The source code for the looking glass is available
on the
[burble.dn42 git](https://git.burble.com/burble.dn42/bird-lg-go).
The looking glass is replicated via the nomad cluster, with the public version
behind [CloudFlare](https://www.cloudflare.com).
### Pingable IP address
* pingable.burble.dn42
* 172.20.129.5
* fd42:4242:2601:ac05::1
pingable.burble.dn42 is a single IP address that will respond to ping and
traceroute requests across the entire network.
This address may be used for automated reachability or latency tests, however
please be considerate and configure a reasonable test frequency.
{{<hint warning>}}
In all cases, do not set the ping frequency to be higher than once a second.
{{</hint>}}
### Speed Test
* [speedtest.burble.dn42](https://speedtest.burble.dn42/)
The speed test service provides a way for you to measure your latency and bandwidth
to the core burble.dn42 service clusters.
The service is based on is [OpenSpeedTest](https://openspeedtest.com/).
{{<hint info>}}
The speedtest service is delivered via the internal
[traefik](/services/internal/#traefik--traefik-eu--traefik-na) and
[nomad](/services/internal/#nomadburbledn42) clusters which are
anycasted and have internal load balancing. This means that the particular
server providing the speedtest is non-deterministic and you may get different
results across speedtest runs.
{{</hint>}}
{{<hint warning>}}
The speedtest service is provided for your benefit, please don't abuse
the service or using excessive bandwidth.
{{</hint>}}
## Network Status and Reporting
### Grafana Dashboards
- [https://grafana.burble.dn42](https://grafana.burble.dn42) dn42 link
- [https://grafana.burble.com](https://grafana.burble.com) public internet link
### Uptime monitoring
- [https://stats.uptimerobot.com/l2913c0R6](https://stats.uptimerobot.com/l2913c0R6)
Major nodes are also monitored off-network by [UptimeRobot](https://uptimerobot.com/).
### Anycast / Dynamic Route Monitoring
- [https://anycast.burble.dn42](https://anycast.burble.dn42)
Realtime dashboard for anycast / dynamic services. Anycast status is reported every
minute to the nats.io cluster and the dashboard is a live visualtion of the current status.
### Internal monitoring
Internally, nodes are measured by
[netdata](https://github.com/netdata/netdata) which provides a real time view of
each node. [prometheus](https://prometheus.io/) is then used to collect and
store that data for historical reporting. [grafana](https://grafana.com/) is used
for visualisation.
Syslogs are exported in real time to a central logging node on the internal network.
## Shell Accounts
The burble.dn42 shell service provides shell accounts for dn42 users who
have a burble.dn42 password or SSH auth methods in the registry.
See the [Shell Accounts](/services/shell/) page.
## S3 Compatible Object Store
- [https://minio.burble.dn42](https://minio.burble.dn42) - Web interface
- s3.burble.dn42 - S3 compatible interface
A [min.io](https://min.io/) instance provides S3 compatible storage space for users
that have registered a burble.dn42 password.
See the [S3 Object Storage](/services/minio/) page for more information and examples.
## DNS
|Service|Name|IP|
|:--|:--|:--|
|Authoritative Service|ns1.burble.dn42|172.20.129.1<br/>fd42:4242:2601:ac53::1|
|Recursive Service|dns.burble.dn42|172.20.129.2<br/>fd42:4242:2601:ac53::53|
|DNS64 Service|dns64.burble.dn42|fd42:4242:2601:ac53::64|
burble.dn42 provides a local, anycast, authoritative and recursive DNS service.
The [DNS Service](/services/dns) has it's own page.
## Registry API Service and Explorer
- [https://explorer.burble.com/](https://explorer.burble.com/) (public internet link)
- [https://explorer.burble.dn42/](https://explorer.burble.dn42/) (DN42 link)
[dn42regsrv](https://git.burble.com/burble.dn42/dn42regsrv) is a REST API for the DN42 registry
that provides a bridge between interactive applications and the registry.
As well as the main REST API to the DN42 registry, the server can also generate ROA tables
and provides a small web application for exploring registry data.
## ROA Data
Route Origin Authorisation (ROA) tables are generated using
[dn42regsrv](https://git.dn42.us/burble/dn42regsrv) and published to the
[dn42.burble.com](https://dn42.burble.com/) website for general use.
The JSON output file can be used with [gortr](https://github.com/cloudflare/gortr)
to implement ROA checks via RPKI.
The Bird files can be used directly with Bird to implement ROA checks as detailed
in the DN42 Wiki ([Bird1](https://dn42.net/howto/Bird) / [Bird2](https://dn42.net/howto/Bird2)).
The OpenBGPD files can be used directly with OpenBGPD to implement ROA checks as details in the DN42 Wiki
[OpenBGPD](https://dn42.dev/howto/OpenBGPD)
|URL|&nbsp;IPv4/IPv6&nbsp;|Description|
|---|---|---|
|[https://dn42.burble.com/roa/dn42_roa_46.json](https://dn42.burble.com/roa/dn42_roa_46.json) &nbsp; | &nbsp;Both&nbsp; | &nbsp; DN42 ROA data in JSON format |
|[https://dn42.burble.com/roa/dn42_roa_bird1_46.conf](https://dn42.burble.com/roa/dn42_roa_bird1_46.conf) &nbsp; | &nbsp;Both&nbsp; | &nbsp; DN42 ROA data for use with Bird1 |
|[https://dn42.burble.com/roa/dn42_roa_bird1_4.conf](https://dn42.burble.com/roa/dn42_roa_bird1_4.conf) &nbsp; | &nbsp;IPv4 Only&nbsp; | &nbsp; DN42 ROA data for use with Bird1 |
|[https://dn42.burble.com/roa/dn42_roa_bird1_6.conf](https://dn42.burble.com/roa/dn42_roa_bird1_6.conf) &nbsp; | &nbsp;IPv6 Only&nbsp; | &nbsp; DN42 ROA data for use with Bird1 |
|[https://dn42.burble.com/roa/dn42_roa_bird2_46.conf](https://dn42.burble.com/roa/dn42_roa_bird2_46.conf) &nbsp; | &nbsp;Both&nbsp; | &nbsp; DN42 ROA data for use with Bird2 |
|[https://dn42.burble.com/roa/dn42_roa_bird2_4.conf](https://dn42.burble.com/roa/dn42_roa_bird2_4.conf) &nbsp; | &nbsp;IPv4 Only&nbsp; | &nbsp; DN42 ROA data for use with Bird2 |
|[https://dn42.burble.com/roa/dn42_roa_bird2_6.conf](https://dn42.burble.com/roa/dn42_roa_bird2_6.conf) &nbsp; | &nbsp;IPv6 Only&nbsp; | &nbsp; DN42 ROA data for use with Bird2 |
|[https://dn42.burble.com/roa/dn42_roa_obgpd_46.conf](https://dn42.burble.com/roa/dn42_roa_obgpd_46.conf) &nbsp; | &nbsp;Both&nbsp; | &nbsp; DN42 ROA data for use with OpenBGPD |
|[https://dn42.burble.com/roa/dn42_roa_obgpd_4.conf](https://dn42.burble.com/roa/dn42_roa_obgpd_4.conf) &nbsp; | &nbsp;IPv4 Only&nbsp; | &nbsp; DN42 ROA data for use with OpenBGPD |
|[https://dn42.burble.com/roa/dn42_roa_obgpd_6.conf](https://dn42.burble.com/roa/dn42_roa_obgpd_6.conf) &nbsp; | &nbsp;IPv6 Only&nbsp; | &nbsp; DN42 ROA data for use with OpenBGPD |
ROA data is cached via Cloudflare to provide fast local access.
## Git
- [git.burble.dn42](https://git.burble.dn42/) (dn42 link)
- [git.burble.com](https://git.burble.com/) (public internet link)
burble.dn42 related code and configuration is maintained in a local
[gitea](https://gitea.io) repository.
## VOIP
- voip.burble.dn42
burble.dn42 runs an asterisk based VOIP service, primarily to support
the [Retro42](/retro/) service.
The VOIP service has a number of public endpoints available for testing:
|SIP Endpoint|Service|
|:--|:--|
| 424026010@voip.burble.dn42 | Time Announcement |
| 424026011@voip.burble.dn42 | Announces your caller ID |
| 424026012@voip.burble.dn42 | Echo Service |
| 424026013@voip.burble.dn42 | Randomised music |
| 424026017@voip.burble.dn42 | Dials Modem 1 directly *(currently offline and used for testing)* |
| 424026018@voip.burble.dn42 | Dials Modem 2 directly |
| 424026019@voip.burble.dn42 | Dialup service endpoint - dials both modems |
## PrivateBin Instance
- [paste.burble.dn42](https://paste.burble.dn42) (dn42 link)
- [paste.burble.com](https://paste.burble.com) (public internet link)
burble.dn42 PrivateBin instance.
## NTP Service
All servers in burble.dn42 provide a stable, high stratum
NTP service using [chrony](https://chrony.tuxfamily.org).
The NTP service is exposed over DN42, and users are welcome to use any server
in the burble.dn42 network as an NTP time server on either the public or DN42 networks.
## clicker.burble.dn42
- <https://clicker.burble.dn42/>
Waste your time with this dn42 themed, browser based idle game.
## lounge.burble.dn42
- <https://lounge.burble.dn42/> (dn42 link)
- <https://lounge.burble.com/> (public internet link)
[thelounge](https://thelounge.chat/) is a web based IRC client that is integrated
with the LDAP backend.
Log in using your burble.dn42 username/password to lurk on
[#dn42](https://wiki.dn42.us/services/IRC).
(set a password using the [the burble.dn42 service portal](https://svc.burble.dn42/))
## Invidious instance
- <https://invidious.burble.dn42/>
burble.dn42 instance of [Invidious](https://invidious.io) the open source
alternative front-end to YouTube.