gotify / server

A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
https://gotify.net
Other
10.43k stars 593 forks source link

Unix socket implementation #621

Closed LaurenceJJones closed 5 months ago

LaurenceJJones commented 5 months ago

Fixes #237

Tested http and https unix sockets both work, (Even thought ssl unix sockets dont make much sense 🤷🏻 )

Nginx work fine with both

Pushing early PR since we have to work on cli tool to interact with sockets, Feel free to comment look forward to hearing from you.

LaurenceJJones commented 5 months ago

Just because I was curious if SSL over unix sockets actually did anything here are the results

TLDR: Yes

``` sudo curl --unix-socket /var/run/test.sock https://localhost/ -vvv -k * Trying /var/run/test.sock:0... * Connected to localhost (/var/run/test.sock) port 443 * ALPN: curl offers h2,http/1.1 * TLSv1.3 (OUT), TLS handshake, Client hello (1): * TLSv1.3 (IN), TLS handshake, Server hello (2): * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): * TLSv1.3 (IN), TLS handshake, Certificate (11): * TLSv1.3 (IN), TLS handshake, CERT verify (15): * TLSv1.3 (IN), TLS handshake, Finished (20): * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): * TLSv1.3 (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / X25519 / RSASSA-PSS * ALPN: server accepted h2 * Server certificate: * subject: C=UK; ST=Some-State; O=Internet Widgits Pty Ltd * start date: Jan 15 22:20:52 2024 GMT * expire date: Jan 14 22:20:52 2025 GMT * issuer: C=UK; ST=Some-State; O=Internet Widgits Pty Ltd * SSL certificate verify result: self-signed certificate (18), continuing anyway. * Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): * using HTTP/2 * [HTTP/2] [1] OPENED stream for https://localhost/ * [HTTP/2] [1] [:method: GET] * [HTTP/2] [1] [:scheme: https] * [HTTP/2] [1] [:authority: localhost] * [HTTP/2] [1] [:path: /] * [HTTP/2] [1] [user-agent: curl/8.5.0] * [HTTP/2] [1] [accept: */*] > GET / HTTP/2 > Host: localhost > User-Agent: curl/8.5.0 > Accept: */* > < HTTP/2 200 < content-type: text/html < content-length: 3923 < date: Tue, 16 Jan 2024 07:42:16 GMT < Gotify
⏎ ```

Does it actually encrypt the data passed through we can MITM with socat

sudo mv /var/run/test.sock /var/run/test.o.sock
sudo socat -t100 -x -v UNIX-LISTEN:/var/run/test.sock,mode=777,reuseaddr,fork UNIX-CONNECT:/var/run/test.o.sock
``` > 2024/01/16 07:46:35.000748884 length=517 from=0 to=516 16 03 01 02 00 01 00 01 fc 03 03 f3 59 73 9f 33 ............Ys.3 f1 13 79 e3 05 76 60 a7 70 c8 18 92 2e 11 19 a5 ..y..v`.p....... 7e bc 5d 03 69 87 77 e5 06 db 73 20 d8 d0 8b 55 ~.].i.w...s ...U 1c 2f 97 ad 14 39 25 ae bd 4b be 52 bb 5b 99 3c ./...9%..K.R.[.< e4 a0 f3 4a 65 de c8 76 76 4e e9 c4 00 3e 13 02 ...Je..vvN...>.. 13 03 13 01 c0 2c c0 30 00 9f cc a9 cc a8 cc aa .....,.0........ c0 2b c0 2f 00 9e c0 24 c0 28 00 6b c0 23 c0 27 .+./...$.(.k.#.' 00 67 c0 0a .g.. c0 14 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d ...9.....3.....= 00 3c 00 35 00 2f 00 ff 01 00 01 75 00 00 00 0e .<.5./.....u.... 00 0c 00 00 09 6c 6f 63 61 6c 68 6f 73 74 00 0b .....localhost.. 00 04 03 00 01 02 00 0a ........ 00 16 00 14 00 1d 00 17 00 1e 00 19 00 18 01 00 ................ 01 01 01 02 01 03 01 04 00 10 00 0e 00 0c 02 68 ...............h 32 08 68 74 74 70 2f 31 2e 31 00 16 00 00 00 17 2.http/1.1...... 00 00 00 31 00 00 00 0d 00 30 00 2e 04 03 05 03 ...1.....0...... 06 03 08 07 08 08 08 1a 08 1b 08 1c 08 09 08 0a ................ 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 03 03 ................ 03 01 03 02 04 02 05 02 06 02 00 2b 00 05 04 03 ...........+.... 04 03 03 00 2d 00 02 01 01 00 33 00 26 00 24 00 ....-.....3.&.$. 1d 00 20 d8 de 59 9e a1 8d 13 7f db bd 03 e9 c4 .. ..Y.......... a6 dc f5 0e 72 0a ....r. 4a 5c 7f e3 86 30 e3 4e db c7 bb 44 7d 00 15 00 J\...0.N...D}... b2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 ... -- < 2024/01/16 07:46:35.000750665 length=1572 from=0 to=1571 16 03 03 00 7a 02 00 00 76 03 03 3b 17 f3 0d 58 ....z...v..;...X 93 77 0c e1 14 f0 61 be d6 16 6e fd c0 be a3 a1 .w....a...n..... 76 87 6d 4e 47 e6 f8 e6 44 69 13 20 d8 d0 8b 55 v.mNG...Di. ...U 1c 2f 97 ad 14 39 25 ae bd 4b be 52 bb 5b 99 3c ./...9%..K.R.[.< e4 a0 f3 4a 65 de c8 76 76 4e e9 c4 13 01 00 00 ...Je..vvN...... 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 dd ..+.....3.$... . f7 bc 38 50 0b 2f 8b b4 f5 67 3c f4 5c a4 be a0 ..8P./...g<.\... 85 f0 7d 77 36 8a 18 0c ff 30 69 e6 47 9f 58 14 ..}w6....0i.G.X. 03 03 00 01 01 17 03 03 00 20 7b 42 37 5a 0b fa ......... {B7Z.. 5c c7 18 c9 3a e9 d6 8e 9e 32 df 0c 63 e4 0f fd \...:....2..c... 02 82 a2 eb 4d cc 09 7d 23 4c 17 03 03 03 8d 2a ....M..}#L.....* b8 97 6c 6e a8 5a c9 79 c8 73 5d fb 77 b8 e1 4b ..ln.Z.y.s].w..K dc 38 3a ad fb 25 a1 20 64 c8 c0 1d ac 8c 46 49 .8:..%. d.....FI 30 54 2f 19 13 f4 85 55 ad 0e d6 64 14 65 89 39 0T/....U...d.e.9 ae a2 32 7d 04 0b b7 85 fa 95 d4 e4 ed 3e f6 72 ..2}.........>.r 94 b5 a7 f1 8f 61 22 2e 70 f7 4e b9 7a a7 71 d4 .....a".p.N.z.q. 65 5b 11 89 6e 99 05 5c 9d 14 2a 04 51 f4 7c e9 e[..n..\..*.Q.|. 1e d4 a7 52 70 0e f4 3e 40 c5 68 78 35 91 73 89 ...Rp..>@.hx5.s. 24 c9 7e 3a ce 37 2c 3c bd 07 7b 88 4c f5 49 e0 $.~:.7,<..{.L.I. 1e 93 25 8f f3 9b 95 57 f9 21 d1 90 a1 55 ac a9 ..%....W.!...U.. ce 9b 40 c9 09 f3 67 e2 d4 82 ae fa 8d 2f f7 30 ..@...g....../.0 63 04 f9 4a dd 0f a2 64 d2 cf d3 20 e5 83 28 53 c..J...d... ..(S 38 d2 93 a3 1a 08 d6 d5 e6 0c 50 ef 53 1d 93 cd 8.........P.S... 11 1f b2 a7 d6 c8 6e a1 af 83 d3 8c b6 be 16 76 ......n........v b3 d1 5d 7a a2 f0 20 e7 3f e3 a0 39 37 77 a3 84 ..]z.. .?..97w.. fc 6b c0 4d 23 93 a2 4d 20 f7 53 90 29 38 7a e1 .k.M#..M .S.)8z. 49 0d f3 97 12 e2 80 26 f0 dc 61 54 48 0f bf a4 I......&..aTH... 4f 46 70 d3 ca c9 4f 53 ac 32 8d f1 cc 0d dc 51 OFp...OS.2.....Q b1 34 16 21 05 34 c8 15 ff 9a 5a 6a e9 b8 51 0a .4.!.4....Zj..Q. e6 d0 eb e9 36 d2 6a ce d0 3d 80 2e cb 98 fc d7 ....6.j..=...... 99 4f 96 a7 2c cb 94 e7 56 da 98 bb 71 01 4a 53 .O..,...V...q.JS f6 aa 1f aa aa d4 23 e6 cd ff 55 6a 76 9f c7 ff ......#...Ujv... a7 16 97 52 bd 1e f2 e8 1c af 45 d9 7e 93 66 f4 ...R......E.~.f. b4 4c c6 5d 45 5b 51 e0 d0 de 70 79 69 61 df 79 .L.]E[Q...pyia.y 09 43 84 cb f6 bd cf 87 8d 25 9d fd 40 2a 78 fb .C.......%..@*x. 40 f1 27 ba 57 a1 fb 0b 40 7f 27 7a b8 16 cd 8a @.'.W...@.'z.... b6 b7 c8 5b 07 62 d1 b6 6a 2e 28 b8 9d 8a 81 56 ...[.b..j.(....V ca 2e bc 6d 52 88 be 41 86 68 79 c8 3e a3 ad 0b ...mR..A.hy.>... 60 6e f9 30 8f 6d 21 12 9b 49 59 e7 a0 1f fc f0 `n.0.m!..IY..... 14 1c 6e 8f 0c df f9 74 c6 f4 d2 b7 1a d3 65 5c ..n....t......e\ fb e5 1b fe 77 ff 35 70 74 9a df e0 67 4e 02 7c ....w.5pt...gN.| 5b fe a5 71 4c dd 35 36 07 ff 2e df 39 47 eb bd [..qL.56....9G.. a4 d9 dd 91 27 07 39 c1 59 ff e6 63 f8 98 e2 49 ....'.9.Y..c...I b0 90 95 4c 99 07 73 30 83 1c 4f 8a ca 36 56 62 ...L..s0..O..6Vb 01 2d aa a1 af 7a 43 0f 7f d1 00 fc df c5 eb dc .-...zC......... 00 a9 01 e2 a6 46 0c d8 ab 8d 67 b7 24 b9 a7 a4 .....F....g.$... a1 41 99 34 9c 06 10 e4 a3 5d 38 9a ef 1f e9 bb .A.4.....]8..... 95 3d 62 85 2d 9a 73 c0 b2 0a .=b.-.s... 8d fd 47 8c 57 d6 fe 44 85 06 93 f6 59 e5 2e 19 ..G.W..D....Y... 21 b8 e1 fc 3e 4f 40 51 03 82 79 9b a3 f8 c5 9e !...>O@Q..y..... 42 34 c2 37 c3 c3 c9 ed 77 0f 40 05 f0 9c 28 a6 B4.7....w.@...(. 16 43 78 a0 fe 9a 3f b8 d3 b8 71 57 08 1e 81 b0 .Cx...?...qW.... 5a ba 35 7d c4 7a c2 63 dc 75 30 98 84 4b d0 df Z.5}.z.c.u0..K.. 56 0d 31 9d a4 7c 56 69 87 23 20 cb 62 02 84 e4 V.1..|Vi.# .b... 44 c3 d8 26 44 2a dc 51 84 06 e0 26 4c d3 06 fa D..&D*.Q...&L... 13 48 69 07 57 16 f3 0d dd 20 3a ed 12 a0 4e 36 .Hi.W.... :...N6 dc d5 97 44 22 ad 4f 55 90 f8 69 5d c1 af 33 8f ...D".OU..i]..3. f2 36 b0 c1 4c 88 51 a6 91 e3 65 68 95 95 49 8f .6..L.Q...eh..I. 13 23 bb fa 42 ec 4a bb f2 11 3c d4 07 aa c5 4d .#..B.J...<....M cb 19 c5 3e 96 03 3b d4 44 e8 b4 19 ee 25 6d fc ...>..;.D....%m. 2c 74 99 46 c0 1d f9 dc 83 02 0c 19 ee e2 3b 33 ,t.F..........;3 94 40 ab d7 6c 08 43 ea a7 c0 a8 86 83 94 01 68 .@..l.C........h 00 db df f1 98 d8 99 dc 9e 67 db 49 bd 03 1f bc .........g.I.... 6e 82 06 15 01 e6 65 3c d9 ad 59 26 d2 38 55 e2 n.....e<..Y&.8U. e7 66 b6 9a 86 57 5f 73 f6 19 62 c7 93 b2 79 ea .f...W_s..b...y. a0 9d a3 f6 e4 09 41 32 22 7b 81 33 b8 40 40 c2 ......A2"{.3.@@. bb 9e 81 21 02 0a ...!.. 4e 3b dd 18 18 15 04 10 b2 ed f1 4f 6e 1e 42 50 N;.........On.BP f1 96 da b5 63 a3 89 74 10 a0 d6 9e 17 03 03 01 ....c..t........ 19 27 ce f8 93 30 65 8b 1f c4 1b d4 cb cf be 27 .'...0e........' f7 4b 6b 3a 4e fb e0 61 78 f1 8e f7 28 2e 57 cb .Kk:N..ax...(.W. 60 2f 37 c1 03 e3 fb 85 16 6a 39 0e 47 2e 67 1f `/7......j9.G.g. 0d d9 b2 fa 95 92 1f 7d a6 bd ef 6c ee b0 47 2a .......}...l..G* d4 6f 89 c9 01 b7 b3 cc 66 af 34 6b d2 18 26 58 .o......f.4k..&X 11 c5 22 47 3b d9 0b ef f2 b9 17 c8 15 25 e9 36 .."G;........%.6 22 f8 96 dd da d6 46 2a 0c cd df 3c ba 67 cc 2b ".....F*...<.g.+ 8a 24 f3 c9 3a c6 d6 29 74 db 4e dd 9b 5e 3e b3 .$..:..)t.N..^>. 3d a0 be 65 86 01 91 17 ab 84 c8 6d 27 1b be 53 =..e.......m'..S 2d 40 35 b1 27 6b 9e c1 f7 da ac a2 03 5c 42 9b -@5.'k.......\B. 56 b4 1d 3e 27 0c f3 f6 f8 d1 b5 de b2 81 ce f6 V..>'........... a6 05 e3 2d 97 6f 43 97 ee 81 64 bc a7 3e 69 a8 ...-.oC...d..>i. fe 9f b5 2f ad b7 53 63 bf e6 f6 be 59 4d 73 62 .../..Sc....YMsb 66 39 20 9b f2 51 92 97 a8 67 bf 1f f9 c4 78 5a f9 ..Q...g....xZ f1 23 a2 4d 77 47 2a 96 2d 91 f8 c2 8e fd 1e 92 .#.MwG*.-....... f2 22 75 b5 16 4a 9e 6f ce 3c 72 19 cd 8b 3d 12 ."u..J.o. a3 6a 4a 0e 4d d1 ad d4 2d 0b 93 87 e4 73 d9 69 .jJ.M...-....s.i 77 3e fb 17 17 03 03 00 8b 36 50 1e f1 76 f5 4a w>.......6P..v.J 20 4d ba e4 72 13 1b 75 d4 1a 5a 4b da 42 c7 a5 M..r..u..ZK.B.. 64 2c 16 ee b5 34 4a d8 c9 31 35 c6 2c 47 97 2e d,...4J..15.,G.. 7a 9e 20 53 7e 60 f6 00 48 5d cd 91 48 ce 6d a3 z. S~`..H]..H.m. ca 69 9d 0b bb ab bb 44 14 fd 11 55 fd d7 7f 41 .i.....D...U...A 28 74 31 06 54 c6 1b 09 c5 8b 8a 92 21 c2 8a 7c (t1.T.......!..| 11 90 00 d9 52 a3 99 16 f3 4b ec 11 85 00 2c 5c ....R....K....,\ 5e bd 23 41 bc 27 48 5c 28 a2 e2 b3 79 4e 57 55 ^.#A.'H\(...yNWU a0 38 c8 ca 78 1b aa 85 bc ec 31 44 1f 55 7f 2e .8..x.....1D.U.. e3 c1 b1 51 ...Q -- > 2024/01/16 07:46:35.000753343 length=64 from=517 to=580 14 03 03 00 01 01 17 03 03 00 35 82 88 0a ..........5... c9 af ee 36 dc 0a ...6.. cb e6 5b e4 e5 67 a3 1b 4a 69 66 01 a1 16 99 ac ..[..g..Jif..... 88 e5 23 bf 5a 17 21 b7 5b 33 68 21 23 9c 3b 4e ..#.Z.!.[3h!#.;N b5 98 62 03 c1 f4 61 81 08 c2 b3 bf ..b...a..... -- > 2024/01/16 07:46:35.000753420 length=143 from=581 to=723 17 03 03 00 51 70 2b 30 b4 52 7a 1c fa 66 2c d0 ....Qp+0.Rz..f,. 78 dd cd 73 7f a6 d3 a2 e1 89 d3 20 30 63 1a 34 x..s....... 0c.4 77 e1 b1 82 72 73 38 bd 52 a5 4c d2 a6 2f 04 d4 w...rs8.R.L../.. dc 92 28 e4 4f e3 3c f0 db 71 76 05 90 d9 a6 56 ..(.O.<..qv....V af 0f f6 92 71 03 0c fd 1c b8 d6 65 74 0f c5 b2 ....q......et... 7a 73 10 ae 3a e1 17 03 03 00 34 46 b7 f1 06 70 zs..:.....4F...p 20 c4 1b f8 06 19 96 c7 74 11 ed 96 39 46 3a 37 .......t...9F:7 b3 bc 8c 56 1c 2a a8 5f c5 27 33 37 c8 e1 cb bc ...V.*._.'37.... 73 ff 72 45 1c f0 8b 7d fb 4f 39 e6 b9 0e 8a s.rE...}.O9.... -- < 2024/01/16 07:46:35.000753632 length=61 from=1572 to=1632 17 03 03 00 38 d0 52 27 b9 52 3b 14 6d 3b 51 4d ....8.R'.R;.m;QM 68 31 0e a6 9a 65 93 f5 60 31 11 e2 90 2c bc 9c h1...e..`1...,.. 5e 27 72 19 be ee 7e 81 2d 72 cf df 81 33 2d c5 ^'r...~.-r...3-. 09 32 c6 96 60 1a 47 02 76 8f 42 22 7a .2..`.G.v.B"z -- < 2024/01/16 07:46:35.000753725 length=66 from=1633 to=1698 17 03 03 00 1e a5 8a da 71 d8 5b cb 4c de 11 5f ........q.[.L.._ d1 d5 f0 ea 2e e6 59 74 69 19 1c 57 49 8a 61 29 ......Yti..WI.a) 4c 4c e6 17 03 03 00 1a 8e 5e e5 28 a4 8b c2 51 LL.......^.(...Q 0c cd 4b d3 97 07 7d 8e 1e 36 39 84 c8 60 e2 1c ..K...}..69..`.. bd 1d .. -- > 2024/01/16 07:46:35.000753832 length=31 from=724 to=754 17 03 03 00 1a 75 cb 2e f6 4b 97 3b 2f 9f b8 c1 .....u...K.;/... 30 78 a3 e0 ab 18 0c be 20 51 ee ae 84 97 fc 0x...... Q..... -- < 2024/01/16 07:46:35.000753883 length=4024 from=1699 to=5722 17 03 03 00 41 1b 88 4f 77 f9 36 e5 36 f4 77 70 ....A..Ow.6.6.wp 3f 2f 3d 0d 57 c5 0f 82 99 4d a5 05 0c d3 d4 64 ?/=.W....M.....d f7 a0 27 3b 79 2f 2f ce 71 dc b1 3e cc 83 db cf ..';y//.q..>.... f8 a4 24 c8 67 96 38 d0 9d 47 66 7a 3a 4b 35 a3 ..$.g.8..Gfz:K5. ab 35 86 a0 98 a8 17 03 03 0f 6d 6b 38 b8 98 17 .5........mk8... 83 0c d6 3b 17 80 73 b6 41 08 d9 78 ff b4 6c 28 ...;..s.A..x..l( 3f 53 e3 72 22 e3 bd c9 3b fb 42 20 d0 b4 29 dd ?S.r"...;.B ..). 0c b2 5e 82 12 cd be 38 19 3e 6e c4 f7 82 58 9e ..^....8.>n...X. 74 5f 78 2b e3 1a 25 82 b2 40 d4 bc 7c 09 3c 72 t_x+..%..@..|./..q.. 04 00 bd 2a 04 d3 f6 50 ec 36 73 d0 2a 0a ...*...P.6s.*. b3 f9 67 43 95 3b 73 dd 69 82 79 0a ..gC.;s.i.y. f8 ae 80 42 c3 82 6f 1c 40 ec ef 7c 81 57 14 c5 ...B..o.@..|.W.. df 8c 3a 1d 0c 58 18 cc ee 57 b0 20 6c 24 22 a6 ..:..X...W. l$". 01 d4 0b 11 4f ac 17 7a 09 c1 ac dd ff 8e f3 38 ....O..z.......8 8c 59 8a 62 a9 5e 33 aa 07 8a 0f 62 a1 fd 50 1b .Y.b.^3....b..P. 0b 7e 50 4c 53 e8 f7 16 43 a8 a4 aa 2b 96 88 ab .~PLS...C...+... a8 93 bf e4 52 0c 27 fc fc 17 ac 18 ad ab 41 62 ....R.'.......Ab 99 3f 0a .?. 69 0f c9 6e 61 81 8c 0b ea bd 42 62 48 ac 36 09 i..na.....BbH.6. c8 83 84 71 ec 27 89 c5 3b ff 05 1e dd dd 06 b3 ...q.'..;....... 24 38 d9 eb 2f f0 c6 31 75 9e cf 56 1b 54 dc 32 $8../..1u..V.T.2 d8 08 e8 7c f1 ec 54 65 bd 30 5d c4 e6 cf 55 31 ...|..Te.0]...U1 a5 78 6e 6a 21 5c f1 0f 91 9e a2 16 6e dd d6 05 .xnj!\......n... 11 b4 51 87 c7 6e 41 9c 14 6c e2 0d b3 c6 71 c2 ..Q..nA..l....q. 07 87 69 8e 33 f4 56 4a f9 f7 e2 89 89 bf 57 52 ..i.3.VJ......WR 49 d2 f9 65 28 51 fa 3e 55 05 87 be 34 f1 2e 56 I..e(Q.>U...4..V 37 c1 63 73 e5 e8 5d 94 27 8f 87 70 f9 6f 1e 9a 7.cs..].'..p.o.. 54 23 6d 0a T#m. f4 6a ef 33 2b ba 25 5c ec 90 ba 6e fa a1 e2 26 .j.3+.%\...n...& 99 f4 8d 3b cd bf b4 c9 d5 aa 5f 29 97 e8 3d b8 ...;......_)..=. 7c d8 b1 5f 44 f6 ef 68 c2 07 62 5f f3 c5 c7 f4 |.._D..h..b_.... a0 f7 6c 92 c1 90 7b 57 f0 07 66 8c 36 65 60 98 ..l...{W..f.6e`. 8d 4a fc bd 23 b7 c0 0b 64 b9 9f 88 b6 31 51 46 .J..#...d....1QF c2 95 03 94 e8 ea 6f 4b 61 33 af 52 c3 d7 f1 be ......oKa3.R.... a3 3f 65 0a .?e. b6 a0 f9 8d f1 9d 1b 48 14 09 63 4e 09 13 4b a5 .......H..cN..K. 38 dd 16 46 0b e4 72 13 45 7a d5 98 a2 d0 c1 c2 8..F..r.Ez...... 51 b0 b9 93 f5 c1 54 f6 0b 31 14 a8 fe f5 a3 06 Q.....T..1...... 8e a2 59 15 f6 80 8b 01 b6 7a 6c 46 f4 51 ba 1e ..Y......zlF.Q.. 68 ca c9 8f 63 94 c2 5d 7d 58 8e f3 5e da 00 69 h...c..]}X..^..i e8 34 7f a3 7f f7 6c 84 69 1d ec 7c 03 4c be 3d .4....l.i..|.L.= ef 29 a8 f9 86 69 8d 14 0d 5e 15 bc 66 77 e3 dd .)...i...^..fw.. 1d 58 fd a6 c0 2b 23 4c 50 9f 43 97 6b 91 e5 21 .X...+#LP.C.k..! 94 80 d0 0c 7e 22 65 ac a3 c1 0c fb b9 ad 1a 7f ....~"e......... 95 a8 8e 62 ae d4 c1 ef ae ae 2d 9f e4 1f 96 f4 ...b......-..... 85 eb d6 f2 8c 55 30 eb 2f 73 3c 6b 8e e6 d2 8b .....U0./s' 77 e1 7d 24 94 59 29 1f a9 df bd 36 61 ee b1 8f w.}$.Y)....6a... 06 33 c9 92 a4 99 63 7b 59 45 67 6e 51 64 17 4e .3....c{YEgnQd.N 05 c0 11 83 3c 9b f3 09 04 d4 34 ac b8 a0 fc 63 ....<.....4....c eb 5d 65 2b e4 86 ee c2 ba 07 9a f2 fd e4 53 f1 .]e+..........S. 20 cd a8 1b 0b 37 df 18 67 98 39 a3 4b 34 dc be ....7..g.9.K4.. f3 f6 d0 a7 cb 4d 87 f2 44 ca cb be 1f 67 22 62 .....M..D....g"b 25 2a bd 6c df 30 e9 d1 14 37 3c c0 7b aa ce ce %*.l.0...7<.{... 01 72 37 3e b5 45 31 ac 56 07 8e ea 6b 8a 0b 73 .r7>.E1.V...k..s 87 d8 26 d0 2e 19 72 2e ae e8 ce 6d c6 91 9d a1 ..&...r....m.... 28 63 8a 48 90 68 ea 03 52 c4 88 7d 01 9f 0d 06 (c.H.h..R..}.... ff f0 c4 23 96 55 28 bd 51 ba ab 50 83 f2 f4 bd ...#.U(.Q..P.... 38 13 7b ca 08 5f 14 e6 ac 4b 6a c5 77 4c aa 4f 8.{.._...Kj.wL.O ab bc ca 71 ce 3e 82 dd a7 56 d8 fa e8 dc 65 9e ...q.>...V....e. 8c 1d b2 73 b0 e0 ca 1b 18 a3 80 90 2d 0c 4b c8 ...s........-.K. 81 84 7e 72 92 4c a3 57 d3 91 38 8c 32 70 43 56 ..~r.L.W..8.2pCV 26 2f 46 27 64 96 af 2f ec 34 2e c9 eb dc 97 fe &/F'd../.4...... 57 24 66 44 27 ec 53 9b b3 ac 57 95 97 1a 4d 15 W$fD'.S...W...M. 92 d1 0d 9a fe 4a b9 83 9a b7 70 12 89 8c 8d ef .....J....p..... 56 28 9b d7 e5 7a f2 43 84 c0 d3 25 48 58 e5 d4 V(...z.C...%HX.. b6 2e 80 a7 e1 29 71 36 f7 12 0f 22 c5 d3 87 1b .....)q6...".... ed 3f 52 cb dc 1d 31 65 c5 7f 8e d0 f7 10 95 ae .?R...1e........ 8e 30 56 eb 59 6b 62 db c6 f8 c4 0a .0V.Ykb..... 09 86 a5 db df a9 94 b4 97 e3 24 66 3a d0 e7 c4 ..........$f:... f7 e5 4d bf f1 b0 70 08 c3 b7 8b 64 7e 03 02 5b ..M...p....d~..[ f6 66 cc aa 36 a3 2c 33 f8 69 aa cd 3e 49 0b 61 .f..6.,3.i..>I.a c6 8e 23 43 12 88 bc e0 f5 b0 c8 3a 16 6b 91 cf ..#C.......:.k.. e4 a0 87 76 df 1c 1d c5 91 53 c5 9c 1b ff 95 cc ...v.....S...... 6b 4d b2 1c a9 7b 51 90 89 fe 6b fa 72 21 c2 02 kM...{Q...k.r!.. 6b a5 aa 46 ac 43 37 57 5b f2 91 bb c6 55 82 b1 k..F.C7W[....U.. 0a . c4 ca 69 d4 ab fd bb aa 57 1f b3 b0 aa 58 28 6e ..i.....W....X(n 32 f7 60 0e 9b ee 50 ee 96 cb 50 0d 37 5b 98 8f 2.`...P...P.7[.. 0d 46 86 eb 39 5e 25 c9 03 bb a0 ab 4c e7 23 b4 .F..9^%.....L.#. c5 aa 55 58 08 b6 36 87 2c e4 6f 79 5a 1e f3 62 ..UX..6.,.oyZ..b 66 13 e8 bc e0 b0 a1 80 0b 08 79 d0 31 c1 80 69 f.........y.1..i 5d ac bb 90 9e 14 ca 09 9a da fa af 9a d4 d2 c4 ]............... c8 60 c5 fd da ea 33 46 00 15 32 1d 94 9e be b7 .`....3F..2..... 1e f5 96 fc 2a 45 6f 25 62 53 96 f2 44 41 bb 77 ....*Eo%bS..DA.w 7d d5 e7 9c ff 9b 18 26 76 87 8f 17 26 5d f7 91 }......&v...&].. 0c 33 d9 e6 c3 dd 43 b2 6e 9f 71 08 cc ac 1a 19 .3....C.n.q..... da 9f 72 f1 5f 55 7e 87 7e 9e 21 46 0a ..r._U~.~.!F. 1f 7f 78 3d 2e bc b3 3b 9f 1c 77 c7 ff 20 5e 9a ..x=...;..w.. ^. f7 e6 3c fe 1f 05 ee a8 ec b3 47 51 f5 94 aa 44 ..<.......GQ...D 57 df d7 86 01 30 4f 36 db 94 0a W....0O6... e4 09 30 79 70 ef 7c 96 9e a2 3e 97 6b 23 9f 6c ..0yp.|...>.k#.l 3e b3 47 da 5c ed 5b 4d 36 10 4e 3c 30 a6 af 42 >.G.\.[M6.N<0..B a8 ac 59 f3 94 19 ce 3a 0f 03 59 ae 1c 08 8d c4 ..Y....:..Y..... 0f 29 7c a3 d6 c8 04 59 31 3b c6 55 8a 73 e9 d5 .)|....Y1;.U.s.. 59 08 58 03 f0 3c 83 63 20 fa 41 d1 84 2b e8 4f Y.X..<.c .A..+.O 89 23 76 91 70 74 45 5c fb 19 6f 24 dc de e1 a8 .#v.ptE\..o$.... 02 2e a4 13 43 94 4b 48 43 ea 1c a9 8e 49 af 5a ....C.KHC....I.Z d8 ed a3 3c 6a ab 0f 3c fe bf 82 9d d7 d2 92 cd ...qo5....... 02 19 ba 49 5a 33 22 85 e8 e4 cd 25 d3 ca 49 56 ...IZ3"....%..IV 36 c7 b6 28 0d 50 3f 39 52 00 b4 94 48 23 30 9f 6..(.P?9R...H#0. 5a b2 9c 65 c0 fd 0f 74 dc d4 9c dd 04 03 99 8f Z..e...t........ cf 6a d4 bc b6 17 8f f6 1d 7d 88 31 1f 2e c0 76 .j.......}.1...v a2 24 66 fc 79 63 c1 c5 f2 3d b9 01 fb 25 d6 4b .$f.yc...=...%.K ba 4b 95 2a d1 e6 b4 6a 7f 13 9f 73 4b 14 8d 19 .K.*...j...sK... 72 7e e8 5b 66 dd b2 5d 68 66 19 f4 f2 96 4b a5 r~.[f..]hf....K. 9a 06 18 0c 77 56 10 44 cf 21 2a 4b f2 3d 5d 0a ....wV.D.!*K.=]. 10 ae 03 08 23 76 cc 06 6d e0 1c a7 c3 e1 b7 70 ....#v..m......p a2 72 18 7a d4 97 e3 3c b4 9a a4 ed 23 47 1f 43 .r.z...<....#G.C 8e 7c 93 ed 7f 4c da b2 f5 2d 9a c0 9e 3a e7 8e .|...L...-...:.. 0c 6e 1d 14 ff ad ca af 4a 13 a3 4e c5 ea 33 7f .n......J..N..3. 06 f0 97 ef 31 6c 61 07 57 37 b5 39 a3 9e 6e 58 ....1la.W7.9..nX 1c 26 7d 0e 8a 50 cf 36 14 6d 34 ec c8 80 0a .&}..P.6.m4.... e7 ba 09 3a 38 9e d5 dc a9 38 d4 4f ad c7 4a 5f ...:8....8.O..J_ eb aa 4a cc d4 8a 67 86 a5 b1 82 75 d4 ec 4e a7 ..J...g....u..N. d2 58 93 fe 44 35 f4 f5 4e ab 04 37 66 e8 c0 e9 .X..D5..N..7f... f1 2c 47 e6 f5 dc 2b f2 85 fb 6a 70 7a 28 60 19 .,G...+...jpz(`. 03 26 ea 44 f1 c0 01 48 20 ab 25 0e 58 ad e6 bd .&.D...H .%.X... 4a 35 ef 40 d4 b4 dd 25 09 04 25 45 19 2e 62 d2 J5.@...%..%E..b. 97 03 05 02 f0 0e 1e 95 f5 0b 6b 33 0d c0 38 67 ..........k3..8g d9 b0 b0 8a 68 6a 66 5d 63 b2 19 5a 24 3c d4 a3 ....hjf]c..Z$<.. 56 9e 47 05 a6 d5 16 48 49 68 1d c3 6a f0 0f c0 V.G....HIh..j... 24 8e e1 3d eb c9 b5 75 83 55 0b d5 c8 51 b6 33 $..=...u.U...Q.3 b2 1f 99 9e bf 32 5a 45 60 5f 86 7c 85 55 66 24 .....2ZE`_.|.Uf$ 69 f7 5f 22 cd 8d c9 31 4e 4c 04 51 59 0e 58 93 i._"...1NL.QY.X. 5b 8c ee f7 ef fb a8 5b a4 bc b3 18 92 d4 7f 86 [......[........ 82 a6 a7 57 aa 11 64 d1 45 52 40 5a 5c 4a 1a 01 ...W..d.ER@Z\J.. 39 65 74 95 9e 7c 0c 90 a3 dd 87 46 91 33 5d fd 9et..|.....F.3]. 52 fb 4e 47 75 4f 99 da ec 33 d3 71 4c bd db 6d R.NGuO...3.qL..m a4 b4 00 1b 6b ea 89 70 de ab 5f c7 86 f3 9a 65 ....k..p.._....e e9 70 2c ed 80 52 7e cf 79 39 f2 e6 f6 b7 32 ce .p,..R~.y9....2. 70 de eb 02 aa ef e2 25 3d 4f 83 9f 69 6b ff 48 p......%=O..ik.H 25 1f 97 f6 82 0d 04 2e 9b a1 e9 87 c5 40 43 c5 %............@C. 8f 2e c3 27 e9 f3 2d 26 bf 37 ce b3 55 91 87 85 ...'..-&.7..U... 54 39 db e1 5f 26 a9 b2 5d 87 57 28 4f 08 c5 2d T9.._&..].W(O..- 19 4a 6c 24 11 b8 4d b3 c1 d2 c4 1d 5f 4a dc 49 .Jl$..M....._J.I 2e a8 f3 4e 26 3b 60 b6 bb b4 2e a9 8d 7b 9e bc ...N&;`......{.. ec e0 a7 26 95 e2 7a d7 f4 fd 4d a7 e1 e4 6a 2b ...&..z...M...j+ 06 6f b9 72 4a e8 78 55 92 54 44 0e ee 06 7a 70 .o.rJ.xU.TD...zp 7c 13 fe 5b d6 be b8 de ca a6 b0 e6 82 e2 d2 e0 |..[............ 49 00 6a 03 5a c2 49 d0 95 60 9f f0 15 95 fc d1 I.j.Z.I..`...... 82 a4 6e f6 9f 7a 0b 7d e3 95 47 24 22 c4 f7 bd ..n..z.}..G$"... 42 73 a9 89 20 67 d7 fe 36 d3 51 f2 8e 14 d1 3b Bs.. g..6.Q....; 9b 2d a4 88 9e 40 84 f5 ea 8e c7 44 93 c9 6d 6f .-...@.....D..mo 4d d0 e1 56 71 c7 e3 96 f1 7d 95 de be f0 74 eb M..Vq....}....t. ae 56 1f d1 32 9f 29 6f 38 67 0d 4e c6 3f d0 48 .V..2.)o8g.N.?.H 74 ef f0 78 df 9d f0 d4 7f 5a 9c 24 37 d7 04 f4 t..x.....Z.$7... d0 ad 4b 9f 74 3a 47 ee 36 5f d5 e4 08 83 df 6b ..K.t:G.6_.....k b9 c9 60 e0 98 ee d0 6e 40 c7 9e eb 9a c7 f1 0d ..`....n@....... 17 10 6e c4 d9 3c 5b 77 e5 22 e8 cf 26 0f ee a6 ..n..<[w."..&... 96 b7 88 11 79 82 a2 3a 98 cd 21 28 c4 32 9c 89 ....y..:..!(.2.. f6 9f f3 c9 60 f2 bf 1b aa e0 19 4f c2 8c db 03 ....`......O.... 73 bc e5 96 e6 4c 36 36 f5 d9 29 69 7b da 39 ba s....L66..)i{.9. f1 4b 57 f6 af d1 63 5d 15 ae 98 f7 20 61 a8 ef .KW...c].... a.. a3 c1 43 8e 7e d8 5a 70 cb 14 fe 2a ff 12 02 65 ..C.~.Zp...*...e 68 a6 1c 68 82 63 0e 7b 0d 0d 36 40 ff 3b 00 e4 h..h.c.{..6@.;.. 88 30 cd 1b 99 a4 80 aa ec ec 52 fd 66 27 8f 84 .0........R.f'.. 7c 98 ea 43 e4 82 9a 5b e9 ee 4f 73 25 ad 79 38 |..C...[..Os%.y8 0f d6 f6 55 d1 d0 08 93 97 3e 29 58 ea d1 64 d3 ...U.....>)X..d. 19 0e a3 36 f9 4b a0 66 01 ef ca c1 73 14 e7 9d ...6.K.f....s... 90 0a .. c2 66 7a 58 f1 35 9a 80 e0 69 25 e4 42 4e 80 4d .fzX.5...i%.BN.M d7 d7 3a 14 3a b0 ff ec 45 ab a1 03 db 7f ca 5a ..:.:...E......Z d6 58 74 7d 42 ac 0f 37 39 49 8f f7 9e a2 87 31 .Xt}B..79I.....1 f7 af 72 7d d7 74 70 0d 66 59 44 dc a2 ca 43 ee ..r}.tp.fYD...C. 2d 2d 88 31 5c 5d b1 17 09 d1 d8 ae a1 c3 bc 34 --.1\].........4 f0 06 48 d4 2b 53 5b e8 95 eb 76 b9 8d 1f e2 c7 ..H.+S[...v..... 75 0f 00 ac 3f f3 6f 86 ff 65 c4 94 56 0d 3a b7 u...?.o..e..V.:. 77 cb 7b 8b 77 c1 49 43 84 3d c8 6d 02 8a 58 2f w.{.w.IC.=.m..X/ 99 0a .. c7 36 c3 1b aa 70 75 1b 8b 3f 96 e2 7d f8 a4 4c .6...pu..?..}..L 23 0a #. 83 88 8b 6c 5a 09 46 1c 54 00 10 1a 7c 6f 3c bc ...lZ.F.T...|o<. 2e 10 02 a9 19 1c 4d df e5 70 7f 73 30 72 25 da ......M..p.s0r%. 09 3c 7e 91 60 1d 58 ea f6 d2 a3 d5 d9 17 1b da .<~.`.X......... 41 33 e1 47 87 15 4a 62 74 95 3a b6 d7 e3 af 10 A3.G..Jbt.:..... c2 33 16 bc cd 63 08 a6 9f 01 32 1b 85 a5 78 51 .3...c....2...xQ ab b2 87 54 81 91 5b bb 0c 3c ce 9d ce 70 44 01 ...T..[..<...pD. 2f 5e 80 a0 99 ec 7a e1 aa 77 2d e5 c9 e9 3b 27 /^....z..w-...;' b1 62 12 21 08 fc 00 c2 02 69 04 6e 01 cb f5 63 .b.!.....i.n...c 30 80 07 74 2f 96 10 67 fc ae 3b 08 ba 03 d0 5d 0..t/..g..;....] b7 89 b7 a1 a1 f9 75 73 9e 7b 7d 85 a6 47 eb 60 ......us.{}..G.` 17 7c b0 b5 1a 5b d3 ff c2 da 4e 69 54 de 65 cc .|...[....NiT.e. 8c d8 c7 d3 c5 28 e4 57 6d b3 63 e4 01 2e 61 97 .....(.Wm.c...a. ec ff 88 c8 b4 ac 69 7a 89 e1 7a f5 bf d6 46 b9 ......iz..z...F. e5 ba 9b 1f ac a5 eb 7d 3b dd 74 40 8a cf 59 87 .......};.t@..Y. a0 e5 b3 42 a8 2f 0d da 36 33 a7 68 3c 7a 22 10 ...B./..63.h.. 1b 43 c5 11 62 a8 b0 5d 32 0a .C..b..]2. d3 43 91 4e 50 e1 ae d1 2f 0d 88 5a b9 36 0b 3d .C.NP.../..Z.6.= 0d 73 29 19 34 b0 07 3f 8d ed 1f 77 f1 fe a8 45 .s).4..?...w...E 93 91 fc ad 26 a2 af e7 b1 d9 a4 f6 90 bc 79 3a ....&.........y: f7 ca 43 e7 00 be 20 83 ae 98 34 44 0a ..C... ...4D. b0 51 56 4c 47 98 b5 b9 8d 15 83 5b 44 c3 13 61 .QVLG......[D..a 4d 8f e4 bf 51 a7 89 eb 47 90 29 70 22 4b 49 bf M...Q...G.)p"KI. 7e ef 02 f8 ae d0 4a dd 0c 24 3a e9 7c 35 3b e1 ~.....J..$:.|5;. aa 01 a9 d0 4c 0e b1 c1 70 ec 18 d7 14 4f 03 6d ....L...p....O.m 7f 3b 1b d7 ff 2d 06 f7 d8 7e 8f 50 57 f6 3b 94 .;...-...~.PW.;. c0 e0 37 ac 94 29 22 39 30 a5 95 ad eb eb 03 78 ..7..)"90......x 9d 93 e7 a7 44 c5 66 c8 d8 29 13 c0 35 21 00 44 ....D.f..)..5!.D c0 f2 a1 a6 a4 ed 7c ff 32 2f 78 16 f8 40 e1 a1 ......|.2/x..@.. 1d 2a 5b d6 a5 a6 f2 9b 8e 05 09 d0 98 bd e1 bd .*[............. e2 72 10 97 ef 5c 20 59 2e 2a 2e 06 f1 cd 1e fc .r...\ Y.*...... bc a5 39 73 51 b4 eb 5c 11 74 e3 4f b8 a7 a1 9c ..9sQ..\.t.O.... 44 d9 20 8d da 83 61 09 d5 f7 40 94 30 bf ca ec D. ...a...@.0... 7d 38 12 31 82 c4 69 04 8c c9 fc 34 0a }8.1..i....4. 11 8f a3 4b 7d 98 c2 2d dd e8 7d 8b bf 58 ca ba ...K}..-..}..X.. eb ee c5 3f 12 02 a5 e8 ...?.... -- > 2024/01/16 07:46:35.000759851 length=24 from=755 to=778 17 03 03 00 13 81 55 85 f3 aa 6a fa ed 13 85 cf ......U...j..... a6 9f a2 76 d7 9b 00 b2 ...v.... -- < 2024/01/16 07:46:35.000759997 length=24 from=5723 to=5746 17 03 03 00 13 36 ec 7d 58 7d 32 c5 98 36 f3 db .....6.}X}2..6.. a6 19 62 61 9c 68 65 46 ..ba.heF -- 2024/01/16 07:46:35 socat[5166] E write(6, 0x60f1d6d61000, 24): Broken pipe ```

However, there is nio advantage to this as if they can already MITM the unix file, you already got bigger issues than this 😆

LaurenceJJones commented 5 months ago

Implemented graceful shutdown for all server types. Put cleanup within a defer function which will return once we get a signal through chan

LaurenceJJones commented 5 months ago

I want to make one more change, and that is moving the listener creation within the run functions

I do that tomorrow as its 11pm here

LaurenceJJones commented 5 months ago

So might of gone out of scope abit, however, the redirect to https could of been a middleware within gin itself so I have now done this LMK if you think this is out of scope. The redirect function are now obsolete and now used I can reuse them within the gin router itself 🤷🏻

We now only run one http server on two listeners, the functions chains are ensured that the letsscrypt function runs if enabled then passes to gin which was the functionality before**. The first middleware will check if http request needs to be upgrade and returns redirect.

One change in functionality is since gin is handling the upgrade http -> https the 302's are now logged within gin itself

** However, further testing this means on https requests to /well-known/acme-challenge/ will be accepted by letsencrypt function. However, I don't see any issue with this as gin would of responded with 404 anyways.

jmattheis commented 5 months ago

Are the http .well-known requests now redirected to https? They must go directly to the letsencrypt handler, otherwise no TLS can be obtained and https likely doesn't work.

I'd say this is all in scope, the change looks kinda complicated now but I've only took a quick glance at it (seems reasonable, at second glance (: ). Will review and test it on the weekend.

LaurenceJJones commented 5 months ago

Are the http .well-known requests now redirected to https? They must go directly to the letsencrypt handler, otherwise no TLS can be obtained and https likely doesn't work.

I'd say this is all in scope, the change looks kinda complicated now but I've only took a quick glance at it (seems reasonable, at second glance (: ). Will review and test it on the weekend.

I tested it just with it let's encrypt enabled flag and it worked on non https connection with redirect flag. Because the handler is wrapped the acme stuff happens first then the https upgrade is run afterwards if the url didn't pass the acme handler filter.

LaurenceJJones commented 5 months ago

Implemented error handling now, so if user did supply http and tls unix sockets the other would be cleaned up if the other failed to bind. It best to avoid log.Fatal as we dont actually handle the error and nothing get cleaned up. Useful learning experience about the different waitgroups there are.

``` ╭─loz repo: server/build on  master [!?] took 1ms ╰─λ GOTIFY_SERVER_SSL_CERTKEY=domain.u.key GOTIFY_SERVER_SSL_CERTFILE=domain.crt GOTIFY_SERVER_SSL_ENABLED=true GOTIFY_SERVER_LISTENADDR=unix:test.sock GOTIFY_SERVER_SSL_LISTENADDR=unix:test.s.sock ./gotify-linux-amd64 Starting Gotify version unknown@unknown [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET / --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /index.html --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /manifest.json --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /asset-manifest.json --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /static/*any --> github.com/gotify/server/v2/ui.Register.WrapH.func2 (7 handlers) [GIN-debug] GET /health --> github.com/gotify/server/v2/api.(*HealthAPI).Health-fm (6 handlers) [GIN-debug] GET /swagger --> github.com/gotify/server/v2/docs.Serve (6 handlers) [GIN-debug] GET /image/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (6 handlers) [GIN-debug] HEAD /image/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (6 handlers) [GIN-debug] GET /docs --> github.com/gotify/server/v2/docs.UI (6 handlers) [GIN-debug] GET /plugin --> github.com/gotify/server/v2/api.(*PluginAPI).GetPlugins-fm (9 handlers) [GIN-debug] GET /plugin/:id/config --> github.com/gotify/server/v2/api.(*PluginAPI).GetConfig-fm (9 handlers) [GIN-debug] POST /plugin/:id/config --> github.com/gotify/server/v2/api.(*PluginAPI).UpdateConfig-fm (9 handlers) [GIN-debug] GET /plugin/:id/display --> github.com/gotify/server/v2/api.(*PluginAPI).GetDisplay-fm (9 handlers) [GIN-debug] POST /plugin/:id/enable --> github.com/gotify/server/v2/api.(*PluginAPI).EnablePlugin-fm (9 handlers) [GIN-debug] POST /plugin/:id/disable --> github.com/gotify/server/v2/api.(*PluginAPI).DisablePlugin-fm (9 handlers) [GIN-debug] POST /user --> github.com/gotify/server/v2/api.(*UserAPI).CreateUser-fm (9 handlers) [GIN-debug] OPTIONS /*any --> github.com/gin-contrib/cors.New.func1 (7 handlers) [GIN-debug] GET /version --> github.com/gotify/server/v2/router.Create.func4 (8 handlers) [GIN-debug] POST /message --> github.com/gotify/server/v2/api.(*MessageAPI).CreateMessage-fm (9 handlers) [GIN-debug] GET /application --> github.com/gotify/server/v2/api.(*ApplicationAPI).GetApplications-fm (9 handlers) [GIN-debug] POST /application --> github.com/gotify/server/v2/api.(*ApplicationAPI).CreateApplication-fm (9 handlers) [GIN-debug] POST /application/:id/image --> github.com/gotify/server/v2/api.(*ApplicationAPI).UploadApplicationImage-fm (9 handlers) [GIN-debug] DELETE /application/:id/image --> github.com/gotify/server/v2/api.(*ApplicationAPI).RemoveApplicationImage-fm (9 handlers) [GIN-debug] PUT /application/:id --> github.com/gotify/server/v2/api.(*ApplicationAPI).UpdateApplication-fm (9 handlers) [GIN-debug] DELETE /application/:id --> github.com/gotify/server/v2/api.(*ApplicationAPI).DeleteApplication-fm (9 handlers) [GIN-debug] GET /application/:id/message --> github.com/gotify/server/v2/api.(*MessageAPI).GetMessagesWithApplication-fm (9 handlers) [GIN-debug] DELETE /application/:id/message --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessageWithApplication-fm (9 handlers) [GIN-debug] GET /client --> github.com/gotify/server/v2/api.(*ClientAPI).GetClients-fm (9 handlers) [GIN-debug] POST /client --> github.com/gotify/server/v2/api.(*ClientAPI).CreateClient-fm (9 handlers) [GIN-debug] DELETE /client/:id --> github.com/gotify/server/v2/api.(*ClientAPI).DeleteClient-fm (9 handlers) [GIN-debug] PUT /client/:id --> github.com/gotify/server/v2/api.(*ClientAPI).UpdateClient-fm (9 handlers) [GIN-debug] GET /message --> github.com/gotify/server/v2/api.(*MessageAPI).GetMessages-fm (9 handlers) [GIN-debug] DELETE /message --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessages-fm (9 handlers) [GIN-debug] DELETE /message/:id --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessage-fm (9 handlers) [GIN-debug] GET /stream --> github.com/gotify/server/v2/api/stream.(*API).Handle-fm (9 handlers) [GIN-debug] GET /current/user --> github.com/gotify/server/v2/api.(*UserAPI).GetCurrentUser-fm (9 handlers) [GIN-debug] POST /current/user/password --> github.com/gotify/server/v2/api.(*UserAPI).ChangePassword-fm (9 handlers) [GIN-debug] GET /user --> github.com/gotify/server/v2/api.(*UserAPI).GetUsers-fm (9 handlers) [GIN-debug] DELETE /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).DeleteUserByID-fm (9 handlers) [GIN-debug] GET /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).GetUserByID-fm (9 handlers) [GIN-debug] POST /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).UpdateUserByID-fm (9 handlers) Started Listening for TLS connection on unix test.s.sock Started Listening for plain connection on unix test.sock ^C⏎ ╭─loz repo: server/build on  master [!?] took 1s ╰─λ touch test.sock ╭─loz repo: server/build on  master [!?] took 1ms ╰─λ GOTIFY_SERVER_SSL_CERTKEY=domain.u.key GOTIFY_SERVER_SSL_CERTFILE=domain.crt GOTIFY_SERVER_SSL_ENABLED=true GOTIFY_SERVER_LISTENADDR=unix:test.sock GOTIFY_SERVER_SSL_LISTENADDR=unix:test.s.sock ./gotify-linux-amd64 Starting Gotify version unknown@unknown [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode) [GIN-debug] GET / --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /index.html --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /manifest.json --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /asset-manifest.json --> github.com/gotify/server/v2/ui.serveFile.func1 (7 handlers) [GIN-debug] GET /static/*any --> github.com/gotify/server/v2/ui.Register.WrapH.func2 (7 handlers) [GIN-debug] GET /health --> github.com/gotify/server/v2/api.(*HealthAPI).Health-fm (6 handlers) [GIN-debug] GET /swagger --> github.com/gotify/server/v2/docs.Serve (6 handlers) [GIN-debug] GET /image/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (6 handlers) [GIN-debug] HEAD /image/*filepath --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (6 handlers) [GIN-debug] GET /docs --> github.com/gotify/server/v2/docs.UI (6 handlers) [GIN-debug] GET /plugin --> github.com/gotify/server/v2/api.(*PluginAPI).GetPlugins-fm (9 handlers) [GIN-debug] GET /plugin/:id/config --> github.com/gotify/server/v2/api.(*PluginAPI).GetConfig-fm (9 handlers) [GIN-debug] POST /plugin/:id/config --> github.com/gotify/server/v2/api.(*PluginAPI).UpdateConfig-fm (9 handlers) [GIN-debug] GET /plugin/:id/display --> github.com/gotify/server/v2/api.(*PluginAPI).GetDisplay-fm (9 handlers) [GIN-debug] POST /plugin/:id/enable --> github.com/gotify/server/v2/api.(*PluginAPI).EnablePlugin-fm (9 handlers) [GIN-debug] POST /plugin/:id/disable --> github.com/gotify/server/v2/api.(*PluginAPI).DisablePlugin-fm (9 handlers) [GIN-debug] POST /user --> github.com/gotify/server/v2/api.(*UserAPI).CreateUser-fm (9 handlers) [GIN-debug] OPTIONS /*any --> github.com/gin-contrib/cors.New.func1 (7 handlers) [GIN-debug] GET /version --> github.com/gotify/server/v2/router.Create.func4 (8 handlers) [GIN-debug] POST /message --> github.com/gotify/server/v2/api.(*MessageAPI).CreateMessage-fm (9 handlers) [GIN-debug] GET /application --> github.com/gotify/server/v2/api.(*ApplicationAPI).GetApplications-fm (9 handlers) [GIN-debug] POST /application --> github.com/gotify/server/v2/api.(*ApplicationAPI).CreateApplication-fm (9 handlers) [GIN-debug] POST /application/:id/image --> github.com/gotify/server/v2/api.(*ApplicationAPI).UploadApplicationImage-fm (9 handlers) [GIN-debug] DELETE /application/:id/image --> github.com/gotify/server/v2/api.(*ApplicationAPI).RemoveApplicationImage-fm (9 handlers) [GIN-debug] PUT /application/:id --> github.com/gotify/server/v2/api.(*ApplicationAPI).UpdateApplication-fm (9 handlers) [GIN-debug] DELETE /application/:id --> github.com/gotify/server/v2/api.(*ApplicationAPI).DeleteApplication-fm (9 handlers) [GIN-debug] GET /application/:id/message --> github.com/gotify/server/v2/api.(*MessageAPI).GetMessagesWithApplication-fm (9 handlers) [GIN-debug] DELETE /application/:id/message --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessageWithApplication-fm (9 handlers) [GIN-debug] GET /client --> github.com/gotify/server/v2/api.(*ClientAPI).GetClients-fm (9 handlers) [GIN-debug] POST /client --> github.com/gotify/server/v2/api.(*ClientAPI).CreateClient-fm (9 handlers) [GIN-debug] DELETE /client/:id --> github.com/gotify/server/v2/api.(*ClientAPI).DeleteClient-fm (9 handlers) [GIN-debug] PUT /client/:id --> github.com/gotify/server/v2/api.(*ClientAPI).UpdateClient-fm (9 handlers) [GIN-debug] GET /message --> github.com/gotify/server/v2/api.(*MessageAPI).GetMessages-fm (9 handlers) [GIN-debug] DELETE /message --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessages-fm (9 handlers) [GIN-debug] DELETE /message/:id --> github.com/gotify/server/v2/api.(*MessageAPI).DeleteMessage-fm (9 handlers) [GIN-debug] GET /stream --> github.com/gotify/server/v2/api/stream.(*API).Handle-fm (9 handlers) [GIN-debug] GET /current/user --> github.com/gotify/server/v2/api.(*UserAPI).GetCurrentUser-fm (9 handlers) [GIN-debug] POST /current/user/password --> github.com/gotify/server/v2/api.(*UserAPI).ChangePassword-fm (9 handlers) [GIN-debug] GET /user --> github.com/gotify/server/v2/api.(*UserAPI).GetUsers-fm (9 handlers) [GIN-debug] DELETE /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).DeleteUserByID-fm (9 handlers) [GIN-debug] GET /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).GetUserByID-fm (9 handlers) [GIN-debug] POST /user/:id --> github.com/gotify/server/v2/api.(*UserAPI).UpdateUserByID-fm (9 handlers) Started Listening for TLS connection on unix test.s.sock Error while running the server Could not listen on test.sock listen unix test.sock: bind: address already in use ╭─loz repo: server/build on  master [!?] took 19ms [🔴] × ls -la drwxr-xr-x - loz 18 Jan 10:09  . drwxr-xr-x - loz 17 Jan 10:23  .. drwxr-xr-x - loz 18 Jan 10:09  data .rw-r--r-- 2.5k loz 15 Jan 21:44  config.yaml .rw-r--r-- 1.2k loz 15 Jan 22:20  domain.crt .rw-r--r-- 956 loz 15 Jan 22:18  domain.csr .rw------- 1.9k loz 15 Jan 22:20  domain.key .rw------- 1.7k loz 15 Jan 22:30  domain.u.key .rwxr-xr-x 35M loz 18 Jan 10:05  gotify-linux-amd64 .rw-r--r-- 0 loz 18 Jan 10:09  test.sock ```
codecov[bot] commented 5 months ago

Codecov Report

Attention: 16 lines in your changes are missing coverage. Please review.

Comparison is base (0bfa5ca) 86.14% compared to head (8bd514a) 86.89%.

Files Patch % Lines
router/router.go 0.00% 15 Missing and 1 partial :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #621 +/- ## ========================================== + Coverage 86.14% 86.89% +0.75% ========================================== Files 45 44 -1 Lines 1609 1587 -22 ========================================== - Hits 1386 1379 -7 + Misses 138 124 -14 + Partials 85 84 -1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.