263 Commits

Author SHA256 Message Date
f35e3bff4f DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO TRIXIE 1 [skip ci]
X-CI-Metadata: master@22d6c9a at 2025-08-22T17:41:17Z on 9441b3c6beee

Generated at : 2025-08-22T17:41:17Z
Runner Host  : 9441b3c6beee
Workflow ID  : 🔐 Generating a Private Live ISO TRIXIE.
Git Commit   : 22d6c9a HEAD -> master
2025-08-22 17:41:17 +00:00
22d6c9a061 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e3206cc at 2025-08-22T17:26:01Z on c05f954e2ce1

Generated at : 2025-08-22T17:26:01Z
Runner Host  : c05f954e2ce1
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e3206cc HEAD -> master
2025-08-22 17:26:01 +00:00
e3206cc4be V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m48s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 19:23:56 +02:00
3e5ade4758 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@3d79ff9 at 2025-08-22T17:10:47Z on 53943bbe9153

Generated at : 2025-08-22T17:10:47Z
Runner Host  : 53943bbe9153
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 3d79ff9 HEAD -> master
2025-08-22 17:10:47 +00:00
3d79ff973f V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m7s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 19:08:33 +02:00
08653b1398 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@440a393 at 2025-08-22T17:08:10Z on 2b5e5161b3af

Generated at : 2025-08-22T17:08:10Z
Runner Host  : 2b5e5161b3af
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 440a393 HEAD -> master
2025-08-22 17:08:10 +00:00
440a393c67 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m19s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 19:05:44 +02:00
c1715f896f DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@499bfe9 at 2025-08-22T17:03:44Z on 632fa5ca8d8d

Generated at : 2025-08-22T17:03:44Z
Runner Host  : 632fa5ca8d8d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 499bfe9 HEAD -> master
2025-08-22 17:03:44 +00:00
499bfe9c86 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m19s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 19:01:19 +02:00
6b397e27b1 Merge remote-tracking branch 'origin/master' 2025-08-22 18:56:05 +02:00
0da89626e6 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO TRIXIE 0 [skip ci]
X-CI-Metadata: master@e0b1300 at 2025-08-22T16:55:12Z on 08addb5f6ad8

Generated at : 2025-08-22T16:55:12Z
Runner Host  : 08addb5f6ad8
Workflow ID  : 🔐 Generating a Private Live ISO TRIXIE.
Git Commit   : e0b1300 HEAD -> master
2025-08-22 16:55:12 +00:00
9c59edb3cb V8.13.008.2025.08.22
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 18:53:26 +02:00
e0b1300538 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@d5a3b6e at 2025-08-22T16:12:03Z on 5bc8fde94561

Generated at : 2025-08-22T16:12:03Z
Runner Host  : 5bc8fde94561
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : d5a3b6e HEAD -> master
2025-08-22 16:12:03 +00:00
d5a3b6eca5 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m14s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Successful in 46m3s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 18:09:24 +02:00
fbc6f9e9a9 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@bbc7fcf at 2025-08-22T15:41:10Z on 09a23db32a2c

Generated at : 2025-08-22T15:41:10Z
Runner Host  : 09a23db32a2c
Workflow ID  : 🔐 Generating a Private Live ISO TRIXIE.
Git Commit   : bbc7fcf HEAD -> master
2025-08-22 15:41:10 +00:00
bbc7fcfe56 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@7d97dfd at 2025-08-22T14:58:00Z on 2738ac5d67a6

Generated at : 2025-08-22T14:58:00Z
Runner Host  : 2738ac5d67a6
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 7d97dfd HEAD -> master
2025-08-22 14:58:00 +00:00
7d97dfd1b4 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m6s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 16:55:47 +02:00
76b3c4d49e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8da33a5 at 2025-08-22T14:54:10Z on fb724d8f285b

Generated at : 2025-08-22T14:54:10Z
Runner Host  : fb724d8f285b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8da33a5 HEAD -> master
2025-08-22 14:54:10 +00:00
8da33a5e38 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m50s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Successful in 49m56s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 16:51:00 +02:00
1330ed9cc9 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@25361c6 at 2025-08-22T14:06:08Z on 3da89529bb35

Generated at : 2025-08-22T14:06:08Z
Runner Host  : 3da89529bb35
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 25361c6 HEAD -> master
2025-08-22 14:06:08 +00:00
25361c66bf V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m53s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 45m55s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 16:02:53 +02:00
e52231a865 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@5decedf at 2025-08-22T12:55:01Z on 67eedbf21ba7

Generated at : 2025-08-22T12:55:01Z
Runner Host  : 67eedbf21ba7
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 5decedf HEAD -> master
2025-08-22 12:55:02 +00:00
5decedf83c V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m8s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 36m53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 14:53:33 +02:00
003790123e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@2d3d833 at 2025-08-22T12:14:59Z on 0c6a3b182d92

Generated at : 2025-08-22T12:14:59Z
Runner Host  : 0c6a3b182d92
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 2d3d833 HEAD -> master
2025-08-22 12:14:59 +00:00
2d3d8339de V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m15s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 38m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 14:13:38 +02:00
c774974171 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1020450 at 2025-08-22T12:00:20Z on 4771b8da0ea6

Generated at : 2025-08-22T12:00:20Z
Runner Host  : 4771b8da0ea6
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1020450 HEAD -> master
2025-08-22 12:00:20 +00:00
10204504ae Merge remote-tracking branch 'origin/master'
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m11s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Has been cancelled
2025-08-22 13:59:07 +02:00
00bd9ea193 V8.13.008.2025.08.22
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 13:58:34 +02:00
dc6f9b0d7b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@82b9f73 at 2025-08-22T09:41:33Z on 5be26221e043

Generated at : 2025-08-22T09:41:33Z
Runner Host  : 5be26221e043
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 82b9f73 HEAD -> master
2025-08-22 09:41:33 +00:00
82b9f7395c V8.13.008.2025.08.22
Some checks failed
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 31s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m5s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 11:40:13 +02:00
5c16a5a097 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@0ba66ee at 2025-08-22T09:21:40Z on 10441a2ed0bc

Generated at : 2025-08-22T09:21:40Z
Runner Host  : 10441a2ed0bc
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 0ba66ee HEAD -> master
2025-08-22 09:21:40 +00:00
0ba66ee264 V8.13.008.2025.08.22
Some checks failed
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 33s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m3s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 11:20:29 +02:00
f079c2fa48 Merge remote-tracking branch 'origin/master' 2025-08-22 11:17:52 +02:00
5aaeb98261 V8.13.008.2025.08.22
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 11:17:44 +02:00
250f4ba671 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@b466852 at 2025-08-22T08:53:05Z on 81733042c287

Generated at : 2025-08-22T08:53:05Z
Runner Host  : 81733042c287
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : b466852 HEAD -> master
2025-08-22 08:53:05 +00:00
b466852bca V8.13.008.2025.08.22
Some checks failed
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 4s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m8s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 10:51:51 +02:00
2dae84270a DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1872d76 at 2025-08-22T08:37:03Z on ffcb49ebb086

Generated at : 2025-08-22T08:37:03Z
Runner Host  : ffcb49ebb086
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1872d76 HEAD -> master
2025-08-22 08:37:03 +00:00
1872d761af V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m7s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Has been cancelled
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 10:35:15 +02:00
d5f652b059 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@ecdc4ec at 2025-08-22T07:16:12Z on 4a8262fe12f1

Generated at : 2025-08-22T07:16:12Z
Runner Host  : 4a8262fe12f1
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : ecdc4ec HEAD -> master
2025-08-22 07:16:12 +00:00
ecdc4ec317 V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m12s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 37m55s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 09:14:53 +02:00
ccaf53e6cd V8.13.008.2025.08.22
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 09:14:33 +02:00
a84acdd685 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@09c4125 at 2025-08-22T07:12:13Z on c23bb276095b

Generated at : 2025-08-22T07:12:13Z
Runner Host  : c23bb276095b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 09c4125 HEAD -> master
2025-08-22 07:12:13 +00:00
09c4125ed2 V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m9s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 1m17s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 09:10:44 +02:00
4762db1926 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@862e8e7 at 2025-08-22T06:54:02Z on cc26b52b7cbc

Generated at : 2025-08-22T06:54:02Z
Runner Host  : cc26b52b7cbc
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 862e8e7 HEAD -> master
2025-08-22 06:54:03 +00:00
862e8e75bd V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m9s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 1m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 08:52:44 +02:00
661cbbdb32 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@dd2c6e0 at 2025-08-22T06:41:42Z on 080c5f0b20a9

Generated at : 2025-08-22T06:41:42Z
Runner Host  : 080c5f0b20a9
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : dd2c6e0 HEAD -> master
2025-08-22 06:41:42 +00:00
dd2c6e0546 V8.13.008.2025.08.22
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m6s
🔐 Generating a Private Live ISO TRIXIE. / 🔐 Generating a Private Live ISO TRIXIE. (push) Failing after 33s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 08:40:29 +02:00
ab75649720 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c23a370 at 2025-08-22T06:39:17Z on b47b5fcde381

Generated at : 2025-08-22T06:39:17Z
Runner Host  : b47b5fcde381
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c23a370 HEAD -> master
2025-08-22 06:39:17 +00:00
c23a3708e8 V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m5s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 08:38:06 +02:00
ac8d84eab0 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@5686130 at 2025-08-22T06:37:19Z on b10e861b1709

Generated at : 2025-08-22T06:37:19Z
Runner Host  : b10e861b1709
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 5686130 HEAD -> master
2025-08-22 06:37:19 +00:00
5686130913 Merge remote-tracking branch 'origin/master'
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m4s
2025-08-22 08:36:12 +02:00
5b1ed48c23 V8.13.008.2025.08.22
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 08:36:01 +02:00
25b69d0434 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@2cc84b0 at 2025-08-22T06:08:19Z on 01212a1703d2

Generated at : 2025-08-22T06:08:19Z
Runner Host  : 01212a1703d2
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 2cc84b0 HEAD -> master
2025-08-22 06:08:19 +00:00
2cc84b008d V8.13.008.2025.08.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m20s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 08:06:50 +02:00
553ca676c3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@cf77d21 at 2025-08-22T05:56:18Z on 10a2a7c928fe

Generated at : 2025-08-22T05:56:18Z
Runner Host  : 10a2a7c928fe
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : cf77d21 HEAD -> master
2025-08-22 05:56:18 +00:00
cf77d21778 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@b4ed802 at 2025-08-22T05:55:58Z on a8a4cac9f005

Generated at : 2025-08-22T05:55:58Z
Runner Host  : a8a4cac9f005
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : b4ed802 HEAD -> master
2025-08-22 05:55:58 +00:00
b4ed802668 V8.13.008.2025.08.22
Some checks failed
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 54s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m14s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 23m1s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 23m50s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Has been cancelled
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-22 07:54:35 +02:00
f34c8c62d4 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@90565fe at 2025-08-21T20:32:37Z on e1862f214a92

Generated at : 2025-08-21T20:32:37Z
Runner Host  : e1862f214a92
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 90565fe HEAD -> master
2025-08-21 20:32:37 +00:00
90565fe3b6 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@62c2c97 at 2025-08-21T20:32:20Z on af30f8455b13

Generated at : 2025-08-21T20:32:20Z
Runner Host  : af30f8455b13
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 62c2c97 HEAD -> master
2025-08-21 20:32:20 +00:00
62c2c971bd V8.13.004.2025.08.21
Some checks failed
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 1m23s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m40s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 23m31s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 22m52s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 22m59s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-21 22:30:29 +02:00
f56d2d3215 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@caf4164 at 2025-08-12T17:35:12Z on 51d91a272316

Generated at : 2025-08-12T17:35:12Z
Runner Host  : 51d91a272316
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : caf4164 HEAD -> master
2025-08-12 17:35:12 +00:00
caf4164365 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 19:34:12 +02:00
66700a7518 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@db5cefa at 2025-08-12T17:17:03Z on d5e5fe591efd

Generated at : 2025-08-12T17:17:03Z
Runner Host  : d5e5fe591efd
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : db5cefa HEAD -> master
2025-08-12 17:17:03 +00:00
db5cefa913 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 19:15:58 +02:00
963318abd2 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@549fda3 at 2025-08-12T16:47:02Z on bb23f4e3c213

Generated at : 2025-08-12T16:47:02Z
Runner Host  : bb23f4e3c213
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 549fda3 HEAD -> master
2025-08-12 16:47:02 +00:00
549fda3560 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 18:46:00 +02:00
ad06d09847 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@76281b4 at 2025-08-12T16:03:11Z on 9afb4ec5c145

Generated at : 2025-08-12T16:03:11Z
Runner Host  : 9afb4ec5c145
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 76281b4 HEAD -> master
2025-08-12 16:03:12 +00:00
76281b4579 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 18:01:54 +02:00
0dbe1d2dbe DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@cf6a3b3 at 2025-08-12T14:41:37Z on 2710b6170f31

Generated at : 2025-08-12T14:41:37Z
Runner Host  : 2710b6170f31
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : cf6a3b3 HEAD -> master
2025-08-12 14:41:37 +00:00
cf6a3b32c0 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 16:40:29 +02:00
ba72633635 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@d73efb3 at 2025-08-12T13:47:20Z on 39277f421643

Generated at : 2025-08-12T13:47:20Z
Runner Host  : 39277f421643
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : d73efb3 HEAD -> master
2025-08-12 13:47:20 +00:00
d73efb3a89 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 15:46:14 +02:00
29b5abb594 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@ad9a7be at 2025-08-12T12:08:13Z on a9f845a3096f

Generated at : 2025-08-12T12:08:13Z
Runner Host  : a9f845a3096f
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : ad9a7be HEAD -> master
2025-08-12 12:08:13 +00:00
ad9a7be0c0 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 14:06:53 +02:00
4f990ff360 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f5df55c at 2025-08-12T11:02:54Z on bd66bccfe411

Generated at : 2025-08-12T11:02:54Z
Runner Host  : bd66bccfe411
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f5df55c HEAD -> master
2025-08-12 11:02:54 +00:00
f5df55c0d9 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 55s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 13:01:54 +02:00
78062fb361 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@3392203 at 2025-08-12T10:50:45Z on ac3524fba076

Generated at : 2025-08-12T10:50:45Z
Runner Host  : ac3524fba076
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 3392203 HEAD -> master
2025-08-12 10:50:45 +00:00
339220306c V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 12:49:19 +02:00
10220e2c0e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@58c76cb at 2025-08-12T09:53:33Z on c8585222583e

Generated at : 2025-08-12T09:53:33Z
Runner Host  : c8585222583e
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 58c76cb HEAD -> master
2025-08-12 09:53:33 +00:00
58c76cb573 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 11:52:33 +02:00
2ebeb5dc35 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c36bc94 at 2025-08-12T09:34:57Z on 1326f3417673

Generated at : 2025-08-12T09:34:57Z
Runner Host  : 1326f3417673
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c36bc94 HEAD -> master
2025-08-12 09:34:57 +00:00
c36bc94cd6 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 11:33:51 +02:00
c3943a7a6c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@4ff33b1 at 2025-08-12T09:18:03Z on 770560a70eb5

Generated at : 2025-08-12T09:18:03Z
Runner Host  : 770560a70eb5
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 4ff33b1 HEAD -> master
2025-08-12 09:18:03 +00:00
4ff33b1700 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 50s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 11:17:04 +02:00
5b727926d5 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@6bd586d at 2025-08-12T09:15:35Z on 792845a5a905

Generated at : 2025-08-12T09:15:35Z
Runner Host  : 792845a5a905
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 6bd586d HEAD -> master
2025-08-12 09:15:35 +00:00
6bd586d85d V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 11:14:30 +02:00
3e258fed6c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@9486dc9 at 2025-08-12T08:26:17Z on fe5691056294

Generated at : 2025-08-12T08:26:17Z
Runner Host  : fe5691056294
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 9486dc9 HEAD -> master
2025-08-12 08:26:17 +00:00
9486dc970e V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 10:25:17 +02:00
97799cc705 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@7b39974 at 2025-08-12T07:57:42Z on 3defa5e6bf45

Generated at : 2025-08-12T07:57:42Z
Runner Host  : 3defa5e6bf45
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 7b39974 HEAD -> master
2025-08-12 07:57:42 +00:00
7b39974ce3 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 09:56:43 +02:00
9f79c96627 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@3ee781b at 2025-08-12T07:33:32Z on c690f5701c70

Generated at : 2025-08-12T07:33:32Z
Runner Host  : c690f5701c70
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 3ee781b HEAD -> master
2025-08-12 07:33:32 +00:00
3ee781bc2b V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 53s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 09:32:11 +02:00
10b17e059c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@dc7d894 at 2025-08-12T05:55:27Z on b8b6f8fe3d4b

Generated at : 2025-08-12T05:55:27Z
Runner Host  : b8b6f8fe3d4b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : dc7d894 HEAD -> master
2025-08-12 05:55:27 +00:00
dc7d8946a1 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 51s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 07:54:20 +02:00
45390ab73a DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c53fe4c at 2025-08-11T23:27:35Z on 6346f98e0cb4

Generated at : 2025-08-11T23:27:35Z
Runner Host  : 6346f98e0cb4
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c53fe4c HEAD -> master
2025-08-11 23:27:35 +00:00
c53fe4cf92 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 56s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-12 01:26:09 +02:00
527d9f6e48 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@8fcc130 at 2025-08-11T22:40:24Z on 11c6ef4433e6

Generated at : 2025-08-11T22:40:24Z
Runner Host  : 11c6ef4433e6
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 8fcc130 HEAD -> master
2025-08-11 22:40:24 +00:00
8fcc130464 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@4ed5de0 at 2025-08-11T21:40:45Z on 9c9ba2c2a2db

Generated at : 2025-08-11T21:40:45Z
Runner Host  : 9c9ba2c2a2db
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 4ed5de0 HEAD -> master
2025-08-11 21:40:45 +00:00
4ed5de03e8 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@939766b at 2025-08-11T20:44:05Z on 8597c679e7fc

Generated at : 2025-08-11T20:44:05Z
Runner Host  : 8597c679e7fc
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 939766b HEAD -> master
2025-08-11 20:44:05 +00:00
939766bcbb DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@bc4ca36 at 2025-08-11T19:46:31Z on 1a2579dbab6d

Generated at : 2025-08-11T19:46:31Z
Runner Host  : 1a2579dbab6d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : bc4ca36 HEAD -> master
2025-08-11 19:46:31 +00:00
bc4ca368cd DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@dbb8cc9 at 2025-08-11T19:46:22Z on 6dc0a6752a18

Generated at : 2025-08-11T19:46:22Z
Runner Host  : 6dc0a6752a18
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : dbb8cc9 HEAD -> master
2025-08-11 19:46:22 +00:00
dbb8cc9967 V8.04.002.2025.08.11
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 54s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m3s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 58m44s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 56m38s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 59m39s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 21:45:10 +02:00
bcfa4b471d DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@e298284 at 2025-08-11T19:40:46Z on e5da0b1ba4ad

Generated at : 2025-08-11T19:40:46Z
Runner Host  : e5da0b1ba4ad
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : e298284 HEAD -> master
2025-08-11 19:40:46 +00:00
e2982840e0 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@5af5b07 at 2025-08-11T18:43:00Z on 0bd4fb4d88e9

Generated at : 2025-08-11T18:43:00Z
Runner Host  : 0bd4fb4d88e9
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 5af5b07 HEAD -> master
2025-08-11 18:43:00 +00:00
5af5b079c8 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 52s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 58m45s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 20:41:55 +02:00
dbce974409 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@690dccc at 2025-08-11T17:56:20Z on 1ca87201a5d9

Generated at : 2025-08-11T17:56:20Z
Runner Host  : 1ca87201a5d9
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 690dccc HEAD -> master
2025-08-11 17:56:20 +00:00
690dcccf98 V8.04.002.2025.08.11
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 57s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 14m54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:55:16 +02:00
ec99539898 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@df50b39 at 2025-08-11T17:42:05Z on 72d42c13e088

Generated at : 2025-08-11T17:42:05Z
Runner Host  : 72d42c13e088
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : df50b39 HEAD -> master
2025-08-11 17:42:05 +00:00
df50b393ca V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 50s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:41:08 +02:00
527262c640 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@42ea945 at 2025-08-11T17:33:35Z on 1b419d436232

Generated at : 2025-08-11T17:33:35Z
Runner Host  : 1b419d436232
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 42ea945 HEAD -> master
2025-08-11 17:33:35 +00:00
42ea94595d Merge remote-tracking branch 'origin/master'
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 50s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 14m47s
2025-08-11 19:32:43 +02:00
79c7b090ac V8.04.002.2025.08.11
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:32:33 +02:00
068ebb1065 V8.04.002.2025.08.11
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:32:11 +02:00
4ea400761d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@7d1e5d8 at 2025-08-11T17:23:58Z on 317460cabc16

Generated at : 2025-08-11T17:23:58Z
Runner Host  : 317460cabc16
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 7d1e5d8 HEAD -> master
2025-08-11 17:23:58 +00:00
7d1e5d8523 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 51s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:22:57 +02:00
10101af2ee DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@9b0b2db at 2025-08-11T17:03:33Z on ade9cf379b73

Generated at : 2025-08-11T17:03:33Z
Runner Host  : ade9cf379b73
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 9b0b2db HEAD -> master
2025-08-11 17:03:33 +00:00
9b0b2db4d6 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 51s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 19:02:33 +02:00
3e7124c5b0 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e72ef95 at 2025-08-11T16:53:44Z on b4850b78b6eb

Generated at : 2025-08-11T16:53:44Z
Runner Host  : b4850b78b6eb
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e72ef95 HEAD -> master
2025-08-11 16:53:44 +00:00
e72ef95b86 V8.04.002.2025.08.11
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 58s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 18:52:29 +02:00
78644a6e2c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@d83e3da at 2025-08-11T16:19:32Z on ce9772e82a59

Generated at : 2025-08-11T16:19:32Z
Runner Host  : ce9772e82a59
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : d83e3da HEAD -> master
2025-08-11 16:19:32 +00:00
d83e3da729 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@cd13f2a at 2025-08-11T16:19:25Z on c5db79016bc8

Generated at : 2025-08-11T16:19:25Z
Runner Host  : c5db79016bc8
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : cd13f2a HEAD -> master
2025-08-11 16:19:25 +00:00
cd13f2a6ca V8.04.002.2025.08.11
Some checks failed
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 54s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m0s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 14m34s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 14m32s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 14m29s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-11 18:18:05 +02:00
2661f89f11 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@1500c5c at 2025-08-07T10:53:57Z on ba70769d28db

Generated at : 2025-08-07T10:53:57Z
Runner Host  : ba70769d28db
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 1500c5c HEAD -> master
2025-08-07 10:53:57 +00:00
1500c5ca91 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@c7a2e9b at 2025-08-07T09:55:24Z on a4aa17d5bc06

Generated at : 2025-08-07T09:55:24Z
Runner Host  : a4aa17d5bc06
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : c7a2e9b HEAD -> master
2025-08-07 09:55:24 +00:00
c7a2e9bfa9 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@8b9306f at 2025-08-07T08:55:23Z on 8602ccb0fa51

Generated at : 2025-08-07T08:55:23Z
Runner Host  : 8602ccb0fa51
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 8b9306f HEAD -> master
2025-08-07 08:55:23 +00:00
8b9306f5e5 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@992d593 at 2025-08-07T07:55:21Z on 8dcbb8f07174

Generated at : 2025-08-07T07:55:21Z
Runner Host  : 8dcbb8f07174
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 992d593 HEAD -> master
2025-08-07 07:55:21 +00:00
992d593210 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@43f8671 at 2025-08-07T07:55:11Z on cf99a6b959cd

Generated at : 2025-08-07T07:55:11Z
Runner Host  : cf99a6b959cd
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 43f8671 HEAD -> master
2025-08-07 07:55:11 +00:00
43f86718a7 V8.03.920.2025.08.07
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 53s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m3s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h1m12s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 1h0m1s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 58m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-08-07 09:53:21 +02:00
d3242a7b5d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f415c7a at 2025-07-24T22:13:15Z on 61d71e709c15

Generated at : 2025-07-24T22:13:15Z
Runner Host  : 61d71e709c15
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f415c7a HEAD -> master
2025-07-24 22:13:15 +00:00
f415c7aef5 V8.03.912.2025.07.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 42s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-25 00:12:09 +02:00
d1a643ef59 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@9ceab38 at 2025-07-24T16:32:14Z on bed5f9dc0701

Generated at : 2025-07-24T16:32:14Z
Runner Host  : bed5f9dc0701
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 9ceab38 HEAD -> master
2025-07-24 16:32:14 +00:00
9ceab388ea V8.03.912.2025.07.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 39s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-24 18:31:27 +02:00
2bf021a9f1 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@7389cf0 at 2025-07-23T22:11:10Z on 0b7cbd58023d

Generated at : 2025-07-23T22:11:10Z
Runner Host  : 0b7cbd58023d
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 7389cf0 HEAD -> master
2025-07-23 22:11:10 +00:00
7389cf0509 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@241b651 at 2025-07-23T21:11:59Z on f54b3a4c10d5

Generated at : 2025-07-23T21:11:59Z
Runner Host  : f54b3a4c10d5
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 241b651 HEAD -> master
2025-07-23 21:11:59 +00:00
241b651f2f DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@6758178 at 2025-07-23T20:12:50Z on 174bc337fd29

Generated at : 2025-07-23T20:12:50Z
Runner Host  : 174bc337fd29
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 6758178 HEAD -> master
2025-07-23 20:12:50 +00:00
675817813b DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@eb668f1 at 2025-07-23T19:13:29Z on 75728f49ada5

Generated at : 2025-07-23T19:13:29Z
Runner Host  : 75728f49ada5
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : eb668f1 HEAD -> master
2025-07-23 19:13:29 +00:00
eb668f112c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@a0140a7 at 2025-07-23T19:13:25Z on 9929952d2ca4

Generated at : 2025-07-23T19:13:25Z
Runner Host  : 9929952d2ca4
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : a0140a7 HEAD -> master
2025-07-23 19:13:25 +00:00
a0140a7b53 V8.03.912.2025.07.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 47s
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 50s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h0m24s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 59m3s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 59m10s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-23 21:11:43 +02:00
c969ed6e88 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@b36bf4f at 2025-07-22T23:00:47Z on 4abced17613f

Generated at : 2025-07-22T23:00:47Z
Runner Host  : 4abced17613f
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : b36bf4f HEAD -> master
2025-07-22 23:00:47 +00:00
b36bf4fe5f DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@fe3696c at 2025-07-22T22:02:35Z on 57b4d21489b1

Generated at : 2025-07-22T22:02:35Z
Runner Host  : 57b4d21489b1
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : fe3696c HEAD -> master
2025-07-22 22:02:35 +00:00
fe3696c4e8 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@05ba3be at 2025-07-22T21:04:07Z on c138662908b1

Generated at : 2025-07-22T21:04:07Z
Runner Host  : c138662908b1
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 05ba3be HEAD -> master
2025-07-22 21:04:07 +00:00
05ba3be592 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@834a924 at 2025-07-22T20:04:28Z on 963b7699fc6c

Generated at : 2025-07-22T20:04:28Z
Runner Host  : 963b7699fc6c
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 834a924 HEAD -> master
2025-07-22 20:04:28 +00:00
834a924080 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@4c552f2 at 2025-07-22T20:04:20Z on f1d1a6a9de4b

Generated at : 2025-07-22T20:04:20Z
Runner Host  : f1d1a6a9de4b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 4c552f2 HEAD -> master
2025-07-22 20:04:20 +00:00
4c552f2ecc V8.03.896.2025.07.22
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 44s
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 53s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h0m39s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 58m28s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 58m10s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-22 22:02:54 +02:00
553db82ad7 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@960db79 at 2025-07-19T21:52:19Z on bb712fd1a129

Generated at : 2025-07-19T21:52:19Z
Runner Host  : bb712fd1a129
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 960db79 HEAD -> master
2025-07-19 21:52:19 +00:00
960db79e56 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@3b5ba91 at 2025-07-19T20:54:17Z on bc68526c448e

Generated at : 2025-07-19T20:54:17Z
Runner Host  : bc68526c448e
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 3b5ba91 HEAD -> master
2025-07-19 20:54:17 +00:00
3b5ba919d2 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@2f4ce03 at 2025-07-19T19:54:32Z on 10652dff9b2e

Generated at : 2025-07-19T19:54:32Z
Runner Host  : 10652dff9b2e
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 2f4ce03 HEAD -> master
2025-07-19 19:54:32 +00:00
2f4ce03347 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1d095ef at 2025-07-19T18:56:31Z on 6d2986b4a33e

Generated at : 2025-07-19T18:56:31Z
Runner Host  : 6d2986b4a33e
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1d095ef HEAD -> master
2025-07-19 18:56:31 +00:00
1d095efce3 DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@f12abfe at 2025-07-19T18:55:22Z on d38d80a1bb55

Generated at : 2025-07-19T18:55:22Z
Runner Host  : d38d80a1bb55
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : f12abfe HEAD -> master
2025-07-19 18:55:23 +00:00
f12abfef69 V8.03.880.2025.07.19
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 51s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m0s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h0m8s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 59m44s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 58m0s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-19 20:52:35 +02:00
67d443b695 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@4445a0a at 2025-07-15T17:55:22Z on deea7eb4a68b

Generated at : 2025-07-15T17:55:22Z
Runner Host  : deea7eb4a68b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 4445a0a HEAD -> master
2025-07-15 17:55:22 +00:00
4445a0ae5c V8.03.864.2025.07.15
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m51s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-15 19:53:22 +02:00
160fc4bc38 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@ee8e2bc at 2025-07-15T17:39:39Z on 8944fef79dd0

Generated at : 2025-07-15T17:39:39Z
Runner Host  : 8944fef79dd0
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : ee8e2bc HEAD -> master
2025-07-15 17:39:39 +00:00
ee8e2bce5c V8.03.864.2025.07.15
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m4s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-15 19:37:16 +02:00
90e2fd48b8 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@fd406a6 at 2025-07-15T13:01:08Z on 155b6e4acba6

Generated at : 2025-07-15T13:01:08Z
Runner Host  : 155b6e4acba6
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : fd406a6 HEAD -> master
2025-07-15 13:01:08 +00:00
fd406a6628 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@2c4a9c9 at 2025-07-15T12:03:19Z on fd09723188c6

Generated at : 2025-07-15T12:03:19Z
Runner Host  : fd09723188c6
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 2c4a9c9 HEAD -> master
2025-07-15 12:03:19 +00:00
2c4a9c95c6 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@898ed7d at 2025-07-15T11:05:15Z on ed8d07632180

Generated at : 2025-07-15T11:05:15Z
Runner Host  : ed8d07632180
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 898ed7d HEAD -> master
2025-07-15 11:05:15 +00:00
898ed7d599 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@07686fd at 2025-07-15T10:06:12Z on 24eaf98fa23b

Generated at : 2025-07-15T10:06:12Z
Runner Host  : 24eaf98fa23b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 07686fd HEAD -> master
2025-07-15 10:06:12 +00:00
07686fd15a DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@5bd0c51 at 2025-07-15T10:05:08Z on ab2abe52ded3

Generated at : 2025-07-15T10:05:08Z
Runner Host  : ab2abe52ded3
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 5bd0c51 HEAD -> master
2025-07-15 10:05:08 +00:00
5bd0c517a2 V8.03.864.2025.07.15
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 52s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m56s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 1h1m7s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 58m4s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 57m47s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-07-15 12:03:38 +02:00
f6f1d04a09 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8f3715f at 2025-06-25T21:18:21Z on e459c2abc8dc

Generated at : 2025-06-25T21:18:21Z
Runner Host  : e459c2abc8dc
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8f3715f HEAD -> master
2025-06-25 21:18:21 +00:00
8f3715ff74 V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m38s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 23:16:29 +02:00
bf2252fd66 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@976d953 at 2025-06-25T21:14:00Z on f0432117dbbd

Generated at : 2025-06-25T21:14:00Z
Runner Host  : f0432117dbbd
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 976d953 HEAD -> master
2025-06-25 21:14:00 +00:00
976d95397c DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@bfa2263 at 2025-06-25T20:22:25Z on 5fb53ad22c54

Generated at : 2025-06-25T20:22:25Z
Runner Host  : 5fb53ad22c54
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : bfa2263 HEAD -> master
2025-06-25 20:22:25 +00:00
bfa2263198 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@3c57dfc at 2025-06-25T19:32:17Z on 8d73d968a04b

Generated at : 2025-06-25T19:32:17Z
Runner Host  : 8d73d968a04b
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 3c57dfc HEAD -> master
2025-06-25 19:32:17 +00:00
3c57dfcd08 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@7a1f51e at 2025-06-25T18:42:02Z on 2d082d209866

Generated at : 2025-06-25T18:42:02Z
Runner Host  : 2d082d209866
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 7a1f51e HEAD -> master
2025-06-25 18:42:02 +00:00
7a1f51e72e V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m23s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 51m45s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 50m7s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 51m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 20:40:25 +02:00
2d838a5b48 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@a77e8e2 at 2025-06-25T14:59:38Z on 0e0da6bc2cd1

Generated at : 2025-06-25T14:59:38Z
Runner Host  : 0e0da6bc2cd1
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : a77e8e2 HEAD -> master
2025-06-25 14:59:38 +00:00
a77e8e2204 V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m28s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 16:58:05 +02:00
db1ce0cdbd DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@dda53a4 at 2025-06-25T14:41:30Z on 80989fd12b11

Generated at : 2025-06-25T14:41:30Z
Runner Host  : 80989fd12b11
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : dda53a4 HEAD -> master
2025-06-25 14:41:30 +00:00
dda53a41aa V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 16:39:38 +02:00
844981489a DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@bcf924a at 2025-06-25T13:01:33Z on c14dd6afdc02

Generated at : 2025-06-25T13:01:33Z
Runner Host  : c14dd6afdc02
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : bcf924a HEAD -> master
2025-06-25 13:01:33 +00:00
bcf924a4b7 V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m51s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 14:59:38 +02:00
70329077a3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@2ad5087 at 2025-06-25T12:53:29Z on f162d43b1f68

Generated at : 2025-06-25T12:53:29Z
Runner Host  : f162d43b1f68
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 2ad5087 HEAD -> master
2025-06-25 12:53:29 +00:00
2ad5087b1e V8.03.832.2025.06.25
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m41s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 14:51:09 +02:00
2631b86196 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@fd63ef7 at 2025-06-25T09:27:51Z on f6cb58e39e13

Generated at : 2025-06-25T09:27:51Z
Runner Host  : f6cb58e39e13
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : fd63ef7 HEAD -> master
2025-06-25 09:27:51 +00:00
fd63ef798b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@98ceb5d at 2025-06-25T08:51:01Z on b6d66d8a6db7

Generated at : 2025-06-25T08:51:01Z
Runner Host  : b6d66d8a6db7
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 98ceb5d HEAD -> master
2025-06-25 08:51:01 +00:00
98ceb5db1a DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@4129d1e at 2025-06-25T08:50:03Z on 9819c5c58d02

Generated at : 2025-06-25T08:50:03Z
Runner Host  : 9819c5c58d02
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 4129d1e HEAD -> master
2025-06-25 08:50:03 +00:00
4129d1ef2b V8.03.832.2025.06.25
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 35s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m33s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 10:49:20 +02:00
f6a2c5ad49 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e8161fd at 2025-06-25T08:42:40Z on b1823330795d

Generated at : 2025-06-25T08:42:40Z
Runner Host  : b1823330795d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e8161fd HEAD -> master
2025-06-25 08:42:40 +00:00
e8161fdc2d DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@7b79ef1 at 2025-06-25T08:41:39Z on 8759a9db21a0

Generated at : 2025-06-25T08:41:39Z
Runner Host  : 8759a9db21a0
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 7b79ef1 HEAD -> master
2025-06-25 08:41:39 +00:00
7b79ef1237 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@9143b78 at 2025-06-25T08:38:18Z on 6254bdfd1ab6

Generated at : 2025-06-25T08:38:18Z
Runner Host  : 6254bdfd1ab6
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 9143b78 HEAD -> master
2025-06-25 08:38:18 +00:00
9143b7800b V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m37s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 51m18s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-25 10:16:34 +02:00
0f10a9c271 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@4f7131c at 2025-06-24T22:34:39Z on 56dbb041e6a3

Generated at : 2025-06-24T22:34:39Z
Runner Host  : 56dbb041e6a3
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 4f7131c HEAD -> master
2025-06-24 22:34:39 +00:00
4f7131ca9c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@70d127d at 2025-06-24T21:45:55Z on ded5508cc4be

Generated at : 2025-06-24T21:45:55Z
Runner Host  : ded5508cc4be
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 70d127d HEAD -> master
2025-06-24 21:45:55 +00:00
70d127dd4c V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 50m15s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 23:44:04 +02:00
d183dab1a3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@593faf9 at 2025-06-24T20:29:03Z on f61ff70b4f60

Generated at : 2025-06-24T20:29:03Z
Runner Host  : f61ff70b4f60
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 593faf9 HEAD -> master
2025-06-24 20:29:03 +00:00
593faf92b8 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 22:27:16 +02:00
ff1a3390ec DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@3177e1f at 2025-06-24T20:24:22Z on ea1203cfbc73

Generated at : 2025-06-24T20:24:22Z
Runner Host  : ea1203cfbc73
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 3177e1f HEAD -> master
2025-06-24 20:24:22 +00:00
3177e1ff40 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@e8e2fa0 at 2025-06-24T19:33:20Z on 8f31c5504ca5

Generated at : 2025-06-24T19:33:20Z
Runner Host  : 8f31c5504ca5
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : e8e2fa0 HEAD -> master
2025-06-24 19:33:20 +00:00
e8e2fa0182 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 52m52s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 21:31:24 +02:00
dfd59577b2 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@c2d0839 at 2025-06-24T19:21:39Z on e64222ff680c

Generated at : 2025-06-24T19:21:39Z
Runner Host  : e64222ff680c
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : c2d0839 HEAD -> master
2025-06-24 19:21:39 +00:00
c2d0839cd2 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f047832 at 2025-06-24T18:29:33Z on 7cf2cc345bba

Generated at : 2025-06-24T18:29:33Z
Runner Host  : 7cf2cc345bba
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f047832 HEAD -> master
2025-06-24 18:29:33 +00:00
f047832cdc V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 53m38s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 20:28:02 +02:00
668ab7ce9d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@972749b at 2025-06-24T18:00:57Z on b959bf746d49

Generated at : 2025-06-24T18:00:57Z
Runner Host  : b959bf746d49
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 972749b HEAD -> master
2025-06-24 18:00:57 +00:00
972749b607 V8.03.832.2025.06.24
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m33s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 8m47s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 8m47s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 8m42s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 19:58:57 +02:00
4b3918e58d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@55c2755 at 2025-06-24T08:57:27Z on f797403b8e29

Generated at : 2025-06-24T08:57:27Z
Runner Host  : f797403b8e29
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 55c2755 HEAD -> master
2025-06-24 08:57:27 +00:00
55c27550c2 V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:55:49 +02:00
dcb05605d6 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@6ebf75a at 2025-06-24T08:55:24Z on 28ea8f9d1fb8

Generated at : 2025-06-24T08:55:24Z
Runner Host  : 28ea8f9d1fb8
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 6ebf75a HEAD -> master
2025-06-24 08:55:24 +00:00
6ebf75a91b V8.03.832.2025.06.24
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:53:55 +02:00
00c3853d4e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1411be3 at 2025-06-24T08:52:41Z on 304d6b967c3b

Generated at : 2025-06-24T08:52:41Z
Runner Host  : 304d6b967c3b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1411be3 HEAD -> master
2025-06-24 08:52:41 +00:00
1411be304d DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@7459585 at 2025-06-24T08:51:53Z on e2cd59453da4

Generated at : 2025-06-24T08:51:53Z
Runner Host  : e2cd59453da4
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 7459585 HEAD -> master
2025-06-24 08:51:54 +00:00
7459585d20 V8.03.832.2025.06.24
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m25s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-24 10:50:24 +02:00
df806d086f DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@4b70ca7 at 2025-06-23T17:05:19Z on 7476c59f00be

Generated at : 2025-06-23T17:05:19Z
Runner Host  : 7476c59f00be
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 4b70ca7 HEAD -> master
2025-06-23 17:05:20 +00:00
4b70ca7056 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 19:03:39 +02:00
44c3aef43d DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@81f3a89 at 2025-06-23T16:54:52Z on 4ebf85be8b8c

Generated at : 2025-06-23T16:54:52Z
Runner Host  : 4ebf85be8b8c
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 81f3a89 HEAD -> master
2025-06-23 16:54:52 +00:00
81f3a89ae5 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 18:53:13 +02:00
d0a38a82b8 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@73d826c at 2025-06-23T16:48:44Z on 066aacd189ab

Generated at : 2025-06-23T16:48:44Z
Runner Host  : 066aacd189ab
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 73d826c HEAD -> master
2025-06-23 16:48:44 +00:00
73d826ca2b Merge remote-tracking branch 'origin/master'
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
2025-06-23 18:47:08 +02:00
87905d693c V8.03.768.2025.06.23
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 18:46:10 +02:00
11e6b58f21 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@27b59ba at 2025-06-23T09:04:52Z on fd3d8b329394

Generated at : 2025-06-23T09:04:52Z
Runner Host  : fd3d8b329394
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 27b59ba HEAD -> master
2025-06-23 09:04:52 +00:00
27b59bad99 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@a96d38f at 2025-06-23T08:10:39Z on acbf81c16084

Generated at : 2025-06-23T08:10:39Z
Runner Host  : acbf81c16084
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : a96d38f HEAD -> master
2025-06-23 08:10:39 +00:00
a96d38fe46 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@0cd9e75 at 2025-06-23T07:15:10Z on b6c63877a75b

Generated at : 2025-06-23T07:15:10Z
Runner Host  : b6c63877a75b
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 0cd9e75 HEAD -> master
2025-06-23 07:15:10 +00:00
0cd9e75b68 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@a5db504 at 2025-06-23T06:21:22Z on b85958f46628

Generated at : 2025-06-23T06:21:22Z
Runner Host  : b85958f46628
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : a5db504 HEAD -> master
2025-06-23 06:21:22 +00:00
a5db5044f6 V8.03.768.2025.06.23
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 2m49s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 56m45s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 55m27s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 54m13s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 08:18:26 +02:00
5a4570ec46 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@5e4bc99 at 2025-06-23T06:05:56Z on 81400268aec7

Generated at : 2025-06-23T06:05:56Z
Runner Host  : 81400268aec7
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 5e4bc99 HEAD -> master
2025-06-23 06:05:56 +00:00
5e4bc99e5a DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@e9b21a2 at 2025-06-23T06:05:08Z on 18ebad3d3217

Generated at : 2025-06-23T06:05:08Z
Runner Host  : 18ebad3d3217
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : e9b21a2 HEAD -> master
2025-06-23 06:05:08 +00:00
e9b21a2b5b V8.03.768.2025.06.23
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 35s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m23s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-23 08:03:24 +02:00
4bae828016 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@67ebcfb at 2025-06-19T17:45:16Z on 02331a304315

Generated at : 2025-06-19T17:45:16Z
Runner Host  : 02331a304315
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 67ebcfb HEAD -> master
2025-06-19 17:45:16 +00:00
67ebcfb388 V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:43:39 +02:00
53e4f5e2e3 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@adbf2d0 at 2025-06-19T17:33:57Z on 233beb1e1bef

Generated at : 2025-06-19T17:33:57Z
Runner Host  : 233beb1e1bef
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : adbf2d0 HEAD -> master
2025-06-19 17:33:57 +00:00
adbf2d0dfd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m37s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:32:09 +02:00
8fb023e43b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1276b4f at 2025-06-19T17:03:12Z on 6917c3ab7572

Generated at : 2025-06-19T17:03:12Z
Runner Host  : 6917c3ab7572
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1276b4f HEAD -> master
2025-06-19 17:03:12 +00:00
1276b4fae7 V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 19:01:27 +02:00
4b6c7cc2d8 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@34dda8c at 2025-06-19T16:56:01Z on 71760bb93abe

Generated at : 2025-06-19T16:56:01Z
Runner Host  : 71760bb93abe
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 34dda8c HEAD -> master
2025-06-19 16:56:01 +00:00
34dda8c8dd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 18:54:04 +02:00
a5a5855507 DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@c3f4e0b at 2025-06-19T16:38:49Z on bdc025ea66fe

Generated at : 2025-06-19T16:38:49Z
Runner Host  : bdc025ea66fe
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : c3f4e0b HEAD -> master
2025-06-19 16:38:49 +00:00
c3f4e0ba0a DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@44c56be at 2025-06-19T15:49:01Z on e5d7ffff4b85

Generated at : 2025-06-19T15:49:01Z
Runner Host  : e5d7ffff4b85
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : 44c56be HEAD -> master
2025-06-19 15:49:01 +00:00
44c56be9d2 DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@9657a45 at 2025-06-19T14:56:41Z on 25b6e1509d50

Generated at : 2025-06-19T14:56:41Z
Runner Host  : 25b6e1509d50
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 9657a45 HEAD -> master
2025-06-19 14:56:41 +00:00
9657a454c9 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@577b7d1 at 2025-06-19T14:05:50Z on ba89446388a0

Generated at : 2025-06-19T14:05:50Z
Runner Host  : ba89446388a0
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 577b7d1 HEAD -> master
2025-06-19 14:05:50 +00:00
577b7d16dd V8.03.768.2025.06.19
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m27s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 52m27s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 52m15s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 49m47s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 16:03:45 +02:00
e4126f6995 V8.03.768.2025.06.19
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 08:31:12 +02:00
144d0ca2e9 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@b8fe187 at 2025-06-19T05:53:22Z on b6300ce5447e

Generated at : 2025-06-19T05:53:22Z
Runner Host  : b6300ce5447e
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : b8fe187 HEAD -> master
2025-06-19 05:53:22 +00:00
b8fe187cbf DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@3cc26e2 at 2025-06-19T05:52:22Z on f02394ed0ec5

Generated at : 2025-06-19T05:52:22Z
Runner Host  : f02394ed0ec5
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 3cc26e2 HEAD -> master
2025-06-19 05:52:22 +00:00
3cc26e2d2b V8.03.768.2025.06.19
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:51:38 +02:00
43ec5f3493 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@aa2f51b at 2025-06-19T05:33:03Z on 8f610bbc5c6f

Generated at : 2025-06-19T05:33:03Z
Runner Host  : 8f610bbc5c6f
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : aa2f51b HEAD -> master
2025-06-19 05:33:03 +00:00
aa2f51b059 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m33s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:31:24 +02:00
ce632c3b3e Merge remote-tracking branch 'origin/master' 2025-06-19 07:27:34 +02:00
2bfdf5fa42 V8.03.768.2025.06.18
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:27:27 +02:00
3700a1ad6c DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@250b8ba at 2025-06-19T05:24:25Z on ded82c6e9227

Generated at : 2025-06-19T05:24:25Z
Runner Host  : ded82c6e9227
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 250b8ba HEAD -> master
2025-06-19 05:24:25 +00:00
250b8ba0c6 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 07:22:30 +02:00
8d598d7d69 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c4b0e44 at 2025-06-18T22:29:43Z on 9a7502a7ba31

Generated at : 2025-06-18T22:29:43Z
Runner Host  : 9a7502a7ba31
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c4b0e44 HEAD -> master
2025-06-18 22:29:43 +00:00
c4b0e44d99 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m36s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-19 00:27:38 +02:00
4e76d9665a DEPLOY BOT : 💙 Auto-Generate PUBLIC LIVE ISO [skip ci]
X-CI-Metadata: master@8a65565 at 2025-06-18T21:50:59Z on 5edfe440f0f5

Generated at : 2025-06-18T21:50:59Z
Runner Host  : 5edfe440f0f5
Workflow ID  : 💙 Generating a PUBLIC Live ISO.
Git Commit   : 8a65565 HEAD -> master
2025-06-18 21:50:59 +00:00
8a65565e5c DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci]
X-CI-Metadata: master@a03d758 at 2025-06-18T21:00:04Z on 43448e2d0468

Generated at : 2025-06-18T21:00:04Z
Runner Host  : 43448e2d0468
Workflow ID  : 🔐 Generating a Private Live ISO FLV 1.
Git Commit   : a03d758 HEAD -> master
2025-06-18 21:00:04 +00:00
a03d75879f DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci]
X-CI-Metadata: master@29a5ff5 at 2025-06-18T20:08:45Z on 3da8825eb356

Generated at : 2025-06-18T20:08:45Z
Runner Host  : 3da8825eb356
Workflow ID  : 🔐 Generating a Private Live ISO FLV 0.
Git Commit   : 29a5ff5 HEAD -> master
2025-06-18 20:08:45 +00:00
29a5ff5c9e DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@84f7014 at 2025-06-18T19:45:52Z on 8f3c3022119f

Generated at : 2025-06-18T19:45:52Z
Runner Host  : 8f3c3022119f
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 84f7014 HEAD -> master
2025-06-18 19:45:52 +00:00
84f7014699 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m28s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:44:20 +02:00
6136da5631 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@2e24d9d at 2025-06-18T19:16:56Z on 66e587905f91

Generated at : 2025-06-18T19:16:56Z
Runner Host  : 66e587905f91
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 2e24d9d HEAD -> master
2025-06-18 19:16:56 +00:00
2e24d9d814 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m26s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Successful in 53m23s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Successful in 51m15s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Successful in 50m54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:15:25 +02:00
a992311235 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8785b82 at 2025-06-18T19:14:58Z on f7c25e7943ab

Generated at : 2025-06-18T19:14:58Z
Runner Host  : f7c25e7943ab
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8785b82 HEAD -> master
2025-06-18 19:14:58 +00:00
8785b820af V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m30s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:13:23 +02:00
51745e8f82 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@c04e89a at 2025-06-18T19:06:59Z on c1036e816e74

Generated at : 2025-06-18T19:06:59Z
Runner Host  : c1036e816e74
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : c04e89a HEAD -> master
2025-06-18 19:06:59 +00:00
c04e89a3c1 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m35s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 21:04:53 +02:00
9aa98d1e46 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@1c0cf0c at 2025-06-18T18:18:30Z on 79bdcfb89234

Generated at : 2025-06-18T18:18:30Z
Runner Host  : 79bdcfb89234
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 1c0cf0c HEAD -> master
2025-06-18 18:18:30 +00:00
1c0cf0ce8c V8.03.768.2025.06.18
Some checks failed
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m29s
🔐 Generating a Private Live ISO FLV 0. / 🔐 Generating a Private Live ISO FLV 0. (push) Failing after 9m5s
🔐 Generating a Private Live ISO FLV 1. / 🔐 Generating a Private Live ISO FLV 1. (push) Failing after 9m0s
💙 Generating a PUBLIC Live ISO. / 💙 Generating a PUBLIC Live ISO. (push) Failing after 9m4s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:16:49 +02:00
8d40f95c16 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@8c05da4 at 2025-06-18T18:16:00Z on 31cb08827156

Generated at : 2025-06-18T18:16:00Z
Runner Host  : 31cb08827156
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : 8c05da4 HEAD -> master
2025-06-18 18:16:00 +00:00
8c05da4692 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m34s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:14:19 +02:00
dd4968c745 DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@aaf14e6 at 2025-06-18T18:11:58Z on 7d341627d38b

Generated at : 2025-06-18T18:11:58Z
Runner Host  : 7d341627d38b
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : aaf14e6 HEAD -> master
2025-06-18 18:11:59 +00:00
aaf14e6204 V8.03.768.2025.06.18
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m31s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:10:17 +02:00
247b9af51b DEPLOY BOT : 🛡️ Shell Script Linting [skip ci]
X-CI-Metadata: master@f40b1c6 at 2025-06-18T18:02:53Z on 1ceadf78f42d

Generated at : 2025-06-18T18:02:53Z
Runner Host  : 1ceadf78f42d
Workflow ID  : 🛡️ Shell Script Linting
Git Commit   : f40b1c6 HEAD -> master
2025-06-18 18:02:53 +00:00
f40b1c6f2d DEPLOY BOT : 🛡️ Auto-Generate DNSSEC Status [skip ci]
X-CI-Metadata: master@742d057 at 2025-06-18T18:01:52Z on 6873478a02ad

Generated at : 2025-06-18T18:01:52Z
Runner Host  : 6873478a02ad
Workflow ID  : 🛡️ Retrieve DNSSEC status of coresecret.dev.
Git Commit   : 742d057 HEAD -> master
2025-06-18 18:01:52 +00:00
742d0579d7 V8.03.768.2025.06.18
All checks were successful
🛡️ Retrieve DNSSEC status of coresecret.dev. / 🛡️ Retrieve DNSSEC status of coresecret.dev. (push) Successful in 36s
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m38s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
2025-06-18 20:00:50 +02:00
125 changed files with 2650 additions and 1189 deletions

142
.archive/.0000_lib_usage.sh Normal file
View File

@@ -0,0 +1,142 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
#######################################
# Usage Wrapper CISS.debian.live.builder
# Globals:
# none
# Arguments:
# $0: Script name
#######################################
usage() {
clear
cat << EOF
$(echo -e "\e[92mCISS.debian.live.builder\e[0m")
$(echo -e "\e[92mMaster V8.13.008.2025.08.22\e[0m")
$(echo -e "\e[92mA lightweight Shell Wrapper for building a hardened Debian Live ISO Image.\e[0m")
$(echo -e "\e[97m(c) Marc S. Weidner, 2018 - 2025\e[0m")
$(echo -e "\e[97m(p) Centurion Press, 2024 - 2025\e[0m")
"${0} <option>", where <option> is one or more of:
$(echo -e "\e[97m --help, -h\e[0m")
What you're looking at.
$(echo -e "\e[97m --autobuild=*, -a=*\e[0m")
Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel
selector dialog. Change '*' to your desired Linux kernel and trim the
'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.30+bpo-amd64'.
$(echo -e "\e[97m --architecture <STRING> one of <amd64 | arm64>\e[0m")
A string reflecting the architecture of the Live System.
MUST be provided.
$(echo -e "\e[97m --build-directory </path/to/build_directory>\e[0m")
Where the Debian Live Build Image should be generated.
MUST be provided.
$(echo -e "\e[97m --change-splash <STRING> one of <club | hexagon>\e[0m")
A string reflecting the GRub Boot Screen Splash you want to use.
If omitted defaults to "./.archive/background/club.png".
$(echo -e "\e[97m --cdi (Experimental Feature)\e[0m")
This option generates a boot menu entry to start the forthcoming
'CISS.debian.installer', which will be executed after
the system has successfully booted up.
$(echo -e "\e[97m --contact, -c\e[0m")
Displays contact information of the author.
$(echo -e "\e[97m --control <INTEGER>\e[0m")
An integer that reflects the version of your Live ISO Image.
MUST be provided.
$(echo -e "\e[97m --debug\e[0m")
Enables debug logging for the main program routine. Detailed logging
information are written to "/tmp/ciss_live_builder_$$.log"
$(echo -e "\e[97m --dhcp-centurion\e[0m")
If a DHCP lease is provided, the provider's nameserver will be overridden,
and only the hardened, privacy-focused Centurion DNS servers will be used:
- https://dns01.eddns.eu/
- https://dns02.eddns.de/
- https://dns03.eddns.eu/
$(echo -e "\e[97m --jump-host <IP | IP | ... >\e[0m")
Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access.
Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation.
If provided, than it MUST be a <SPACE> separated list.
IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd]/64.
$(echo -e "\e[97m --log-statistics-only\e[0m")
Provides statistic only after successful building a
CISS.debian.live-ISO. While enabling "--log-statistics-only"
the argument "--build-directory" MUST be provided while
all further options MUST be omitted.
$(echo -e "\e[97m --provider-netcup-ipv6\e[0m")
Activates IPv6 support for Netcup Root Server. One unique
IPv6 address MUST be provided in this case and MUST be encapsulated
with [], e.g., [1234::abcd].
$(echo -e "\e[97m --renice-priority <PRIORITY>\e[0m")
Reset the nice priority value of the script and all its children
to the desired <PRIORITY>. MUST be an integer (between "-19" and 19).
Negative (higher) values MUST be enclosed in double quotes '"'.
$(echo -e "\e[97m --reionice-priority <CLASS> <PRIORITY>\e[0m")
Reset the ionice priority value of the script and all its children
to the desired <CLASS>. MUST be an integer:
1: realtime
2: best-effort
3: idle
Defaults to '2'.
Whereas <PRIORITY> MUST be an integer as well between:
0: highest priority and
7: lowest priority.
Defaults to '4'.
A real-time I/O process can significantly slow down other processes
or even cause them to starve if it continuously requests I/O.
$(echo -e "\e[97m --root-password-file </path/to/password.txt>\e[0m")
Password file for 'root', if given, MUST be a string of 20 to 64 characters,
and MUST NOT contain the special character '"'.
If the argument is omitted, no further login authentication is required for
the local console. The root password is hashed with an 16 Byte '/dev/random'
generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately
after Hash generation all Variables containing plain password fragments are
deleted. Password file SHOULD be '0400' and 'root:root' and is deleted without
further prompt after password hash has been successfully generated via:
'shred -vfzu 5 -f'.
No tracing of any plain text password fragment in any debug log.
$(echo -e "\e[97m --ssh-port <INTEGER>\e[0m")
The desired Port SSH should listen to.
If not provided defaults to Port 22.
$(echo -e "\e[97m --ssh-pubkey </path/to/.ssh/>\e[0m")
Imports the SSH Public Key(s) from the FILE 'authorized_keys' of the
specified PATH into the Live ISO. MUST be provided.
$(echo -e "\e[97m --version, -v\e[0m")
Displays version of ${0}.
$(echo -e "\e[93m💡 Notes:\e[0m")
🔵 You MUST be 'root' to run this script.
$(echo -e "\e[95m💷 Please consider donating to my work at:\e[0m")
$(echo -e "\e[95m🌐 https://coresecret.eu/spenden/ \e[0m")
EOF
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -5,7 +5,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -46,4 +46,10 @@
🧠 🧠
📅 📅
🎯 🎯
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh 🌐
🔗
💬
☢️
☣️
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -25,6 +25,10 @@ charset = utf-8
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[{makefile,*.mk}]
indent_style = tab
tab_width = 8
[*.md] [*.md]
end_of_line = lf end_of_line = lf
# Markdown benefits from a final newline for POSIX tools # Markdown benefits from a final newline for POSIX tools

View File

@@ -25,7 +25,7 @@ body:
attributes: attributes:
label: "Version" label: "Version"
description: "Which version are you running? Use `./ciss_live_builder.sh -v`." description: "Which version are you running? Use `./ciss_live_builder.sh -v`."
placeholder: "e.g., Master V8.03.768.2025.06.17" placeholder: "e.g., Master V8.13.008.2025.08.22"
validations: validations:
required: true required: true

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
FROM debian:bookworm FROM debian:bookworm

View File

@@ -5,11 +5,11 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 🔁 Render README.md to README.html. name: 🔁 Render README.md to README.html.

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.768.2025.06.17 version: V8.13.008.2025.08.22
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.768.2025.06.17 version: V8.13.008.2025.08.22
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.768.2025.06.17 version: V8.13.008.2025.08.22
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -11,5 +11,5 @@
build: build:
counter: 1023 counter: 1023
version: V8.03.768.2025.06.17 version: V8.13.008.2025.08.22
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -9,9 +9,13 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 🔐 Generating a Private Live ISO FLV 0. name: 🔐 Generating a Private Live ISO TRIXIE.
defaults:
run:
shell: bash
permissions: permissions:
contents: write contents: write
@@ -21,164 +25,34 @@ on:
branches: branches:
- master - master
paths: paths:
- '.gitea/trigger/t_generate_PRIVATE_iso_flavour_0.yaml' - '.gitea/trigger/t_generate_PRIVATE_trixie_0.yaml'
jobs: jobs:
generate-private-ciss-debian-live-iso: generate-private-cdlb-trixie:
name: 🔐 Generating a Private Live ISO FLV 0. name: 🔐 Generating a Private Live ISO TRIXIE.
runs-on: ciss.debian.live.builder.iso.generator runs-on: cdlb.trixie
### Run all steps inside Debian Bookworm
container: container:
image: debian:bookworm image: debian:trixie
steps: steps:
- name: 🛠️ Basic Image Setup and enable Bookworm Backports. - name: 🛠️ Basic Image Setup.
run: |
apt-get update -y
apt-get install -y apt-transport-https apt-utils bash ca-certificates openssl sudo
echo 'deb https://deb.debian.org/debian bookworm-backports main' \
>| /etc/apt/sources.list.d/bookworm-backports.list
apt-get update -y
apt-get upgrade -y
- name: 🛠️ Installing Build Tools.
shell: bash shell: bash
run: | run: |
apt-get update -y export DEBIAN_FRONTEND=noninteractive
apt-get install -y \ apt-get update
autoconf \ apt-get upgrade -y
automake \ apt-get install -y --no-install-recommends \
build-essential \ apt-utils \
cryptsetup \ bash \
ca-certificates \
curl \ curl \
debootstrap \
dosfstools \
efibootmgr \
gettext \
git \ git \
gnupg \ gnupg \
haveged \ openssh-client \
libbz2-dev \ openssl \
zlib1g-dev \
liblzma-dev \
libtool \
live-build \
parted \
pkg-config \
ssh \
ssl-cert \
sudo \ sudo \
texinfo \ util-linux
wget \
whois \
- name: 🛠️ Build GnuPG from the sources, as the Bookworm GPG does not understand key format 5.
shell: bash
run: |
urls=(
"https://gnupg.org/ftp/gcrypt/npth/npth-1.8.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.55.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.1.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.2.tar.bz2"
"https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.8.tar.bz2"
)
wget --https-only https://gnupg.org/signature_key.asc -O signature_key.asc > /dev/null 2>&1
gpg --batch --import signature_key.asc
for url in "${urls[@]}"; do
archive_name="${url##*/}"
pkg_name="${archive_name%.tar.bz2}"
echo "🔄 Processing ${pkg_name}"
if [[ ! -f "${archive_name}" ]]; then
echo "📥 Downloading: '${archive_name}'."
if wget --https-only "${url}" -O "${archive_name}" > /dev/null 2>&1 && wget --https-only "${url}.sig" -O "${archive_name}.sig" > /dev/null 2>&1; then
echo "✅ Download successful: '${archive_name}'."
else
echo "❌ Download NOT successful: '${archive_name}'."
exit 1
fi
else
echo "💡 Skipping download, package already exists: '${archive_name}'."
fi
if ! gpg --verify "${archive_name}.sig" "${archive_name}"; then echo "❌ Bad Signature: '${archive_name}'.";exit 1; fi
if [[ ! -d "${pkg_name}" ]]; then
echo "📂 Extracting: '${archive_name}'."
if tar -xjf "${archive_name}"; then
echo "✅ Extraction successful: '${archive_name}'."
else
echo "❌ Extraction not successful: '${archive_name}'."
exit 1
fi
else
echo "💡 Skipping directory, already exists: '${pkg_name}'."
fi
echo "🏗️ Build and install the package: '${pkg_name}'."
cd "${pkg_name}" || { echo "❌ Could not change to '${pkg_name}'."; exit 1; }
mkdir -p build
cd build || { echo "❌ Could not change to '/build'."; exit 1; }
sudo ../configure > /dev/null 2>&1 || { echo "❌ '../configure' NOT successful for '${pkg_name}'."; exit 1; }
make > /dev/null 2>&1 || { echo "❌ 'make' NOT successful for '${pkg_name}'."; exit 1; }
sudo make install > /dev/null 2>&1 || { echo "❌ 'make install' NOT successful for '${pkg_name}'."; exit 1; }
cd ../.. || { echo "❌ Could not change to '../..'."; exit 1; }
rm -f "${archive_name}" && rm -f "${archive_name}.sig" && echo "✅ Removed archive: '${pkg_name}'."
rm -fr "${pkg_name}" && echo "✅ Removed build artifacts: '${pkg_name}'."
echo "✅ Successful build and installation of '${pkg_name}'."
echo "-------------------------------------------------------------------------------------"
done
rm -f signature_key.asc
echo "✅ All packages were built and installed successfully."
mv_bin=(
"/usr/bin/gpg"
"/usr/bin/gpg-agent"
"/usr/bin/gpgconf"
"/usr/bin/gpg-connect-agent"
"/usr/bin/gpg-wks-client"
"/usr/bin/gpg-preset-passphrase"
)
for bin in "${mv_bin[@]}"; do
name="${bin##*/}"
if [[ -f "${bin}" && -f "/usr/local/bin/${name}" ]]; then
if mv "${bin}" "${bin}.debian-backup"; then
echo "✅ Moved successfully: '${bin}'."
else
echo "❌ Moved NOT successfully: '${bin}'."
fi
else
echo "💡 Does not exist as build binary: '${bin}'."
fi
done
for bin in "${mv_bin[@]}"; do
name="${bin##*/}"
if [[ -f "/usr/local/bin/${name}" ]]; then
if update-alternatives --install "${bin}" "${name}" "/usr/local/bin/${name}" 100; then
echo "✅ 'update-alternatives' successfully: '${bin}'."
else
echo "❌ 'update-alternatives' NOT successfully: '${bin}'."
fi
else
echo "💡 Does not exist: '/usr/local/bin/${name}'."
fi
done
sudo ldconfig
gpgconf --kill all
/usr/local/bin/gpg-agent --daemon
- name: ⚙️ Check GnuPG Version. - name: ⚙️ Check GnuPG Version.
shell: bash shell: bash
@@ -268,9 +142,9 @@ jobs:
set -euo pipefail set -euo pipefail
chmod 0755 ciss_live_builder.sh chmod 0755 ciss_live_builder.sh
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ") timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
### Change "--autobuild=" to the specific kernel version you need: 6.12.22+bpo-amd64. ### Change "--autobuild=" to the specific kernel version you need: '6.12.41+deb13-amd64'.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.30+bpo-amd64 \ --autobuild=6.12.41+deb13-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
@@ -280,7 +154,8 @@ jobs:
--provider-netcup-ipv6 ${{ secrets.CISS_DLB_NETCUP_IPV6 }} \ --provider-netcup-ipv6 ${{ secrets.CISS_DLB_NETCUP_IPV6 }} \
--root-password-file /opt/config/password.txt \ --root-password-file /opt/config/password.txt \
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT }} \ --ssh-port ${{ secrets.CISS_DLB_SSH_PORT }} \
--ssh-pubkey /opt/config --ssh-pubkey /opt/config \
--trixie
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs. - name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
shell: bash shell: bash
@@ -367,11 +242,12 @@ jobs:
gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}" gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}"
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
PRIVATE_FILE="LIVE_ISO_FLV_0.private" VAR_DATE="$(date +%F)"
PRIVATE_FILE="LIVE_ISO_TRIXIE_0.private"
touch "${PRIVATE_FILE}" touch "${PRIVATE_FILE}"
cat << EOF >| "${PRIVATE_FILE}" cat << EOF >| "${PRIVATE_FILE}"
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -381,12 +257,12 @@ jobs:
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "${timestamp}". This file was automatically generated by the DEPLOY BOT on: "${timestamp}"
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")
@@ -435,7 +311,7 @@ jobs:
GIT_SSH_COMMAND: "ssh -p 42842" GIT_SSH_COMMAND: "ssh -p 42842"
run: | run: |
set -euo pipefail set -euo pipefail
PRIVATE_FILE="LIVE_ISO_FLV_0.private" PRIVATE_FILE="LIVE_ISO_TRIXIE_0.private"
git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add." git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add."
- name: 🔑 Commit and sign changes with CI metadata. - name: 🔑 Commit and sign changes with CI metadata.
@@ -459,7 +335,7 @@ jobs:
WORKFLOW_ID="${GITHUB_WORKFLOW:-render-md-to-html.yaml}" WORKFLOW_ID="${GITHUB_WORKFLOW:-render-md-to-html.yaml}"
CI_HEADER="X-CI-Metadata: ${GIT_REF}@${GIT_SHA} at ${TIMESTAMP_UTC} on ${HOSTNAME}" CI_HEADER="X-CI-Metadata: ${GIT_REF}@${GIT_SHA} at ${TIMESTAMP_UTC} on ${HOSTNAME}"
COMMIT_MSG="DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 0 [skip ci] COMMIT_MSG="DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO TRIXIE 0 [skip ci]
${CI_HEADER} ${CI_HEADER}

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -9,9 +9,13 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 🔐 Generating a Private Live ISO FLV 1. name: 🔐 Generating a Private Live ISO TRIXIE.
defaults:
run:
shell: bash
permissions: permissions:
contents: write contents: write
@@ -21,164 +25,34 @@ on:
branches: branches:
- master - master
paths: paths:
- '.gitea/trigger/t_generate_PRIVATE_iso_flavour_1.yaml' - '.gitea/trigger/t_generate_PRIVATE_trixie_1.yaml'
jobs: jobs:
generate-private-ciss-debian-live-iso: generate-private-cdlb-trixie:
name: 🔐 Generating a Private Live ISO FLV 1. name: 🔐 Generating a Private Live ISO TRIXIE.
runs-on: ciss.debian.live.builder.iso.generator runs-on: cdlb.trixie
### Run all steps inside Debian Bookworm
container: container:
image: debian:bookworm image: debian:trixie
steps: steps:
- name: 🛠️ Basic Image Setup and enable Bookworm Backports. - name: 🛠️ Basic Image Setup.
run: |
apt-get update -y
apt-get install -y apt-transport-https apt-utils bash ca-certificates openssl sudo
echo 'deb https://deb.debian.org/debian bookworm-backports main' \
>| /etc/apt/sources.list.d/bookworm-backports.list
apt-get update -y
apt-get upgrade -y
- name: 🛠️ Installing Build Tools.
shell: bash shell: bash
run: | run: |
apt-get update -y export DEBIAN_FRONTEND=noninteractive
apt-get install -y \ apt-get update
autoconf \ apt-get upgrade -y
automake \ apt-get install -y --no-install-recommends \
build-essential \ apt-utils \
cryptsetup \ bash \
ca-certificates \
curl \ curl \
debootstrap \
dosfstools \
efibootmgr \
gettext \
git \ git \
gnupg \ gnupg \
haveged \ openssh-client \
libbz2-dev \ openssl \
zlib1g-dev \
liblzma-dev \
libtool \
live-build \
parted \
pkg-config \
ssh \
ssl-cert \
sudo \ sudo \
texinfo \ util-linux
wget \
whois \
- name: 🛠️ Build GnuPG from the sources, as the Bookworm GPG does not understand key format 5.
shell: bash
run: |
urls=(
"https://gnupg.org/ftp/gcrypt/npth/npth-1.8.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.55.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.1.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2"
"https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.2.tar.bz2"
"https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.8.tar.bz2"
)
wget --https-only https://gnupg.org/signature_key.asc -O signature_key.asc > /dev/null 2>&1
gpg --batch --import signature_key.asc
for url in "${urls[@]}"; do
archive_name="${url##*/}"
pkg_name="${archive_name%.tar.bz2}"
echo "🔄 Processing ${pkg_name}"
if [[ ! -f "${archive_name}" ]]; then
echo "📥 Downloading: '${archive_name}'."
if wget --https-only "${url}" -O "${archive_name}" > /dev/null 2>&1 && wget --https-only "${url}.sig" -O "${archive_name}.sig" > /dev/null 2>&1; then
echo "✅ Download successful: '${archive_name}'."
else
echo "❌ Download NOT successful: '${archive_name}'."
exit 1
fi
else
echo "💡 Skipping download, package already exists: '${archive_name}'."
fi
if ! gpg --verify "${archive_name}.sig" "${archive_name}"; then echo "❌ Bad Signature: '${archive_name}'.";exit 1; fi
if [[ ! -d "${pkg_name}" ]]; then
echo "📂 Extracting: '${archive_name}'."
if tar -xjf "${archive_name}"; then
echo "✅ Extraction successful: '${archive_name}'."
else
echo "❌ Extraction not successful: '${archive_name}'."
exit 1
fi
else
echo "💡 Skipping directory, already exists: '${pkg_name}'."
fi
echo "🏗️ Build and install the package: '${pkg_name}'."
cd "${pkg_name}" || { echo "❌ Could not change to '${pkg_name}'."; exit 1; }
mkdir -p build
cd build || { echo "❌ Could not change to '/build'."; exit 1; }
sudo ../configure > /dev/null 2>&1 || { echo "❌ '../configure' NOT successful for '${pkg_name}'."; exit 1; }
make > /dev/null 2>&1 || { echo "❌ 'make' NOT successful for '${pkg_name}'."; exit 1; }
sudo make install > /dev/null 2>&1 || { echo "❌ 'make install' NOT successful for '${pkg_name}'."; exit 1; }
cd ../.. || { echo "❌ Could not change to '../..'."; exit 1; }
rm -f "${archive_name}" && rm -f "${archive_name}.sig" && echo "✅ Removed archive: '${pkg_name}'."
rm -fr "${pkg_name}" && echo "✅ Removed build artifacts: '${pkg_name}'."
echo "✅ Successful build and installation of '${pkg_name}'."
echo "-------------------------------------------------------------------------------------"
done
rm -f signature_key.asc
echo "✅ All packages were built and installed successfully."
mv_bin=(
"/usr/bin/gpg"
"/usr/bin/gpg-agent"
"/usr/bin/gpgconf"
"/usr/bin/gpg-connect-agent"
"/usr/bin/gpg-wks-client"
"/usr/bin/gpg-preset-passphrase"
)
for bin in "${mv_bin[@]}"; do
name="${bin##*/}"
if [[ -f "${bin}" && -f "/usr/local/bin/${name}" ]]; then
if mv "${bin}" "${bin}.debian-backup"; then
echo "✅ Moved successfully: '${bin}'."
else
echo "❌ Moved NOT successfully: '${bin}'."
fi
else
echo "💡 Does not exist as build binary: '${bin}'."
fi
done
for bin in "${mv_bin[@]}"; do
name="${bin##*/}"
if [[ -f "/usr/local/bin/${name}" ]]; then
if update-alternatives --install "${bin}" "${name}" "/usr/local/bin/${name}" 100; then
echo "✅ 'update-alternatives' successfully: '${bin}'."
else
echo "❌ 'update-alternatives' NOT successfully: '${bin}'."
fi
else
echo "💡 Does not exist: '/usr/local/bin/${name}'."
fi
done
sudo ldconfig
gpgconf --kill all
/usr/local/bin/gpg-agent --daemon
- name: ⚙️ Check GnuPG Version. - name: ⚙️ Check GnuPG Version.
shell: bash shell: bash
@@ -268,16 +142,17 @@ jobs:
set -euo pipefail set -euo pipefail
chmod 0755 ciss_live_builder.sh chmod 0755 ciss_live_builder.sh
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ") timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
### Change "--autobuild=" to the specific kernel version you need: 6.12.22+bpo-amd64. ### Change "--autobuild=" to the specific kernel version you need: '6.12.41+deb13-amd64'.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.30+bpo-amd64 \ --autobuild=6.12.41+deb13-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
--jump-host ${{ secrets.CISS_DLB_JUMP_HOSTS_1 }} \ --jump-host ${{ secrets.CISS_DLB_JUMP_HOSTS_1 }} \
--root-password-file /opt/config/password.txt \ --root-password-file /opt/config/password.txt \
--ssh-port ${{ secrets.CISS_DLB_SSH_PORT_1 }} \ --ssh-port ${{ secrets.CISS_DLB_SSH_PORT_1 }} \
--ssh-pubkey /opt/config --ssh-pubkey /opt/config \
--trixie
- name: 📥 Checking Centurion Cloud for existing LIVE ISOs. - name: 📥 Checking Centurion Cloud for existing LIVE ISOs.
shell: bash shell: bash
@@ -364,11 +239,12 @@ jobs:
gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}" gpg --batch --yes --armor --detach-sign --output "${SIGNATURE_FILE}" "${VAR_ISO_FILE_SHA512}"
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
PRIVATE_FILE="LIVE_ISO_FLV_1.private" VAR_DATE="$(date +%F)"
PRIVATE_FILE="LIVE_ISO_TRIXIE_1.private"
touch "${PRIVATE_FILE}" touch "${PRIVATE_FILE}"
cat << EOF >| "${PRIVATE_FILE}" cat << EOF >| "${PRIVATE_FILE}"
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -378,12 +254,12 @@ jobs:
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "${timestamp}". This file was automatically generated by the DEPLOY BOT on: "${timestamp}"
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")
@@ -432,7 +308,7 @@ jobs:
GIT_SSH_COMMAND: "ssh -p 42842" GIT_SSH_COMMAND: "ssh -p 42842"
run: | run: |
set -euo pipefail set -euo pipefail
PRIVATE_FILE="LIVE_ISO_FLV_1.private" PRIVATE_FILE="LIVE_ISO_TRIXIE_1.private"
git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add." git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add."
- name: 🔑 Commit and sign changes with CI metadata. - name: 🔑 Commit and sign changes with CI metadata.
@@ -456,7 +332,7 @@ jobs:
WORKFLOW_ID="${GITHUB_WORKFLOW:-render-md-to-html.yaml}" WORKFLOW_ID="${GITHUB_WORKFLOW:-render-md-to-html.yaml}"
CI_HEADER="X-CI-Metadata: ${GIT_REF}@${GIT_SHA} at ${TIMESTAMP_UTC} on ${HOSTNAME}" CI_HEADER="X-CI-Metadata: ${GIT_REF}@${GIT_SHA} at ${TIMESTAMP_UTC} on ${HOSTNAME}"
COMMIT_MSG="DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO FLV 1 [skip ci] COMMIT_MSG="DEPLOY BOT : 🔐 Auto-Generate PRIVATE LIVE ISO TRIXIE 1 [skip ci]
${CI_HEADER} ${CI_HEADER}

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 💙 Generating a PUBLIC Live ISO. name: 💙 Generating a PUBLIC Live ISO.
@@ -271,7 +271,7 @@ jobs:
timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ") timestamp=$(date -u +"%Y_%m_%dT%H_%M_%SZ")
### Change "--autobuild=" to the specific kernel version you need: 6.12.22+bpo-amd64. ### Change "--autobuild=" to the specific kernel version you need: 6.12.22+bpo-amd64.
./ciss_live_builder.sh \ ./ciss_live_builder.sh \
--autobuild=6.12.30+bpo-amd64 \ --autobuild=6.1.0-37-amd64 \
--architecture amd64 \ --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--control "${timestamp}" \ --control "${timestamp}" \
@@ -378,12 +378,12 @@ jobs:
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "${timestamp}". This file was automatically generated by the DEPLOY BOT on: "${timestamp}"
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"${VAR_ISO_FILE_NAME}" "${VAR_ISO_FILE_NAME}"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"${VAR_ISO_FILE_SHA512}" $(< "${VAR_ISO_FILE_SHA512}")
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
$(< "${SIGNATURE_FILE}") $(< "${SIGNATURE_FILE}")

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
# Gitea Workflow: Shell-Script Linting # Gitea Workflow: Shell-Script Linting
# #
@@ -202,11 +202,12 @@ jobs:
echo -e "⚠️ Linting issues detected:\n" echo -e "⚠️ Linting issues detected:\n"
echo -e "${findings}" echo -e "${findings}"
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
VAR_DATE="$(date +%F)"
PRIVATE_FILE="LINTER_RESULTS.txt" PRIVATE_FILE="LINTER_RESULTS.txt"
touch "${PRIVATE_FILE}" touch "${PRIVATE_FILE}"
cat << EOF >| "${PRIVATE_FILE}" cat << EOF >| "${PRIVATE_FILE}"
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -216,7 +217,7 @@ jobs:
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "${timestamp}". This file was automatically generated by the DEPLOY BOT on: "${timestamp}"
⚠️ The last linter check was NOT successful. ⚠️ ⚠️ The last linter check was NOT successful. ⚠️
@@ -225,11 +226,12 @@ jobs:
else else
echo "✅ No issues found in shell scripts." echo "✅ No issues found in shell scripts."
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ") timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
VAR_DATE="$(date +%F)"
PRIVATE_FILE="LINTER_RESULTS.txt" PRIVATE_FILE="LINTER_RESULTS.txt"
touch "${PRIVATE_FILE}" touch "${PRIVATE_FILE}"
cat << EOF >| "${PRIVATE_FILE}" cat << EOF >| "${PRIVATE_FILE}"
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -239,7 +241,7 @@ jobs:
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "${timestamp}". This file was automatically generated by the DEPLOY BOT on: "${timestamp}"
✅ The last linter check was successful. ✅ ✅ The last linter check was successful. ✅

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 🛡️ Retrieve DNSSEC status of coresecret.dev. name: 🛡️ Retrieve DNSSEC status of coresecret.dev.

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
name: 🔁 Render Graphviz Diagrams. name: 🔁 Render Graphviz Diagrams.

1
.gitignore vendored
View File

@@ -16,5 +16,6 @@ target/
*.DS_Store *.DS_Store
*.log *.log
*.ps1 *.ps1
config.mk
Thumbs.db Thumbs.db
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

28
.shellcheckrc Normal file
View File

@@ -0,0 +1,28 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.installer
# SPDX-Security-Contact: security@coresecret.eu
encoding=utf-8
external-sources=true
shell=bash
source-path=~/lib
source-path=~/scripts
source-path=~/var
enable=avoid-nullary-conditions
enable=check-extra-masked-returns
enable=check-set-e-suppressed
enable=check-unassigned-uppercase
enable=deprecate-which
enable=quote-safe-variables
enable=require-double-brackets
enable=require-variable-braces
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -15,5 +15,5 @@ properties_SPDX-License-Identifier="EUPL-1.2 OR LicenseRef-CCLA-1.0"
properties_SPDX-LicenseComment="This file is part of the CISS.debian.installer.secure framework." properties_SPDX-LicenseComment="This file is part of the CISS.debian.installer.secure framework."
properties_SPDX-PackageName="CISS.debian.live.builder" properties_SPDX-PackageName="CISS.debian.live.builder"
properties_SPDX-Security-Contact="security@coresecret.eu" properties_SPDX-Security-Contact="security@coresecret.eu"
properties_version="V8.03.768.2025.06.17" properties_version="V8.13.008.2025.08.22"
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -6,7 +6,7 @@ Creator: Person: Marc S. Weidner (Centurion Intelligence Consulting Agency)
Created: 2025-05-07T12:00:00Z Created: 2025-05-07T12:00:00Z
Package: CISS.debian.live.builder Package: CISS.debian.live.builder
PackageName: CISS.debian.live.builder PackageName: CISS.debian.live.builder
PackageVersion: Master V8.03.768.2025.06.17 PackageVersion: Master V8.13.008.2025.08.22
PackageSupplier: Organization: Centurion Intelligence Consulting Agency PackageSupplier: Organization: Centurion Intelligence Consulting Agency
PackageDownloadLocation: https://git.coresecret.dev/msw/CISS.debian.live.builder PackageDownloadLocation: https://git.coresecret.dev/msw/CISS.debian.live.builder
PackageHomePage: https://git.coresecret.dev/msw/CISS.debian.live.builder PackageHomePage: https://git.coresecret.dev/msw/CISS.debian.live.builder
@@ -20,4 +20,4 @@ License: LicenseRef-CCLA-1.0
LicenseID: LicenseRef-CCLA-1.0 LicenseID: LicenseRef-CCLA-1.0
LicenseName: Centurion Commercial License Agreement 1.0 LicenseName: Centurion Commercial License Agreement 1.0
LicenseCrossReference: https://coresecret.eu/imprint/licenses/ LicenseCrossReference: https://coresecret.eu/imprint/licenses/
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "2025-06-17T17:03:33Z". This file was automatically generated by the DEPLOY BOT on: "2025-08-22T17:25:58Z"
✅ The last linter check was successful. ✅ ✅ The last linter check was successful. ✅

View File

@@ -9,19 +9,19 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "2025-06-17T14:54:34Z". This file was automatically generated by the DEPLOY BOT on: "2025-08-11T22:40:21Z".
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_17T14_12_22Z-amd64.hybrid.iso" "ciss-debian-live-2025_08_11T21_49_56Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_17T14_12_22Z-amd64.hybrid.iso.sha512" 4aa02673b9a8d5b974014eca4371d1ed69b05eaea9e92203cf7c092880833e18812bf31ab053399eda98b7a3da0b76b8dcdaaba892e9f52f836ea9d2b0e09e38
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFGBqgAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaJpxVQAKCRA85KY4hzOw
IYthAQDYHWvmctdnn39QGj0cdLgPkqMd3JTtC+goiM2BO6UAoQD/SM4ObHSBQ9ZO IZWOAQDJriUoDvDNSQiHbFfW4KVV1E1wqe12eS7GyfVFr9bISwEAoDKhQ85+RiGr
tQ5Wj5SzmMyMqFB9UIFizaEH0RcBEgk= pCdWqvU8wcfzEIlKIpAgAZVrhX/xRw8=
=zTxU =wNVV
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -9,19 +9,19 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "2025-06-17T13:12:03Z". This file was automatically generated by the DEPLOY BOT on: "2025-08-22T16:55:09Z"
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_17T12_29_48Z-amd64.hybrid.iso" "ciss-debian-live-2025_08_22T16_11_02Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_17T12_29_48Z-amd64.hybrid.iso.sha512" 35c288d96239804e244cbe99c8ce3895aec39104a7200c2ef7326d38e1ec4eea3bf60b895eaa4d981cb718ae4d27d2d4166f16252b88606a870d14c3db096a37
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFFpowAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaKig7QAKCRA85KY4hzOw
IQmsAQC7nsyQvaiBPjFjze0arnTSyJ0X45OElMH6vwWeOPCYwgEAgoPURpD9KBWX IWKWAP0Wlqbi3ArURSGW5m+E+OstdsU7qHjf+e1SVRJ3BGUzaAEAr3ceyHiiA2/7
TDSR3bhZqdaFTJYAQfguXxDI0wff8Aw= RlXsvZxNgVDaEVSdjmt99dMrZK7DRws=
=BqaA =4Oh3
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text

View File

@@ -1,5 +1,5 @@
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-06-01; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-08-22; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
@@ -9,19 +9,19 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
This file was automatically generated by the DEPLOY BOT on: "2025-06-17T14:03:33Z". This file was automatically generated by the DEPLOY BOT on: "2025-08-22T17:41:13Z"
CISS.debian.live.builder ISO : CISS.debian.live.builder ISO :
"ciss-debian-live-2025_06_17T13_20_50Z-amd64.hybrid.iso" "ciss-debian-live-2025_08_22T16_56_12Z-amd64.hybrid.iso"
CISS.debian.live.builder ISO sha512 : CISS.debian.live.builder ISO sha512 :
"ciss-debian-live-2025_06_17T13_20_50Z-amd64.hybrid.iso.sha512" 4925332b61dbd91f0c444624bbe7de586dbd911fbb27b080a99e44ae312c5139afc502d0415d0bef7dfbd1e5461c07e0a0700f7206e746a91cbcb5403ef003e3
CISS.debian.live.builder ISO sha512 sign : CISS.debian.live.builder ISO sha512 sign :
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaFF1tQAKCRA85KY4hzOw iHUEABYKAB0WIQSqYnPMNKGz69afyHA85KY4hzOwIQUCaKiruQAKCRA85KY4hzOw
IbsWAP9Zk6J3kFfRVASMGnT4h2Joak31pmX5p3Ron4mRDserMgEArhu1axOkGlyI IdoTAQDqyOBkGA0xDoLsDvjFSaf3tmzz8mD/5qvsDtF6y/rEWwD/dAXzMOdQjxg8
MPD3Zw/YEZeRSRtGLPFPfEEq8zAmIQo= IcK+GK6u4k5/HT5bYlCvTy/WxRb5ggQ=
=b16D =boDM
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=text

113
README.md
View File

@@ -2,7 +2,7 @@
gitea: none gitea: none
include_toc: true include_toc: true
--- ---
[![Static Badge](https://badges.coresecret.dev/badge/Release-V8.03.768.2025.06.17-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder) [![Static Badge](https://badges.coresecret.dev/badge/Release-V8.13.008.2025.08.22-white?style=plastic&logo=linux&logoColor=white&logoSize=auto&label=Release&color=%23FCC624)](https://git.coresecret.dev/msw/CISS.debian.live.builder)
&nbsp; &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Licence-EUPL1.2-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=Licence&color=%23003399)](https://eupl.eu/1.2/en/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/Licence-EUPL1.2-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=Licence&color=%23003399)](https://eupl.eu/1.2/en/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/opensourceinitiative-Compliant-white?style=plastic&logo=opensourceinitiative&logoColor=white&logoSize=auto&label=OSI&color=%233DA639)](https://opensource.org/license/eupl-1-2) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/opensourceinitiative-Compliant-white?style=plastic&logo=opensourceinitiative&logoColor=white&logoSize=auto&label=OSI&color=%233DA639)](https://opensource.org/license/eupl-1-2) &nbsp;
@@ -11,8 +11,8 @@ include_toc: true
[![Static Badge](https://badges.coresecret.dev/badge/shellformat-passed-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=shellformat&color=%234285F4)](https://github.com/mvdan/sh) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/shellformat-passed-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=shellformat&color=%234285F4)](https://github.com/mvdan/sh) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Shellstyle-Google-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=Shellstyle&color=%234285F4)](https://google.github.io/styleguide/shellguide.html) [![Static Badge](https://badges.coresecret.dev/badge/Shellstyle-Google-white?style=plastic&logo=google&logoColor=white&logoSize=auto&label=Shellstyle&color=%234285F4)](https://google.github.io/styleguide/shellguide.html)
&nbsp; &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.23.8-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/Gitea-1.24.5-white?style=plastic&logo=gitea&logoColor=white&logoSize=auto&label=gitea&color=%23609926)](https://docs.gitea.com/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.1.1.1-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/IntelliJ-2025.2-white?style=plastic&logo=intellijidea&logoColor=white&logoSize=auto&label=IntelliJ&color=%23000000)](https://www.jetbrains.com/store/?section=personal&billing=yearly) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/keepassxc-2.7.10-white?style=plastic&logo=keepassxc&logoColor=white&logoSize=auto&label=KeePassXC&color=%236CAC4D)](https://keepassxc.org/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/keepassxc-2.7.10-white?style=plastic&logo=keepassxc&logoColor=white&logoSize=auto&label=KeePassXC&color=%236CAC4D)](https://keepassxc.org/) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/netcup-Netcup-white?style=plastic&logo=netcup&logoColor=white&logoSize=auto&label=powered&color=%23056473)](https://www.netcup.com/de) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/netcup-Netcup-white?style=plastic&logo=netcup&logoColor=white&logoSize=auto&label=powered&color=%23056473)](https://www.netcup.com/de) &nbsp;
[![Static Badge](https://badges.coresecret.dev/badge/powered-Centurion-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=powered&color=%230F243E)](https://coresecret.eu/) &nbsp; [![Static Badge](https://badges.coresecret.dev/badge/powered-Centurion-white?style=plastic&logo=europeanunion&logoColor=white&logoSize=auto&label=powered&color=%230F243E)](https://coresecret.eu/) &nbsp;
@@ -25,8 +25,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
This shell wrapper automates the creation of a Debian Bookworm live ISO hardened according to the latest best practices in server This shell wrapper automates the creation of a Debian Bookworm live ISO hardened according to the latest best practices in server
and service security. It integrates into your build pipeline to deliver an isolated, robust environment suitable for and service security. It integrates into your build pipeline to deliver an isolated, robust environment suitable for
@@ -70,7 +70,16 @@ separate directory tree, employs `DynamicUser` features, and adheres to strict s
rating of **``2.6``**). Docker containers used by runners do not run in privileged mode. Security is further enhanced through the use rating of **``2.6``**). Docker containers used by runners do not run in privileged mode. Security is further enhanced through the use
of both UFW software firewalls and dedicated hardware firewall appliances. of both UFW software firewalls and dedicated hardware firewall appliances.
## 1.2. Immutable Source-of-Truth System ## 1.2. Match Host and Target Versions
Build, for example, a Debian Trixie live image only on a Debian Trixie host. The build toolchain and boot artifacts are
release-specific: ``live-build``, ``live-boot``, ``live-config``, ``debootstrap``, ``kernel/initramfs`` tools, ``mksquashfs``,
``GRUB/ISOLINUX``, and even ``dpkg/apt`` often change defaults and formats between releases (e.g., compression modes, SquashFS
options, hook ordering, systemd/udev behavior). Building on a different host release commonly yields non-reproducible or even
unbootable ISOs (missing modules/firmware, ABI mismatches, divergent paths). Keeping host and target on the same version ensures
reproducible builds, matching dependencies, and compatible boot artifacts.
## 1.3. Immutable Source-of-Truth System
This live ISO establishes a secure, fully deterministic, integrity self-verifying boot environment based entirely on static This live ISO establishes a secure, fully deterministic, integrity self-verifying boot environment based entirely on static
source-code definitions. All configurations, system components, and installation routines are embedded during build time and source-code definitions. All configurations, system components, and installation routines are embedded during build time and
@@ -89,7 +98,7 @@ or shell-access, also via the forthcoming `CISS.debian.installer`. Such a versio
provisions the target device from embedded source artifacts, and reboots into a fully encrypted system image. The system then provisions the target device from embedded source artifacts, and reboots into a fully encrypted system image. The system then
awaits the decryption passphrase input via an embedded Dropbear SSH server (SSH PubKey only) in the initramfs, exposing no ports awaits the decryption passphrase input via an embedded Dropbear SSH server (SSH PubKey only) in the initramfs, exposing no ports
without cryptographic hardened access, while also the `/boot` partition could be encrypted via the built-in support of without cryptographic hardened access, while also the `/boot` partition could be encrypted via the built-in support of
`grub2 (2.12-1~bpo12+1)`.<br> `grub2 (2.12-9)`.<br>
This approach provides a fully reproducible, audit-friendly, and tamper-resistant provisioning workflow rooted entirely in This approach provides a fully reproducible, audit-friendly, and tamper-resistant provisioning workflow rooted entirely in
source-defined infrastructure logic.<br> source-defined infrastructure logic.<br>
@@ -103,11 +112,11 @@ After build and configuration, the following audit reports can be generated:
* **SSH Audit Report**: Verifies SSH daemon configuration against the latest best-practice cipher, KEX, and MAC recommendations. * **SSH Audit Report**: Verifies SSH daemon configuration against the latest best-practice cipher, KEX, and MAC recommendations.
Type `ssh-audit <IP>:<PORT>`. See example report: **[SSH Audit Report](/docs/AUDIT_SSH.md)** Type `ssh-audit <IP>:<PORT>`. See example report: **[SSH Audit Report](/docs/AUDIT_SSH.md)**
## 1.3. Preview ## 1.4. Preview
![CISS.debian.live.builder](/docs/screenshots/CISS.debian.live.builder_preview.jpeg) ![CISS.debian.live.builder](/docs/screenshots/CISS.debian.live.builder_preview.jpeg)
## 1.4. Caution. Significant information for those considering using D-I. ## 1.5. Caution. Significant information for those considering using D-I.
**The Debian Installer (d-i) will ALWAYS boot a new system.**<br> **The Debian Installer (d-i) will ALWAYS boot a new system.**<br>
@@ -138,17 +147,24 @@ This means function status of the **CISS.2025.debian.live.builder** ISO after d-
* Logging (rsyslog, journald) ✘ not active, * Logging (rsyslog, journald) ✘ not active,
* preseed control over the network is possible (but without any protection). * preseed control over the network is possible (but without any protection).
## 1.5. Versioning Schema ## 1.6. Versioning Schema
This project adheres strictly to a structured versioning scheme following the pattern x.y.z-Date. This project adheres strictly to a structured versioning scheme following the pattern x.y.z-Date.
Example: `8.03.384.2025.06.03` Example: `V8.13.008.2025.08.22`
`x.y.z` represents major (x), minor (y), and patch (z) version increments. `x.y.z` represents major (x), minor (y), and patch (z) version increments.
Date (YYYY.MM.DD) denotes the build or release date, facilitating clear tracking of incremental changes and ensuring Date (YYYY.MM.DD) denotes the build or release date, facilitating clear tracking of incremental changes and ensuring
reproducibility and traceability. reproducibility and traceability.
## 1.7. Keywords
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this Repo are to be interpreted as described in [[BCP 14](https://www.rfc-editor.org/info/bcp14)],
[[RFC2119](https://datatracker.ietf.org/doc/html/rfc2119)], [[RFC8174](https://datatracker.ietf.org/doc/html/rfc8174)] when,
and only when, they appear in all capitals, as shown here.
# 2. Features & Rationale # 2. Features & Rationale
Below is a breakdown of each hardening component, with a summary of why each is critical to your security posture. Below is a breakdown of each hardening component, with a summary of why each is critical to your security posture.
@@ -382,43 +398,61 @@ apply or revert these controls.
set -o errexit # Exit script when a command exits with non-zero status (same as "set -e"). set -o errexit # Exit script when a command exits with non-zero status (same as "set -e").
set -o errtrace # Inherit ERR traps in subshells (same as "set -E"). set -o errtrace # Inherit ERR traps in subshells (same as "set -E").
set -o functrace # Inherit DEBUG and RETURN traps in subshells (same as "set -T"). set -o functrace # Inherit DEBUG and RETURN traps in subshells (same as "set -T").
set -o ignoreeof # An interactive shell will not exit upon reading EOF.
set -o nounset # Exit script on use of an undefined variable (same as "set -u"). set -o nounset # Exit script on use of an undefined variable (same as "set -u").
set -o pipefail # Return the exit status of the last failed command in a pipeline. set -o pipefail # Return the exit status of the last failed command in a pipeline.
set -o noclobber # Prevent overwriting files via redirection (same as "set -C"). set -o noclobber # Prevent overwriting files via redirection (same as "set -C").
``` ```
* The following `shopt` options are applied at the beginning of the script (see
[Bash Manual, The Shopt Builtin](https://www.gnu.org/software/bash/manual/bash.html#The-Shopt-Builtin)):
````bash
shopt -s failglob # If set, patterns that fail to match filenames during filename expansion result in an expansion error.
shopt -s inherit_errexit # If set, command substitution inherits the value of the errexit option instead of unsetting it in the
# subshell environment.
shopt -s lastpipe # If set, and job control is not active, the shell runs the last command of a pipeline not executed in
# the background in the current shell environment.
shopt -u expand_aliases # If set, aliases are expanded as described. This option is enabled by default for interactive shells.
shopt -u dotglob # If set, Bash includes filenames beginning with a '.' in the results of filename expansion.
shopt -u extglob # If set, enable the extended pattern matching features.
shopt -u nullglob # If set, filename expansion patterns that match no files expand to nothing and are removed.
````
* **Rationale**: These options enforce strict error checking and handling, reducing silent failures and ensuring * **Rationale**: These options enforce strict error checking and handling, reducing silent failures and ensuring
predictable script behavior. predictable script behavior.
# 4. Prerequisites # 4. Prerequisites
* **Host**: Debian Bookworm or newer with `live-build` package installed. * **Host**: Debian Trixie with `live-build` and ``debootstrap`` packages installed.
* **Privileges**: Root or sudo access to execute `ciss_live_builder.sh` and related scripts. * **Privileges**: Root or sudo access to execute `ciss_live_builder.sh` and related scripts.
* **Network**: Outbound access to Debian repositories and PTB NTPsec pool. * **Network**: Outbound access to Debian repositories and PTB NTPsec pool.
# 5. Installation & Usage # 5. Installation & Usage
# 5.1. Interactive CLI / Dialog Wrapper ## 5.1. Interactive CLI / Dialog Wrapper
1. Clone the repository: 1. Clone the repository:
```bash ```bash
git clone https://git.coresecret.dev/msw/CISS.debian.live.builder.git git clone https://git.coresecret.dev/msw/CISS.debian.live.builder.git
cd CISS.debian.live.builder cd CISS.debian.live.builder
``` ```
2. Preparation: 2. Preparation:
1. Ensure you are root. 1. Ensure you are root.
2. Create the build directory `mkdir /opt/livebuild`. 2. Create the build directory `mkdir /opt/livebuild`.
3. Place your desired SSH public key in the `authorized_keys` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory. 3. Place your desired SSH public key in the `authorized_keys` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory.
4. Place your desired Password in the `password.txt` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory. 4. Place your desired Password in the `password.txt` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory.
5. Make any other changes you need to. 5. Make any other changes you need to.
3. Run the config builder script `./ciss_live_builder.sh` and the integrated `lb build` command (example): 3. Run the config builder script `./ciss_live_builder.sh` and the integrated `lb build` command (example):
```yaml ````bash
chmod 0700 ./ciss_live_builder.sh chmod 0700 ./ciss_live_builder.sh
timestamp=$(date -u +%Y-%m-%dT%H:%M:%S%z)
./ciss_live_builder.sh --architecture amd64 \ ./ciss_live_builder.sh --architecture amd64 \
--build-directory /opt/livebuild \ --build-directory /opt/livebuild \
--change-splash hexagon \ --change-splash hexagon \
--control 384 \ --control "${timestamp}" \
--debug \ --debug \
--dhcp-centurion \ --dhcp-centurion \
--jump-host 10.0.0.128 [c0de:4711:0815:4242::1] [2abc:4711:0815:4242::1]/64 \ --jump-host 10.0.0.128 [c0de:4711:0815:4242::1] [2abc:4711:0815:4242::1]/64 \
@@ -427,8 +461,10 @@ predictable script behavior.
--reionice-priority 1 2 \ --reionice-priority 1 2 \
--root-password-file /opt/gitea/CISS.debian.live.builder/password.txt \ --root-password-file /opt/gitea/CISS.debian.live.builder/password.txt \
--ssh-port 4242 \ --ssh-port 4242 \
--ssh-pubkey /opt/gitea/CISS.debian.live.builder --ssh-pubkey /opt/gitea/CISS.debian.live.builder \
``` --trixie
````
4. Locate your ISO in the `--build-directory`. 4. Locate your ISO in the `--build-directory`.
5. Boot from the ISO and login to the live image via the console, or the multi-layer secured **coresecret** SSH tunnel. 5. Boot from the ISO and login to the live image via the console, or the multi-layer secured **coresecret** SSH tunnel.
6. Type `sysp` for the final kernel hardening features. 6. Type `sysp` for the final kernel hardening features.
@@ -436,7 +472,46 @@ predictable script behavior.
8. Finally, audit your environment with `lsadt` for a comprehensive Lynis audit. 8. Finally, audit your environment with `lsadt` for a comprehensive Lynis audit.
9. Type `celp` for some shortcuts. 9. Type `celp` for some shortcuts.
# 5.2. CI/CD Gitea Runner Workflow Example ## 5.2. Make Wrapper, Quick Usage
This repo ships a thin make wrapper around ``./ciss_live_builder.sh``, so you can compose a correctly quoted command and either
preview it or run it.
1. Clone the repository:
```bash
git clone https://git.coresecret.dev/msw/CISS.debian.live.builder.git
cd CISS.debian.live.builder
```
2. Preparation:
1. Ensure you are root.
2. Create the build directory `mkdir /opt/livebuild`.
3. Place your desired SSH public key in the `authorized_keys` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory.
4. Place your desired Password in the `password.txt` file, for example, in the `/opt/gitea/CISS.debian.live.builder` directory.
5. Copy and edit the sample and set your options (no spaces around commas in lists):
````bash
cp config.mk.sample config.mk
````
````bash
BUILD_DIR=/opt/livebuild
ROOT_PASSWORD_FILE=/opt/gitea/CISS.debian.live.builder/password.txt
SSH_PORT=4242
SSH_PUBKEY=/root/.ssh
# Optional
PROVIDER_NETCUP_IPV6=2001:cdb::1
# comma-separated; IPv6 in [] is fine
JUMP_HOSTS=[2001:db8::1],[2001:db8::2]
````
3. Dry-run first (prints the exact command): ````make dry-run````
4. Execute the build: ````make live````
## 5.3. CI/CD Gitea Runner Workflow Example
1. Clone the repository: 1. Clone the repository:

View File

@@ -13,94 +13,22 @@
### Contributions so far see ./docs/CREDITS.md ### Contributions so far see ./docs/CREDITS.md
### WHY BASH? ### WHY BASH?
# Ease of installation. # Ease of installation. No compiling or installing gems, CPAN modules, pip packages, etc. Simple to use and read. Clear syntax
# No compiling or installing gems, CPAN modules, pip packages, etc. # and straightforward output interpretation. Built-in power. Pattern matching, line processing, and regular expression support
# Simple to use and read. Clear syntax and straightforward output interpretation. # are available natively, no external binaries required. Cross-platform consistency. '/bin/bash' is the default shell on most
# Built-in power. # Linux distributions, ensuring scripts run unmodified across systems. macOS compatibility. Since macOS Catalina (10.15), the
# Pattern matching, line processing, and regular expression support are available natively, # default login shell has been zsh, but bash remains available at '/bin/bash'. Windows support. You can use bash via WSL, MSYS2,
# no external binaries required. # or Cygwin on Windows systems.
# Cross-platform consistency.
# '/bin/bash' is the default shell on most Linux distributions, ensuring scripts run unmodified across systems.
# macOS compatibility.
# Since macOS Catalina (10.15), the default login shell has been zsh, but bash remains available at '/bin/bash'.
# Windows support.
# You can use bash via WSL, MSYS2, or Cygwin on Windows systems.
### Preliminary checks ### CATCH ARGUMENTS AND DECLARE BASIC VARIABLES.
[ -z "${BASH_VERSINFO[0]}" ] && { # shellcheck disable=SC2155
. ./var/global.var.sh; printf "\e[91m❌ Please make sure you are using 'bash'! Bye... \e[0m\n" >&2; exit "${ERR_UNSPPTBASH}"; } declare -girx VAR_START_TIME="${SECONDS}" # Start time of script execution.
[[ ${EUID} -ne 0 ]] && { declare -grx VAR_PARAM_COUNT="$#" # Arguments passed to script.
. ./var/global.var.sh; printf "\e[91m❌ Please make sure you are 'root'! Bye... \e[0m\n" >&2; exit "${ERR_NOT_USER_0}"; } declare -grx VAR_PARAM_STRNG="$*" # Arguments passed to script as string.
[[ $(kill -l | grep -c SIG) -eq 0 ]] && { declare -ag ARY_PARAM_ARRAY=("$@") # Arguments passed to script as an array.
. ./var/global.var.sh; printf "\e[91m❌ Please make sure you are calling the script without leading 'sh'! Bye... \e[0m\n" >&2; exit "${ERR_UNSPPTBASH}"; } declare -grx VAR_SETUP_FILE="${0##*/}" # 'ciss_debian_live_builder.sh'
[[ ${BASH_VERSINFO[0]} -lt 5 ]] && { declare -grx VAR_SETUP_PATH="$(cd "$(dirname "${0}")" && pwd)" # '/opt/git/CISS.debian.live.builder'
. ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; } declare -grx VAR_SETUP_FULL="$(cd "$(dirname "${0}")" && pwd)/${0##*/}" # '/opt/git/CISS.debian.live.builder/ciss_debian_live_builder.sh'
[[ ${BASH_VERSINFO[0]} -le 5 ]] && [[ ${BASH_VERSINFO[1]} -le 1 ]] && {
. ./var/global.var.sh; printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2; exit "${ERR_UNSPPTBASH}"; }
declare -g VAR_HANDLER_AUTOBUILD="false"
declare -gr VAR_CONTACT="security@coresecret.eu"
declare -gr VAR_VERSION="Master V8.03.768.2025.06.17"
for dir in /usr/local/sbin /usr/sbin; do case ":${PATH}:" in *":${dir}:"*) ;; *) PATH="${PATH}:${dir}" ;; esac; done; export PATH; unset dir
### VERY EARLY CHECK FOR AUTO-BUILD, CONTACT, USAGE, AND VERSION STRING
declare arg
if [[ ${#} -eq 0 ]]; then . ./lib/lib_usage.sh; usage; exit 1; fi
for arg in "$@"; do case "${arg,,}" in -a=*|--autobuild=*) declare -g VAR_HANDLER_AUTOBUILD=true; declare -g VAR_KERNEL="${arg#*=}";; esac; done
for arg in "$@"; do case "${arg,,}" in -c|--contact) printf "\e[95mCISS.debian.live.builder Contact: %s\e[0m\n" "${VAR_CONTACT}"; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -h|--help) . ./lib/lib_usage.sh; usage; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -v|--version) printf "\e[95mCISS.debian.live.builder Version: %s\e[0m\n" "${VAR_VERSION}"; exit 0;; esac; done
unset arg
### VERY EARLY CHECK FOR XTRACE DEBUGGING
if [[ $* == *" --debug "* ]]; then
. ./lib/lib_debug.sh
debugger "${@}"
else
declare -grx VAR_EARLY_DEBUG=false
fi
### Advisory Lock
exec 127>/var/lock/ciss_live_builder.lock || {
. ./var/global.var.sh
printf "\e[91m❌ Cannot open lockfile for writing! Bye... \e[0m\n" >&2
exit "${ERR_FLOCK_WRTG}"
}
if ! flock -x -n 127; then
. ./var/global.var.sh
printf "\e[91m❌ Another instance is running! Bye...\e[0m\n" >&2
exit "${ERR_FLOCK_COLL}"
fi
### Checking required packages
. ./lib/lib_check_pkgs.sh
check_pkgs
### Dialog Output for Initialization
if ! $VAR_HANDLER_AUTOBUILD; then . ./lib/lib_boot_screen.sh && boot_screen; fi
### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nUpdating variables ... \nXXX\n05\n" >&3; fi
. ./var/global.var.sh
. ./var/colors.var.sh
### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nEnabling Bash Error Handling ... \nXXX\n15\n" >&3; fi
### For all options see https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin
set -o errexit # Exit script when a command exits with non-zero status, the same as "set -e".
set -o errtrace # Any traps on ERR are inherited in a subshell environment, the same as "set -E".
set -o functrace # Any traps on DEBUG and RETURN are inherited in a subshell environment, the same as "set -T".
set -o nounset # Exit script on use of an undefined variable, the same as "set -u".
set -o pipefail # Makes pipelines return the exit status of the last command in the pipe that failed.
set -o noclobber # Prevent overwriting, the same as "set -C".
### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nAdditional initialization ... \nXXX\n25\n" >&3; fi
### Initialization
declare -gr ARGUMENTS_COUNT="$#"
declare -gr ARG_STR_ORG_INPUT="$*"
#declare -ar ARG_ARY_ORG_INPUT=("$@")
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare -grx SCRIPT_FULLPATH="$(readlink -f "${BASH_SOURCE[0]:-$0}")" declare -grx SCRIPT_FULLPATH="$(readlink -f "${BASH_SOURCE[0]:-$0}")"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
@@ -108,71 +36,200 @@ declare -grx SCRIPT_BASEPATH="$(dirname "${SCRIPT_FULLPATH}")"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare -grx VAR_WORKDIR="$(dirname "${SCRIPT_FULLPATH}")" declare -grx VAR_WORKDIR="$(dirname "${SCRIPT_FULLPATH}")"
### Updating Status of Dialog Gauge Bar ### PRELIMINARY CHECKS.
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nSourcing Libraries ... \nXXX\n50\n" >&3; fi ### No ash, dash, ksh, sh.
. ./lib/lib_arg_parser.sh # shellcheck disable=2292
. ./lib/lib_arg_priority_check.sh [ -z "${BASH_VERSINFO[0]}" ] && {
. ./lib/lib_cdi.sh . ./var/global.var.sh
. ./lib/lib_change_splash.sh printf "\e[91m❌ Please make sure you are using 'bash'! Bye... \e[0m\n" >&2
. ./lib/lib_check_dhcp.sh exit "${ERR_UNSPPTBASH}"
. ./lib/lib_check_hooks.sh }
. ./lib/lib_check_kernel.sh
. ./lib/lib_check_provider.sh ### No zsh.
. ./lib/lib_check_stats.sh [[ -n "${ZSH_VERSION:-}" ]] && {
. ./lib/lib_check_var.sh . ./var/global.var.sh
. ./lib/lib_clean_screen.sh printf "\e[91m❌ Please make sure you are using 'bash'! Bye... \e[0m\n" >&2
. ./lib/lib_clean_up.sh exit "${ERR_UNSPPTBASH}"
. ./lib/lib_copy_integrity.sh }
. ./lib/lib_hardening_root_pw.sh
. ./lib/lib_hardening_ssh.sh ### Not root.
. ./lib/lib_hardening_ultra.sh [[ ${EUID} -ne 0 ]] && {
. ./lib/lib_helper_ip.sh . ./var/global.var.sh
. ./lib/lib_lb_build_start.sh printf "\e[91m❌ Please make sure you are 'root'! Bye... \e[0m\n" >&2
. ./lib/lib_lb_config_start.sh exit "${ERR_NOT_USER_0}"
. ./lib/lib_lb_config_write.sh }
. ./lib/lib_provider_netcup.sh
. ./lib/lib_run_analysis.sh ### Check to be not called by sh.
. ./lib/lib_sanitizer.sh # shellcheck disable=2312
. ./lib/lib_trap_on_err.sh [[ $(kill -l | grep -c SIG) -eq 0 ]] && {
. ./lib/lib_trap_on_exit.sh . ./var/global.var.sh
. ./lib/lib_usage.sh printf "\e[91m❌ Please make sure you are calling the script without leading 'sh'! Bye... \e[0m\n" >&2
exit "${ERR_UNSPPTBASH}"
}
### Check to be not sourced.
[[ "${BASH_SOURCE[0]}" != "$0" ]] && {
. ./var/global.var.sh
printf "\e[91m❌ This script must be executed, not sourced. Please run '%s' directly! Bye... \e[0m\n" "$0" >&2
exit "${ERR_UNSPPTBASH}"
}
### Minimum Bash version 5.
[[ ${BASH_VERSINFO[0]} -lt 5 ]] && {
. ./var/global.var.sh
printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2
exit "${ERR_UNSPPTBASH}"
}
### Minimum Bash version 5.1.
[[ ${BASH_VERSINFO[0]} -le 5 ]] && [[ ${BASH_VERSINFO[1]} -le 1 ]] && {
. ./var/global.var.sh
printf "\e[91m❌ Minimum requirement is bash 5.1. You are using '%s'! Bye... \e[0m\n" "${BASH_VERSION}" >&2
exit "${ERR_UNSPPTBASH}"
}
### No arguments.
[[ ${#} -eq 0 ]] && {
. ./lib/lib_usage.sh
usage
exit 1
}
### SOURCING MUST SET EARLY VARIABLES, GUARD_SOURCING(), CHECK_GIT()
. ./var/early.var.sh
. ./lib/lib_guard_sourcing.sh
. ./lib/lib_source_guard.sh
source_guard "./lib/lib_git_var.sh"
### CHECK FOR CONTACT, HELP, VERSION STRING, AND XTRACE DEBUG
for arg in "$@"; do case "${arg,,}" in -c|--contact) . ./lib/lib_contact.sh; contact; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -h|--help) . ./lib/lib_usage.sh ; usage ; exit 0;; esac; done
for arg in "$@"; do case "${arg,,}" in -v|--version) . ./lib/lib_version.sh; version; exit 0;; esac; done
### ALL CHECKS DONE. READY TO START THE SCRIPT
source_guard "./var/bash.var.sh"
check_git
for arg in "$@"; do case "${arg,,}" in -d|--debug) . ./meta_sources_debug.sh; debugger "${@}";; esac; done
declare -gx VAR_SETUP="true"
### SOURCING VARIABLES
[[ "${VAR_SETUP}" == true ]] && {
source_guard "./var/color.var.sh"
source_guard "./var/global.var.sh"
}
### SOURCING LIBRARIES
[[ "${VAR_SETUP}" == true ]] && {
source_guard "./lib/lib_arg_parser.sh"
source_guard "./lib/lib_arg_priority_check.sh"
source_guard "./lib/lib_boot_screen.sh"
source_guard "./lib/lib_cdi.sh"
source_guard "./lib/lib_change_splash.sh"
source_guard "./lib/lib_check_dhcp.sh"
source_guard "./lib/lib_check_hooks.sh"
source_guard "./lib/lib_check_kernel.sh"
source_guard "./lib/lib_check_pkgs.sh"
source_guard "./lib/lib_check_provider.sh"
source_guard "./lib/lib_check_stats.sh"
source_guard "./lib/lib_check_var.sh"
source_guard "./lib/lib_clean_screen.sh"
source_guard "./lib/lib_clean_up.sh"
source_guard "./lib/lib_copy_integrity.sh"
source_guard "./lib/lib_hardening_root_pw.sh"
source_guard "./lib/lib_hardening_ssh.sh"
source_guard "./lib/lib_hardening_ultra.sh"
source_guard "./lib/lib_helper_ip.sh"
source_guard "./lib/lib_lb_build_start.sh"
source_guard "./lib/lib_lb_config_start.sh"
source_guard "./lib/lib_lb_config_write.sh"
source_guard "./lib/lib_lb_config_write_trixie.sh"
source_guard "./lib/lib_provider_netcup.sh"
source_guard "./lib/lib_run_analysis.sh"
source_guard "./lib/lib_sanitizer.sh"
source_guard "./lib/lib_trap_on_err.sh"
source_guard "./lib/lib_trap_on_exit.sh"
source_guard "./lib/lib_usage.sh"
}
### ADVISORY LOCK
exec 127>/var/lock/ciss_live_builder.lock || {
printf "\e[91m❌ Cannot open lockfile for writing! Bye... \e[0m\n" >&2
exit "${ERR_FLOCK_WRTG}"
}
if ! flock -x -n 127; then
printf "\e[91m❌ Another instance is running! Bye...\e[0m\n" >&2
exit "${ERR_FLOCK_COLL}"
fi
### CHECK FOR AUTOBUILD MODE
for arg in "$@"; do case "${arg,,}" in -a=*|--autobuild=*) declare -gx VAR_HANDLER_AUTOBUILD="true"; declare -gx VAR_KERNEL="${arg#*=}";; esac; done; unset arg
for dir in /usr/local/sbin /usr/sbin; do case ":${PATH}:" in *":${dir}:"*) ;; *) PATH="${PATH}:${dir}" ;; esac; done; export PATH; unset dir
### CHECKING REQUIRED PACKAGES
check_pkgs
### DIALOG OUTPUT FOR INITIALIZATION
if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen; fi
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nActivate traps ... \nXXX\n55\n" >&3; fi if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nInitialization done ... \nXXX\n15\n" >&3; fi
### Following the CISS Bash naming and ordering scheme
### Updating Status of Dialog Gauge Bar
if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nAdditional initialization ... \nXXX\n30\n" >&3; fi
### Updating Status of Dialog Gauge Bar
if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nActivate traps ... \nXXX\n50\n" >&3; fi
### Following the CISS Bash naming and ordering scheme:
trap 'trap_on_exit "$?"' EXIT trap 'trap_on_exit "$?"' EXIT
trap 'trap_on_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR trap 'trap_on_err "$?" "${BASH_SOURCE[0]}" "${LINENO}" "${FUNCNAME[0]:-main}" "${BASH_COMMAND}"' ERR
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nSanitizing Arguments ... \nXXX\n70\n" >&3; fi if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nSanitizing Arguments ... \nXXX\n75\n" >&3; fi
arg_check "$@" arg_check "$@"
declare -ar ARY_ARG_SANITIZED=("$@") declare -ar ARY_ARG_SANITIZED=("$@")
declare -gr VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}" declare -gr VAR_ARG_SANITIZED="${ARY_ARG_SANITIZED[*]}"
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nParsing Arguments ... \nXXX\n90\n" >&3; fi if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nParsing Arguments ... \nXXX\n90\n" >&3; fi
arg_parser "$@" arg_parser "$@"
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nFinal checks ... \nXXX\n95\n" >&3; fi if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nFinal checks ... \nXXX\n95\n" >&3; fi
clean_ip clean_ip
### Updating Status of Dialog Gauge Bar ### Updating Status of Dialog Gauge Bar
if ! $VAR_HANDLER_AUTOBUILD; then printf "XXX\nInitialization completed ... \nXXX\n100\n" >&3; sleep 1; fi if ! ${VAR_HANDLER_AUTOBUILD}; then printf "XXX\nInitialization completed ... \nXXX\n100\n" >&3; sleep 1; fi
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi ### Turn off Dialog Wrapper
if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
### MAIN Program ### MAIN Program
arg_priority_check arg_priority_check
check_stats check_stats
if ! $VAR_HANDLER_AUTOBUILD; then check_provider; fi if ! ${VAR_HANDLER_AUTOBUILD}; then check_provider; fi
if ! $VAR_HANDLER_AUTOBUILD; then check_kernel; fi if ! ${VAR_HANDLER_AUTOBUILD}; then check_kernel; fi
check_hooks check_hooks
hardening_ssh hardening_ssh
lb_config_start lb_config_start
lb_config_write
if [[ "${VAR_SUITE}" == "bookworm" ]]; then
lb_config_write
rm -f "${SCRIPT_BASEPATH}/config/hooks/live/9998_sources_list_trixie.chroot"
rm -f "${SCRIPT_BASEPATH}/config/includes.chroot/etc/login.defs"
else
lb_config_write_trixie
rm -f "${SCRIPT_BASEPATH}/config/hooks/live/0003_install_backports.chroot"
rm -f "${SCRIPT_BASEPATH}/config/hooks/live/9998_sources_list_bookworm.chroot"
fi
# shellcheck disable=SC2164
cd "${VAR_WORKDIR}" cd "${VAR_WORKDIR}"
hardening_ultra hardening_ultra
hardening_root_pw hardening_root_pw
change_splash change_splash

21
config.mk.sample Normal file
View File

@@ -0,0 +1,21 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-21; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
BUILD_DIR ?=
PROVIDER_NETCUP_IPV6 ?=
ROOT_PASSWORD_FILE ?=
SSH_PORT ?=
SSH_PUBKEY ?=
### Comma-separated jump hosts (can be empty):
JUMP_HOSTS ?=
# vim: set ft=make noet ts=8 sw=8

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail
@@ -21,7 +21,9 @@ printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "
####################################### #######################################
grep_nic_driver_modules() { grep_nic_driver_modules() {
declare _mods declare _mods
# Gather all Driver and sort unique
### Gather all Driver and sort unique.
# shellcheck disable=SC2312
readarray -t _mods < <( readarray -t _mods < <(
lspci -k \ lspci -k \
| grep -A2 -i ethernet \ | grep -A2 -i ethernet \
@@ -51,7 +53,7 @@ cat << EOF >| /etc/initramfs-tools/modules
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -67,35 +69,45 @@ cat << EOF >| /etc/initramfs-tools/modules
# raid1 # raid1
# sd_mod # sd_mod
### QEMU Bochs-compatible virtual machine support ### Main btrfs-Stack
bochs
### Device-mapper core module (required for all dm_* features)
dm_mod
### Device-mapper integrity target (provides integrity checking)
dm-integrity
### Device-mapper crypt target (provides disk encryption)
dm-crypt
### Generic AES block cipher implementation (used by dm-crypt)
aes_generic
### Generic SHA-256 hashing algorithm (used by various crypto and integrity targets)
sha256_generic
### Generic CRC32C checksum implementation (used by btrfs and other filesystems)
crc32c_generic
### Main btrfs filesystem module
btrfs btrfs
lzo
### Zstandard compression support for btrfs xor
xxhash
zstd
zstd_compress zstd_compress
### XOR parity implementation for RAID functionality ### Main ext4-Stack
xor ext4
jbd2
libcrc32c
### Main VFAT/ESP/FAT/UEFI-Stack
exfat
fat
nls_ascii
nls_cp437
nls_iso8859-1
nls_iso8859-15
nls_utf8
vfat
### Device mapper, encryption & integrity
dm_mod
dm_crypt
dm_integrity
dm_verity
### Main cryptography-Stack
aes_generic
blake2b_generic
crc32c_generic
libcrc32c
sha256_generic
sha512_generic
### QEMU Bochs-compatible virtual machine support
bochs
### RAID6 parity generation module ### RAID6 parity generation module
raid6_pq raid6_pq
@@ -103,6 +115,37 @@ raid6_pq
### Combined RAID4/5/6 support module ### Combined RAID4/5/6 support module
raid456 raid456
### SCSI/SATA-Stack
sd_mod
sr_mod
sg
ahci
libahci
ata_generic
libata
scsi_mod
scsi_dh_alua
### NVMe-Stack
nvme
nvme_core
### USB-Stack
xhci_pci
xhci_hcd
ehci_pci
ohci_pci
uhci_hcd
usb_storage
uas
### Virtual-Machines-Stack
virtio_pci
virtio_blk
virtio_scsi
virtio_rng
virtio_console
### Network Driver Host-machine ### Network Driver Host-machine
"${nic_driver}" "${nic_driver}"
@@ -116,7 +159,7 @@ cat << 'EOF' >| /etc/initramfs-tools/update-initramfs.conf
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -151,7 +194,7 @@ cat << 'EOF' >| /etc/initramfs-tools/initramfs.conf
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -256,7 +299,7 @@ cat << 'EOF' >> /etc/initramfs-tools/hooks/ciss_debian_live_builder
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail
@@ -30,7 +30,7 @@ cat << 'EOF' >| "${src}"
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -39,14 +39,13 @@ authselectmode require
server ptbtime1.ptb.de iburst nts minpoll 5 maxpoll 9 server ptbtime1.ptb.de iburst nts minpoll 5 maxpoll 9
server ptbtime2.ptb.de iburst nts minpoll 5 maxpoll 9 server ptbtime2.ptb.de iburst nts minpoll 5 maxpoll 9
server ptbtime3.ptb.de iburst nts minpoll 5 maxpoll 9 server ptbtime3.ptb.de iburst nts minpoll 5 maxpoll 9
server ptbtime4.ptb.de iburst nts noselect minpoll 5 maxpoll 9 server ptbtime4.ptb.de iburst nts minpoll 5 maxpoll 9
# server nts.netnod.se iburst nts minpoll 5 maxpoll 9 server sth1.ntp.se iburst nts minpoll 5 maxpoll 9
server ntp0.fau.de iburst nts minpoll 5 maxpoll 9
server ntp13.metas.ch iburst nts minpoll 5 maxpoll 9
# server ntp.ripe.net iburst nts minpoll 5 maxpoll 9 # server ntp.ripe.net iburst nts minpoll 5 maxpoll 9
# server ntp12.metas.ch iburst nts minpoll 5 maxpoll 9
# server ntp2.tecnico.ulisboa.pt iburst nts minpoll 5 maxpoll 9 # server ntp2.tecnico.ulisboa.pt iburst nts minpoll 5 maxpoll 9
# server time-c-b.nist.gov iburst nts minpoll 5 maxpoll 9 # server time-c-b.nist.gov iburst nts minpoll 5 maxpoll 9
server ntp0.fau.de iburst nts minpoll 5 maxpoll 9
leapsectz right/UTC leapsectz right/UTC

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -33,8 +33,8 @@ cat << 'EOF' >| /etc/fail2ban/jail.d/centurion-default.conf
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.2025.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.2025.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
[DEFAULT] [DEFAULT]

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -29,7 +29,7 @@ cat << 'EOF' >| /etc/security/pwquality.conf
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -50,13 +50,18 @@ EOF
############################################################### /etc/audit/rules.d/20-dont-audit.rules ############################################################### /etc/audit/rules.d/20-dont-audit.rules
cat << EOF >| /etc/audit/rules.d/20-dont-audit.rules cat << EOF >| /etc/audit/rules.d/20-dont-audit.rules
## This is for don't audit rules. We put these early because audit ## This is for don't audit rules. We put these early because audit
### is a first match wins system. Uncomment the rules you want. ## is a first match wins system. Uncomment the rules you want.
## Cron jobs fill the logs with stuff we normally don't want ## Cron jobs fill the logs with stuff we normally don't want
-a never,user -F subj_type=crond_t -a never,user
## This prevents chrony from overwhelming the logs ## This prevents chrony from overwhelming the logs
-a never,exit -F arch=x86_64 -S adjtimex -F auid=unset -F uid=chrony -F subj_type=chronyd_t -a never,exit -F arch=b64 -S adjtimex -F exe=/usr/sbin/chronyd
-a never,exit -F arch=b32 -S adjtimex -F exe=/usr/sbin/chronyd
## Human-attributable time changes
-a always,exit -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -F auid>=1000 -F auid!=4294967295 -k time-change
-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S clock_settime -F auid>=1000 -F auid!=4294967295 -k time-change
### This is not very interesting and wastes a lot of space if ### This is not very interesting and wastes a lot of space if
### the server is public facing ### the server is public facing
@@ -75,8 +80,8 @@ EOF
############################################################### /etc/audit/rules.d/22-ignore-chrony.rules ############################################################### /etc/audit/rules.d/22-ignore-chrony.rules
cat << EOF >| /etc/audit/rules.d/22-ignore-chrony.rules cat << EOF >| /etc/audit/rules.d/22-ignore-chrony.rules
## This rule suppresses the time-change event when chrony does time updates ## This rule suppresses the time-change event when chrony does time updates
-a never,exit -F arch=b64 -S adjtimex -F auid=unset -F uid=chrony -F subj_type=chronyd_t -a never,exit -F arch=b64 -S adjtimex -F auid=unset -F uid=_chrony
-a never,exit -F arch=b32 -S adjtimex -F auid=unset -F uid=chrony -F subj_type=chronyd_t -a never,exit -F arch=b32 -S adjtimex -F auid=unset -F uid=_chrony
EOF EOF
############################################################### /etc/audit/rules.d/30-ospp-v42-1-create-failed.rules ############################################################### /etc/audit/rules.d/30-ospp-v42-1-create-failed.rules

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail set -C -e -u -o pipefail
@@ -28,8 +28,8 @@ cat << 'EOF' >| /etc/apt/sources.list
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.2025.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.2025.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
#-----------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------#
# OFFICIAL DEBIAN REPOS # OFFICIAL DEBIAN REPOS
@@ -56,4 +56,4 @@ printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e
# sleep 1 # sleep 1
exit 0 exit 0
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -0,0 +1,126 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-12; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
set -C -e -u -o pipefail
printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 '%s' starting ... \e[0m\n" "${0}"
# sleep 1
cd /root
mkdir -p /etc/apt/apt.conf.d
cat << EOF >| /etc/apt/apt.conf.d/00-deb822-prefer
// Make APT ignore the classic /etc/apt/sources.list entirely.
Dir::Etc {
sourcelist "/dev/null"; // classic list is ignored
sourceparts "/etc/apt/sources.list.d"; // deb822 *.sources remain authoritative
}
EOF
if [[ ! -f /etc/apt/sources.list.d/trixie.sources ]]; then
cat << EOF >| /etc/apt/sources.list.d/trixie.sources
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
EOF
fi
if [[ ! -f /etc/apt/sources.list.d/trixie-security.sources ]]; then
cat << EOF >| /etc/apt/sources.list.d/trixie-security.sources
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
EOF
fi
if [[ ! -f /etc/apt/sources.list.d/trixie-updates.sources ]]; then
cat << EOF >| /etc/apt/sources.list.d/trixie-updates.sources
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
EOF
fi
if [[ ! -f /etc/apt/sources.list.d/trixie-backports.sources ]]; then
cat << EOF >| /etc/apt/sources.list.d/trixie-backports.sources
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
EOF
fi
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ '%s' applied successfully. \e[0m\n" "${0}"
# sleep 1
exit 0
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -5,7 +5,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu

View File

@@ -0,0 +1,15 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-12; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
# File: /etc/apt/sources.list
# Intentionally empty, disable classic sources.list generation (deb822 in use).
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -0,0 +1,18 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -0,0 +1,18 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -0,0 +1,18 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -0,0 +1,18 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-11; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-ExternalRef: GIT https://cendev.eu/marc.weidner/CISS.2025.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
Types: deb deb-src
URIs: https://deb.debian.org/debian/
Suites: trixie
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -0,0 +1,209 @@
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-08-12; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
#
# /etc/login.defs - Configuration control definitions for the shadow package.
#
# REQUIRED for useradd/userdel/usermod
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define MAIL_DIR and MAIL_FILE,
# MAIL_DIR takes precedence.
#
# Essentially:
# - MAIL_DIR defines the location of users mail spool files
# (for mbox use) by appending the username to MAIL_DIR as defined
# below.
# - MAIL_FILE defines the location of the users mail spool files as the
# fully-qualified filename obtained by prepending the user home
# directory before $MAIL_FILE
#
# NOTE: This is no more used for setting up users MAIL environment variable
# which is, starting from shadow 4.0.12-1 in Debian, entirely the
# job of the pam_mail PAM modules
# See default PAM configuration files provided for
# login, su, etc.
#
# This is a temporary situation: setting these variables will soon
# move to /etc/default/useradd and the variables will then be
# no more supported
MAIL_DIR /var/mail
#MAIL_FILE .mail
#
# Enable display of unknown usernames when login(1) failures are recorded.
#
# WARNING: Unknown usernames may become world readable.
# See #290803 and #298773 for details about how this could become a security
# concern
LOG_UNKFAIL_ENAB no
#
# Enable logging of successful logins
#
LOG_OK_LOGINS yes
#
# If defined, file which maps tty line to TERM environment parameter.
# Each line of the file is in a format similar to "vt100 tty01".
#
#TTYTYPE_FILE /etc/ttytype
#
# If defined, file which inhibits all the usual chatter during the login
# sequence. If a full pathname, then hushed mode will be enabled if the
# user's name or shell are found in the file. If not a full pathname, then
# hushed mode will be enabled if the file exists in the user's home directory.
#
HUSHLOGIN_FILE .hushlogin
#HUSHLOGIN_FILE /etc/hushlogins
#
# *REQUIRED* The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
#
# Terminal permissions for terminals after login(1).
# These settings are ignored for remote and other logins.
#
# TTYGROUP Login tty will be assigned this group ownership.
# TTYPERM Login tty will be set to this permission.
#
#TTYGROUP tty
TTYPERM 0600
#
# Login configuration initializations:
#
# ERASECHAR Terminal ERASE character ('\010' = backspace).
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
#
# The ERASECHAR and KILLCHAR are used only on System V machines.
#
ERASECHAR 0177
KILLCHAR 025
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
# home directories.
HOME_MODE 0700
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 16384
PASS_MIN_DAYS 1
PASS_WARN_AGE 128
#
# Min/max values for automatic uid selection in useradd(8)
#
UID_MIN 1000
UID_MAX 60000
# System accounts
#SYS_UID_MIN 101
#SYS_UID_MAX 999
# Extra per user uids
SUB_UID_MIN 100000
SUB_UID_MAX 600100000
SUB_UID_COUNT 65536
#
# Min/max values for automatic gid selection in groupadd(8)
#
GID_MIN 1000
GID_MAX 60000
# System accounts
#SYS_GID_MIN 101
#SYS_GID_MAX 999
# Extra per user group ids
SUB_GID_MIN 100000
SUB_GID_MAX 600100000
SUB_GID_COUNT 65536
#
# Max number of login(1) retries if password is bad
# This will most likely be overriden by PAM, since the default pam_unix module
# has it's own built in of 3 retries. However, this is a safe fallback in case
# you are using an authentication module that does not enforce PAM_MAXTRIES.
#
LOGIN_RETRIES 5
#
# Max time in seconds for login(1)
#
LOGIN_TIMEOUT 180
#
# Which fields may be changed by regular users using chfn(1) - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# If set to MD5, MD5-based algorithm will be used for encrypting password
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
# If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password
# If set to YESCRYPT, YESCRYPT-based algorithm will be used for encrypting password
# If set to DES, DES-based algorithm will be used for encrypting password (default)
# MD5 and DES should not be used for new hashes, see crypt(5) for recommendations.
# Overrides the MD5_CRYPT_ENAB option
#
# Note: It is recommended to use a value consistent with
# the PAM modules configuration.
#
ENCRYPT_METHOD YESCRYPT
#
# Should login be allowed if we can't cd to the home directory?
# Default is no.
#
DEFAULT_HOME yes
#
# The pwck(8) utility emits a warning for any system account with a home
# directory that does not exist. Some system accounts intentionally do
# not have a home directory. Such accounts may have this string as
# their home directory in /etc/passwd to avoid a spurious warning.
#
NONEXISTENT /nonexistent
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# If set to yes, userdel(8) will remove the user's group if it contains no more
# members, and useradd(8) will create by default a group with the name of the
# user.
#
# Other former uses of this variable are not used in PAM environments, such as
# Debian.
#
USERGROUPS_ENAB yes
#
# Added by CISS.debian.live.builder for redundance
umask 077
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
### https://www.ssh-audit.com/ ### https://www.ssh-audit.com/
### ssh -Q cipher | cipher-auth | compression | kex | kex-gss | key | key-cert | key-plain | key-sig | mac | protocol-version | sig ### ssh -Q cipher | cipher-auth | compression | kex | kex-gss | key | key-cert | key-plain | key-sig | mac | protocol-version | sig
@@ -31,12 +31,12 @@ ListenAddress ::
Port MUST_BE_CHANGED Port MUST_BE_CHANGED
AllowUsers root AllowUsers root
UseDNS no UseDNS no
### Force a key exchange after transferring 1 GiB of data or 1 hour of session time, ### Force a key exchange after transferring 1 GiB of data or 1 hour of session time, whichever occurs first.
### whichever occurs first.
RekeyLimit 1G 1h RekeyLimit 1G 1h
HostKey /etc/ssh/ssh_host_ed25519_key HostKey /etc/ssh/ssh_host_ed25519_key
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_rsa_key
TrustedUserCAKeys none
PubkeyAuthentication yes PubkeyAuthentication yes
PermitRootLogin prohibit-password PermitRootLogin prohibit-password

View File

@@ -9,7 +9,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
### Version Master V8.03.768.2025.06.17 ### Version Master V8.13.008.2025.08.22
### https://docs.kernel.org/ ### https://docs.kernel.org/
### https://github.com/a13xp0p0v/kernel-hardening-checker/ ### https://github.com/a13xp0p0v/kernel-hardening-checker/

View File

@@ -10,7 +10,7 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
declare -gr VERSION="Master V8.03.768.2025.06.17" declare -gr VERSION="Master V8.13.008.2025.08.22"
### VERY EARLY CHECK FOR DEBUGGING ### VERY EARLY CHECK FOR DEBUGGING
if [[ $* == *" --debug "* ]]; then if [[ $* == *" --debug "* ]]; then

View File

@@ -5,8 +5,8 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <cendev@coresecret.eu>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.2025.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.2025.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
Include /etc/ssh/sshd_config.d/*.conf Include /etc/ssh/sshd_config.d/*.conf
@@ -115,4 +115,4 @@ HostbasedAuthentication no
# PermitUserEnvironment no # PermitUserEnvironment no
# IgnoreUserKnownHosts no # IgnoreUserKnownHosts no
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -112,4 +112,4 @@ d-i preseed/late_command string sh /preseed/.ash/3_di_preseed_late_command.sh
# Please consider donating to my work at: https://coresecret.eu/spenden/ # Please consider donating to my work at: https://coresecret.eu/spenden/
########################################################################################### ###########################################################################################
# Written by: ./preseed_hash_generator.sh Version: Master V8.03.768.2025.06.17 at: 10:18:37.9542 # Written by: ./preseed_hash_generator.sh Version: Master V8.13.008.2025.08.22 at: 10:18:37.9542

View File

@@ -1,4 +1,3 @@
#!/bin/bash
# SPDX-Version: 3.0 # SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
@@ -10,33 +9,20 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
# ~/.bashrc: executed by bash(1) for non-login shells.
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "$(dircolors)"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' 0 ### Never use errexit/pipefail in interactive shells
set +o errexit +o pipefail
trap ' "${SHELL}" /root/.ciss/clean_logout.sh ' EXIT
source /root/.ciss/alias source /root/.ciss/alias
source /root/.ciss/f2bchk.sh source /root/.ciss/f2bchk.sh
source /root/.ciss/shortcuts source /root/.ciss/shortcuts
source /root/.ciss/scan_libwrap source /root/.ciss/scan_libwrap
### Never use 'errexit' | 'nounset' | 'pipefail' in interactive shells.
set +o errexit +o nounset +o pipefail
### History ### History
touch /tmp/.bash_history touch /tmp/.bash_history
chmod 0660 /tmp/.bash_history chmod 0660 /tmp/.bash_history
@@ -55,27 +41,20 @@ export CMAG='\033[1;95m'
export CCYA='\033[1;96m' export CCYA='\033[1;96m'
export CWHI='\033[1;97m' export CWHI='\033[1;97m'
export CRES='\033[0m' export CRES='\033[0m'
export NL='\n'
#if [[ "${UID}" -eq 0 ]]; then
# export user_color="${CRED}"
#else
# export user_color="${CGRE}"
#fi
### Define bash colorful prompt ### Define bash colorful prompt
# PS1="${user_color}\d${CRES}|${user_color}\u${CRES}@${CMAG}\h${CRES}:${CCYA}\w${CRES}/>>\$(if [[ \$? -eq 0 ]]; then echo -e \"${CGRE}\$?${CRES}\"; else echo -e \"${CRED}\$?${CRES}\"; fi)|~\$ " export PS1="\
PS1="\ \[\033[1;91m\]\d\[\033[0m\]|\
\[\033[1;91m\]\d\[\033[0m\]|\[\033[1;91m\]\u\[\033[0m\]@\ \[\033[1;91m\]\u\[\033[0m\]@\
\[\033[1;95m\]\h\[\033[0m\]:\ \[\033[1;95m\]\h\[\033[0m\]:\
\[\033[1;96m\]\w\[\033[0m\]/>>\ \[\033[1;96m\]\w\[\033[0m\]/>>\
\$(if [[ \$? -eq 0 ]]; then \ \$(if [[ \$? -eq 0 ]]; then \
# Show exit status in green if zero
echo -e \"\[\033[1;92m\]\$?\[\033[0m\]\"; \ echo -e \"\[\033[1;92m\]\$?\[\033[0m\]\"; \
else \ else \
# Show exit status in red otherwise
echo -e \"\[\033[1;91m\]\$?\[\033[0m\]\"; \ echo -e \"\[\033[1;91m\]\$?\[\033[0m\]\"; \
fi)\ fi)\
|~\$ " \$(if [[ \$(id -u) -eq 0 ]]; then echo -e \" \[\033[1;91m\]#\[\033[0m\] \"; else echo -e \" \[\033[1;92m\]\\\$\[\033[0m\] \"; fi)"
### Overwrite Protection ### Overwrite Protection
set -o noclobber set -o noclobber
@@ -83,11 +62,23 @@ alias cp="cp -iv"
alias mv='mv -iv' alias mv='mv -iv'
alias rm='rm -iv' alias rm='rm -iv'
# Welcome message after login ### Welcome message after login
printf "\n" printf "\n"
printf "\e[91m🔐 Coresecret Channel Established. \e[0m\n" printf "\e[91m🔐 Coresecret Channel Established. \e[0m\n"
printf "\e[92m✅ Welcome back\e[0m"; printf "\e[95m '%s' \e[0m" "${USER}"; printf "\e[92m! Type\e[0m"; printf "\e[95m 'celp'\e[0m"; printf "\e[92m for shortcuts. \e[0m\n" printf "\e[92m✅ Welcome back\e[0m"
printf "\e[95m '%s' \e[0m" "${USER}"; printf "\e[92m! Type\e[0m"; printf "\e[95m 'celp'\e[0m"; printf "\e[92m for shortcuts. \e[0m\n"
printf "\n" printf "\n"
printf "\n" printf "\n"
### Welcome message after login.
#printf "\n"
#printf "%s🔐 Coresecret Channel Established. %s%s" "${CRED}" "${CRES}" "${NL}"
#printf "%s✅ Welcome back %s " "${CGRE}" "${CRES}"
#printf "%s'%s'%s" "${CMAG}" "${USER}" "${CRES}"
#printf "%s! Type%s " "${CGRE}" "${CRES}"
#printf "%s'celp'%s " "${CMAG}" "${CRES}"
#printf "%sfor shortcuts. %s%s" "${CGRE}" "${CRES}" "${NL}"
#printf "\n"
#printf "\n"
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -11,16 +11,6 @@
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
########################################################################################### Alpha ########################################################################################### Alpha
#######################################
# Outputs a 16-character random printable string
# Arguments:
# None
#######################################
genstring() {
(haveged -n 1000 -f - 2>/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head
}
# Generates 1,048,576 random bytes into a timestamped file
alias genkeyfile='haveged -n 1048576 >| /tmp/secure_keyfile_$(date +%s)' alias genkeyfile='haveged -n 1048576 >| /tmp/secure_keyfile_$(date +%s)'
########################################################################################### Bash ########################################################################################### Bash
@@ -60,6 +50,7 @@ alias aptupd='apt update'
alias aptupg='apt upgrade' alias aptupg='apt upgrade'
alias apti='apt install' alias apti='apt install'
alias aptp='apt purge' alias aptp='apt purge'
alias aptpp='dpkg --purge'
alias aptr='apt remove' alias aptr='apt remove'
alias aptse='apt search' alias aptse='apt search'
alias aptsh='apt show' alias aptsh='apt show'
@@ -104,11 +95,11 @@ alias whatpurge='dpkg --get-selections | grep deinstall'
########################################################################################### Functions ########################################################################################### Functions
########################################################################################### #######################################
# Generates Secure (/dev/random) Passwords # Generates Secure (/dev/random) Passwords
# Arguments: # Arguments:
# Length of Password, e.g., 32, and --base64 in case of encoding in BASE64. # Length of Password, e.g., 32, and --base64 in case of encoding in BASE64.
########################################################################################### #######################################
# shellcheck disable=SC2317 # shellcheck disable=SC2317
genpasswd() { genpasswd() {
declare -i length=32 declare -i length=32
@@ -128,6 +119,7 @@ genpasswd() {
done done
declare passwd declare passwd
# shellcheck disable=SC2312
passwd=$(tr -dc 'A-Za-z0-9_' < /dev/random | head -c "${length}") passwd=$(tr -dc 'A-Za-z0-9_' < /dev/random | head -c "${length}")
if [[ ${usebase64} -eq 1 ]]; then if [[ ${usebase64} -eq 1 ]]; then
@@ -137,28 +129,46 @@ genpasswd() {
fi fi
} }
########################################################################################### #######################################
# Generates Secure (/dev/random) Passwords # Generates Secure (/dev/random) Passwords.
# Arguments: # Arguments:
# none # none
########################################################################################### #######################################
# shellcheck disable=SC2317 # shellcheck disable=SC2317
genpasswdhash() { genpasswdhash() {
declare salt declare salt
# shellcheck disable=SC2312
salt=$(tr -dc 'A-Za-z0-9' < /dev/random | head -c 16) salt=$(tr -dc 'A-Za-z0-9' < /dev/random | head -c 16)
mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608 mkpasswd --method=sha-512 --salt="${salt}" --rounds=8388608
} }
########################################################################################### #######################################
# Globals: Wrapper for secure curl # Outputs a 16-character random printable string
# Arguments: # Arguments:
# $1: URL from which to download a specific file # None
# $2: /path/to/file to be saved to #######################################
########################################################################################### genstring() {
# shellcheck disable=SC2317 # shellcheck disable=SC2312
(haveged -n 1000 -f - 2>/dev/null | tr -cd '[:graph:]' | fold -w 16 && echo ) | head
}
#######################################
# Wrapper for secure curl
# Globals:
# CRED
# CRES
# NL
# Arguments:
# 1: URL from which to download a specific file
# 2: /path/to/file to be saved to
# Returns:
# 0: Download successful
# 1: Usage error
# 2: Download failure
#######################################
scurl() { scurl() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: scurl <URL> <path/to/file>.\e[0m\n" >&2 printf "%s❌ Error: Usage: scurl <URL> <path/to/file>. %s%s" "${CRED}" "${CRES}" "${NL}" >&2
return 1 return 1
fi fi
declare url="$1" declare url="$1"
@@ -170,22 +180,29 @@ scurl() {
-o "${output_path}" \ -o "${output_path}" \
"${url}" "${url}"
then then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "${url}" >&2 printf "%s❌ Error: Download failed for URL: '%s'. %s%s" "${CRED}" "${url}" "${CRES}" "${NL}" >&2
return 2 return 2
fi fi
return 0 return 0
} }
########################################################################################### #######################################
# Globals: Wrapper for secure wget # Wrapper for secure wget
# Globals:
# CRED
# CRES
# NL
# Arguments: # Arguments:
# $1: URL from which to download a specific file # 1: URL from which to download a specific file
# $2: /path/to/file to be saved to # 2: /path/to/file to be saved to
########################################################################################### # Returns:
# shellcheck disable=SC2317 # 0: Download successful
# 1: Usage error
# 2: Download failure
#######################################
swget() { swget() {
if [[ $# -ne 2 ]]; then if [[ $# -ne 2 ]]; then
printf "\e[91m❌ Error: Usage: swget <URL> <path/to/file>.\e[0m\n" >&2 printf "%s❌ Error: Usage: swget <URL> <path/to/file>. %s%s" "${CRED}" "${CRES}" "${NL}" >&2
return 1 return 1
fi fi
declare url="$1" declare url="$1"
@@ -198,32 +215,57 @@ swget() {
-qO "${output_path}" \ -qO "${output_path}" \
"${url}" "${url}"
then then
printf "\e[91m❌ Error: Download failed for URL: '%s'.\e[0m\n" "$url" >&2 printf "%s❌ Error: Download failed for URL: '%s'. %s%s" "${CRED}" "${url}" "${CRES}" "${NL}" >&2
return 2 return 2
fi fi
return 0 return 0
} }
########################################################################################### #######################################
# Globals: Wrapper for loading CISS.2025 hardened Kernel Parameters # Wrapper for loading CISS.2025 hardened Kernel Parameters.
# Arguments: # Arguments:
# none # None
########################################################################################### #######################################
# shellcheck disable=SC2317
sysp() { sysp() {
sysctl -p /etc/sysctl.d/99_local.hardened sysctl -p /etc/sysctl.d/99_local.hardened
# sleep 1 # sleep 1
sysctl -a | grep -E 'kernel|vm|net' > /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log # shellcheck disable=SC2312
sysctl -a | grep -E 'kernel|vm|net' >| /var/log/sysctl_check"$(date +"%Y-%m-%d_%H:%M:%S")".log
} }
########################################################################################### #######################################
# Globals: Wrapper for tree # Wrapper for tree
# Arguments: # Arguments:
# $1: Depth of Directory Listing # 1: Depth of Directory Listing
########################################################################################### #######################################
# shellcheck disable=SC2317
trel() { trel() {
declare depth=${1:-3} declare depth=${1:-3}
tree -C -h --dirsfirst -L "${depth}" tree -C -h --dirsfirst -L "${depth}"
}
#######################################
# Wrapper for package and path to bin.
# Arguments:
# 1: Program
#######################################
whichpackage() {
if ! command -v "$1" >/dev/null 2>&1; then
printf '%s❌ Error: Program '%s' not found. %s%s' "${CRED}" "$1" "${CRES}" "${NL}" >&2
exit 1
fi
# shellcheck disable=SC2230,SC2312
dpkg -S "$(which "$1")"
}
#######################################
# Wrapper for Diskspace used in Path.
# Arguments:
# 1: Path (defaults /var)
# 2: Depth (defaults 1)
# 3: Number of Entries (defaults 16)
#######################################
whichused() {
# shellcheck disable=SC2312
du -h --max-depth="${2:-1}" "${1:-/var}" | sort -hr | head -n "${3:-16}"
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -36,4 +36,5 @@ echo -e "\e[92m All done" "\e[95m'${USER}'" "\e[92m! \e[0m"
echo -e "\e[92m Close shell with 'ENTER' to exit" "\e[95m'${HOSTNAME}'" "\e[92m! \e[0m" echo -e "\e[92m Close shell with 'ENTER' to exit" "\e[95m'${HOSTNAME}'" "\e[92m! \e[0m"
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read read
[[ -x /usr/bin/clear_console ]] && /usr/bin/clear_console -q
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -17,16 +17,18 @@
# --log=/var/log/ufw.log \ # --log=/var/log/ufw.log \
# --output=/tmp/f2bchk.log # --output=/tmp/f2bchk.log
# Globals: # Globals:
# DEFAULT_FILTER # CGRE
# DEFAULT_LOG # CRED
# DEFAULT_MODE # CRES
# NL
# Arguments: # Arguments:
# None # None
# Returns: # Returns:
# 1 In case of any errors # 0: on success
# 1: In case of any errors
####################################### #######################################
f2bchk(){ f2bchk(){
# Declare default values (readonly) ### Declare default values (readonly)
declare -r DEFAULT_MODE="matched" declare -r DEFAULT_MODE="matched"
declare -r DEFAULT_FILTER="/etc/fail2ban/filter.d/ufw.aggressive.conf" declare -r DEFAULT_FILTER="/etc/fail2ban/filter.d/ufw.aggressive.conf"
declare -r DEFAULT_LOG="/var/log/ufw.log" declare -r DEFAULT_LOG="/var/log/ufw.log"
@@ -44,7 +46,7 @@ f2bchk(){
--log=*) log="${arg#--log=}";; --log=*) log="${arg#--log=}";;
--output=*) output="${arg#--output=}";; --output=*) output="${arg#--output=}";;
*) *)
printf "\e[31m[ERROR]\e[0m Unknown argument: %s\n" "${arg}" printf "%s[ERROR]%s Unknown argument: '%s' %s" "${CRED}" "${CRES}" "${arg}" "${CRED}"
return 1 return 1
;; ;;
esac esac
@@ -56,7 +58,7 @@ f2bchk(){
matched) flag="--print-all-matched"; suffix="all.matched";; matched) flag="--print-all-matched"; suffix="all.matched";;
missed) flag="--print-all-missed"; suffix="all.missed";; missed) flag="--print-all-missed"; suffix="all.missed";;
*) *)
printf "\e[31m[ERROR]\e[0m Invalid mode: %s\n" "${mode}" printf "%s[ERROR]%s Invalid mode: '%s' %s" "${CRED}" "${CRES}" "${mode}" "${NL}"
return 1 return 1
;; ;;
esac esac
@@ -66,22 +68,30 @@ f2bchk(){
filter_name="${filter_name%.conf}" filter_name="${filter_name%.conf}"
output="/tmp/${filter_name}.${suffix}.log" output="/tmp/${filter_name}.${suffix}.log"
fi fi
if [[ ! -r "${log}" ]]; then if [[ ! -r "${log}" ]]; then
printf "\e[31m[ERROR]\e[0m Log file '%s' not found or not readable.\n" "${log}" printf "%s[ERROR]%s Log file '%s' not found or not readable. %s" "${CRED}" "${CRES}" "${log}" "${NL}"
return 1
fi
if [[ ! -r "${filter}" ]]; then
printf "\e[31m[ERROR]\e[0m Filter file '%s' not found or not readable.\n" "${filter}"
return 1 return 1
fi fi
printf "\e[33m[INFO]\e[0m Running: fail2ban-regex %s %s %s\n" "${log}" "${filter}" "${flag}" if [[ ! -r "${filter}" ]]; then
if fail2ban-regex "${log}" "${filter}" "${flag}" >| "${output}"; then printf "%s[ERROR]%s Filter file '%s' not found or not readable. %s" "${CRED}" "${CRES}" "${filter}" "${NL}"
printf "\e[32m[SUCCESS]\e[0m Saved log to %s\n" "$output"
printf "You can view it with: cat %s\n" "$output"
else
printf "\e[31m[ERROR]\e[0m fail2ban-regex execution failed.\n"
return 1 return 1
fi fi
printf "%s[INFO]%s Running: fail2ban-regex '%s %s %s' %s" "${CGRE}" "${CRES}" "${log}" "${filter}" "${flag}" "${NL}"
if fail2ban-regex "${log}" "${filter}" "${flag}" >| "${output}"; then
printf "%s[SUCCESS]%s Saved log to: '%s' %s" "${CGRE}" "${CRES}" "${output}" "${NL}"
printf "You can view it with: cat %s%s" "${output}" "${NL}"
else
printf "%s[ERROR]%s fail2ban-regex execution failed. %s" "${CRED}" "${CRES}" "${NL}"
return 1
fi
exit 0
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -6,36 +6,44 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
####################################### #######################################
# Scanner for 'libwrap' usage. # Scanner for 'libwrap' usage.
# Globals:
# CGRE
# CRES
# NL
# Arguments: # Arguments:
# None # None
####################################### #######################################
scanlw() { scanlw() {
printf "\e[92m🔍 Scanning all running processes for 'libwrap' usage ... \e[0m\n" printf "%s🔍 Scanning all running processes for 'libwrap' usage ... %s%s" "${CGRE}" "${CRES}" "${NL}"
printf "\n" printf "\n"
# Collect binaries from all running PIDs ### Collect binaries from all running PIDs.
declare pid exe_path comm user declare pid exe_path comm user
for pid in $(ps -e -o pid=); do for pid in $(ps -e -o pid=); do
exe_path=$(readlink -f "/proc/${pid}/exe" 2>/dev/null) exe_path=$(readlink -f "/proc/${pid}/exe" 2>/dev/null)
# Skip if not a regular executable ### Skip if not a regular executable.
[[ -x "${exe_path}" ]] || continue [[ -x "${exe_path}" ]] || continue
# Check if the binary is linked with libwrap ### Check if the binary is linked with libwrap.
if ldd "$exe_path" 2>/dev/null | grep -q "libwrap"; then # shellcheck disable=SC2312
comm=$(ps -p "$pid" -o comm=) if ldd "${exe_path}" 2>/dev/null | grep -q "libwrap"; then
user=$(ps -p "$pid" -o user=) comm=$(ps -p "${pid}" -o comm=)
printf "\e[92m✅ PID: %s (%s) [User: %s] is linked with 'libwrap.so'. \e[0m\n" "${pid}" "${comm}" "${user}" user=$(ps -p "${pid}" -o user=)
printf "%s✅ PID: %s (%s) [User: %s] is linked with 'libwrap.so'. %s%s" "${CGRE}" "${pid}" "${comm}" "${user}" "${CRES}" "${NL}"
fi fi
done done
printf "\n" printf "\n"
printf "\e[92m✅ Scan complete. \e[0m\n" printf "%s✅ Scan complete. %s%s" "${CGRE}" "${CRES}" "${NL}"
exit 0
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -6,7 +6,7 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
@@ -21,6 +21,7 @@ declare -ga shortcuts=(
"apti: apt install" "apti: apt install"
"aptimage: get Kernel Img" "aptimage: get Kernel Img"
"aptp: apt purge" "aptp: apt purge"
"aptpp: dpkg --purge"
"aptr: apt remove" "aptr: apt remove"
"aptse: apt search" "aptse: apt search"
"aptsh: apt show" "aptsh: apt show"
@@ -83,6 +84,8 @@ declare -ga shortcuts=(
"whatdelete: lsof | grep deleted" "whatdelete: lsof | grep deleted"
"whatimage: dpkg --list | grep linux" "whatimage: dpkg --list | grep linux"
"whatpurge: dpkg --get-selections" "whatpurge: dpkg --get-selections"
"whichpackage <PROGRAM>"
"whichused <PATH> <DEPTH> <ENTRIES>"
) )
####################################### #######################################
@@ -101,7 +104,7 @@ celp() {
declare i=0 declare i=0
declare entry declare entry
for entry in "${arr[@]}"; do for entry in "${arr[@]}"; do
# Print entry left-aligned in fixed width, colored ### Print entry left-aligned in fixed width, colored.
printf "${CMAG}%-${col_width}s${CRES}" "${entry}" printf "${CMAG}%-${col_width}s${CRES}" "${entry}"
((i++)) ((i++))
if ((i % cols == 0)); then if ((i % cols == 0)); then

View File

@@ -15,16 +15,21 @@ apt-file
apt-mirror apt-mirror
apt-show-versions apt-show-versions
apt-transport-https apt-transport-https
autoconf
automake
bash-completion bash-completion
bat bat
bc bc
bind9-dnsutils bind9-dnsutils
bsdmainutils bsdmainutils
btrfs-progs btrfs-progs
build-essential
bzip2
ca-certificates ca-certificates
clamav clamav
clamav-daemon clamav-daemon
console-setup console-setup
cpuid
cryptsetup cryptsetup
cryptsetup-nuke-password cryptsetup-nuke-password
curl curl
@@ -42,10 +47,13 @@ dirmngr
dmsetup dmsetup
dnsviz dnsviz
dosfstools dosfstools
e2fsprogs
efibootmgr efibootmgr
expect expect
fail2ban fail2ban
fdisk
figlet figlet
fio
fzf fzf
gawk gawk
gdisk gdisk
@@ -64,6 +72,9 @@ knot-dnsutils
libpam-google-authenticator libpam-google-authenticator
libpam-pwquality libpam-pwquality
libpwquality-tools libpwquality-tools
libtomcrypt-dev
libtommath-dev
libtool
linux-doc-6.12 linux-doc-6.12
linux-source linux-source
live-boot live-boot
@@ -73,16 +84,17 @@ locate
logrotate logrotate
lsb-release lsb-release
lvm2 lvm2
makedev
makepasswd makepasswd
man man
man-db man-db
manpages manpages
manpages-dev manpages-dev
mdadm
mtr mtr
musl-tools
nano nano
ncat ncat
neofetch ncdu
neovim neovim
net-tools net-tools
netselect-apt netselect-apt
@@ -101,20 +113,22 @@ rsync
rsyslog rsyslog
screen screen
shellcheck shellcheck
software-properties-common
spectre-meltdown-checker spectre-meltdown-checker
speedtest-cli speedtest-cli
squashfs-tools squashfs-tools
ssh ssh
ssl-cert ssl-cert
stress
sudo sudo
sysstat sysstat
systemd-sysv systemd-sysv
tar
tree tree
tshark tshark
ufw ufw
unattended-upgrades unattended-upgrades
unzip unzip
util-linux
virt-what virt-what
wamerican wamerican
wbritish wbritish
@@ -122,6 +136,9 @@ wfrench
wget wget
whois whois
wngerman wngerman
xfsprogs
xz-utils
yq
zip zip
zsh zsh
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. DNSSEC Status # 2. DNSSEC Status

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Haveged Audit on Netcup RS 2000 G11 # 2. Haveged Audit on Netcup RS 2000 G11

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Lynis Audit: # 2. Lynis Audit:

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. SSH Audit by ssh-audit.com # 2. SSH Audit by ssh-audit.com

View File

@@ -7,15 +7,15 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. TLS Audit: # 2. TLS Audit:
````text ````text
##################################################################### #####################################################################
testssl.sh version 3.2rc4 from https://testssl.sh/dev/ testssl.sh version 3.2.1 from https://testssl.sh/
(6746fa5 2025-04-18 13:17:50) (81471c3 2025-06-15 09:48:31)
This program is free software. Distribution and modification under This program is free software. Distribution and modification under
GPLv2 permitted. USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK! GPLv2 permitted. USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!
@@ -26,7 +26,7 @@ include_toc: true
Using OpenSSL 1.0.2-bad (Mar 28 2025) [~179 ciphers] Using OpenSSL 1.0.2-bad (Mar 28 2025) [~179 ciphers]
on kali:./bin/openssl.Linux.x86_64 on kali:./bin/openssl.Linux.x86_64
Start 2025-06-02 18:04:19 -->> 152.53.110.40:443 (coresecret.dev) <<-- Start 2025-06-23 17:58:48 -->> 152.53.110.40:443 (git.coresecret.dev) <<--
Further IP addresses: 2a0a:4cc0:80:330f:152:53:110:40 Further IP addresses: 2a0a:4cc0:80:330f:152:53:110:40
rDNS (152.53.110.40): git.coresecret.dev. rDNS (152.53.110.40): git.coresecret.dev.
@@ -193,17 +193,21 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
SHA256 76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC SHA256 76B6FFCE607D8514F676C286C7C76B90F5B7AE7D041631F2EF2F0079AF8D24AC
Common Name (CN) coresecret.dev Common Name (CN) coresecret.dev
subjectAltName (SAN) coresecret.dev git.coresecret.dev lab.coresecret.dev run.coresecret.dev www.coresecret.dev subjectAltName (SAN) coresecret.dev git.coresecret.dev lab.coresecret.dev run.coresecret.dev www.coresecret.dev
Trust (hostname) Ok via SAN and CN (same w/o SNI) Trust (hostname) Ok via SAN (same w/o SNI)
Chain of trust Ok Chain of trust Ok
EV cert (experimental) no EV cert (experimental) no
Certificate Validity (UTC) 174 >= 60 days (2025-05-28 09:56 --> 2025-11-23 22:59) Certificate Validity (UTC) 153 >= 60 days (2025-05-28 09:56 --> 2025-11-23 22:59)
ETS/"eTLS", visibility info not present ETS/"eTLS", visibility info not present
In pwnedkeys.com DB not in database In pwnedkeys.com DB not in database
Certificate Revocation List http://crl.buypass.no/crl/BPClass2CA5.crl, not revoked Certificate Revocation List http://crl.buypass.no/crl/BPClass2CA5.crl, not revoked
OCSP URI http://ocsp.buypass.com, not revoked OCSP URI http://ocsp.buypass.com, not revoked
OCSP stapling offered, not revoked OCSP stapling offered, not revoked
OCSP must staple extension -- OCSP must staple extension --
DNS CAA RR (experimental) not offered DNS CAA RR (experimental) available - please check for match with "Issuer" below
communications=error, iodef=mailto:dns@coresecret.eu, issue=;, issue=buypass.no, issue=certum.pl,
issue=letsencrypt.org;, issue=quantumsign.eu;, issue=sectigo.com, issuect=quantumsign.eu;, issuect=quantumsign.eu;,
issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuect=quantumsign.eu;,
issuect=quantumsign.eu;, issuect=quantumsign.eu;, issuemail=buypass.no, issuemail=certum.pl, issuewild=;
Certificate Transparency yes (certificate extension) Certificate Transparency yes (certificate extension)
Certificates provided 2 Certificates provided 2
Issuer Buypass Class 2 CA 5 (Buypass AS-983163327 from NO) Issuer Buypass Class 2 CA 5 (Buypass AS-983163327 from NO)
@@ -213,23 +217,27 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
Testing HTTP header response @ "/" Testing HTTP header response @ "/"
HTTP Status Code 301 Moved Permanently, redirecting to "https://git.coresecret.dev" HTTP Status Code 200 OK
HTTP clock skew 0 sec from localtime HTTP clock skew 0 sec from localtime
Strict Transport Security 730 days=63072000 s, includeSubDomains, preload Strict Transport Security 730 days=63072000 s, includeSubDomains, preload
Public Key Pinning -- Public Key Pinning --
Server banner nginx Server banner nginx
Application banner -- Application banner --
Cookie(s) (none issued at "/") -- maybe better try target URL of 30x Cookie(s) 2 issued: 2/2 secure, 2/2 HttpOnly
Security headers X-Frame-Options: SAMEORIGIN Security headers X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'none'; connect-src 'self'; font-src 'self' data:; form-action 'self';
frame-src 'self'; frame-ancestors 'self'; img-src 'self' data: https://badges.coresecret.dev
https://uml.coresecret.dev; manifest-src 'self'; media-src 'self' data: https://badges.coresecret.dev
https://uml.coresecret.dev; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; base-uri 'none';
Expect-CT: max-age=86400, enforce Expect-CT: max-age=86400, enforce
Permissions-Policy: interest-cohort=() Permissions-Policy: interest-cohort=()
Cross-Origin-Opener-Policy: same-origin Cross-Origin-Opener-Policy: cross-origin
Cross-Origin-Resource-Policy: same-origin Cross-Origin-Resource-Policy: cross-origin
Cross-Origin-Embedder-Policy: require-corp Cross-Origin-Embedder-Policy: unsafe-none
X-XSS-Protection: 1; mode=block X-XSS-Protection: 1; mode=block
Permissions-Policy: interest-cohort=() Permissions-Policy: interest-cohort=()
Referrer-Policy: same-origin Referrer-Policy: no-referrer
Cache-Control: no-cache Cache-Control: no-cache
Reverse Proxy banner -- Reverse Proxy banner --
@@ -268,6 +276,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
Android 10.0 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 10.0 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 11/12 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 11/12 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 13/14 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Android 13/14 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Android 15 (native) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Chrome 101 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Chrome 101 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Chromium 137 (Win 11) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384) Chromium 137 (Win 11) TLSv1.3 TLS_AES_256_GCM_SHA384 384 bit ECDH (P-384)
Firefox 100 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 521 bit ECDH (P-521) Firefox 100 (Win 10) TLSv1.3 TLS_AES_256_GCM_SHA384 521 bit ECDH (P-521)
@@ -308,7 +317,7 @@ Hexcode Cipher Suite Name (OpenSSL) KeyExch. Encryption Bits Ciphe
Final Score 100 Final Score 100
Overall Grade A+ Overall Grade A+
Done 2025-06-02 18:05:51 [ 95s] -->> 152.53.110.40:443 (coresecret.dev) <<-- Done 2025-06-23 18:00:16 [ 99s] -->> 152.53.110.40:443 (git.coresecret.dev) <<--
```` ````
--- ---

56
docs/BOOTPARAMS.md Normal file
View File

@@ -0,0 +1,56 @@
---
gitea: none
include_toc: true
---
# 1. CISS.debian.live.builder
**Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.13<br>
**Build**: V8.13.008.2025.08.22<br>
# 2. Hardened Kernel Boot Parameters
Below is a curated set of kernel boot parameters optimized for CISS Debian Installer. These parameters enhance security posture,
restrict legacy interfaces, enforce memory initialization, and disable speculative side channels. Each parameter is documented
with a short rationale.
* ``audit=1``: Enable kernel auditing subsystem.
* ``audit_backlog_limit=8192``: Set audit event buffer depth.
* ``cfi=kcfi``: Enable Clang's Control Flow Integrity (if supported by kernel).
* ``debugfs=off``: Disable debugfs mount, prevents access to kernel internals.
* ``efi=disable_early_pci_dma``: Prevent early PCI DMA via EFI.
* ``hardened_usercopy=1``: Harden copy_*_user() functions, mitigate heap/memcpy bugs.
* ``ia32_emulation=0``: Disable 32-bit x86 binary support on 64-bit kernel.
* ``init_on_alloc=1``: Zero-initialize heap memory on allocation.
* ``init_on_free=1``: Zero memory on free to prevent reuse data leaks.
* ``iommu=force``: Enforce use of IOMMU.
* ``iommu.strict=1``: Enable strict IOMMU mode (always remap).
* ``iommu.passthrough=0``: Prevent IOMMU passthrough (forces remapping).
* ``kfence.sample_interval=100``: Enable low-overhead heap-fence sampling.
* ``kvm.nx_huge_pages=force``: Enforce NX-bit for KVM hugepages to prevent code execution.
* ``l1d_flush=on``: Flush L1D cache on VM-entry to mitigate cache side-channels.
* ``lockdown=confidentiality``: Enable kernel lockdown in confidentiality mode.
* ``loglevel=0``: Silence all kernel messages (only EMERG shown).
* ``mitigations=auto,nosmt``: Enable all available speculative mitigations, disable SMT.
* ``mmio_stale_data=full,force,nosmt``: Mitigate MMIO stale data side channel fully.
* ``nosmt=force``: Force disable Simultaneous Multithreading (SMT/HT).
* ``oops=panic``: Trigger kernel panic on oops, ensures halt on fault.
* ``page_alloc.shuffle=1``: Randomize page allocator freelist order.
* ``page_poison=1``: Fill freed pages with poison patterns to detect UAF.
* ``panic=-1``: Prevent automatic reboot after panic.
* ``pti=on``: Enable Page Table Isolation (Meltdown mitigation).
* ``random.trust_bootloader=off``: Do not trust RNG state from bootloader.
* ``random.trust_cpu=off``: Do not trust CPU's RDRAND or RDSEED.
* ``randomize_kstack_offset=on``: Enable randomized kernel stack offset per syscall.
* ``randomize_va_space=2``: Enable full ASLR for mmap and heap.
* ``retbleed=auto,nosmt``: Mitigate Retbleed exploit path via branch prediction.
* ``rodata=on``: Enforce read-only sections for .rodata.
* ``slab_nomerge``: Disable merging of similar slab caches.
* ``vdso32=0``: Disable 32-bit vdso mapping (x86 compatibility).
* ``vsyscall=none``: Disable vsyscall legacy mapping.
---
**[no tracking | no logging | no advertising | no profiling | no bullshit](https://coresecret.eu/)**
<!-- vim: set number et ts=2 sw=2 sts=2 ai tw=128 ft=markdown -->

View File

@@ -7,29 +7,123 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Changelog # 2. Changelog
## V8.13.008.2025.08.22
* **Removed**: [0003_install_backports.chroot](../.archive/0003_install_backports.chroot)
## V8.13.004.2025.08.21
* **Added**: [makefile](../makefile)
## V8.13.002.2025.08.11
* **Added**: [lib_source_guard.sh](../lib/lib_source_guard.sh)
* **Added**: [sources.list](../config/includes.chroot/etc/apt/sources.list)
* **Added**: [trixie.sources](../config/includes.chroot/etc/apt/sources.list.d/trixie.sources)
* **Added**: [trixie-backports.sources](../config/includes.chroot/etc/apt/sources.list.d/trixie-backports.sources)
* **Added**: [trixie-security.sources](../config/includes.chroot/etc/apt/sources.list.d/trixie-security.sources)
* **Added**: [trixie-updates.sources](../config/includes.chroot/etc/apt/sources.list.d/trixie-updates.sources)
* **Added**: [login.defs](../config/includes.chroot/etc/login.defs)
* **Bugfixes**: [0001_initramfs_modules.chroot](../config/hooks/live/0001_initramfs_modules.chroot)
* **Bugfixes**: [9996_auditd.chroot](../config/hooks/live/9996_auditd.chroot)
* **Updated**: [bash.var.sh](../var/bash.var.sh)
* **Updated**: [9998_sources_list_trixie.chroot](../config/hooks/live/9998_sources_list_trixie.chroot)
* **Updated**: Support for Debian Trixie via Argument ``--trixie``
* **Updated**: Debian 12 LIVE ISO workflows to use Kernel: ``linux-image-6.1.0-37-amd64``
## V8.03.920.2025.08.07
* **Updated**: [lib_arg_parser.sh](../lib/lib_arg_parser.sh)
* **Updated**: [ciss_live_builder.sh](../ciss_live_builder.sh)
* **Updated**: [live.list.common.chroot](../config/package-lists/live.list.common.chroot)
## V8.03.912.2025.07.23
* **Updated**: [alias](../config/includes.chroot/root/.ciss/alias)
* **Updated**: [clean_logout.sh](../config/includes.chroot/root/.ciss/clean_logout.sh)
* **Updated**: [f2bchk.sh](../config/includes.chroot/root/.ciss/f2bchk.sh)
* **Updated**: [scan_libwrap](../config/includes.chroot/root/.ciss/scan_libwrap)
* **Updated**: [shortcuts](../config/includes.chroot/root/.ciss/shortcuts)
* **Updated**: [.bashrc](../config/includes.chroot/root/.bashrc)
## V8.03.896.2025.07.22
* **Added**: [.shellcheckrc](../.shellcheckrc)
* **Bugfixes**: [ciss_live_builder.sh](../ciss_live_builder.sh)
* **Updated**: [0810_chrony_setup.chroot](../config/hooks/live/0810_chrony_setup.chroot)
## V8.03.880.2025.07.19
* **Updated**: [alias](../config/includes.chroot/root/.ciss/alias)
* **Updated**: [shortcuts](../config/includes.chroot/root/.ciss/shortcuts)
* **Added**: Package ``ncdu``: [live.list.common.chroot](../config/package-lists/live.list.common.chroot)
* **Added**: ``TrustedUserCAKeys none``: [sshd_config](../config/includes.chroot/etc/ssh/sshd_config)
## V8.03.864.2025.07.15
* **Updated**: [0010_dhcp_supersede.sh](../scripts/0010_dhcp_supersede.sh)
* **Added**: [BOOTPARAMS.md](BOOTPARAMS.md)
* **Added**: Package ``cpuid``: [live.list.common.chroot](../config/package-lists/live.list.common.chroot)
## V8.03.832.2025.06.25
* **Added**: [lib_version.sh](../lib/lib_version.sh)
* **Updated**:
* [lib_contact.sh](../lib/lib_contact.sh)
* [lib_usage.sh](../lib/lib_usage.sh)
* **Packages added**:
* https://packages.debian.org/bookworm/fio
* https://packages.debian.org/bookworm/stress
* **Updated**: Timezone changed to ``Etc/UTC``
## V8.03.832.2025.06.24
* **Updated**:
* [lib_check_provider.sh](../lib/lib_check_provider.sh)
* [lib_debug_header.sh](../lib/lib_debug_header.sh)
* [lib_trap_on_err.sh](../lib/lib_trap_on_err.sh)
* **Added**: The Debian package ``bat`` will be installed to enable smooth log reading.
## V8.03.768.2025.06.23
* **Updated**: [lib_clean_up.sh](../lib/lib_clean_up.sh): Removal of Lock FD and Artifacts.
* Rearranged VARs sourcing: [early.var.sh](../var/early.var.sh)
* Rearranged DEBUG XTRACE sourcing: [meta_sources_debug.sh](../meta_sources_debug.sh)
* **Added**: Git Repo specific VARs: [lib_debug_var_git.sh](../lib/lib_git_var.sh)
* **Added**: ``guard_sourcing()``: [lib_guard_sourcing.sh](../lib/lib_guard_sourcing.sh)
to prevent the caller LIB-file from being sourced twice.
## V8.03.768.2025.06.19
* Minor main script improvements.
* **Updated**: [lib_usage.sh](../lib/lib_usage.sh) output.
## V8.03.768.2025.06.18
* Minor main script improvements.
* **Updated**: Contact section.
* Integrated third ``dns03.eddns.eu`` Centurion DNS Resolver.
## V8.03.768.2025.06.17 ## V8.03.768.2025.06.17
* Updated LIVE ISO workflows to use Kernel: ``linux-image-6.12.30+bpo-amd64`` * **Updated**: LIVE ISO workflows to use Kernel: ``linux-image-6.12.30+bpo-amd64``
## V8.03.768.2025.06.11 ## V8.03.768.2025.06.11
* Updated LIVE ISO workflows to use Kernel: ``linux-image-6.12.27+bpo-amd64`` * **Updated**: LIVE ISO workflows to use Kernel: ``linux-image-6.12.27+bpo-amd64``
## V8.03.768.2025.06.09 ## V8.03.768.2025.06.09
* Added: [f2bchk.sh](../config/includes.chroot/root/.ciss/f2bchk.sh) * **Added**: [f2bchk.sh](../config/includes.chroot/root/.ciss/f2bchk.sh)
* Updated: [alias](../config/includes.chroot/root/.ciss/alias) * **Updated**: [alias](../config/includes.chroot/root/.ciss/alias)
* ``scurl()`` * ``scurl()``
* ``swget()`` * ``swget()``
## V8.03.644.2025.06.07 ## V8.03.644.2025.06.07
* Updated workflows ISO Generators Runners. * **Updated**: Workflows ISO Generators Runners.
* Installing ``bookworm-backports`` Versions of: * Installing ``bookworm-backports`` Versions of:
* ``btrfs-progs`` * ``btrfs-progs``
* ``curl`` * ``curl``
@@ -45,12 +139,12 @@ include_toc: true
* LIVE ISO generated by workflow tested against: * LIVE ISO generated by workflow tested against:
* Netcup Root Server * Netcup Root Server
* Proxmox * Proxmox
* LIVE ISO generated by script tested against: * LIVE ISO generated by the script tested against:
* Netcup Root Server * Netcup Root Server
## V8.03.512.2025.06.06 ## V8.03.512.2025.06.06
* Updated workflows: * **Updated**: Workflows:
1. ``git stash push`` 1. ``git stash push``
2. ``git fetch origin master`` 2. ``git fetch origin master``
3. ``git merge --no-edit origin/master`` 3. ``git merge --no-edit origin/master``

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Centurion Net - Developer Branch Overview # 2. Centurion Net - Developer Branch Overview

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Coding Style # 2. Coding Style

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Contributing / participating # 2. Contributing / participating

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Credits # 2. Credits

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Download the latest PUBLIC CISS.debian.live.ISO # 2. Download the latest PUBLIC CISS.debian.live.ISO

View File

@@ -7,30 +7,27 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Usage # 2.1. Usage
````text ````text
CISS.debian.live.builder CISS.debian.live.builder
Master V8.03.768.2025.06.17 Master V8.13.008.2025.08.22
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025 (c) Marc S. Weidner, 2018 - 2025
(p) Centurion Press, 2024 - 2025 (p) Centurion Press, 2024 - 2025
https://coresecret.eu/
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
"./ciss_live_builder.sh <option>", where <option> is one or more of: "./ciss_live_builder.sh <option>", where <option> is one or more of:
--help, -h --help, -h
What you're looking at. What you're looking at.
--autobuild=*, -a=* --autobuild=*, -a=*
Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel Headless mode. Skip the dialog wrapper, provider note screen and interactive kernel
selector dialog. Change '*' to your desired Linux kernel and trim the selector dialog. Change '*' to your desired Linux kernel and trim the
'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.22+bpo-amd64'. 'linux-image-' string to select a specific kernel, e.g. '--autobuild=6.12.30+bpo-amd64'.
--architecture <STRING> one of <amd64 | arm64> --architecture <STRING> one of <amd64 | arm64>
A string reflecting the architecture of the Live System. A string reflecting the architecture of the Live System.
@@ -58,19 +55,20 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
--debug --debug
Enables debug logging for the main program routine. Detailed logging Enables debug logging for the main program routine. Detailed logging
information are written to "/tmp/ciss_live_builder_3764286.log" information are written to "/tmp/ciss_live_builder_1136873.log"
--dhcp-centurion --dhcp-centurion
If a DHCP lease is provided, the provider's nameserver will be overridden, If a DHCP lease is provided, the provider's nameserver will be overridden,
and only the hardened, privacy-focused Centurion DNS servers will be used: and only the hardened, privacy-focused Centurion DNS servers will be used:
- https://dns01.eddns.eu/ - https://dns01.eddns.eu/
- https://dns02.eddns.de/ - https://dns02.eddns.de/
- https://dns03.eddns.eu/
--jump-host <IP | IP | ... > --jump-host <IP | IP | ... >
Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access. Provide up to 10 IPs for /etc/host.allow whitelisting of SSH access.
Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation. Could be either IPv4 and / or IPv6 addresses and / or CCDIR notation.
If provided, than it MUST be a <SPACE> separated list. If provided, than it MUST be a <SPACE> separated list.
IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd/64]. IPv6 addresses MUST be encapsulated with [], e.g., [1234::abcd]/64.
--log-statistics-only --log-statistics-only
Provides statistic only after successful building a Provides statistic only after successful building a
@@ -78,25 +76,27 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
the argument "--build-directory" MUST be provided while the argument "--build-directory" MUST be provided while
all further options MUST be omitted. all further options MUST be omitted.
--provider-netcup-ipv6 --provider-netcup-ipv6
Activates IPv6 support for Netcup Root Server. One unique Activates IPv6 support for Netcup Root Server. One unique
IPv6 address MUST be provided in this case. IPv6 address MUST be provided in this case and MUST be encapsulated
with [], e.g., [1234::abcd].
--renice-priority <PRIORITY> --renice-priority <PRIORITY>
Reset the nice priority value of the script and all its children Reset the nice priority value of the script and all its children
to the desired PRIORITY. MUST be an integer (between "-19" and 19). to the desired <PRIORITY>. MUST be an integer (between "-19" and 19).
Negative (higher) values MUST be enclosed in double quotes '"'. Negative (higher) values MUST be enclosed in double quotes '"'.
--reionice-priority <CLASS> <PRIORITY> --reionice-priority <CLASS> <PRIORITY>
Reset the ionice priority value of the script and all its children Reset the ionice priority value of the script and all its children
to the desired CLASS. MUST be an integer: to the desired <CLASS>. MUST be an integer:
1: realtime 1: realtime
2: best-effort 2: best-effort
3: idle 3: idle
defaults to "2". Defaults to '2'.
PRIORITY MUST be an integer: Whereas <PRIORITY> MUST be an integer as well between:
between 0 (highest) and 7 (lowest) priority. 0: highest priority and
defaults to "4". 7: lowest priority.
Defaults to '4'.
A real-time I/O process can significantly slow down other processes A real-time I/O process can significantly slow down other processes
or even cause them to starve if it continuously requests I/O. or even cause them to starve if it continuously requests I/O.
@@ -107,9 +107,9 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
the local console. The root password is hashed with an 16 Byte '/dev/random' the local console. The root password is hashed with an 16 Byte '/dev/random'
generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately generated SALT and SHA512 Hashing function and 8,388,608 rounds. Immediately
after Hash generation all Variables containing plain password fragments are after Hash generation all Variables containing plain password fragments are
deleted. Password file SHOULD be 0400 and root:root and is deleted without deleted. Password file SHOULD be '0400' and 'root:root' and is deleted without
further prompt after password hash has been successfully generated via: further prompt after password hash has been successfully generated via:
shred -vfzu 5 -f. 'shred -vfzu 5 -f'.
No tracing of any plain text password fragment in any debug log. No tracing of any plain text password fragment in any debug log.
--ssh-port <INTEGER> --ssh-port <INTEGER>
@@ -120,17 +120,36 @@ A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Ima
Imports the SSH Public Key(s) from the FILE 'authorized_keys' of the Imports the SSH Public Key(s) from the FILE 'authorized_keys' of the
specified PATH into the Live ISO. MUST be provided. specified PATH into the Live ISO. MUST be provided.
--trixie
Create a Debian Trixie Live ISO.
--version, -v --version, -v
Displays version of ./ciss_live_builder.sh. Displays version of ./ciss_live_builder.sh.
NOTES: 💡 Notes:
- You MUST be root to run this script. 🔵 You MUST be 'root' to run this script.
Contact: 💷 Please consider donating to my work at:
- https://coresecret.eu/ 🌐 https://coresecret.eu/spenden/
- security@coresecret.eu ````
- PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD
- https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD # 2.2. Contact
````text
CISS.debian.live.builder
Master V8.13.008.2025.08.22
A lightweight Shell Wrapper for building a hardened Debian Bookworm Live ISO Image.
(c) Marc S. Weidner, 2018 - 2025
(p) Centurion Press, 2024 - 2025
💬 Contact:
🌐 https://coresecret.eu/
📧 security@coresecret.eu
🔑 PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD
🔗 https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD
💷 Please consider donating to my work at:
🌐 https://coresecret.eu/spenden/
```` ````
# 3. Booting # 3. Booting

View File

@@ -1,53 +0,0 @@
<h1 id="spdx-license-identifier-licenseref-ccla-10">SPDX-License-Identifier: LicenseRef-CCLA-1.0</h1>
<h1 id="centurion-commercial-license-agreement-10">Centurion Commercial License Agreement 1.0</h1>
<h2 id="1-general-terms"><strong>1. General Terms</strong></h2>
<p>1.1. This Subscription License Agreement ("Agreement") governs the commercial use of the Software ("Software").</p>
<p>1.2. Private and open-source usage of the Software remains governed by the EUPL-1.2 license.</p>
<p>1.3. By purchasing and using the Software under this Agreement, you ("Licensee") agree to the terms outlined below.</p>
<p>1.4. Only the English version of this Agreement shall be legally binding. Translations are provided for convenience only.</p>
<h2 id="2-grant-of-license"><strong>2. Grant of License</strong></h2>
<p>2.1. Subject-to-payment of applicable subscription fees, Licensor grants Licensee a</p>
<ul>
<li>non-exclusive,</li>
<li>non-transferable,</li>
<li>time-limited,</li>
</ul>
<p>right to use the Software for commercial purposes.</p>
<p>2.2. This license is valid only for the duration of the subscription period and under the scope defined in this Agreement.</p>
<h2 id="3-subscription-fees-and-payment"><strong>3. Subscription Fees and Payment</strong></h2>
<p>3.1. Licensee agrees to pay the subscription fees as specified in the pricing agreement. These fees are non-refundable.</p>
<p>3.2. Licensor reserves the right to modify subscription fees upon 30 days' written notice.</p>
<h2 id="4-restrictions"><strong>4. Restrictions</strong></h2>
<p>4.1. Licensee shall not:</p>
<ul>
<li>Distribute, sublicense, or resell the Software.</li>
<li>Reverse engineer, decompile, or modify the Software, except as permitted by mandatory law.</li>
</ul>
<p>4.2. The Software may not be used for illegal or unethical purposes.</p>
<h2 id="5-support-and-updates"><strong>5. Support and Updates</strong></h2>
<p>5.1. Licensor will provide updates and support for the Software during the subscription period, as detailed in the accompanying support agreement.</p>
<p>5.2. Support services may include bug fixes, patches, and minor updates. Major updates may incur additional fees.</p>
<h2 id="6-termination"><strong>6. Termination</strong></h2>
<p>6.1. This Agreement is valid for the subscription term unless terminated earlier:</p>
<ul>
<li>By Licensee, with a 30-day written notice.</li>
<li>By Licensor, in the event of Licensees breach of this Agreement.</li>
</ul>
<p>6.2. Upon termination, Licensee must cease all uses of the Software and delete all copies.</p>
<h2 id="7-liability-and-warranty"><strong>7. Liability and Warranty</strong></h2>
<p>7.1. The Software is provided "as is" without warranties of any kind, except as required by law.</p>
<p>7.2. Licensors' liability is limited to the number of subscription fees paid by Licensee in the preceding 12 months.</p>
<h2 id="8-governing-law"><strong>8. Governing Law</strong></h2>
<p>8.1. This Agreement shall be governed by the laws of Portugal.</p>
<p>8.2. Disputes arising under this Agreement shall be subject to the exclusive jurisdiction of the courts of Portugal.</p>
<h2 id="9-miscellaneous"><strong>9. Miscellaneous</strong></h2>
<p>9.1. Any changes to this Agreement must be in writing and signed by both parties.</p>
<p>9.2. If any provision of this Agreement is found invalid, the remaining provisions shall remain enforceable.</p>
<h2 id="10-contact-information">10. <strong>Contact Information</strong></h2>
<ul>
<li>Licensor : Centurion Intelligence Consulting Agency</li>
<li>Email : <a href="mailto:legal@coresecret.eu">legal@coresecret.eu</a></li>
</ul>
<hr />
<p>This Subscription License Agreement was last updated at 09.05.2025.</p>

View File

@@ -7,8 +7,8 @@ include_toc: true
**Centurion Intelligence Consulting Agency Information Security Standard**<br> **Centurion Intelligence Consulting Agency Information Security Standard**<br>
*Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br> *Debian Live Build Generator for hardened live environment and CISS Debian Installer*<br>
**Master Version**: 8.03<br> **Master Version**: 8.13<br>
**Build**: V8.03.768.2025.06.17<br> **Build**: V8.13.008.2025.08.22<br>
# 2. Resources # 2. Resources

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Argument Parser # Argument Parser
# Globals: # Globals:
@@ -62,8 +64,8 @@ arg_parser() {
;; ;;
-c | --contact) -c | --contact)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --contact MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --contact MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -72,8 +74,8 @@ arg_parser() {
;; ;;
-h | --help) -h | --help)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --help MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --help MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -82,8 +84,8 @@ arg_parser() {
;; ;;
-v | --version) -v | --version)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --version MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --version MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -96,18 +98,18 @@ arg_parser() {
declare -gx VAR_ARCHITECTURE="${2}" declare -gx VAR_ARCHITECTURE="${2}"
shift 2 shift 2
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --architecture MUST be 'amd64' or 'arm64'.\e[0m\n" >&2 printf "\e[91m❌ Error: --architecture MUST be 'amd64' or 'arm64'.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_UNCRITICAL}" exit "${ERR_ARG_MSMTCH}"
fi fi
;; ;;
--build-directory) --build-directory)
declare -gx VAR_HANDLER_BUILD_DIR="${2}" declare -gx VAR_HANDLER_BUILD_DIR="${2}"
if [[ ! "${VAR_HANDLER_BUILD_DIR}" =~ ^/ ]]; then if [[ ! "${VAR_HANDLER_BUILD_DIR}" =~ ^/ ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --build-directory MUST be an absolute path. Got: '%s'\n" "${VAR_HANDLER_BUILD_DIR}" >&2 printf "\e[91m❌ Error: --build-directory MUST be an absolute path. Got: '%s'\n" "${VAR_HANDLER_BUILD_DIR}" >&2
exit "${ERR_NOTABSPATH}" exit "${ERR_NOTABSPATH}"
fi fi
@@ -116,8 +118,8 @@ arg_parser() {
;; ;;
--cdi) --cdi)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --cdi MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --cdi MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -131,7 +133,7 @@ arg_parser() {
declare -g VAR_HANDLER_SPLASH="${2}" declare -g VAR_HANDLER_SPLASH="${2}"
shift 2 shift 2
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --change-splash MUST be 'club' or 'hexagon'.\e[0m\n" >&2 printf "\e[91m❌ Error: --change-splash MUST be 'club' or 'hexagon'.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -140,11 +142,11 @@ arg_parser() {
;; ;;
--control) --control)
if [[ -n "${2}" ]]; then if [[ -n "${2-}" ]]; then
declare -g VAR_HANDLER_ISO_COUNTER="${2}" declare -g VAR_HANDLER_ISO_COUNTER="${2}"
shift 2 shift 2
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --control MUST be provided with a Parameter.\e[0m\n" >&2 printf "\e[91m❌ Error: --control MUST be provided with a Parameter.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -153,8 +155,8 @@ arg_parser() {
;; ;;
--debug) --debug)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --debug MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --debug MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -163,8 +165,8 @@ arg_parser() {
;; ;;
--dhcp-centurion) --dhcp-centurion)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --dhcp-centurion MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --dhcp-centurion MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -174,7 +176,7 @@ arg_parser() {
;; ;;
--jump-host) --jump-host)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
declare -i count=0 declare -i count=0
shift shift
while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 10 ]]; do while [[ "${#}" -gt 0 && "${1}" != -* && count -lt 10 ]]; do
@@ -186,7 +188,7 @@ arg_parser() {
shift shift
done done
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --jump-host MUST contain one or up to ten IPs.\e[0m\n" >&2 printf "\e[91m❌ Error: --jump-host MUST contain one or up to ten IPs.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -194,8 +196,8 @@ arg_parser() {
;; ;;
--log-statistics-only) --log-statistics-only)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --log-statistics-only MUST NOT be followed by an argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --log-statistics-only MUST NOT be followed by an argument.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -205,7 +207,7 @@ arg_parser() {
;; ;;
--provider-netcup-ipv6) --provider-netcup-ipv6)
if [[ -n "${2}" && "${2}" != -* ]]; then if [[ -n "${2-}" && "${2}" != -* ]]; then
declare -i count=0 declare -i count=0
declare -g VAR_HANDLER_NETCUP_IPV6=true declare -g VAR_HANDLER_NETCUP_IPV6=true
shift shift
@@ -219,7 +221,7 @@ arg_parser() {
shift shift
done done
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --provider-netcup-ipv6 MUST provide one IPv6.\e[0m\n" >&2 printf "\e[91m❌ Error: --provider-netcup-ipv6 MUST provide one IPv6.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_ARG_MSMTCH}" exit "${ERR_ARG_MSMTCH}"
@@ -227,11 +229,11 @@ arg_parser() {
;; ;;
--renice-priority) --renice-priority)
if [[ -n ${2} && ${2} =~ ^-?[0-9]+$ && ${2} -ge -19 && ${2} -le 19 ]]; then if [[ -n ${2-} && ${2} =~ ^-?[0-9]+$ && ${2} -ge -19 && ${2} -le 19 ]]; then
declare -gi VAR_HANDLER_PRIORITY="$2" VAR_HANDLER_PRIORITY="$2"
shift 2 shift 2
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --renice-priority MUST an integer between '-19' and '19'.\e[0m\n" >&2 printf "\e[91m❌ Error: --renice-priority MUST an integer between '-19' and '19'.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -240,28 +242,28 @@ arg_parser() {
;; ;;
--reionice-priority) --reionice-priority)
if [[ -z "${2}" ]]; then if [[ -z "${2-}" ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --reionice-priority no values provided.\e[0m\n" >&2 printf "\e[91m❌ Error: --reionice-priority no values provided.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_REIONICE_P}" exit "${ERR_REIONICE_P}"
else else
if [[ "${2}" =~ ^[1-3]$ ]]; then if [[ "${2}" =~ ^[1-3]$ ]]; then
declare -gi VAR_REIONICE_CLASS="${2}" VAR_REIONICE_CLASS="${2}"
if [[ -z "${3}" ]]; then if [[ -z "${3-}" ]]; then
: :
else else
if [[ "${3}" =~ ^[0-7]$ ]]; then if [[ "${3}" =~ ^[0-7]$ ]]; then
declare -gi VAR_REIONICE_PRIORITY="${3}" VAR_REIONICE_PRIORITY="${3}"
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --reionice-priority PRIORITY MUST be an integer between '0' and '7'.\e[0m\n" >&2 printf "\e[91m❌ Error: --reionice-priority PRIORITY MUST be an integer between '0' and '7'.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_REIO_P_VAL}" exit "${ERR_REIO_P_VAL}"
fi fi
fi fi
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --reionice-priority CLASS MUST be an integer between '1' and '3'.\e[0m\n" >&2 printf "\e[91m❌ Error: --reionice-priority CLASS MUST be an integer between '1' and '3'.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR_REIO_C_VAL}" exit "${ERR_REIO_C_VAL}"
@@ -277,7 +279,7 @@ arg_parser() {
--root-password-file) --root-password-file)
declare pw_file="${2}" declare pw_file="${2}"
if [[ -z "${pw_file}" ]]; then if [[ -z "${pw_file}" ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file missing password file path argument.\e[0m\n" >&2 printf "\e[91m❌ Error: --root-password-file missing password file path argument.\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -285,7 +287,7 @@ arg_parser() {
fi fi
if [[ ! -f "${pw_file}" ]]; then if [[ ! -f "${pw_file}" ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file password file '%s' does not exist.\e[0m\n" "${pw_file}" >&2 printf "\e[91m❌ Error: --root-password-file password file '%s' does not exist.\e[0m\n" "${pw_file}" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -296,7 +298,7 @@ arg_parser() {
owner=$(stat -c '%U:%G' "${pw_file}") owner=$(stat -c '%U:%G' "${pw_file}")
if [[ "${owner}" != "root:root" ]]; then if [[ "${owner}" != "root:root" ]]; then
chown root:root "${pw_file}" || { chown root:root "${pw_file}" || {
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file failed to set owner root:root on '%s'.\e[0m\n" "${pw_file}" >&2 printf "\e[91m❌ Error: --root-password-file failed to set owner root:root on '%s'.\e[0m\n" "${pw_file}" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -308,7 +310,7 @@ arg_parser() {
perms=$(stat -c '%a' "${pw_file}") perms=$(stat -c '%a' "${pw_file}")
if [[ "${perms}" -ne 400 ]]; then if [[ "${perms}" -ne 400 ]]; then
chmod 400 "${pw_file}" || { chmod 400 "${pw_file}" || {
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file failed to set permissions 0400 on '%s'.\e[0m\n" "${pw_file}" >&2 printf "\e[91m❌ Error: --root-password-file failed to set permissions 0400 on '%s'.\e[0m\n" "${pw_file}" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -326,7 +328,7 @@ arg_parser() {
declare pw_length declare pw_length
pw_length=${#plaintext_pw} pw_length=${#plaintext_pw}
if (( pw_length < 20 || pw_length > 64 )); then if (( pw_length < 20 || pw_length > 64 )); then
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file password MUST be between 20 and 64 characters (got %d).\e[0m\n" "${pw_length}" >&2 printf "\e[91m❌ Error: --root-password-file password MUST be between 20 and 64 characters (got %d).\e[0m\n" "${pw_length}" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -336,7 +338,7 @@ arg_parser() {
[[ "${VAR_EARLY_DEBUG}" == "true" ]] && set +x # No tracing for security reasons [[ "${VAR_EARLY_DEBUG}" == "true" ]] && set +x # No tracing for security reasons
if [[ "${plaintext_pw}" == *\"* ]]; then if [[ "${plaintext_pw}" == *\"* ]]; then
[[ "${VAR_EARLY_DEBUG}" == "true" ]] && set -x # Turn on tracing again [[ "${VAR_EARLY_DEBUG}" == "true" ]] && set -x # Turn on tracing again
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --root-password-file password MUST NOT contain double quotes (\").\e[0m\n" >&2 printf "\e[91m❌ Error: --root-password-file password MUST NOT contain double quotes (\").\e[0m\n" >&2
# shellcheck disable=SC2162 # shellcheck disable=SC2162
read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
@@ -372,11 +374,11 @@ arg_parser() {
;; ;;
--ssh-port) --ssh-port)
if [[ -n "${2}" && "${2}" =~ ^-?[0-9]+$ && "${2}" -ge 1 && "${2}" -le 65535 ]]; then if [[ -n "${2-}" && "${2}" =~ ^-?[0-9]+$ && "${2}" -ge 1 && "${2}" -le 65535 ]]; then
declare -gi VAR_SSHPORT="${2}" declare -gi VAR_SSHPORT="${2}"
shift 2 shift 2
else else
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
printf "\e[91m❌ Error: --ssh-port MUST be an integer between '1' and '65535'.\e[0m\n" >&2 printf "\e[91m❌ Error: --ssh-port MUST be an integer between '1' and '65535'.\e[0m\n" >&2
read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m' read -p -r $'\e[92m✅ Press \'ENTER\' to exit the script ... \e[0m'
exit "${ERR__SSH__PORT}" exit "${ERR__SSH__PORT}"
@@ -388,8 +390,13 @@ arg_parser() {
shift 2 shift 2
;; ;;
--trixie)
declare -g VAR_SUITE="trixie"
shift 1
;;
*) *)
if ! $VAR_HANDLER_AUTOBUILD; then boot_screen_cleaner; fi if ! ${VAR_HANDLER_AUTOBUILD}; then boot_screen_cleaner; fi
usage usage
;; ;;
esac esac

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check and setup Script Priorities # Check and setup Script Priorities
# Globals: # Globals:
@@ -21,22 +23,30 @@
####################################### #######################################
arg_priority_check() { arg_priority_check() {
declare var declare var
# Check if nice PRIORITY is set and adjust nice priority. ### Check if nice PRIORITY is set and adjust nice priority.
if [[ -n ${VAR_HANDLER_PRIORITY} ]]; then if [[ "${VAR_HANDLER_PRIORITY:-}" -ne 0 ]]; then
renice "${VAR_HANDLER_PRIORITY}" -p "$$" if command -v renice >/dev/null; then
var=$(ps -o ni= -p $$) > /dev/null 2>&1 renice "${VAR_HANDLER_PRIORITY}" -p "$$"
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New renice value: %s\e[0m\n" "${var}" var=$(ps -o ni= -p $$) > /dev/null 2>&1
# sleep 1 printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New renice value: %s\e[0m\n" "${var}"
unset var # sleep 1
unset var
else
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ renice not installed (util-linux) \e[0m\n"
fi
fi fi
# Check if ionice PRIORITY is set and adjust ionice priority. ### Check if ionice PRIORITY is set and adjust ionice priority.
if [[ -n ${VAR_REIONICE_CLASS} ]]; then if [[ "${VAR_REIONICE_CLASS:-}" -ne 2 ]]; then
ionice -c"${VAR_REIONICE_CLASS:-2}" -n"${VAR_REIONICE_PRIORITY:-4}" -p "$$" if command -v ionice >/dev/null; then
var=$(ionice -p $$) > /dev/null 2>&1 ionice -c"${VAR_REIONICE_CLASS:-2}" -n"${VAR_REIONICE_PRIORITY:-4}" -p "$$"
printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New ionice value: %s\e[0m\n" "${var}" var=$(ionice -p $$) > /dev/null 2>&1
# sleep 1 printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ New ionice value: %s\e[0m\n" "${var}"
unset var # sleep 1
unset var
else
printf "\e[93m++++ ++++ ++++ ++++ ++++ ++++ ++ ❌ ionice not installed (util-linux) \e[0m\n"
fi
fi fi
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -6,12 +6,14 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Change Grub Boot Screen Splash # Set up a gauge Dialog Wrapper.
# Globals: # Globals:
# PID_BOOT_SCREEN # PID_BOOT_SCREEN
# PIPE_BOOT_SCREEN # PIPE_BOOT_SCREEN

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# CISS.2025.debian.installer GRUB and Autostart Generator # CISS.2025.debian.installer GRUB and Autostart Generator
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Change Grub Boot Screen Splash # Change Grub Boot Screen Splash
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check if hardened Centurion DNS servers are desired. # Check if hardened Centurion DNS servers are desired.
# Globals: # Globals:

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check and apply 0755 Permissions on every ./config/hooks/live/*.chroot file # Check and apply 0755 Permissions on every ./config/hooks/live/*.chroot file
# Globals: # Globals:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Kernel Image Selector # Kernel Image Selector
# Globals: # Globals:
@@ -52,7 +54,7 @@ check_kernel() {
done < "${VAR_KERNEL_SRT}" done < "${VAR_KERNEL_SRT}"
# shellcheck disable=SC2155 # shellcheck disable=SC2155
if declare -g VAR_KERNEL=$(dialog \ if declare -gx VAR_KERNEL=$(dialog \
--no-collapse \ --no-collapse \
--ascii-lines \ --ascii-lines \
--clear \ --clear \
@@ -63,9 +65,9 @@ check_kernel() {
else else
clear clear
if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then if [[ "${VAR_ARCHITECTURE}" == "amd64" ]]; then
declare -gr VAR_KERNEL="amd64" declare -gx VAR_KERNEL="amd64"
elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then elif [[ "${VAR_ARCHITECTURE}" == "arm64" ]]; then
declare -gr VAR_KERNEL="arm64" declare -gx VAR_KERNEL="arm64"
fi fi
fi fi
} }

View File

@@ -10,40 +10,46 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check for required Deb Packages to run the script. # Check for required Deb Packages to run the script.
# Arguments: # Arguments:
# None # None
####################################### #######################################
check_pkgs() { check_pkgs() {
apt-get update -y apt-get update -y > /dev/null 2>&1
if [[ -z "$(command -v batcat || true)" ]]; then
apt-get install -y --no-install-recommends bat
fi
if [[ -z "$(command -v lsb_release || true)" ]]; then if [[ -z "$(command -v lsb_release || true)" ]]; then
apt-get install --no-install-recommends lsb-release -y apt-get install -y --no-install-recommends lsb-release
fi fi
if [[ -z "$(command -v debootstrap || true)" ]]; then if [[ -z "$(command -v debootstrap || true)" ]]; then
if grep -RqsE '^[[:space:]]*deb .*backports' /etc/apt/sources.list /etc/apt/sources.list.d; then if grep -RqsE '^[[:space:]]*deb .*backports' /etc/apt/sources.list /etc/apt/sources.list.d; then
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare codename=$(lsb_release -sc) declare codename=$(lsb_release -sc)
apt-get -t "${codename}-backports" install debootstrap -y apt-get install -y -t "${codename}-backports" debootstrap
else else
apt-get install debootstrap -y apt-get install -y debootstrap
fi fi
fi fi
if [[ ! -f /usr/share/live/build/VERSION ]]; then if [[ ! -f /usr/share/live/build/VERSION ]]; then
apt-get install live-build -y apt-get install -y live-build
fi fi
if [[ -z "$(command -v dialog || true)" ]]; then if [[ "${VAR_HANDLER_AUTOBUILD}" == false ]]; then
if ! $VAR_HANDLER_AUTOBUILD; then if [[ -z "$(command -v dialog || true)" ]]; then
apt-get install --no-install-recommends dialog -y; apt-get install -y --no-install-recommends dialog
fi fi
fi fi
if [[ -z "$(command -v mkpasswd || true)" ]]; then if [[ -z "$(command -v mkpasswd || true)" ]]; then
apt-get update -y apt-get install -y --no-install-recommends whois
apt-get install --no-install-recommends whois -y
fi fi
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Notes Textbox # Notes Textbox
# Arguments: # Arguments:
@@ -17,8 +19,9 @@
####################################### #######################################
check_provider() { check_provider() {
clear clear
cat << 'EOF' >| "${VAR_NOTES}" cat << EOF >| "${VAR_NOTES}"
Build: Master V8.03.768.2025.06.17 Build : ${VAR_VERSION}
Commit : ${VAR_GIT_REL}
Press 'EXIT' to continue with CISS.debian.live.builder. Press 'EXIT' to continue with CISS.debian.live.builder.

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Check if analysis run is desired only. # Check if analysis run is desired only.
# Globals: # Globals:

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Unbound Variable Check and call Trap on ERR # Unbound Variable Check and call Trap on ERR
# Globals: # Globals:

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Terminal cleaner before Trap on Error # Terminal cleaner before Trap on Error
# Arguments: # Arguments:

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Clean Up Wrapper on Trap on 'ERR' and 'EXIT'. # Clean Up Wrapper on Trap on 'ERR' and 'EXIT'.
# Globals: # Globals:
@@ -26,6 +28,11 @@ clean_up() {
rm -f -- "${VAR_KERNEL_INF}" rm -f -- "${VAR_KERNEL_INF}"
rm -f -- "${VAR_KERNEL_SRT}" rm -f -- "${VAR_KERNEL_SRT}"
rm -f -- "${VAR_KERNEL_TMP}" rm -f -- "${VAR_KERNEL_TMP}"
# Release advisory lock on FD 127.
flock -u 127
# Close file descriptor 127.
exec 127>&-
# Remove the lockfile artifact.
rm -f /run/lock/ciss_live_builder.lock rm -f /run/lock/ciss_live_builder.lock
if (( clean_exit_code == 0 )); then rm -f -- "${LOG_ERROR}"; fi if (( clean_exit_code == 0 )); then rm -f -- "${LOG_ERROR}"; fi
if [[ -f "${VAR_WORKDIR}/hosts.allow" ]]; then if [[ -f "${VAR_WORKDIR}/hosts.allow" ]]; then

42
lib/lib_contact.sh Normal file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
#######################################
# Contact Wrapper CISS.debian.live.builder
# Globals:
# none
# Arguments:
# none
#######################################
contact() {
clear
cat << EOF
$(echo -e "\e[97m################################################################################ \e[0m")
$(echo -e "\e[92m CISS.debian.live.builder from https://git.coresecret.dev/msw \e[0m")
$(echo -e "\e[92m A lightweight Shell Wrapper for building a hardened Debian Live ISO Image. \e[0m")
$(echo -e "\e[97m (c) Marc S. Weidner, 2018 - 2025 \e[0m")
$(echo -e "\e[97m (p) Centurion Press, 2024 - 2025 \e[0m")
$(echo -e "\e[95m 💬 Contact: \e[0m")
$(echo -e "\e[95m 🌐 https://coresecret.eu/ \e[0m")
$(echo -e "\e[95m 📧 security@coresecret.eu \e[0m")
$(echo -e "\e[95m 🔑 PGP Key 2D98 07F4 1030 1776 597E BDC9 9F54 8853 35A3 C9AD \e[0m")
$(echo -e "\e[95m 🔗 https://keys.openpgp.org/vks/v1/by-fingerprint/2D9807F410301776597EBDC99F54885335A3C9AD \e[0m")
$(echo -e "\e[95m 💷 Please consider donating to my work at: \e[0m")
$(echo -e "\e[95m 🌐 https://coresecret.eu/spenden/ \e[0m")
$(echo -e "\e[97m################################################################################ \e[0m")
EOF
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Copy Initial ISO aide Database into Host System # Copy Initial ISO aide Database into Host System
# Globals: # Globals:

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Debugger Wrapper for xtrace to Debug Log # Debugger Wrapper for xtrace to Debug Log
# Globals: # Globals:
@@ -34,22 +36,18 @@ debugger() {
declare -p "${var}" 2>/dev/null declare -p "${var}" 2>/dev/null
done < <(compgen -v | grep -Ev '^(BASH|_).*') done < <(compgen -v | grep -Ev '^(BASH|_).*')
} | sort >| "${VAR_DUMP_VARS_INITIAL}" } | sort >| "${VAR_DUMP_VARS_INITIAL}"
declare -grx VAR_EARLY_DEBUG=true declare -gx VAR_EARLY_DEBUG="true"
### Set a verbose PS4 prompt including timestamp, source, line, exit status, and function name ### Set a verbose PS4 prompt including timestamp, source, line, exit status, and function name
declare -grx PS4='\e[97m+\e[0m\e[96m$(date +%T.%4N)\e[0m\e[97m:\e[0m\e[92m[${BASH_SOURCE[0]}:${LINENO}]\e[0m\e[97m|\e[0m\e[93m${?}\e[0m\e[97m>\e[0m\e[95m${FUNCNAME[0]:-main}()\e[0m \e[97m>>\e[0m ' declare -grx PS4='\e[97m+\e[0m\e[96m$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)\e[0m\e[97m:\e[0m\e[92m[${BASH_SOURCE[0]}:${LINENO}]\e[0m\e[97m|\e[0m\e[93m${?}\e[0m\e[97m>\e[0m\e[95m${FUNCNAME[0]:-main}()\e[0m \e[97m>>\e[0m '
# shellcheck disable=SC2155 # shellcheck disable=SC2155
declare -grx LOG_DEBUG="/tmp/ciss_live_builder_$$_debug.log" declare -grx LOG_DEBUG="/tmp/ciss_live_builder_$$_debug.log"
### Generates empty LOG_DEBUG declare -grx LOG_VAR="/tmp/ciss_live_builder_$$_var.log"
### Generates empty LOG_DEBUG and LOG_VAR
touch "${LOG_DEBUG}" && chmod 0600 "${LOG_DEBUG}" touch "${LOG_DEBUG}" && chmod 0600 "${LOG_DEBUG}"
touch "${LOG_VAR}" && chmod 0600 "${LOG_VAR}"
### Open file descriptor 42 for writing to the debug log ### Open file descriptor 42 for writing to the debug log
exec 42>| "${LOG_DEBUG}" exec 42>| "${LOG_DEBUG}"
### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables ### Write Debug Log Header https://www.gnu.org/software/bash/manual/html_node/Bash-Variables
### Determine the directory of this script, even if sourced.
# shellcheck disable=SC2155
declare script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
### Source the header from the same directory. This ensures we always load lib/lib_debug_header.sh correctly.
. "${script_dir}/lib_debug_header.sh"
# shellcheck disable=SC2119
debug_header "$#" "$*" debug_header "$#" "$*"
### Tell Bash to send xtrace output to FD 42 ### Tell Bash to send xtrace output to FD 42
export BASH_XTRACEFD=42 export BASH_XTRACEFD=42

View File

@@ -6,10 +6,12 @@
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev> # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE # SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.hardened.installer framework. # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Generates Debug Log Header # Generates Debug Log Header
# Globals: # Globals:
@@ -31,26 +33,29 @@ debug_header() {
declare -r arg_counter="$1" declare -r arg_counter="$1"
declare -r arg_string="$2" declare -r arg_string="$2"
{ {
printf "\e[97m+\e[0m\e[92m%s: CISS.debian.live.builder Debug Log \e[0m\n" "$(date +%T.%4N)" printf "\e[97m+\e[0m\e[92m%s: CISS.debian.live.builder Debug Log \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)"
printf "\e[97m+\e[0m\e[92m%s: Version : %s \e[0m\n" "$(date +%T.%4N)" "${VAR_VERSION}" printf "\e[97m+\e[0m\e[92m%s: Git Commit : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_GIT_REL}"
printf "\e[97m+\e[0m\e[92m%s: Epoch : %s \e[0m\n" "$(date +%T.%4N)" "${EPOCHREALTIME}" printf "\e[97m+\e[0m\e[92m%s: Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_VERSION}"
printf "\e[97m+\e[0m\e[92m%s: Bash MAJ Release : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[0]}" printf "\e[97m+\e[0m\e[92m%s: Epoch : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${EPOCHREALTIME}"
printf "\e[97m+\e[0m\e[92m%s: Bash MIN Version : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[1]}" printf "\e[97m+\e[0m\e[92m%s: Bash MAJ Release : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[0]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Patch Level : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[2]}" printf "\e[97m+\e[0m\e[92m%s: Bash MIN Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[1]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Build Version : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[3]}" printf "\e[97m+\e[0m\e[92m%s: Bash Patch Level : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[2]}"
printf "\e[97m+\e[0m\e[92m%s: Bash Release : %s \e[0m\n" "$(date +%T.%4N)" "${BASH_VERSINFO[4]}" printf "\e[97m+\e[0m\e[92m%s: Bash Build Version : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[3]}"
printf "\e[97m+\e[0m\e[92m%s: UID : %s \e[0m\n" "$(date +%T.%4N)" "${UID}" printf "\e[97m+\e[0m\e[92m%s: Bash Release : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASH_VERSINFO[4]}"
printf "\e[97m+\e[0m\e[92m%s: EUID : %s \e[0m\n" "$(date +%T.%4N)" "${EUID}" printf "\e[97m+\e[0m\e[92m%s: UID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${UID}"
printf "\e[97m+\e[0m\e[92m%s: Hostname : %s \e[0m\n" "$(date +%T.%4N)" "${HOSTNAME}" printf "\e[97m+\e[0m\e[92m%s: EUID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${EUID}"
printf "\e[97m+\e[0m\e[92m%s: Script name : %s \e[0m\n" "$(date +%T.%4N)" "$0" printf "\e[97m+\e[0m\e[92m%s: Hostname : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${HOSTNAME}"
printf "\e[97m+\e[0m\e[92m%s: Argument Counter : %s \e[0m\n" "$(date +%T.%4N)" "${arg_counter}" printf "\e[97m+\e[0m\e[92m%s: Hostsystem : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${VAR_SYSTEM}"
printf "\e[97m+\e[0m\e[92m%s: Argument String Original : %s \e[0m\n" "$(date +%T.%4N)" "${arg_string}" printf "\e[97m+\e[0m\e[92m%s: Script name : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$0"
printf "\e[97m+\e[0m\e[92m%s: Script PID : %s \e[0m\n" "$(date +%T.%4N)" "$$" printf "\e[97m+\e[0m\e[92m%s: Argument Counter : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${arg_counter}"
printf "\e[97m+\e[0m\e[92m%s: Script Parent PID : %s \e[0m\n" "$(date +%T.%4N)" "${PPID}" printf "\e[97m+\e[0m\e[92m%s: Argument String Original : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${arg_string}"
printf "\e[97m+\e[0m\e[92m%s: Script work DIR : %s \e[0m\n" "$(date +%T.%4N)" "${PWD}" printf "\e[97m+\e[0m\e[92m%s: Script PID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$$"
printf "\e[97m+\e[0m\e[92m%s: Shell Options : %s \e[0m\n" "$(date +%T.%4N)" "$-" printf "\e[97m+\e[0m\e[92m%s: Script Parent PID : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${PPID}"
printf "\e[97m+\e[0m\e[92m%s: BASHOPTS : %s \e[0m\n" "$(date +%T.%4N)" "${BASHOPTS}" printf "\e[97m+\e[0m\e[92m%s: Script work DIR : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${PWD}"
printf "\e[97m+\e[0m\e[92m%s: ==== Debug Log Begin ==== : \e[0m\n" "$(date +%T.%4N)" printf "\e[97m+\e[0m\e[92m%s: Shell Options : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "$-"
printf "\e[97m+\e[0m\e[92m%s: BASHOPTS : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${BASHOPTS}"
printf "\e[97m+\e[0m\e[92m%s: SHELLOPTS : %s \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)" "${SHELLOPTS}"
printf "\e[97m+\e[0m\e[92m%s: ==== Debug Log Begin ==== : \e[0m\n" "$(date -u +%Y-%m-%dT%H:%M:%S.%4N%z)"
} >&42 } >&42
} }
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

36
lib/lib_git_var.sh Normal file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
#######################################
# Define Git Repo related Variables.
# Globals:
# VAR_GIT_HEAD
# VAR_GIT_REL
# VAR_GIT_REL_DATE
# VAR_GIT_REL_DATE_TIME
# VAR_GIT_REL_SHORT
# Arguments:
# None
#######################################
check_git() {
# shellcheck disable=SC2155
if git rev-parse --is-inside-work-tree &>/dev/null; then
declare -grx VAR_GIT_REL="$(git log --format='%h %ci' -1 2>/dev/null | awk '{ print $1" "$2" "$3 }')"
declare -grx VAR_GIT_REL_SHORT="${VAR_GIT_REL%% *}"
declare -grx VAR_GIT_REL_DATE_TIME="${VAR_GIT_REL#* }"
declare -grx VAR_GIT_REL_DATE="${VAR_GIT_REL_DATE_TIME% *}"
declare -grx VAR_GIT_HEAD_FULL="$(git rev-parse HEAD)"
fi
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

42
lib/lib_guard_sourcing.sh Normal file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
# SPDX-Version: 3.0
# SPDX-CreationInfo: 2025-05-05; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
# SPDX-FileType: SOURCE
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
# SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu
#######################################
# Prevent the caller LIB-file from being sourced twice.
# Derive a safe guard-variable name from the caller script filename.
# Globals:
# BASH_SOURCE
# Arguments:
# $1: Explicitly provided Argument: filename of the caller LIB. (Better let the guard_sourcing() determine dynamically.)
# Returns:
# 0: Returns '0' in both cases as they are intended to be successful.
#######################################
guard_sourcing() {
### Determine the caller script (the library being sourced).
declare var_src="${1:-${BASH_SOURCE[1]}}"
### Strip path, keep only the filename
declare var_file_name="${var_src##*/}"
### Sanitize to valid var name.
declare var_safe_name="${var_file_name//[^a-zA-Z0-9_]/_}"
### Build guard-variable name.
declare var_guard_var="_${var_safe_name}_LOADED"
### If already loaded, abort sourcing
if [[ -n "${!var_guard_var:-}" ]]; then
return 0
fi
### Mark as loaded (readonly + exported)
declare -grx "${var_guard_var}"=1
return 0
}
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh

View File

@@ -10,6 +10,8 @@
# SPDX-PackageName: CISS.debian.live.builder # SPDX-PackageName: CISS.debian.live.builder
# SPDX-Security-Contact: security@coresecret.eu # SPDX-Security-Contact: security@coresecret.eu
guard_sourcing
####################################### #######################################
# Updates the Live ISO to use root password authentication for local console access. # Updates the Live ISO to use root password authentication for local console access.
# Globals: # Globals:

Some files were not shown because too many files have changed in this diff Show More