diff options
author | root <root@vps-18a7a2b7.vps.ovh.ca> | 2024-02-09 23:18:34 -0500 |
---|---|---|
committer | root <root@vps-18a7a2b7.vps.ovh.ca> | 2024-02-09 23:22:44 -0500 |
commit | 3caec789c3a6b1f6a6223def2469cdd2118f3c51 (patch) | |
tree | fd42bea16f875cc12c683fe35ebabb4004c4e287 | |
parent | 76cb8ce78ebacdc4ae7482763675a34b5cb85a3a (diff) |
enable-default-ssl.bash
logs into remote debian machine and fixes https on default-ssl to use
LetsEncrypt. In one command!
-rwxr-xr-x | enable-default-ssl.bash | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/enable-default-ssl.bash b/enable-default-ssl.bash new file mode 100755 index 0000000..351b42a --- /dev/null +++ b/enable-default-ssl.bash | |||
@@ -0,0 +1,281 @@ | |||
1 | #!/bin/bash | ||
2 | template() | ||
3 | { | ||
4 | base64 -d <<. | ||
5 | PE1Eb21haW4ge1NJVEVfTkFNRX0+CiAgICAgICAgTURDb250YWN0RW1haWwgd2VibWFzdGVyQHtT | ||
6 | SVRFX05BTUV9CiAgICAgICAgTURDZXJ0aWZpY2F0ZUFncmVlbWVudCBhY2NlcHRlZAogICAgICAg | ||
7 | IE1EUmVxdWlyZUh0dHBzIHRlbXBvcmFyeQo8L01Eb21haW4+CjxWaXJ0dWFsSG9zdCAqOjQ0Mz4K | ||
8 | CVNlcnZlck5hbWUge1NJVEVfTkFNRX0KCVNlcnZlckFkbWluIHdlYm1hc3RlckB7U0lURV9OQU1F | ||
9 | fQoKCURvY3VtZW50Um9vdCAvdmFyL3d3dy9odG1sCgoJIyBBdmFpbGFibGUgbG9nbGV2ZWxzOiB0 | ||
10 | cmFjZTgsIC4uLiwgdHJhY2UxLCBkZWJ1ZywgaW5mbywgbm90aWNlLCB3YXJuLAoJIyBlcnJvciwg | ||
11 | Y3JpdCwgYWxlcnQsIGVtZXJnLgoJIyBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGNvbmZpZ3VyZSB0 | ||
12 | aGUgbG9nbGV2ZWwgZm9yIHBhcnRpY3VsYXIKCSMgbW9kdWxlcywgZS5nLgoJI0xvZ0xldmVsIGlu | ||
13 | Zm8gc3NsOndhcm4KCglFcnJvckxvZyAkXHtBUEFDSEVfTE9HX0RJUlx9L2Vycm9yLmxvZwoJQ3Vz | ||
14 | dG9tTG9nICRce0FQQUNIRV9MT0dfRElSXH0vYWNjZXNzLmxvZyBjb21iaW5lZAoKCSMgRm9yIG1v | ||
15 | c3QgY29uZmlndXJhdGlvbiBmaWxlcyBmcm9tIGNvbmYtYXZhaWxhYmxlLywgd2hpY2ggYXJlCgkj | ||
16 | IGVuYWJsZWQgb3IgZGlzYWJsZWQgYXQgYSBnbG9iYWwgbGV2ZWwsIGl0IGlzIHBvc3NpYmxlIHRv | ||
17 | CgkjIGluY2x1ZGUgYSBsaW5lIGZvciBvbmx5IG9uZSBwYXJ0aWN1bGFyIHZpcnR1YWwgaG9zdC4g | ||
18 | Rm9yIGV4YW1wbGUgdGhlCgkjIGZvbGxvd2luZyBsaW5lIGVuYWJsZXMgdGhlIENHSSBjb25maWd1 | ||
19 | cmF0aW9uIGZvciB0aGlzIGhvc3Qgb25seQoJIyBhZnRlciBpdCBoYXMgYmVlbiBnbG9iYWxseSBk | ||
20 | aXNhYmxlZCB3aXRoICJhMmRpc2NvbmYiLgoJI0luY2x1ZGUgY29uZi1hdmFpbGFibGUvc2VydmUt | ||
21 | Y2dpLWJpbi5jb25mCgoJIyAgIFNTTCBFbmdpbmUgU3dpdGNoOgoJIyAgIEVuYWJsZS9EaXNhYmxl | ||
22 | IFNTTCBmb3IgdGhpcyB2aXJ0dWFsIGhvc3QuCglTU0xFbmdpbmUgb24KCgkjICAgQSBzZWxmLXNp | ||
23 | Z25lZCAoc25ha2VvaWwpIGNlcnRpZmljYXRlIGNhbiBiZSBjcmVhdGVkIGJ5IGluc3RhbGxpbmcK | ||
24 | CSMgICB0aGUgc3NsLWNlcnQgcGFja2FnZS4gU2VlCgkjICAgL3Vzci9zaGFyZS9kb2MvYXBhY2hl | ||
25 | Mi9SRUFETUUuRGViaWFuLmd6IGZvciBtb3JlIGluZm8uCgkjICAgSWYgYm90aCBrZXkgYW5kIGNl | ||
26 | cnRpZmljYXRlIGFyZSBzdG9yZWQgaW4gdGhlIHNhbWUgZmlsZSwgb25seSB0aGUKCSMgICBTU0xD | ||
27 | ZXJ0aWZpY2F0ZUZpbGUgZGlyZWN0aXZlIGlzIG5lZWRlZC4KCSNTU0xDZXJ0aWZpY2F0ZUZpbGUg | ||
28 | ICAgICAvZXRjL3NzbC9jZXJ0cy9zc2wtY2VydC1zbmFrZW9pbC5wZW0KCSNTU0xDZXJ0aWZpY2F0 | ||
29 | ZUtleUZpbGUgICAvZXRjL3NzbC9wcml2YXRlL3NzbC1jZXJ0LXNuYWtlb2lsLmtleQoKCSMgICBT | ||
30 | ZXJ2ZXIgQ2VydGlmaWNhdGUgQ2hhaW46CgkjICAgUG9pbnQgU1NMQ2VydGlmaWNhdGVDaGFpbkZp | ||
31 | bGUgYXQgYSBmaWxlIGNvbnRhaW5pbmcgdGhlCgkjICAgY29uY2F0ZW5hdGlvbiBvZiBQRU0gZW5j | ||
32 | b2RlZCBDQSBjZXJ0aWZpY2F0ZXMgd2hpY2ggZm9ybSB0aGUKCSMgICBjZXJ0aWZpY2F0ZSBjaGFp | ||
33 | biBmb3IgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZS4gQWx0ZXJuYXRpdmVseQoJIyAgIHRoZSByZWZl | ||
34 | cmVuY2VkIGZpbGUgY2FuIGJlIHRoZSBzYW1lIGFzIFNTTENlcnRpZmljYXRlRmlsZQoJIyAgIHdo | ||
35 | ZW4gdGhlIENBIGNlcnRpZmljYXRlcyBhcmUgZGlyZWN0bHkgYXBwZW5kZWQgdG8gdGhlIHNlcnZl | ||
36 | cgoJIyAgIGNlcnRpZmljYXRlIGZvciBjb252aW5pZW5jZS4KCSNTU0xDZXJ0aWZpY2F0ZUNoYWlu | ||
37 | RmlsZSAvZXRjL2FwYWNoZTIvc3NsLmNydC9zZXJ2ZXItY2EuY3J0CgoJIyAgIENlcnRpZmljYXRl | ||
38 | IEF1dGhvcml0eSAoQ0EpOgoJIyAgIFNldCB0aGUgQ0EgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9u | ||
39 | IHBhdGggd2hlcmUgdG8gZmluZCBDQQoJIyAgIGNlcnRpZmljYXRlcyBmb3IgY2xpZW50IGF1dGhl | ||
40 | bnRpY2F0aW9uIG9yIGFsdGVybmF0aXZlbHkgb25lCgkjICAgaHVnZSBmaWxlIGNvbnRhaW5pbmcg | ||
41 | YWxsIG9mIHRoZW0gKGZpbGUgbXVzdCBiZSBQRU0gZW5jb2RlZCkKCSMgICBOb3RlOiBJbnNpZGUg | ||
42 | U1NMQ0FDZXJ0aWZpY2F0ZVBhdGggeW91IG5lZWQgaGFzaCBzeW1saW5rcwoJIwkgIHRvIHBvaW50 | ||
43 | IHRvIHRoZSBjZXJ0aWZpY2F0ZSBmaWxlcy4gVXNlIHRoZSBwcm92aWRlZAoJIwkgIE1ha2VmaWxl | ||
44 | IHRvIHVwZGF0ZSB0aGUgaGFzaCBzeW1saW5rcyBhZnRlciBjaGFuZ2VzLgoJI1NTTENBQ2VydGlm | ||
45 | aWNhdGVQYXRoIC9ldGMvc3NsL2NlcnRzLwoJI1NTTENBQ2VydGlmaWNhdGVGaWxlIC9ldGMvYXBh | ||
46 | Y2hlMi9zc2wuY3J0L2NhLWJ1bmRsZS5jcnQKCgkjICAgQ2VydGlmaWNhdGUgUmV2b2NhdGlvbiBM | ||
47 | aXN0cyAoQ1JMKToKCSMgICBTZXQgdGhlIENBIHJldm9jYXRpb24gcGF0aCB3aGVyZSB0byBmaW5k | ||
48 | IENBIENSTHMgZm9yIGNsaWVudAoJIyAgIGF1dGhlbnRpY2F0aW9uIG9yIGFsdGVybmF0aXZlbHkg | ||
49 | b25lIGh1Z2UgZmlsZSBjb250YWluaW5nIGFsbAoJIyAgIG9mIHRoZW0gKGZpbGUgbXVzdCBiZSBQ | ||
50 | RU0gZW5jb2RlZCkKCSMgICBOb3RlOiBJbnNpZGUgU1NMQ0FSZXZvY2F0aW9uUGF0aCB5b3UgbmVl | ||
51 | ZCBoYXNoIHN5bWxpbmtzCgkjCSAgdG8gcG9pbnQgdG8gdGhlIGNlcnRpZmljYXRlIGZpbGVzLiBV | ||
52 | c2UgdGhlIHByb3ZpZGVkCgkjCSAgTWFrZWZpbGUgdG8gdXBkYXRlIHRoZSBoYXNoIHN5bWxpbmtz | ||
53 | IGFmdGVyIGNoYW5nZXMuCgkjU1NMQ0FSZXZvY2F0aW9uUGF0aCAvZXRjL2FwYWNoZTIvc3NsLmNy | ||
54 | bC8KCSNTU0xDQVJldm9jYXRpb25GaWxlIC9ldGMvYXBhY2hlMi9zc2wuY3JsL2NhLWJ1bmRsZS5j | ||
55 | cmwKCgkjICAgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIChUeXBlKToKCSMgICBDbGllbnQgY2VydGlm | ||
56 | aWNhdGUgdmVyaWZpY2F0aW9uIHR5cGUgYW5kIGRlcHRoLiAgVHlwZXMgYXJlCgkjICAgbm9uZSwg | ||
57 | b3B0aW9uYWwsIHJlcXVpcmUgYW5kIG9wdGlvbmFsX25vX2NhLiAgRGVwdGggaXMgYQoJIyAgIG51 | ||
58 | bWJlciB3aGljaCBzcGVjaWZpZXMgaG93IGRlZXBseSB0byB2ZXJpZnkgdGhlIGNlcnRpZmljYXRl | ||
59 | CgkjICAgaXNzdWVyIGNoYWluIGJlZm9yZSBkZWNpZGluZyB0aGUgY2VydGlmaWNhdGUgaXMgbm90 | ||
60 | IHZhbGlkLgoJI1NTTFZlcmlmeUNsaWVudCByZXF1aXJlCgkjU1NMVmVyaWZ5RGVwdGggIDEwCgoJ | ||
61 | IyAgIFNTTCBFbmdpbmUgT3B0aW9uczoKCSMgICBTZXQgdmFyaW91cyBvcHRpb25zIGZvciB0aGUg | ||
62 | U1NMIGVuZ2luZS4KCSMgICBvIEZha2VCYXNpY0F1dGg6CgkjICAgIFRyYW5zbGF0ZSB0aGUgY2xp | ||
63 | ZW50IFguNTA5IGludG8gYSBCYXNpYyBBdXRob3Jpc2F0aW9uLiAgVGhpcyBtZWFucyB0aGF0Cgkj | ||
64 | ICAgIHRoZSBzdGFuZGFyZCBBdXRoL0RCTUF1dGggbWV0aG9kcyBjYW4gYmUgdXNlZCBmb3IgYWNj | ||
65 | ZXNzIGNvbnRyb2wuICBUaGUKCSMgICAgdXNlciBuYW1lIGlzIHRoZSBgb25lIGxpbmUnIHZlcnNp | ||
66 | b24gb2YgdGhlIGNsaWVudCdzIFguNTA5IGNlcnRpZmljYXRlLgoJIyAgICBOb3RlIHRoYXQgbm8g | ||
67 | cGFzc3dvcmQgaXMgb2J0YWluZWQgZnJvbSB0aGUgdXNlci4gRXZlcnkgZW50cnkgaW4gdGhlIHVz | ||
68 | ZXIKCSMgICAgZmlsZSBuZWVkcyB0aGlzIHBhc3N3b3JkOiBgeHhqMzFaTVRaemtWQScuCgkjICAg | ||
69 | byBFeHBvcnRDZXJ0RGF0YToKCSMgICAgVGhpcyBleHBvcnRzIHR3byBhZGRpdGlvbmFsIGVudmly | ||
70 | b25tZW50IHZhcmlhYmxlczogU1NMX0NMSUVOVF9DRVJUIGFuZAoJIyAgICBTU0xfU0VSVkVSX0NF | ||
71 | UlQuIFRoZXNlIGNvbnRhaW4gdGhlIFBFTS1lbmNvZGVkIGNlcnRpZmljYXRlcyBvZiB0aGUKCSMg | ||
72 | ICAgc2VydmVyIChhbHdheXMgZXhpc3RpbmcpIGFuZCB0aGUgY2xpZW50IChvbmx5IGV4aXN0aW5n | ||
73 | IHdoZW4gY2xpZW50CgkjICAgIGF1dGhlbnRpY2F0aW9uIGlzIHVzZWQpLiBUaGlzIGNhbiBiZSB1 | ||
74 | c2VkIHRvIGltcG9ydCB0aGUgY2VydGlmaWNhdGVzCgkjICAgIGludG8gQ0dJIHNjcmlwdHMuCgkj | ||
75 | ICAgbyBTdGRFbnZWYXJzOgoJIyAgICBUaGlzIGV4cG9ydHMgdGhlIHN0YW5kYXJkIFNTTC9UTFMg | ||
76 | cmVsYXRlZCBgU1NMXyonIGVudmlyb25tZW50IHZhcmlhYmxlcy4KCSMgICAgUGVyIGRlZmF1bHQg | ||
77 | dGhpcyBleHBvcnRhdGlvbiBpcyBzd2l0Y2hlZCBvZmYgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMs | ||
78 | CgkjICAgIGJlY2F1c2UgdGhlIGV4dHJhY3Rpb24gc3RlcCBpcyBhbiBleHBlbnNpdmUgb3BlcmF0 | ||
79 | aW9uIGFuZCBpcyB1c3VhbGx5CgkjICAgIHVzZWxlc3MgZm9yIHNlcnZpbmcgc3RhdGljIGNvbnRl | ||
80 | bnQuIFNvIG9uZSB1c3VhbGx5IGVuYWJsZXMgdGhlCgkjICAgIGV4cG9ydGF0aW9uIGZvciBDR0kg | ||
81 | YW5kIFNTSSByZXF1ZXN0cyBvbmx5LgoJIyAgIG8gT3B0UmVuZWdvdGlhdGU6CgkjICAgIFRoaXMg | ||
82 | ZW5hYmxlcyBvcHRpbWl6ZWQgU1NMIGNvbm5lY3Rpb24gcmVuZWdvdGlhdGlvbiBoYW5kbGluZyB3 | ||
83 | aGVuIFNTTAoJIyAgICBkaXJlY3RpdmVzIGFyZSB1c2VkIGluIHBlci1kaXJlY3RvcnkgY29udGV4 | ||
84 | dC4KCSNTU0xPcHRpb25zICtGYWtlQmFzaWNBdXRoICtFeHBvcnRDZXJ0RGF0YSArU3RyaWN0UmVx | ||
85 | dWlyZQoJPEZpbGVzTWF0Y2ggIlxcLig/OmNnaXxzaHRtbHxwaHRtbHxwaHApJCI+CgkJU1NMT3B0 | ||
86 | aW9ucyArU3RkRW52VmFycwoJPC9GaWxlc01hdGNoPgoJPERpcmVjdG9yeSAvdXNyL2xpYi9jZ2kt | ||
87 | YmluPgoJCVNTTE9wdGlvbnMgK1N0ZEVudlZhcnMKCTwvRGlyZWN0b3J5PgoKCSMgICBTU0wgUHJv | ||
88 | dG9jb2wgQWRqdXN0bWVudHM6CgkjICAgVGhlIHNhZmUgYW5kIGRlZmF1bHQgYnV0IHN0aWxsIFNT | ||
89 | TC9UTFMgc3RhbmRhcmQgY29tcGxpYW50IHNodXRkb3duCgkjICAgYXBwcm9hY2ggaXMgdGhhdCBt | ||
90 | b2Rfc3NsIHNlbmRzIHRoZSBjbG9zZSBub3RpZnkgYWxlcnQgYnV0IGRvZXNuJ3Qgd2FpdCBmb3IK | ||
91 | CSMgICB0aGUgY2xvc2Ugbm90aWZ5IGFsZXJ0IGZyb20gY2xpZW50LiBXaGVuIHlvdSBuZWVkIGEg | ||
92 | ZGlmZmVyZW50IHNodXRkb3duCgkjICAgYXBwcm9hY2ggeW91IGNhbiB1c2Ugb25lIG9mIHRoZSBm | ||
93 | b2xsb3dpbmcgdmFyaWFibGVzOgoJIyAgIG8gc3NsLXVuY2xlYW4tc2h1dGRvd246CgkjICAgIFRo | ||
94 | aXMgZm9yY2VzIGFuIHVuY2xlYW4gc2h1dGRvd24gd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9z | ||
95 | ZWQsIGkuZS4gbm8KCSMgICAgU1NMIGNsb3NlIG5vdGlmeSBhbGVydCBpcyBzZW5kIG9yIGFsbG93 | ||
96 | ZWQgdG8gcmVjZWl2ZWQuICBUaGlzIHZpb2xhdGVzCgkjICAgIHRoZSBTU0wvVExTIHN0YW5kYXJk | ||
97 | IGJ1dCBpcyBuZWVkZWQgZm9yIHNvbWUgYnJhaW4tZGVhZCBicm93c2Vycy4gVXNlCgkjICAgIHRo | ||
98 | aXMgd2hlbiB5b3UgcmVjZWl2ZSBJL08gZXJyb3JzIGJlY2F1c2Ugb2YgdGhlIHN0YW5kYXJkIGFw | ||
99 | cHJvYWNoIHdoZXJlCgkjICAgIG1vZF9zc2wgc2VuZHMgdGhlIGNsb3NlIG5vdGlmeSBhbGVydC4K | ||
100 | CSMgICBvIHNzbC1hY2N1cmF0ZS1zaHV0ZG93bjoKCSMgICAgVGhpcyBmb3JjZXMgYW4gYWNjdXJh | ||
101 | dGUgc2h1dGRvd24gd2hlbiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQsIGkuZS4gYQoJIyAgICBT | ||
102 | U0wgY2xvc2Ugbm90aWZ5IGFsZXJ0IGlzIHNlbmQgYW5kIG1vZF9zc2wgd2FpdHMgZm9yIHRoZSBj | ||
103 | bG9zZSBub3RpZnkKCSMgICAgYWxlcnQgb2YgdGhlIGNsaWVudC4gVGhpcyBpcyAxMDAlIFNTTC9U | ||
104 | TFMgc3RhbmRhcmQgY29tcGxpYW50LCBidXQgaW4KCSMgICAgcHJhY3RpY2Ugb2Z0ZW4gY2F1c2Vz | ||
105 | IGhhbmdpbmcgY29ubmVjdGlvbnMgd2l0aCBicmFpbi1kZWFkIGJyb3dzZXJzLiBVc2UKCSMgICAg | ||
106 | dGhpcyBvbmx5IGZvciBicm93c2VycyB3aGVyZSB5b3Uga25vdyB0aGF0IHRoZWlyIFNTTCBpbXBs | ||
107 | ZW1lbnRhdGlvbgoJIyAgICB3b3JrcyBjb3JyZWN0bHkuCgkjICAgTm90aWNlOiBNb3N0IHByb2Js | ||
108 | ZW1zIG9mIGJyb2tlbiBjbGllbnRzIGFyZSBhbHNvIHJlbGF0ZWQgdG8gdGhlIEhUVFAKCSMgICBr | ||
109 | ZWVwLWFsaXZlIGZhY2lsaXR5LCBzbyB5b3UgdXN1YWxseSBhZGRpdGlvbmFsbHkgd2FudCB0byBk | ||
110 | aXNhYmxlCgkjICAga2VlcC1hbGl2ZSBmb3IgdGhvc2UgY2xpZW50cywgdG9vLiBVc2UgdmFyaWFi | ||
111 | bGUgIm5va2VlcGFsaXZlIiBmb3IgdGhpcy4KCSMgICBTaW1pbGFybHksIG9uZSBoYXMgdG8gZm9y | ||
112 | Y2Ugc29tZSBjbGllbnRzIHRvIHVzZSBIVFRQLzEuMCB0byB3b3JrYXJvdW5kCgkjICAgdGhlaXIg | ||
113 | YnJva2VuIEhUVFAvMS4xIGltcGxlbWVudGF0aW9uLiBVc2UgdmFyaWFibGVzICJkb3duZ3JhZGUt | ||
114 | MS4wIiBhbmQKCSMgICAiZm9yY2UtcmVzcG9uc2UtMS4wIiBmb3IgdGhpcy4KCSMgQnJvd3Nlck1h | ||
115 | dGNoICJNU0lFIFsyLTZdIiBcXAoJIwlub2tlZXBhbGl2ZSBzc2wtdW5jbGVhbi1zaHV0ZG93biBc | ||
116 | XAoJIwlkb3duZ3JhZGUtMS4wIGZvcmNlLXJlc3BvbnNlLTEuMAoKPC9WaXJ0dWFsSG9zdD4K | ||
117 | . | ||
118 | } | ||
119 | |||
120 | dependencies_source() | ||
121 | { | ||
122 | base64 -d <<. | ||
123 | IyEvYmluL2ZhbHNlCgppbnRlcnNlY3Rpb24oKQp7CiAgICAgICAgY29tbSAtMTIgIiRAIgp9Cgpk | ||
124 | aWZmZXJlbmNlKCkKewogICAgICAgIGNvbW0gLTIzICIkQCIKfQoKZXh0cmFjdF93b3JkcygpCnsK | ||
125 | ICAgICAgICBncmVwIC1vIC1FICdcYlx3K1xiJyB8IHNvcnQgLXUKfQoKaW1tZWRpYXRlX2RlcGVu | ||
126 | ZGVuY2llczEoKQp7CiAgICAgICAgaW50ZXJzZWN0aW9uIFwKICAgICAgICAgICAgICAgIDwoY29t | ||
127 | cGdlbiAtQSBmdW5jdGlvbiB8IHNvcnQgLXUpIFwKICAgICAgICAgICAgICAgIDwoZGVjbGFyZSAt | ||
128 | ZiAiJDEiIHwgZXh0cmFjdF93b3JkcykKfQoKaW1tZWRpYXRlX2RlcGVuZGVuY2llcygpCnsKICAg | ||
129 | ICAgICAoZm9yIGYKICAgICAgICBkbwogICAgICAgICAgICAgICAgaW1tZWRpYXRlX2RlcGVuZGVu | ||
130 | Y2llczEgIiRmIgogICAgICAgIGRvbmUpIHwgc29ydCAtdQp9CgpyZWN1cnNpdmVfZGVwZW5kZW5j | ||
131 | aWVzKCkKewogICAgICAgIGxvY2FsIHNlZW49KCkKICAgICAgICB3aGlsZSBbICQjIC1ndCAwIF0K | ||
132 | ICAgICAgICBkbwogICAgICAgICAgICAgICAgc2Vlbis9KCIkQCIpCiAgICAgICAgICAgICAgICBz | ||
133 | ZXQgLS0gJChkaWZmZXJlbmNlIDwoaW1tZWRpYXRlX2RlcGVuZGVuY2llcyAiJEAiKSBcCiAgICAg | ||
134 | ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwocHJpbnRmICclc1xuJyAiJHtzZWVuW0Bd | ||
135 | fSIgfCBzb3J0IC11KSkKICAgICAgICBkb25lCiAgICAgICAgcHJpbnRmICclc1xuJyAiJHtzZWVu | ||
136 | W0BdfSIKfQo= | ||
137 | . | ||
138 | } | ||
139 | |||
140 | bash_rpc_source() | ||
141 | { | ||
142 | base64 -d <<. | ||
143 | IyEvYmluL2ZhbHNlCgpjb21tYW5kIC12IHJlY3Vyc2l2ZV9kZXBlbmRlbmNpZXMgPi9kZXYvbnVs | ||
144 | bCB8fApzb3VyY2UgZGVwZW5kZW5jaWVzLmJhc2gKCiMgSW5wdXQ6ICRCQVNIX1JQQ19SRU1PVEVf | ||
145 | REVTVCAtIGhvc3RuYW1lIHBhc3NlZCB0byBzc2ggKHVzZXMgc3NoIGhvc3QgYWxpYXNlcykKIyBJ | ||
146 | bnB1dDogJEJBU0hfUlBDX1NTSF9PUFRJT05TIC0gb3B0aW9uIGFyZ3VtZW50cyBwYXNzZWQgdG8g | ||
147 | c3NoICh0aGV5IHByZWNlZGUgJy0tJykKIyBJbnB1dDogIiQwIiAtIGNvcGllZCB0byByZW1vdGUg | ||
148 | YmFzaCdzICQwCiMgSW5wdXQ6ICQxIC0gc2hlbGwgc2NyaXB0IHNvdXJjZSBjb2RlIHRvIHJ1biBp | ||
149 | biB0aGUgcmVtb3RlIGJhc2gKIyBJbnB1dDogJDIsICQzLCAuLi4gLSBjb21tYW5kIGxpbmUgYXJn | ||
150 | dW1lbnRzIHBhc3NlZCB0byB0aGUgcmVtb3RlIGJhc2ggYXMgJDEsICQyLCAuLi4KIyBJbnB1dDog | ||
151 | c3RkaW4sIHN0ZG91dCwgc3RkZXJyOiBwYXNzZWQgdG8gdGhlIHJlbW90ZSBiYXNoIG92ZXIgc3No | ||
152 | CiMgSW5wdXQ6ICIkU0hFTEwiIC0gcmVtb3RlIHNoZWxsIHRvIGxhdW5jaCAoYmV0dGVyIGJlIGJh | ||
153 | c2gpCl9fYmFzaHJwY19fcmVtb3RlX3J1bl9zY3JpcHQoKQp7CiAgICAgICAgbG9jYWwgc2NyaXB0 | ||
154 | PSIkMSIKICAgICAgICBzaGlmdAogICAgICAgIEJBU0hfUlBDX1NIRUxMX09QVElPTlM9KC0tbm9y | ||
155 | YyAtLW5vcHJvZmlsZSkKICAgICAgICAjIHByaW50ZiAnREVCVUc6PCVzPlxuJyAiJHtCQVNIX1JQ | ||
156 | Q19TU0hfT1BUSU9OU1tAXX0iID4mMgogICAgICAgIGV4ZWMgc3NoIFwKICAgICAgICAgICAgICAg | ||
157 | ICIke0JBU0hfUlBDX1NTSF9PUFRJT05TW0BdfSIgLS0gXAogICAgICAgICAgICAgICAgIiR7QkFT | ||
158 | SF9SUENfUkVNT1RFX0RFU1Q6LWxvY2FsaG9zdH0iIFwKICAgICAgICAgICAgICAgICIkU0hFTEwi | ||
159 | ICIke0JBU0hfUlBDX1NIRUxMX09QVElPTlNbQF19IiBcCiAgICAgICAgICAgICAgICAtYyAiJHtz | ||
160 | Y3JpcHRAUX0iIFwKICAgICAgICAgICAgICAgICIkMCIgIiR7QEBRfSIKfQoKd2l0aF9zc2hfb3B0 | ||
161 | aW9ucygpIHsgX19iYXNocnBjX193aXRoX3NzaF9vcHRpb25zICIkQCI7IH0KX19iYXNocnBjX193 | ||
162 | aXRoX3NzaF9vcHRpb25zKCkKewogICAgICAgIGxvY2FsIC1hIEJBU0hfUlBDX1NTSF9PUFRJT05T | ||
163 | CiAgICAgICAgd2hpbGUgWyAiJDEiICE9ICctLScgXQogICAgICAgIGRvCiAgICAgICAgICAgICAg | ||
164 | ICBpZiBbICQjIC1ndCAwIF0KICAgICAgICAgICAgICAgIHRoZW4KICAgICAgICAgICAgICAgICAg | ||
165 | ICAgICAgQkFTSF9SUENfU1NIX09QVElPTlMrPSgiJDEiKQogICAgICAgICAgICAgICAgICAgICAg | ||
166 | ICBzaGlmdAogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAg | ||
167 | ZmkKICAgICAgICAgICAgICAgID4mMiBwcmludGYgJyVzOiBFcnJvcjogJXNcbicgIiQwIiBcCid3 | ||
168 | aXRoX3NzaF9vcHRpb25zKCk6IGV4cGVjdGVkIGFyZ3VtZW50ICItLSIgbm90IGZvdW5kJwogICAg | ||
169 | ICAgICAgICAgICAgZXhpdCAxCiAgICAgICAgZG9uZQogICAgICAgIHNoaWZ0CiAgICAgICAgIiRA | ||
170 | Igp9Cgp3aXRoX3NzaF9vcHRpb24oKSB7IF9fYmFzaHJwY19fd2l0aF9zc2hfb3B0aW9uICIkQCI7 | ||
171 | IH0KX19iYXNocnBjX193aXRoX3NzaF9vcHRpb24oKQp7CiAgICAgICAgbG9jYWwgLWEgQkFTSF9S | ||
172 | UENfU1NIX09QVElPTlM9KCIke0JBU0hfUlBDX1NTSF9PUFRJT05TW0BdfSIpCiAgICAgICAgQkFT | ||
173 | SF9SUENfU1NIX09QVElPTlMrPSgiJDEiKQogICAgICAgIHNoaWZ0CiAgICAgICAgIiRAIgp9Cgoj | ||
174 | IFByZXNlcnZlcyB0aGUgcmVzdCBvZiBzdGRpbiBmb3IgdGhlIGNvbW1hbmQuCl9fYmFzaHJwY19f | ||
175 | ZXZhbF9zdGRpbigpCnsKICAgICAgICBbICIkMSIgXSAmJiByZWFkIC1OIiQxIiAtciB8fCByZXR1 | ||
176 | cm4KCiAgICAgICAgIyBQcmVwYXJlICIkQCIgZm9yIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4K | ||
177 | ICAgICAgICBzaGlmdAoKICAgICAgICAjIEV2ZW4gdW5zZXQgUkVQTFkgdG8gbGVhdmUgcHJpc3Rp | ||
178 | bmUgZW52aXJvbm1lbnQuCiAgICAgICAgZXZhbCAidW5zZXQgUkVQTFk7ICRSRVBMWSIKfQoKX19i | ||
179 | YXNocnBjX19ydW5fZnVuY3Rpb25fc2ltcGxlKCkKewogICAgICAgIHNjcmlwdF9zb3VyY2U9JChk | ||
180 | ZWNsYXJlIC1mICIkMSIgJiYgcHJpbnRmICciJEAiO1xuJykKICAgICAgICBfX2Jhc2hycGNfX3Jl | ||
181 | bW90ZV9ydW5fc2NyaXB0ICBcCiAgICAgICAgICAgICAgICAiJHNjcmlwdF9zb3VyY2UiIFwKICAg | ||
182 | ICAgICAgICAgICAgICIkQCIKfQoKX19iYXNocnBjX19ub3R0eV9zdGFnZTEoKQp7CiAgICAgICAg | ||
183 | WyAiJDEiIF0gJiYKICAgICAgICByZWFkIC1OIiQxIiAtciAmJiAjIFJlYWQgc2NyaXB0IGZyb20g | ||
184 | c3RkaW4sIG11bmdlcyBSRVBMWQogICAgICAgIHNoaWZ0ICYmICMgUHJlcGFyZSAiJEAiIGZvciBz | ||
185 | Y3JpcHQgZXhlY3V0aW9uIGNvbnRleHQuCiAgICAgICAgZXZhbCAidW5zZXQgUkVQTFk7ICRSRVBM | ||
186 | WSIgIyBVbnNldCBtdW5nZWQgUkVQTFkgaW4gZXhlYyBjb250ZXh0Cn0KCl9fYmFzaHJwY19fcmVt | ||
187 | b3RlX3J1bl9zdGFnZTFfbm90dHkoKQp7CiAgICAgICAgc3RhZ2UxX3NvdXJjZT0kKAogICAgICAg | ||
188 | ICAgICAgICAgZGVjbGFyZSAtZiBfX2Jhc2hycGNfX25vdHR5X3N0YWdlMSB8CiAgICAgICAgICAg | ||
189 | ICAgICAgICAgICAgIHNlZCAtRW5lICdzL14gezR9Ly9wJwogICAgICAgICkKICAgICAgICBzdGFn | ||
190 | ZTJfc291cmNlPSQxCiAgICAgICAgc2hpZnQKICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmlu | ||
191 | dGYgJyVzJyAiJHN0YWdlMl9zb3VyY2UiCiAgICAgICAgICAgICAgICBjYXQKICAgICAgICB9IHwK | ||
192 | ICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9zY3JpcHQgXAogICAgICAgICAg | ||
193 | ICAgICAgICAgICAgICAiJHN0YWdlMV9zb3VyY2UiICIkeyNzdGFnZTJfc291cmNlfSIgXAogICAg | ||
194 | ICAgICAgICAgICAgICAgICAgICAiJEAiCn0KCl9fYmFzaHJwY19fcmVhZF9zdGRpbigpCnsKICAg | ||
195 | ICAgICBSRVBMWT0KICAgICAgICByZWFkIC1yIC1OMjE0NzQ4MzY0NyB8fCBbICIkUkVQTFkiIF0K | ||
196 | fQoKX19iYXNocnBjX190dHlfc3RhZ2UxKCkKewogICAgICAgIGxvY2FsIFNFVF9URVJNPSIkMSIK | ||
197 | ICAgICAgICBsb2NhbCBQUkVMVURFPSJzaGlmdDske0JBU0hfUlBDX1RSQUNFX1JFTU9URTorIHNl | ||
198 | dCAteDt9IgogICAgICAgIF9fYmFzaHJwY19fcmVhZF9zdGRpbiA8PEVORAojIFdlIHNhdmVkIHN0 | ||
199 | YWdlMiBpbiBURVJNLgojIFN0b3JlIGl0IGluIHBhcmFtZXRlciAxOgpzZXQgLS0gIlwkVEVSTSIg | ||
200 | IlwkQCIKIyBSZXN0b3JlIG9yaWdpbmFsIFRFUk06ClRFUk09JHtTRVRfVEVSTUBRfQojIFJ1biBz | ||
201 | dGFnZTI6CnNvdXJjZSA8KHByaW50ZiAnJXNcbiVzJyAke1BSRUxVREVAUX0gIlwkMSIpCkVORAog | ||
202 | ICAgICAgIHByaW50ZiAnJXMnICIkUkVQTFkiCn0KCl9fYmFzaHJwY19fcmVtb3RlX3J1bl9zdGFn | ||
203 | ZTFfdHR5KCkKewogICAgICAgIHN0YWdlMl9zb3VyY2U9JDEKICAgICAgICBzdGFnZTFfc291cmNl | ||
204 | PSQoX19iYXNocnBjX190dHlfc3RhZ2UxICIkVEVSTSIgfCBncmVwIC12ICdeIycpCiAgICAgICAg | ||
205 | c2hpZnQKICAgICAgICAoCiAgICAgICAgICAgICAgICAjIHByaW50ZiAnREVCVUcyOjwlcz5cbicg | ||
206 | IiR7QkFTSF9SUENfU1NIX09QVElPTlNbQF19IiA+JjIKICAgICAgICAgICAgICAgIFRFUk09IiRz | ||
207 | dGFnZTJfc291cmNlIiBcCiAgICAgICAgICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fd2l0aF9z | ||
208 | c2hfb3B0aW9uIC10IFwKICAgICAgICAgICAgICAgICAgICAgICAgX19iYXNocnBjX19yZW1vdGVf | ||
209 | cnVuX3NjcmlwdCBcCiAgICAgICAgICAgICAgICAgICAgICAgICIkc3RhZ2UxX3NvdXJjZSIgIiRA | ||
210 | IgogICAgICAgICkKfQoKcmVtb3RlX3J1bl9mdW5jdGlvbigpCnsKICAgICAgICBtYWluPSQxCiAg | ||
211 | ICAgICAgIyBmdW5jcz0kKGNvbXBnZW4gLUEgZnVuY3Rpb24pCiAgICAgICAgZnVuY3M9JChyZWN1 | ||
212 | cnNpdmVfZGVwZW5kZW5jaWVzICIkbWFpbiIpCiAgICAgICAgc3RhZ2UyX3NvdXJjZT0kKAogICAg | ||
213 | ICAgICAgICAgICAgZGVjbGFyZSAtZiAkZnVuY3MKICAgICAgICAgICAgICAgIHByaW50ZiAnIiRA | ||
214 | IlxuJwogICAgICAgICkKICAgICAgICBpZiBbIC10IDAgXQogICAgICAgIHRoZW4KICAgICAgICAg | ||
215 | ICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9zdGFnZTFfdHR5ICIkc3RhZ2UyX3NvdXJjZSIg | ||
216 | IiRAIgogICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIF9fYmFzaHJwY19fcmVtb3RlX3J1bl9z | ||
217 | dGFnZTFfbm90dHkgIiRzdGFnZTJfc291cmNlIiAiJEAiCiAgICAgICAgZmkKfQoK | ||
218 | . | ||
219 | } | ||
220 | |||
221 | apply_template() | ||
222 | { | ||
223 | ctpl -c "$(printf 'SITE_NAME="%s";' "$1")" <(template) | ||
224 | } | ||
225 | |||
226 | mv_idempotent() | ||
227 | { | ||
228 | if diff -s "$1" "$2" >/dev/null 2>&1 | ||
229 | then | ||
230 | rm -- "$1" | ||
231 | else | ||
232 | mv -v --suffix=~"$(date -Ins)" --backup -T -- "$1" "$2" | ||
233 | fi | ||
234 | } | ||
235 | |||
236 | install_prerequisites() | ||
237 | { | ||
238 | command -v ctpl >/dev/null && | ||
239 | command -v apache2ctl >/dev/null || | ||
240 | apt install --no-upgrade ctpl apache2 | ||
241 | a2query -m md >/dev/null || a2enmod md >&2 | ||
242 | a2query -m ssl >/dev/null || a2enmod ssl >&2 | ||
243 | } | ||
244 | |||
245 | main() | ||
246 | { | ||
247 | set -e | ||
248 | set -o pipefail | ||
249 | |||
250 | install_prerequisites | ||
251 | REAL_OUT=/etc/apache2/sites-available/default-ssl.conf | ||
252 | TMP_OUT=$REAL_OUT.tmp | ||
253 | set -- "$(hostname --fqdn)" | ||
254 | apply_template "$1" > "$TMP_OUT" | ||
255 | mv_idempotent "$TMP_OUT" "$REAL_OUT" | ||
256 | a2query -s default-ssl >/dev/null || a2ensite default-ssl >&2 | ||
257 | |||
258 | staging=/etc/apache2/md/staging/$1 | ||
259 | domains=/etc/apache2/md/domains/$1 | ||
260 | if [ -f "$domains"/pubcert.pem ] # Success! | ||
261 | then | ||
262 | ls -lR -- "$domains" >&2 | ||
263 | elif [ -f "$staging"/pubcert.pem ] # Probably done, just need to reload: | ||
264 | then | ||
265 | set -x | ||
266 | systemctl reload apache2 | ||
267 | elif [ -d "$staging" ] # Still trying, probably just need to wait: | ||
268 | then | ||
269 | ls -lR -- "$staging" >&2 | ||
270 | else # Probably first run, just installed: | ||
271 | set -x | ||
272 | systemctl reload apache2 | ||
273 | fi | ||
274 | exit | ||
275 | } | ||
276 | |||
277 | eval "$(dependencies_source)" | ||
278 | eval "$(bash_rpc_source)" | ||
279 | |||
280 | target=${1:-$(hostname --fqdn)} | ||
281 | BASH_RPC_REMOTE_DEST=$target remote_run_function main | ||