diff --git a/docker/resume/Caddyfile b/docker/resume/Caddyfile index 25fccbb..b14e097 100644 --- a/docker/resume/Caddyfile +++ b/docker/resume/Caddyfile @@ -29,7 +29,7 @@ colinknapp.com { Cache-Control "public, max-age=31536000, immutable" # CSP with hashes for scripts and styles - Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" + Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" } # Handle 404s @@ -79,7 +79,7 @@ colinknapp.com { Cache-Control "public, max-age=31536000, immutable" # CSP with hashes for scripts and styles - Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" + Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" } # Handle 404s diff --git a/docker/resume/Caddyfile.local b/docker/resume/Caddyfile.local index 2aab000..fe345c6 100644 --- a/docker/resume/Caddyfile.local +++ b/docker/resume/Caddyfile.local @@ -39,6 +39,6 @@ Cache-Control "public, max-age=31536000, immutable" # CSP with hashes for scripts and styles - Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" + Content-Security-Policy "default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-oRCvBUmDTuPb8XOF1vLYwhIrcj2kzMbEwX5QzUPAPQI=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-uTJNJlctGr5GxR5DKnz1Ex31vH0TR93OFGloxbHe65g=' 'sha256-fOEWMJmrMxKbP5wElIXmDNUlfs6BSn+E9zt81T0Rysg=' 'sha256-q9ac7XWqnIASoBRfs4I4hpSMlnxGARofcEw0cSFfn/E=' 'sha256-+dDNTo7WAOmn2YC875+vn9oH4UkMwlVOGlARp2uq3A4=' 'sha256-1ZUvhca3M/N6hch4NrdPufDPLTnANOpJ4hfsZgRykgg=' 'sha256-UUDFHb6NI63nBRS2EmyJq4giwjTQGYPq7uSTB4UQnPc=' 'sha256-Ue6wom48SQbpmwW9QIk7pyVDR5Bg36SetP67V2pDkxc=' 'sha256-ryQsJ+aghKKD/CeXgx8jtsnZT3Epp3EjIw8RyHIq544=' 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM=' 'sha256-8CNR2aPoRsO94LHwXXZzxijfMf15BfwUewt8hvVbPcE='; style-src 'self' 'sha256-5oTxos9Qxwhor3qIwHSM12YyIZi5E+tHuFdYER0hXoI=' 'sha256-807UZmWvd6eLc8xVckZkNX6CRP9WV8MzHURc5BgtRWo=' 'sha256-Y+6RTuKMnPfNa1TjCQCcFhxwo0G+xNy7t1MaAvn5SuU=' 'sha256-O+OMb48leSKvekhMTDUK1y6+WG9x33kA0eDw00wUwkY=' 'sha256-2EA12+9d+s6rrc0rkdIjfmjbh6p2o0ZSXs4wbZuk/tA=' 'sha256-kdaXPEOwTw3zyiuCzGv1vpohcW9SqOWq8k6gy2OWgtI='; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" } } diff --git a/docker/resume/csv-tool-output.html b/docker/resume/csv-tool-output.html index f75b15e..a48af37 100644 --- a/docker/resume/csv-tool-output.html +++ b/docker/resume/csv-tool-output.html @@ -52,7 +52,7 @@ } - +
diff --git a/docker/resume/index-with-includes.html b/docker/resume/index-with-includes.html index c938aac..d43649b 100644 --- a/docker/resume/index-with-includes.html +++ b/docker/resume/index-with-includes.html @@ -10,7 +10,7 @@ - +
diff --git a/docker/resume/index.html b/docker/resume/index.html index 8a1b1f0..f9ac98d 100644 --- a/docker/resume/index.html +++ b/docker/resume/index.html @@ -10,7 +10,7 @@ - +
diff --git a/docker/resume/one-pager-tools/csv-tool.html b/docker/resume/one-pager-tools/csv-tool.html index 1a550c6..e3d414a 100644 --- a/docker/resume/one-pager-tools/csv-tool.html +++ b/docker/resume/one-pager-tools/csv-tool.html @@ -52,7 +52,7 @@ } - +
diff --git a/docker/resume/one-pager-tools/template.html b/docker/resume/one-pager-tools/template.html index bcc346d..ac6190c 100644 --- a/docker/resume/one-pager-tools/template.html +++ b/docker/resume/one-pager-tools/template.html @@ -13,7 +13,7 @@ - +
diff --git a/docker/resume/one-pager-tools/tool-with-includes.html b/docker/resume/one-pager-tools/tool-with-includes.html index 4badb11..f3d6131 100644 --- a/docker/resume/one-pager-tools/tool-with-includes.html +++ b/docker/resume/one-pager-tools/tool-with-includes.html @@ -13,7 +13,7 @@ - +
diff --git a/docker/resume/stories/airport-dns.html b/docker/resume/stories/airport-dns.html index bcb9410..3dd1fb7 100644 --- a/docker/resume/stories/airport-dns.html +++ b/docker/resume/stories/airport-dns.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/app-development.html b/docker/resume/stories/app-development.html index 39a725f..95aaf05 100644 --- a/docker/resume/stories/app-development.html +++ b/docker/resume/stories/app-development.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/athion-turnaround.html b/docker/resume/stories/athion-turnaround.html index 69da4ee..182a09d 100644 --- a/docker/resume/stories/athion-turnaround.html +++ b/docker/resume/stories/athion-turnaround.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/fawe-plotsquared.html b/docker/resume/stories/fawe-plotsquared.html index 644697a..0b0bd93 100644 --- a/docker/resume/stories/fawe-plotsquared.html +++ b/docker/resume/stories/fawe-plotsquared.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/healthcare-platform.html b/docker/resume/stories/healthcare-platform.html index 1226b1e..7900d05 100644 --- a/docker/resume/stories/healthcare-platform.html +++ b/docker/resume/stories/healthcare-platform.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/home-infrastructure.html b/docker/resume/stories/home-infrastructure.html index 7b1b83f..ab206d8 100644 --- a/docker/resume/stories/home-infrastructure.html +++ b/docker/resume/stories/home-infrastructure.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/index.html b/docker/resume/stories/index.html index 6b11e7e..9ea3ccf 100644 --- a/docker/resume/stories/index.html +++ b/docker/resume/stories/index.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/motherboard-repair.html b/docker/resume/stories/motherboard-repair.html index 5e4c819..65c458f 100644 --- a/docker/resume/stories/motherboard-repair.html +++ b/docker/resume/stories/motherboard-repair.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/nitric-leadership.html b/docker/resume/stories/nitric-leadership.html index 2559408..afa1af0 100644 --- a/docker/resume/stories/nitric-leadership.html +++ b/docker/resume/stories/nitric-leadership.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/nuclear-dns.html b/docker/resume/stories/nuclear-dns.html index 53890cf..a80a01d 100644 --- a/docker/resume/stories/nuclear-dns.html +++ b/docker/resume/stories/nuclear-dns.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/open-source-success.html b/docker/resume/stories/open-source-success.html index 28c5bff..2eb8131 100644 --- a/docker/resume/stories/open-source-success.html +++ b/docker/resume/stories/open-source-success.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/showerloop.html b/docker/resume/stories/showerloop.html index cf4a11b..e6bc2ca 100644 --- a/docker/resume/stories/showerloop.html +++ b/docker/resume/stories/showerloop.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/story-with-includes.html b/docker/resume/stories/story-with-includes.html index 092d1ea..c1f0861 100644 --- a/docker/resume/stories/story-with-includes.html +++ b/docker/resume/stories/story-with-includes.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/template-story.html b/docker/resume/stories/template-story.html index 6e7ce3b..418ea85 100644 --- a/docker/resume/stories/template-story.html +++ b/docker/resume/stories/template-story.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/viperwire.html b/docker/resume/stories/viperwire.html index f5729f4..176eb2e 100644 --- a/docker/resume/stories/viperwire.html +++ b/docker/resume/stories/viperwire.html @@ -10,7 +10,7 @@ - + diff --git a/docker/resume/stories/web-design-java.html b/docker/resume/stories/web-design-java.html index 29ac2a9..fc75273 100644 --- a/docker/resume/stories/web-design-java.html +++ b/docker/resume/stories/web-design-java.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/wordpress-security.html b/docker/resume/stories/wordpress-security.html index 5f999c9..dcd38b8 100644 --- a/docker/resume/stories/wordpress-security.html +++ b/docker/resume/stories/wordpress-security.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/stories/youtube-game-dev.html b/docker/resume/stories/youtube-game-dev.html index 72320fd..86659a3 100644 --- a/docker/resume/stories/youtube-game-dev.html +++ b/docker/resume/stories/youtube-game-dev.html @@ -11,7 +11,7 @@ - +
diff --git a/docker/resume/template-with-includes.html b/docker/resume/template-with-includes.html index 77a0153..bf37758 100644 --- a/docker/resume/template-with-includes.html +++ b/docker/resume/template-with-includes.html @@ -10,7 +10,7 @@ - +
diff --git a/docker/resume/update-csp-hashes.sh b/docker/resume/update-csp-hashes.sh index 78e489e..4290114 100755 --- a/docker/resume/update-csp-hashes.sh +++ b/docker/resume/update-csp-hashes.sh @@ -163,7 +163,7 @@ SCRIPT_HASHES_STR=$(printf " %s" "${SCRIPT_HASHES[@]}") STYLE_HASHES_STR=$(printf " %s" "${STYLE_HASHES[@]}") # Create the CSP string -CSP_STRING="default-src 'none'; script-src 'self' https://metrics.nixc.us$SCRIPT_HASHES_STR; style-src 'self'$STYLE_HASHES_STR; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" +CSP_STRING="default-src 'none'; script-src 'self' https://metrics.nixc.us 'sha256-aSi4/F2xxTg7cs3QbVq7ncUMa1ivQeVC8umnPRDtFyM='$SCRIPT_HASHES_STR; style-src 'self'$STYLE_HASHES_STR; img-src 'self' https://metrics.nixc.us data:; font-src 'self' data:; connect-src 'self' https://metrics.nixc.us; object-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none';" # Check if Caddyfile exists before attempting to modify it if [ -f "$CADDYFILE" ]; then