diff --git a/.github/issue_template.md b/.github/issue_template.md
index a5a8e9d01d..0a3d172c6c 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -12,6 +12,6 @@ If you didn't find an answer in one of the official resources above, you can sea
- Questions tagged 'lichess' on StackOverflow
- Lichess.org discord channel: https://discord.gg/pw6Efvk
-- #lichess channel on chat.freenode.net. See http://nodeirc.info/ for more information.
+- #lichess channel on chat.freenode.net
diff --git a/LICENSE b/LICENSE
index dba13ed2dd..be3f7b28e5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -643,7 +643,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
+ along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
@@ -658,4 +658,4 @@ specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
-.
+.
diff --git a/README.md b/README.md
index 63dd1b0d5e..6242b40903 100644
--- a/README.md
+++ b/README.md
@@ -24,13 +24,13 @@ The UI is available in more than [130 languages](https://crowdin.com/project/lic
Lichess is written in [Scala 2.13](https://www.scala-lang.org/),
and relies on the [Play 2.8](https://www.playframework.com/) framework.
-[scalatags](http://www.lihaoyi.com/scalatags/) is used for templating.
+[scalatags](https://www.lihaoyi.com/scalatags/) is used for templating.
Pure chess logic is contained in the [scalachess](https://github.com/ornicar/scalachess) submodule.
-The server is fully asynchronous, making heavy use of Scala Futures and [Akka streams](http://akka.io).
+The server is fully asynchronous, making heavy use of Scala Futures and [Akka streams](https://akka.io).
WebSocket connections are handled by a [seperate server](https://github.com/ornicar/lila-ws) that communicates using [redis](https://redis.io/).
-Lichess talks to [Stockfish](http://stockfishchess.org/) deployed in an [AI cluster](https://github.com/niklasf/fishnet) of donated servers.
-It uses [MongoDB](https://mongodb.org) to store more than 1.7 billion games, which are indexed by [elasticsearch](http://elasticsearch.org).
-HTTP requests and WebSocket connections can be proxied by [nginx](http://nginx.org).
+Lichess talks to [Stockfish](https://stockfishchess.org/) deployed in an [AI cluster](https://github.com/niklasf/fishnet) of donated servers.
+It uses [MongoDB](https://mongodb.org) to store more than 1.7 billion games, which are indexed by [elasticsearch](https://github.com/elastic/elasticsearch).
+HTTP requests and WebSocket connections can be proxied by [nginx](https://nginx.org).
The web client is written in [TypeScript](https://www.typescriptlang.org/) and [snabbdom](https://github.com/snabbdom/snabbdom), using [Sass](https://sass-lang.com/) to generate CSS.
The [blog](https://lichess.org/blog) uses a free open content plan from [prismic.io](https://prismic.io).
All rated games are published in a [free PGN database](https://database.lichess.org).
diff --git a/app/views/dgt.scala b/app/views/dgt.scala
index 0dfbe6fdf9..6f4563d7b0 100644
--- a/app/views/dgt.scala
+++ b/app/views/dgt.scala
@@ -28,7 +28,7 @@ object dgt {
),
p(
"You can download the software here: ",
- a(href := "http://www.livechesscloud.com/software/")(s"LiveChess $liveChessVersion"),
+ a(href := "https://www.livechesscloud.com/software/")(s"LiveChess $liveChessVersion"),
"."
),
p(
diff --git a/app/views/userTournament/chart.scala b/app/views/userTournament/chart.scala
index adf10add9d..51aacc3c5b 100644
--- a/app/views/userTournament/chart.scala
+++ b/app/views/userTournament/chart.scala
@@ -24,7 +24,7 @@ object chart {
),
p(cls := "box__pad")(
"All averages on this page are ",
- a(href := "http://dictionary.reference.com/help/faq/language/d72.html")("medians"),
+ a(href := "https://www.dictionary.com/e/average-vs-mean-vs-median-vs-mode/")("medians"),
"."
),
table(cls := "slist slist-pad perf-results")(
diff --git a/bin/gen/timeago-to-scala.py b/bin/gen/timeago-to-scala.py
index 888d9a004d..1982c9a502 100755
--- a/bin/gen/timeago-to-scala.py
+++ b/bin/gen/timeago-to-scala.py
@@ -16,7 +16,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
+# along with this program. If not, see .
import os.path
import subprocess
diff --git a/ui/analyse/src/ctrl.ts b/ui/analyse/src/ctrl.ts
index c08c8592d3..87e57c2417 100644
--- a/ui/analyse/src/ctrl.ts
+++ b/ui/analyse/src/ctrl.ts
@@ -137,7 +137,7 @@ export default class AnalyseCtrl {
const loc = window.location,
intHash = loc.hash === '#last' ? this.tree.lastPly() : parseInt(loc.hash.substr(1)),
plyStr = opts.initialPly === 'url' ? (intHash || '') : opts.initialPly;
- // remove location hash - http://stackoverflow.com/questions/1397329/how-to-remove-the-hash-from-window-location-with-javascript-without-page-refresh/5298684#5298684
+ // remove location hash - https://stackoverflow.com/questions/1397329/how-to-remove-the-hash-from-window-location-with-javascript-without-page-refresh/5298684#5298684
if (intHash) window.history.pushState("", document.title, loc.pathname + loc.search);
const mainline = treeOps.mainlineNodeList(this.tree.root);
if (plyStr === 'last') this.initialPath = treePath.fromNodeList(mainline);