mirror also specialized google fonts (fixes #8701)

pull/8888/head
Niklas Fiekas 2021-05-07 10:21:43 +02:00
parent 874c91d7b2
commit aba7710e57
23 changed files with 28 additions and 51 deletions

View File

@ -102,7 +102,6 @@ Lichess as deployed on https://lichess.org/ also uses these external services:
- [Amazon SES](https://aws.amazon.com/ses/) for transactional email
- [check.torproject.org](https://check.torproject.org/torbulkexitlist) for a list or Tor exit nodes
- [detectlanguage.com](https://detectlanguage.com/)
- Fallback to [Google Fonts](https://fonts.google.com/)
- [Google Cloud Messaging](https://developers.google.com/cloud-messaging/) for mobile notifications
- [hCaptcha](https://hcaptcha.com)
- [PeerJS](https://peerjs.com/) for voice chat

View File

@ -81,7 +81,6 @@ trait AssetHelper { self: I18nHelper with SecurityHelper =>
defaultSrc = List("'self'", assets),
connectSrc = "'self'" :: assets :: sockets ::: env.explorerEndpoint :: env.tablebaseEndpoint :: Nil,
styleSrc = List("'self'", "'unsafe-inline'", assets),
fontSrc = List("'self'", assetDomain.value, "https://fonts.gstatic.com"),
frameSrc = List("'self'", assets, "https://www.youtube.com", "https://player.twitch.tv"),
workerSrc = List("'self'", assets),
imgSrc = List("data:", "*"),

View File

@ -4,7 +4,6 @@ case class ContentSecurityPolicy(
defaultSrc: List[String],
connectSrc: List[String],
styleSrc: List[String],
fontSrc: List[String],
frameSrc: List[String],
workerSrc: List[String],
imgSrc: List[String],
@ -31,7 +30,6 @@ case class ContentSecurityPolicy(
defaultSrc = Nil,
connectSrc = "https://www.twitch.tv" :: "https://www-cdn.jtvnw.net" :: connectSrc,
styleSrc = Nil,
fontSrc = Nil,
frameSrc = Nil,
workerSrc = Nil,
scriptSrc = Nil
@ -76,7 +74,6 @@ case class ContentSecurityPolicy(
"default-src " -> defaultSrc,
"connect-src " -> connectSrc,
"style-src " -> styleSrc,
"font-src " -> fontSrc,
"frame-src " -> frameSrc,
"worker-src " -> workerSrc,
"img-src " -> imgSrc,

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,6 +2,8 @@
@return url(#{$font-path}/#{$path});
}
/* Icon fonts */
@font-face {
font-family: 'lichess';
src: local-font('lichess.woff2') format('woff2'), local-font('lichess.woff') format('woff');
@ -15,13 +17,14 @@
src: local-font('lichess.chess.woff2') format('woff2'), local-font('lichess.chess.woff') format('woff');
}
/* Noto Sans (v7) */
/* cyrillic-ext */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr6DRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-cyrillic-ext.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@ -30,8 +33,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr4TRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-cyrillic.woff2') format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@ -40,8 +42,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr5DRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-devanagari.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
@ -50,8 +51,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr6TRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-greek-ext.woff2') format('woff2');
unicode-range: U+1F00-1FFF;
}
@ -60,8 +60,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr5jRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-greek.woff2') format('woff2');
unicode-range: U+0370-03FF;
}
@ -70,8 +69,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr6jRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-vietnamese.woff2') format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@ -80,8 +78,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
src: local('Noto Sans'), local('NotoSans'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr6zRAW_0.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-latin-ext.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@ -90,20 +87,19 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
// src: local('Noto Sans'), local('NotoSans'), url(https://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNr5TRA.woff2) format('woff2');
src: local('Noto Sans'), local('NotoSans'), local-font('noto-sans-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Noto Sans Bold (v7)
/* cyrillic-ext */
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVadyB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-cyrillic-ext.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@ -112,8 +108,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVYNyB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-cyrillic.woff2') format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@ -122,8 +117,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVZdyB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-devanagari.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
@ -132,8 +126,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVaNyB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-greek-ext.woff2') format('woff2');
unicode-range: U+1F00-1FFF;
}
@ -142,8 +135,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVZ9yB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-greek.woff2') format('woff2');
unicode-range: U+0370-03FF;
}
@ -152,8 +144,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVa9yB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-vietnamese.woff2') format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@ -162,8 +153,7 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
src: local('Noto Sans Bold'), local('NotoSans-Bold'),
url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVatyB1Wk.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-latin-ext.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@ -172,20 +162,19 @@
font-family: 'Noto Sans';
font-style: normal;
font-weight: 700;
// src: local('Noto Sans Bold'), local('NotoSans-Bold'), url(https://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFVZNyB.woff2) format('woff2');
src: local('Noto Sans Bold'), local('NotoSans-Bold'), local-font('noto-sans-bold-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Roboto Light (v18) */
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-cyrillic-ext.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@ -194,8 +183,7 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-cyrillic.woff2') format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@ -204,8 +192,7 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-greek-ext.woff2') format('woff2');
unicode-range: U+1F00-1FFF;
}
@ -214,8 +201,7 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-greek.woff2') format('woff2');
unicode-range: U+0370-03FF;
}
@ -224,8 +210,7 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-vietnamese.woff2') format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@ -234,8 +219,7 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: local('Roboto Light'), local('Roboto-Light'),
url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-latin-ext.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@ -244,8 +228,6 @@
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
// src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');
src: local('Roboto Light'), local('Roboto-Light'), local-font('roboto-light-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;