Move the console onto ReUI PRO
Install ReUI (MCP, skill, @reui registry, Tailwind v4, shadcn base-nova) and move the shared UI onto it: Button, Tag, Check, Input/Textarea, Segmented, Alert, Panel, Dialog, Tooltip, Menu and Select (Popover), Toast (sonner), the Table frame (DataGrid), the Dashboard KPI strip, the shnt Ops palette, Geist and the type scale. Design only: behaviour, texts and roles are unchanged. Tests that asserted the old DOM were updated; the tests now format numbers in English wherever they run. docs/reui-migration-plan.md records the plan and its decisions. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
commit
f3531c64f9
680 files changed
+139836
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 8.3 KiB |
@@ -0,0 +1,93 @@
|
||||
Copyright 2020 The Archivo Project Authors (https://github.com/Omnibus-Type/Archivo)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,93 @@
|
||||
Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,34 @@
|
||||
# The console's fonts
|
||||
|
||||
- **Archivo** (Omnibus-Type) for the text, variable 300-700 (`OFL-Archivo.txt`)
|
||||
- **IBM Plex Mono** for the data, weights 400 and 600 (`OFL-IBMPlex.txt`)
|
||||
|
||||
Both under the SIL Open Font License 1.1, which allows packaging and
|
||||
redistributing them with the software. **65 KB in total.**
|
||||
|
||||
## Why they live here and not on a CDN
|
||||
|
||||
The server's CSP is `default-src 'self'` with no `font-src`
|
||||
(`DnsServerCore/DnsWebService.cs:1969-1974`): any font that does not come from
|
||||
the origin itself is blocked. They have to travel inside `www/`.
|
||||
|
||||
## Why these two
|
||||
|
||||
The console used the operating system's font, and that is the underlying reason
|
||||
it read as correct but anonymous: the same letterform as everything else, and a
|
||||
different one on every machine.
|
||||
|
||||
Inter and Geist were ruled out on purpose. Both are excellent and both are
|
||||
everywhere (Inter is NetBird's, Geist is Vercel's), so using them would have been
|
||||
swapping one borrowed font for another.
|
||||
|
||||
**Archivo** is a slightly narrowed grotesque with marked verticals: it has
|
||||
presence at small sizes, which is where a zone table is read, and a technical
|
||||
product character that belongs to nobody else.
|
||||
|
||||
**Plex Mono** is half of what this console shows (domains, addresses, serials,
|
||||
TTLs), and there what matters is that the figures cannot be confused: slashed
|
||||
zero, one with a base, unmistakable l and 1. On a DNS that is not a typographic
|
||||
detail, it is reading an address correctly.
|
||||
|
||||
Downloaded from the `latin` subset Google Fonts publishes.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 325 B |
Binary file not shown.
|
After Width: | Height: | Size: 222 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,204 @@
|
||||
[
|
||||
{
|
||||
"name": "Recursive Query",
|
||||
"addresses": [
|
||||
"recursive-resolver"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "System DNS",
|
||||
"addresses": [
|
||||
"system-dns"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare",
|
||||
"addresses": [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1",
|
||||
"[2606:4700:4700::1111]",
|
||||
"[2606:4700:4700::1001]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare TLS",
|
||||
"addresses": [
|
||||
"cloudflare-dns.com (1.1.1.1:853)",
|
||||
"cloudflare-dns.com (1.0.0.1:853)",
|
||||
"cloudflare-dns.com ([2606:4700:4700::1111]:853)",
|
||||
"cloudflare-dns.com ([2606:4700:4700::1001]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare HTTPS",
|
||||
"addresses": [
|
||||
"https://cloudflare-dns.com/dns-query (1.1.1.1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google",
|
||||
"addresses": [
|
||||
"8.8.8.8",
|
||||
"8.8.4.4",
|
||||
"[2001:4860:4860::8888]",
|
||||
"[2001:4860:4860::8844]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google TLS",
|
||||
"addresses": [
|
||||
"dns.google (8.8.8.8:853)",
|
||||
"dns.google (8.8.4.4:853)",
|
||||
"dns.google ([2001:4860:4860::8888]:853)",
|
||||
"dns.google ([2001:4860:4860::8844]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.google/dns-query (8.8.8.8)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure",
|
||||
"addresses": [
|
||||
"9.9.9.9",
|
||||
"[2620:fe::fe]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure TLS",
|
||||
"addresses": [
|
||||
"dns.quad9.net (9.9.9.9:853)",
|
||||
"dns.quad9.net ([2620:fe::fe]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.quad9.net/dns-query (9.9.9.9)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure QUIC",
|
||||
"addresses": [
|
||||
"dns.quad9.net (9.9.9.9:853)",
|
||||
"dns.quad9.net ([2620:fe::fe]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS",
|
||||
"addresses": [
|
||||
"208.67.222.222",
|
||||
"208.67.220.220",
|
||||
"[2620:119:35::35]",
|
||||
"[2620:119:53::53]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS TLS",
|
||||
"addresses": [
|
||||
"dns.opendns.com (208.67.222.222:853)",
|
||||
"dns.opendns.com (208.67.220.220:853)",
|
||||
"dns.opendns.com ([2620:119:35::35]:853)",
|
||||
"dns.opendns.com ([2620:119:53::53]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS HTTPS",
|
||||
"addresses": [
|
||||
"https://doh.opendns.com/dns-query (208.67.222.222)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard",
|
||||
"addresses": [
|
||||
"94.140.14.14",
|
||||
"94.140.15.15",
|
||||
"[2a10:50c0::ad1:ff]",
|
||||
"[2a10:50c0::ad2:ff]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard TLS",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com (94.140.14.14:853)",
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad1:ff]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.adguard-dns.com/dns-query (94.140.14.14)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard QUIC",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com (94.140.14.14:853)",
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad1:ff]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU",
|
||||
"addresses": [
|
||||
"86.54.11.1",
|
||||
"86.54.11.201",
|
||||
"[2a13:1001::86:54:11:1]",
|
||||
"[2a13:1001::86:54:11:201]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU TLS",
|
||||
"addresses": [
|
||||
"protective.joindns4.eu (86.54.11.1:853)",
|
||||
"protective.joindns4.eu ([2a13:1001::86:54:11:1]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU HTTPS",
|
||||
"addresses": [
|
||||
"https://protective.joindns4.eu/dns-query (86.54.11.1)",
|
||||
"https://protective.joindns4.eu/dns-query ([2a13:1001::86:54:11:1])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Level3",
|
||||
"addresses": [
|
||||
"4.2.2.1",
|
||||
"4.2.2.2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Ultra",
|
||||
"addresses": [
|
||||
"156.154.70.1",
|
||||
"156.154.71.1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Dyn",
|
||||
"addresses": [
|
||||
"216.146.35.35",
|
||||
"216.146.36.36"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": null,
|
||||
"addresses": [
|
||||
"a.root-servers.net",
|
||||
"b.root-servers.net",
|
||||
"c.root-servers.net",
|
||||
"d.root-servers.net",
|
||||
"e.root-servers.net",
|
||||
"f.root-servers.net",
|
||||
"g.root-servers.net",
|
||||
"h.root-servers.net",
|
||||
"i.root-servers.net",
|
||||
"j.root-servers.net",
|
||||
"k.root-servers.net",
|
||||
"l.root-servers.net",
|
||||
"m.root-servers.net"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,204 @@
|
||||
[
|
||||
{
|
||||
"name": "Default",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + gambling]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + porn]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + gambling]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + porn]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-porn/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + gambling + porn]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + gambling + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + porn + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + gambling + porn]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + gambling + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + porn + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-porn-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + gambling + porn + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling-porn-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Steven Black [adware + malware + fakenews + gambling + porn + social]",
|
||||
"urls": [
|
||||
"https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OISD Big [Domains (Wildcards)]",
|
||||
"urls": [
|
||||
"https://big.oisd.nl/domainswild2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OISD NSFW [Domains (Wildcards)]",
|
||||
"urls": [
|
||||
"https://nsfw.oisd.nl/domainswild2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Multi Light - light protection]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/light-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Multi Normal - all-round protection]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/multi-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Multi PRO - extended protection]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/pro-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Multi PRO++ - maximum protection (more aggressive)]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/pro.plus-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Multi ULTIMATE - aggressive protection]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/ultimate-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi [Threat Intelligence Feeds - phishing, malware, scam and other harmful domains]",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/wildcard/tif-onlydomains.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi Newly Registered Domains (NRD) - 7 days",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd7.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi Newly Registered Domains (NRD) - 14 days",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd7.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd14-8.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi Newly Registered Domains (NRD) - 21 days",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd7.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd14-8.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd21-15.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi Newly Registered Domains (NRD) - 28 days",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd7.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd14-8.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd21-15.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd28-22.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HaGeZi Newly Registered Domains (NRD) - 35 days",
|
||||
"urls": [
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd7.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd14-8.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd21-15.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd28-22.txt",
|
||||
"https://cdn.jsdelivr.net/gh/hagezi/nrd@latest/domains/nrd35-29.txt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Shreshta - Newly Registered Domains (past week) Community Feed",
|
||||
"urls": [
|
||||
"https://shreshtait.com/newly-registered-domains/nrd-1w"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Shreshta - Newly Registered Domains (past month) Community Feed",
|
||||
"urls": [
|
||||
"https://shreshtait.com/newly-registered-domains/nrd-1m"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,430 @@
|
||||
[
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2606:4700:4700::1111]",
|
||||
"[2606:4700:4700::1001]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2606:4700:4700::1111]",
|
||||
"[2606:4700:4700::1001]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"cloudflare-dns.com (1.1.1.1:853)",
|
||||
"cloudflare-dns.com (1.0.0.1:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"cloudflare-dns.com ([2606:4700:4700::1111]:853)",
|
||||
"cloudflare-dns.com ([2606:4700:4700::1001]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://cloudflare-dns.com/dns-query (1.1.1.1)",
|
||||
"https://cloudflare-dns.com/dns-query (1.0.0.1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://cloudflare-dns.com/dns-query ([2606:4700:4700::1111])",
|
||||
"https://cloudflare-dns.com/dns-query ([2606:4700:4700::1001])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Cloudflare (DNS-over-TOR!)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion"
|
||||
],
|
||||
"proxyType": "SOCKS5",
|
||||
"proxyAddress": "127.0.0.1",
|
||||
"proxyPort": 9150,
|
||||
"proxyUsername": "",
|
||||
"proxyPassword": ""
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"8.8.8.8",
|
||||
"8.8.4.4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2001:4860:4860::8888]",
|
||||
"[2001:4860:4860::8844]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"8.8.8.8",
|
||||
"8.8.4.4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2001:4860:4860::8888]",
|
||||
"[2001:4860:4860::8844]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.google (8.8.8.8:853)",
|
||||
"dns.google (8.8.4.4:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.google ([2001:4860:4860::8888]:853)",
|
||||
"dns.google ([2001:4860:4860::8844]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.google/dns-query (8.8.8.8)",
|
||||
"https://dns.google/dns-query (8.8.4.4)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Google (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.google/dns-query ([2001:4860:4860::8888])",
|
||||
"https://dns.google/dns-query ([2001:4860:4860::8844])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"9.9.9.9",
|
||||
"149.112.112.112"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2620:fe::fe]",
|
||||
"[2620:fe::9]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"9.9.9.9",
|
||||
"149.112.112.112"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2620:fe::fe]",
|
||||
"[2620:fe::9]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.quad9.net (9.9.9.9:853)",
|
||||
"dns.quad9.net (149.112.112.112:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.quad9.net ([2620:fe::fe]:853)",
|
||||
"dns.quad9.net ([2620:fe::9]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.quad9.net/dns-query (9.9.9.9)",
|
||||
"https://dns.quad9.net/dns-query (149.112.112.112)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.quad9.net/dns-query ([2620:fe::fe])",
|
||||
"https://dns.quad9.net/dns-query ([2620:fe::9])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-QUIC)",
|
||||
"protocol": "QUIC",
|
||||
"addresses": [
|
||||
"dns.quad9.net (9.9.9.9:853)",
|
||||
"dns.quad9.net (149.112.112.112:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Quad9 Secure (DNS-over-QUIC IPv6)",
|
||||
"protocol": "QUIC",
|
||||
"addresses": [
|
||||
"dns.quad9.net ([2620:fe::fe]:853)",
|
||||
"dns.quad9.net ([2620:fe::9]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"208.67.222.222",
|
||||
"208.67.220.220"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2620:119:35::35]",
|
||||
"[2620:119:53::53]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"208.67.222.222",
|
||||
"208.67.220.220"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2620:119:35::35]",
|
||||
"[2620:119:53::53]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.opendns.com (208.67.222.222:853)",
|
||||
"dns.opendns.com (208.67.220.220:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.opendns.com ([2620:119:35::35]:853)",
|
||||
"dns.opendns.com ([2620:119:53::53]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://doh.opendns.com/dns-query (208.67.222.222)",
|
||||
"https://doh.opendns.com/dns-query (208.67.220.220)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "OpenDNS (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://doh.opendns.com/dns-query ([2620:119:35::35])",
|
||||
"https://doh.opendns.com/dns-query ([2620:119:53::53])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"94.140.14.14",
|
||||
"94.140.15.15"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2a10:50c0::ad1:ff]",
|
||||
"[2a10:50c0::ad2:ff]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"94.140.14.14",
|
||||
"94.140.15.15"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2a10:50c0::ad1:ff]",
|
||||
"[2a10:50c0::ad2:ff]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com (94.140.14.14:853)",
|
||||
"dns.adguard-dns.com (94.140.15.15:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad1:ff]:853)",
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad2:ff]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.adguard-dns.com/dns-query (94.140.14.14)",
|
||||
"https://dns.adguard-dns.com/dns-query (94.140.15.15)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://dns.adguard-dns.com/dns-query ([2a10:50c0::ad1:ff])",
|
||||
"https://dns.adguard-dns.com/dns-query ([2a10:50c0::ad2:ff])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-QUIC)",
|
||||
"protocol": "QUIC",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com (94.140.14.14:853)",
|
||||
"dns.adguard-dns.com (94.140.15.15:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "AdGuard (DNS-over-QUIC IPv6)",
|
||||
"protocol": "QUIC",
|
||||
"addresses": [
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad1:ff]:853)",
|
||||
"dns.adguard-dns.com ([2a10:50c0::ad2:ff]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-UDP)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"86.54.11.1",
|
||||
"86.54.11.201"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-UDP IPv6)",
|
||||
"protocol": "UDP",
|
||||
"addresses": [
|
||||
"[2a13:1001::86:54:11:1]",
|
||||
"[2a13:1001::86:54:11:201]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-TCP)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"86.54.11.1",
|
||||
"86.54.11.201"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-TCP IPv6)",
|
||||
"protocol": "TCP",
|
||||
"addresses": [
|
||||
"[2a13:1001::86:54:11:1]",
|
||||
"[2a13:1001::86:54:11:201]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-TLS)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"protective.joindns4.eu (86.54.11.1:853)",
|
||||
"protective.joindns4.eu (86.54.11.201:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-TLS IPv6)",
|
||||
"protocol": "TLS",
|
||||
"addresses": [
|
||||
"protective.joindns4.eu ([2a13:1001::86:54:11:1]:853)",
|
||||
"protective.joindns4.eu ([2a13:1001::86:54:11:201]:853)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-HTTPS)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://protective.joindns4.eu/dns-query (86.54.11.1)",
|
||||
"https://protective.joindns4.eu/dns-query (86.54.11.201)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "DNS4EU (DNS-over-HTTPS IPv6)",
|
||||
"protocol": "HTTPS",
|
||||
"addresses": [
|
||||
"https://protective.joindns4.eu/dns-query ([2a13:1001::86:54:11:1])",
|
||||
"https://protective.joindns4.eu/dns-query ([2a13:1001::86:54:11:201])"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
READ ME
|
||||
=======
|
||||
|
||||
This folder contains JSON formatted files that are used by the web app to fetch various lists. The JSON files that end with "-builtin" are the ones that are shipped as a part of the software package and are expected to be overwritten when you update the software.
|
||||
|
||||
You can override these built-in lists by creating your own custom lists. To do this, create a new JSON file with the exact same name except, replace "-builtin" with "-custom" in the name. Use the same JSON format as the built-in list in your custom list to add items. When a custom list is available, the web app will always prefer it.
|
||||
|
||||
For example, if you wish to have a custom list of servers listed for DNS Client, copy the "dnsclient-server-list-builtin.json" file as "dnsclient-server-list-custom.json" and edit it to have the desired list of servers.
|
||||
|
||||
Note! Once the custom list file is saved, you will need to refresh the web app so that it loads the updated custom list.
|
||||
|
||||
Warning! Editing the built-in json files will make it look like it works well, but when the software is updated, the built-in json file will be overwritten causing you to lose any custom changes that you made.
|
||||
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
Reference in new issue
Block a user