Skip to content

Commit

Permalink
feat: allow grpc api traffic via the gin http server
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Trost <[email protected]>
  • Loading branch information
galexrt committed Jan 5, 2025
1 parent 4ac85fb commit ef52cf3
Show file tree
Hide file tree
Showing 29 changed files with 857 additions and 321 deletions.
1 change: 1 addition & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
"buildFlags": "-race -a -installsuffix cgo",
"env": {
"CGO_ENABLED": "1",
"FIVENET_CONFIG_FILE": "./config.worker.yaml",
"FIVENET_DBSYNC_FILE": "./dbsync.yaml"
},
"dlvFlags": ["--check-go-version=false"]
Expand Down
6 changes: 4 additions & 2 deletions config.example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,6 @@ auth:
- projektleiter
- teamleitung
superuserUsers: []
syncAPITokens: []
#- LONG_RANDOM_API_TOKEN_FOR_DBSYNC
dispatchCenter:
convertJobs: []
#- police
Expand Down Expand Up @@ -131,3 +129,7 @@ game:
# First grade "number/id", some servers start at 0, but I have seen some start at 1
startJobGrade: 0
defaultLocale: "en"
sync:
enabled: false
apiTokens: []
#- LONG_RANDOM_API_TOKEN_FOR_DBSYNC
11 changes: 11 additions & 0 deletions gen/go/proto/services/sync/data.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package sync

import "context"

func (s *Server) SyncData(ctx context.Context, req *SyncDataRequest) (*SyncDataResponse, error) {
// TODO handle sync data request

return &SyncDataResponse{
AffectedRows: 0,
}, nil
}
13 changes: 8 additions & 5 deletions gen/go/proto/services/sync/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,16 @@ type Params struct {
}

func NewServer(p Params) *Server {
if !p.Config.Sync.Enabled {
return nil
}

return &Server{
logger: p.Logger,
db: p.DB,
auth: p.Auth,

tokens: p.Config.Auth.SyncAPITokens,
tokens: p.Config.Sync.APITokens,
}
}

Expand Down Expand Up @@ -67,8 +71,7 @@ func (s *Server) AuthFuncOverride(ctx context.Context, fullMethod string) (conte
return ctx, nil
}

func (s *Server) SyncData(ctx context.Context, req *SyncDataRequest) (*SyncDataResponse, error) {
// TODO handle sync data request

return nil, nil
func (s *Server) PermissionUnaryFuncOverride(ctx context.Context, info *grpc.UnaryServerInfo) (context.Context, error) {
// Skip permission check for the sync service
return ctx, nil
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ require (
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67
golang.org/x/image v0.23.0
golang.org/x/net v0.33.0
golang.org/x/oauth2 v0.24.0
golang.org/x/oauth2 v0.25.0
golang.org/x/text v0.21.0
google.golang.org/grpc v1.69.2
google.golang.org/protobuf v1.36.1
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1081,8 +1081,8 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
2 changes: 2 additions & 0 deletions go.work.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1263,6 +1263,8 @@ golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
Expand Down
4 changes: 4 additions & 0 deletions internal/modules/tests_grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ func TestGRPCServer(ctx context.Context) (*grpc.ClientConn, func(p GRPCServerPar
)

for _, service := range p.Services {
if service == nil {
continue
}

service.RegisterServer(srv)
}

Expand Down
7 changes: 4 additions & 3 deletions internal/tests/certs/gen_cert.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
#!/bin/bash
#!/usr/bin/env bash

# Regenerate the self-signed certificate for local host. Recent versions of firefox and chrome(ium)
# require a certificate authority to be imported by the browser (localhostCA.pem) while
# the server uses a cert and key signed by that certificate authority.
# Based partly on https://stackoverflow.com/a/48791236
CA_PASSWORD=notsafe

# Generate the root certificate authority key with the set password
openssl genrsa -des3 -passout pass:$CA_PASSWORD -out localhostCA.key 2048
openssl genrsa -des3 -passout pass:$CA_PASSWORD -out localhostCA.key 4096

# Generate a root-certificate based on the root-key for importing to browsers.
openssl req -x509 -new -nodes -key localhostCA.key -passin pass:$CA_PASSWORD -config localhostCA.conf -sha256 -days 1825 -out localhostCA.pem

# Generate a new private key
openssl genrsa -out localhost.key 2048
openssl genrsa -out localhost.key 4096

# Generate a Certificate Signing Request (CSR) based on that private key (reusing the
# localhostCA.conf details)
Expand Down
64 changes: 36 additions & 28 deletions internal/tests/certs/localhost.crt
Original file line number Diff line number Diff line change
@@ -1,30 +1,38 @@
-----BEGIN CERTIFICATE-----
MIIFODCCBCCgAwIBAgIJAMmbhUg0bRR9MA0GCSqGSIb3DQEBCwUAMIHDMQswCQYD
VQQGEwJVUzETMBEGA1UECAwKR1JQQyBTdGF0ZTESMBAGA1UEBwwJR1JQQyBUb3du
MSgwJgYDVQQKDB9HUlBDIFdlYiBsb2NhbGhvc3QgT3JnYW5pc2F0aW9uMRYwFAYD
VQQLDA1PcmcgVW5pdCBOYW1lMSQwIgYDVQQDDBtHUlBDIFdlYiBleGFtcGxlIGRl
diBzZXJ2ZXIxIzAhBgkqhkiG9w0BCQEWFGdycGMtd2ViQGV4YW1wbGUuY29tMB4X
DTIxMTAyNzE5NDgyMFoXDTI0MDgxNjE5NDgyMFowgcMxCzAJBgNVBAYTAlVTMRMw
EQYDVQQIDApHUlBDIFN0YXRlMRIwEAYDVQQHDAlHUlBDIFRvd24xKDAmBgNVBAoM
H0dSUEMgV2ViIGxvY2FsaG9zdCBPcmdhbmlzYXRpb24xFjAUBgNVBAsMDU9yZyBV
bml0IE5hbWUxJDAiBgNVBAMMG0dSUEMgV2ViIGV4YW1wbGUgZGV2IHNlcnZlcjEj
MCEGCSqGSIb3DQEJARYUZ3JwYy13ZWJAZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQC66Y3vZznzPL9bscrvRch7dzzD538XlnYlcfLp
rYYmOeWW1vM+/+KTqgb4GuKqZq6rGnhNEoQhRH0i4kZa7VgvY+mvFqGPrnjPOkYQ
S2GoemwKIUqPapJtB8pM6o7hdycKYNn3QvdORmKduWOYzPLriHkHEAEH1zK9UvkO
kGM9T2U0xMBATk9V/M/V18psKG90tndit+3+vN384yVR5KL0i9wQBAQWYa/IMF6V
Q8n2hoJbED2pdYkQFeymTBMIqr7g7MkK0im6ZqW2MDIrn6rkjyd8odlXuaRLAPGp
mV7Ii5JK2eyK+rH2QCb7slGl6nHpadYD4PEvd3ajlyzJdH3/AgMBAAGjggErMIIB
JzCB4gYDVR0jBIHaMIHXoYHJpIHGMIHDMQswCQYDVQQGEwJVUzETMBEGA1UECAwK
R1JQQyBTdGF0ZTESMBAGA1UEBwwJR1JQQyBUb3duMSgwJgYDVQQKDB9HUlBDIFdl
YiBsb2NhbGhvc3QgT3JnYW5pc2F0aW9uMRYwFAYDVQQLDA1PcmcgVW5pdCBOYW1l
MSQwIgYDVQQDDBtHUlBDIFdlYiBleGFtcGxlIGRldiBzZXJ2ZXIxIzAhBgkqhkiG
9w0BCQEWFGdycGMtd2ViQGV4YW1wbGUuY29tggkA/2+s4xt7kvEwCQYDVR0TBAIw
ADALBgNVHQ8EBAMCBPAwKAYDVR0RBCEwH4IJbG9jYWxob3N0ggh0ZXN0aG9zdIII
Y29yc2hvc3QwDQYJKoZIhvcNAQELBQADggEBADWb8cis27F7benX5KJWwNX4C9Fb
YDCsOWGNW3U2Q/gcdNkBl5ovu9nfskRGRDFk0x+2tQEaE1PEwCDWrhTnAqbTwdBn
ZRslmzVBdDTD4p/R4DEJIk1/tWiiTZnF7/ZJypvBkqLHnYMi7Dpi6587G4iruCUN
1gD46j1Eh0wsMNJY0J9uaXtkgRg5yR7fCPw4E1tmC0tqlW9zKGuF2moN1p4cPjvL
ZUg3/0y/xq0ckM14PnyQ1HLrt3cxEUI649L2iVaE9nasXnb3bU4YJFvFwjpeP+Rc
9xT0ZhTp8m3juU3wjfWjpJntEQn96xocRFioEaMxpCnHMZ5q6TWDHNTg9hw=
MIIGnDCCBISgAwIBAgIUVXg8qyE8yYt6vTJAr384zy5j6kQwDQYJKoZIhvcNAQEL
BQAwgcMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApHUlBDIFN0YXRlMRIwEAYDVQQH
DAlHUlBDIFRvd24xKDAmBgNVBAoMH0dSUEMgV2ViIGxvY2FsaG9zdCBPcmdhbmlz
YXRpb24xFjAUBgNVBAsMDU9yZyBVbml0IE5hbWUxJDAiBgNVBAMMG0dSUEMgV2Vi
IGV4YW1wbGUgZGV2IHNlcnZlcjEjMCEGCSqGSIb3DQEJARYUZ3JwYy13ZWJAZXhh
bXBsZS5jb20wHhcNMjUwMTA1MTcyMzM0WhcNMjcxMDI2MTcyMzM0WjCBwzELMAkG
A1UEBhMCVVMxEzARBgNVBAgMCkdSUEMgU3RhdGUxEjAQBgNVBAcMCUdSUEMgVG93
bjEoMCYGA1UECgwfR1JQQyBXZWIgbG9jYWxob3N0IE9yZ2FuaXNhdGlvbjEWMBQG
A1UECwwNT3JnIFVuaXQgTmFtZTEkMCIGA1UEAwwbR1JQQyBXZWIgZXhhbXBsZSBk
ZXYgc2VydmVyMSMwIQYJKoZIhvcNAQkBFhRncnBjLXdlYkBleGFtcGxlLmNvbTCC
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMXVw8ESiIHzCTe8maVb4ySd
Q5A/3qprW7W2fiiGqk6xydaDUgOvGf0ETTp96+QwEx6O12xkiCINwcoQROs+9lFg
W5yT6ULDFHEOrGY5qnoJQQttz4E5rbXlt8u9TcpxyFyfuhfCsF00vozAmtjlhBzi
0eIDyamtw6z8pIXorgvX+1+XzcI1fftR0CP4rhk8p3BLm10iUoauA1qlYa3wmPw3
NEqxKd7YpnGd39xHi7ivyYdPrFLZdWGaEYkho+IYfB7YoBmyiPvPSnHTmommpBC6
RmiTQZyF8tv4QICA3uPm58vgvHIdHCe3dBX/M2zbFk1Hr1hQQ5YWxH9e7whQhUHP
DwdDcMRsckPNdoptViq7NDNw4fYLjAGXu+01UHIo6VDSP7WHZrTr1Xq7a84UihBq
jdYM6mQD2k/fIc/M1C4UUoPnqwjuaN5Svk5aV6H0hqOT4TVgm2Z02sRE152/kj/z
Ydn8Bv3rAAbkNfLtu3dacWAJKxQhvUtB7kwhJw1XO7Q+ZZGcySo/MOdCN1B1K+5c
cTxtvg0Af5ypb7BsDkomvFUc8a+xrCM057dT3Du0BUN7I3+u/D14SX0+RJFfPIbP
q39NOXQ1KAKELuyPpX5G+qWXq2sO1EhJIYr+gfo+XhqzvOhj101TiBtcv34xqRtl
VSyoyBJ3+NLKgr+Q6G5FAgMBAAGjgYUwgYIwHwYDVR0jBBgwFoAUahuSMP6KzcQG
K22yJoVhCGpjXa8wCQYDVR0TBAIwADALBgNVHQ8EBAMCBPAwKAYDVR0RBCEwH4IJ
bG9jYWxob3N0ggh0ZXN0aG9zdIIIY29yc2hvc3QwHQYDVR0OBBYEFNkuh8nMoiOy
rwb7dieRQU0jqpOzMA0GCSqGSIb3DQEBCwUAA4ICAQAbdCusmSQUMACCPAVfgbAx
lWtCKAFIep/Hd4Ep7/vhXceq8OiHBRf2XNQQM4nm2mzeCKvyIrlOkUUAtWHyP8kC
TlBRg/dg1hd7bHtDly2Y0fpVEjg+sJ5UliLv3OkR1FDGM6p5PFYnXi9xYNbgw4sD
sJ2kGL+PSlTvFBFZJlWS7YvjrvGOEOqwuPGlb98NzpuCXg5gSPEWr+NgUTAlpdVB
ESE2zCcxVmA/wmK82rLrxbZ+OdwWTzh4lqfeA/2b7ZDLhg6YSCTalMj+eRHMBV2Q
kDA3gBAaLJKtZrF9HJDAI58RQV2//g75ULYOk0WQ/VKJpld2O8Esz4OSnH9ktaO+
3RoG9f6nduAjjoqH7OX+Wrsj9gpP/0AWwU90ik7QV2JdStfl6x2xUxvlkfHCUKnQ
z2ZQFWss5gibrrkZGz5HzDSukjAG1Jc47cCx+ekzA9B/knceFlfgaRBXvEuyyKE/
QqUS2M/3HlZSo1JoqjVzGpMHZTIRVFEQvx2o/U8weeh314Oar1f1i0emQY4warI1
0Uyuhz+JrjGjSAf36NRtVmV9Gh2hiMsV7ZUA6H3yz0OAaB8iSzXWtbhXVP8myU2B
4EPt71hHnNkCekD44gfwJqx06v1TNnReUgSypzF3ToDqA7E75wl5j/qSUG6LAykG
mooVGS4HLh9jmjPvO6A8oA==
-----END CERTIFICATE-----
79 changes: 52 additions & 27 deletions internal/tests/certs/localhost.key
Original file line number Diff line number Diff line change
@@ -1,27 +1,52 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAuumN72c58zy/W7HK70XIe3c8w+d/F5Z2JXHy6a2GJjnlltbz
Pv/ik6oG+Briqmauqxp4TRKEIUR9IuJGWu1YL2Pprxahj654zzpGEEthqHpsCiFK
j2qSbQfKTOqO4XcnCmDZ90L3TkZinbljmMzy64h5BxABB9cyvVL5DpBjPU9lNMTA
QE5PVfzP1dfKbChvdLZ3Yrft/rzd/OMlUeSi9IvcEAQEFmGvyDBelUPJ9oaCWxA9
qXWJEBXspkwTCKq+4OzJCtIpumaltjAyK5+q5I8nfKHZV7mkSwDxqZleyIuSStns
ivqx9kAm+7JRpepx6WnWA+DxL3d2o5csyXR9/wIDAQABAoIBAQCao5JfaGsEd9Tl
+xGnpnd41qy6c/OtQzmaP0020e6z/6CYjFwRWklN3BUJ/cxcKLoIK80uDsysbWqO
iuCkZ8tW4fW7eyDNrA6dfFvtLUCt0CNEukhioUxl0lUoD8OIfDkbmAedT5Ul+Ius
bG4fRCkSfwWKt03y+7Mp+dS+nOzOElDANlxxZRUjBHx08VPE4/r9L4efFCU3T4Jd
I72IzZeEXXH2R4R4POzBoPFP+LHg1N+JUUtAkArd30Ar3oc4EReWqSqPqMOiMPmU
mwFgP3eAIMP+FPyM5KELMpzz6HHVwm9Kh7DMAwDaEb3IR84uulqsqrg48mKmi2Sr
DmAK0YGZAoGBAOJry2CdxFmj45Ca2eNq1cix+1xhQo0VvIiUeBiJmNUHSX5gQDhQ
9Kd5X4TR6/DqTK+oHRVDtDs/zxeqP5CSsNpmbz2FBrkjka7SYpZVv3/liczAT3Hy
H67Pvw0yIucmw1Cv7+rsix2YsmGd0EA/6XJik44SJ2lfMpQrFqJiBNMbAoGBANNU
d8bpkMBZEZFWreFiuhWGO5+W9WX+M6b6DMAmtuTjIv7NMiVpxs9r7ymUO5mt2vfQ
LRxK3X+MpYPcUBsRhF5bu0WTXgKW/VL84WyzSYvlT8EENKCtfSYsnUZYCjOiFUk0
769E8nGYuXpTDKOIg9Jv45r7PErGgBEOCK/eGgrtAoGBAMfG9raz3Yh+S47Oosu+
+wxOxgtXoaHcePJFlcWIurnT6SvBf0hxXbzbIcWOd1ClWq5udeLKTx8sCOzHgbht
RfAeC67LTghS8vq+lNAyrnoJrNFlKXPPf9b9ZIQfJZ6wnAr4gYbV2VVu4o2w8guO
mMsdYTYsnGuj3HvRnPH/7GPbAoGAFZawccKUhgHTWJyZQMgcKGzBFImQYi34ytsK
iGqsDm/huFPwBoBqze/By+aXvBhVoTFEGnrPa+NLWVAdYtaERjtqwy3N0cfo8xxg
TwF1xvPTFO3ADpYKjebK3k/KIwIw2Hyu66HIfrBSalunk+EzTkEd6Ew4GY9zr8pW
OtkeofUCgYEAta0CrWkWcBi5SUcMpD9SkTy10ejYb7/BnG+VYr9l/jBO8DCeFuj9
OGMvRaQLWcs9PG7286VkLBMUo2pc+mpTbw6WR3qrDojoiE7P3DUnAzMQTsZe69lD
vXp5yhu9c9O5QpK6uzJ64rVCYE6g+noUe/dJNoMUndPF1RahW5nELTo=
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
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
6bT/jp3T9snRUPOEMX/ERUTUyUNiAC/X
-----END PRIVATE KEY-----
2 changes: 1 addition & 1 deletion internal/tests/certs/localhostCA.conf
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ subjectAltName = @alt_names
[ alt_names ]
DNS.1 = localhost
DNS.2 = testhost
DNS.3 = corshost
DNS.3 = corshost
54 changes: 54 additions & 0 deletions internal/tests/certs/localhostCA.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
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
LfcaWM1LYkZbyOwhwaBLfjaLwjy1OZ/0wNmXyAx5TQ6HpV+iV4TTWfZ4tFS3yJk1
cR03bAkGPnqr11g06+3eaqb+nGAhV/qhUm1NtD6rhtqfMJONq8t5p26Cdv1/4QtF
69vw09HHZ2w1PASdPbvJtAuyPNMLsy4mVAbDO5WncvIPTFl3z3HD0idbH4PRJJcj
4UqZRLKN1+e6Gb37eyP4BO1rs8rWqqHGyr26p3isXJLvnXCqQppyE5DefQUitjeS
5upb4P6JL+cLHtu+QKlrIkHh5g1e5XtRLhaab+vh+ObeLOsqQjHnS7ZD+QEE8CRv
l7u+F5z9m4P+3BYeWee3olmXR3UYtzi2H8Szumc1qVzZ0wUA1rG/MrEs1dHmy2wr
zHgeZW++hBAXNHmU/PVXSyuLE6f46eEAO6YghFM0nYc44AAju2PBaZ1scFZaDIlh
gR3l7eK75b7vG8j2fTruUCJHypky9yF2PlsB21UJBb811vGx3CExSMOk1toZ9Hb8
mJK0+2rxhemyw5x95xIaINE9Dm6DcaKeHhI5Ug6tUpNl4mbsPWCKlLQ0CmfsQ6BT
5Sn378/qTX2oAwBcUuNzBho2CpkqJXYM0P5Ki1O0PKnOw4YkVEnzhjcqofyK173Q
pRuMvmGUQRjwBxdw9NpTWx+OTjffKEUbF0qOJO8ME2hUG1dLR4RIaWv9q5qC1C4p
KKq9+J3AxJkd9rfG1tJ/71KP2MSgqOO8BtXbiWKHNDFk4Y9QMwJyuhYsb/4DnMaQ
BmIILMgySXFOGb26HU3sjhA9/JM4fi3UFU1YGvvWcHa+f1bgZpy20iPMnbRimdaH
/Nmqd7m+Y2MEkZlHEVv6uIG7P3ReR/ly
-----END ENCRYPTED PRIVATE KEY-----
Loading

0 comments on commit ef52cf3

Please sign in to comment.