8.2 more domains, move beta signups
This commit is contained in:
104
beta/beta_signups.csv
Normal file
104
beta/beta_signups.csv
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
Email
|
||||||
|
Abishanka.saha@gmail.com
|
||||||
|
juancampa@gmail.com
|
||||||
|
Bgfrazier@gmail.com
|
||||||
|
kernelsoe@gmail.com
|
||||||
|
Ekonomy@protonmail.com
|
||||||
|
kisunnayo@duck.com
|
||||||
|
Jacob_moya1117@yahoo.com
|
||||||
|
matias.sjoblom6@gmail.com
|
||||||
|
Ldelunak5@gmail.com
|
||||||
|
maxkmobey@icloud.com
|
||||||
|
W2019fgatfield@gmail.com
|
||||||
|
montanarinick@gmail.com
|
||||||
|
abishanka.saha@gmail.com
|
||||||
|
nate.d.luna@gmail.com
|
||||||
|
akbir.yfoga@8shield.net
|
||||||
|
noahflodder@gmail.com
|
||||||
|
arc360yt@gmail.com
|
||||||
|
omar.elfanek@gmail.com
|
||||||
|
aritraneogi2006@gmail.com
|
||||||
|
parchment.653468@schlosser.xyz
|
||||||
|
aubertbrennan@gmail.com
|
||||||
|
"parchment.page.displace612@passmail.net"
|
||||||
|
augustinamari14@gmail.com
|
||||||
|
pj@kantak.de
|
||||||
|
belle.smithies@gmail.com
|
||||||
|
pratyush.sahoo55@gmail.com
|
||||||
|
ben@bn0367.com
|
||||||
|
quigleyoto@gmail.com
|
||||||
|
bridger.joshua@gmail.com
|
||||||
|
resstowot@gmail.com
|
||||||
|
carlosgarciagutierrez.cgagu@gmail.com
|
||||||
|
samuel@sun.museum
|
||||||
|
cerca_sesion0u@icloud.com
|
||||||
|
sherin@hey.com
|
||||||
|
chankahei123456@gmail.com
|
||||||
|
ssampaoli@equo.dev
|
||||||
|
danielrouhana@gmail.com
|
||||||
|
sunny.gonna@gmail.com
|
||||||
|
david.regev@gmail.com
|
||||||
|
tamarindtypex@proton.me
|
||||||
|
fm100310@gmail.com
|
||||||
|
guignardmathias@gmail.com
|
||||||
|
vasconcelos.arthur@gmail.com
|
||||||
|
happywzm@gmail.com
|
||||||
|
victordedomenico.du60@gmail.com
|
||||||
|
hello@marlin.red
|
||||||
|
voidmelon@skiff.com
|
||||||
|
iyousifsabah@gmail.com
|
||||||
|
youvegotcaleb@gmail.com
|
||||||
|
jaywin.jv@gmail.com
|
||||||
|
zayn.khan@uconn.edu
|
||||||
|
john0000wu@gmail.com
|
||||||
|
Lukasdavisbarrs@gmail.com,2.20 9:35pm
|
||||||
|
zacharywood92@gmail.com,2.25 7:40pm
|
||||||
|
TYHSoftware@gmail.com,2.29 4:42pm
|
||||||
|
arnav@arnavgosain.com,3.1 2:23pm
|
||||||
|
fvaughan36@gmail.com,4.2 6:51pm
|
||||||
|
parchment@a.odajay.com,4.4 12:48pm
|
||||||
|
logan.a.welsh@gmail.com,4.21 12:16pm
|
||||||
|
andrew@renormalizing.com,4.22 2:10pm
|
||||||
|
shukur.mukhtarov@gmail.com,4.22 8:40pm
|
||||||
|
Jf.jessie@gmail.com,4.24 3:02am
|
||||||
|
dhanraj6174@gmail.com,4.25 12:55am
|
||||||
|
wenwu@hey.com,5.17 10:54pm
|
||||||
|
pcnk08@gmail.com,5.23 8:44am
|
||||||
|
Dainajag@aim.com,7.1 5:33am
|
||||||
|
Dainajag@aol.com,7.1 5:34am
|
||||||
|
luckyplukas@gmail.com,7.1 6:49am
|
||||||
|
yinan@hey.com,7.1 12:21pm
|
||||||
|
mano@flairvc.com,7.3 1:04pm
|
||||||
|
kayruss1@gmail.com,7.4 1:47pm
|
||||||
|
luckyplukas@googlemail.com,7.18 6:44am
|
||||||
|
rennt@oregonstate.edu,8.6 4:38pm
|
||||||
|
weconel991@daypey.com,8.22 11:55am
|
||||||
|
test@test.com,8.22 11:55am
|
||||||
|
jn,8.28 1:55pm
|
||||||
|
hart.lucas02@gmail.com,8.28 7:33pm
|
||||||
|
joe.jbh@proton.me,8.29 5:38pm
|
||||||
|
theobragstad22@gmail.com,8.29 6:25pm
|
||||||
|
seandavrancomputerscience@gmail.com,8.30 5:48am
|
||||||
|
sandavran@gmail.com,8.30 5:49am
|
||||||
|
harikakondur3@gmail.com,9.5 3:25pm
|
||||||
|
jacobef2@gmail.com,9.7 12:04am
|
||||||
|
gregjf@gmail.com,9.9 10:48pm
|
||||||
|
fnnjfndj@fake.com,9.25 3:10pm
|
||||||
|
ganeshharshu27@gmail.com,9.25 5:48pm
|
||||||
|
brayden.a15@gmail.com,9.26 10:48am
|
||||||
|
fantomhaiv65@gmail.com,9.26 1:40pm
|
||||||
|
ravidatd@oregonstate.edu,9.26 9:08pm
|
||||||
|
ethanpeterson55@gmail.com,9.27 12:48pm
|
||||||
|
craetona@oregonstate.edu,9.27 2:21pm
|
||||||
|
baumanne@oregonstate.edu,9.27 3:39pm
|
||||||
|
morgirme@gmail.com,9.29 9:19pm
|
||||||
|
saakiyama02@gmail.com,9.30 1:04am
|
||||||
|
randquistcp@gmail.com,10.4 8:52am
|
||||||
|
mgriffin@ncose.com,10.16 2:40pm
|
||||||
|
beastern@gmail.com,10.23 8:03pm
|
||||||
|
jalvarez062001@gmail.com,11.2 4:23pm
|
||||||
|
intim@oregonstate.edu,11.29 6:42pm
|
||||||
|
danielburnstech@gmail.com,12.12 11:12am
|
||||||
|
taykingg@gmail.com,6.19.2025 10:22pm
|
||||||
|
asdf@pm.me,8.2.2025 7:32pm
|
||||||
|
pp@pm.me,8.2.2025 7:37pm
|
||||||
|
Can't render this file because it has a wrong number of fields in line 54.
|
50
fullchain.pem
Normal file
50
fullchain.pem
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIECzCCA5KgAwIBAgISBXwhSxScclnvXiGv4vODPHAqMAoGCCqGSM49BAMDMDIx
|
||||||
|
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
|
||||||
|
NTAeFw0yNTA0MDgxNTUxNDlaFw0yNTA3MDcxNTUxNDhaMBsxGTAXBgNVBAMMECou
|
||||||
|
cGFyY2htZW50LnBhZ2UwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASFM3oC5uJD
|
||||||
|
B9BiyHKvk2LQFDngkMA9W6XHhxuuwi4//XprHY4+kYc+EoSNkz4m5ku5b1FG5wY2
|
||||||
|
hzVnnYeyhBdno4ICnTCCApkwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsG
|
||||||
|
AQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSvq5Yi60F/
|
||||||
|
nsb9/R0UGw15Sl/aGjAfBgNVHSMEGDAWgBSfK1/PPCFPnQS37SssxMZwi9LXDTBV
|
||||||
|
BggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9lNS5vLmxlbmNyLm9y
|
||||||
|
ZzAiBggrBgEFBQcwAoYWaHR0cDovL2U1LmkubGVuY3Iub3JnLzB2BgNVHREEbzBt
|
||||||
|
ghAqLnBhcmNobWVudC5wYWdlghBhZG1pbi5zdW4ubXVzZXVtgg1haS5zdW4ubXVz
|
||||||
|
ZXVtghJhbWVyaWNhLnN1bi5tdXNldW2CEHF1aWxsLnN1bi5tdXNldW2CEnNjcmFw
|
||||||
|
ZXIuc3VuLm11c2V1bTATBgNVHSAEDDAKMAgGBmeBDAECATAtBgNVHR8EJjAkMCKg
|
||||||
|
IKAehhxodHRwOi8vZTUuYy5sZW5jci5vcmcvNDMuY3JsMIIBBQYKKwYBBAHWeQIE
|
||||||
|
AgSB9gSB8wDxAHcADeHyMCvTDcFAYhIJ6lUu/Ed0fLHX6TDvDkIetH5OqjQAAAGW
|
||||||
|
Fk9RkQAABAMASDBGAiEA0QVjV0yjeKE/jBRAhheZdh63KEQL4jxe5Z5Qt93oa2YC
|
||||||
|
IQCNcP4pbxlW9vRHvIxFkHO35XjGOShU8IzEuOMMQbQltgB2AMz7D2qFcQll/pWb
|
||||||
|
U87psnwi6YVcDZeNtql+VMD+TA2wAAABlhZPUakAAAQDAEcwRQIhALXOWF8RBt8M
|
||||||
|
hKdISAB3oXoqP6gu0sIax6StXNb4hTfLAiB1hHzFz4J7VEFzvmXO2JSLk5rb5mHN
|
||||||
|
N61RnLwl6lLL2zAKBggqhkjOPQQDAwNnADBkAjBvp6IDen/nyXBbkxYOPhxe6Ej6
|
||||||
|
4D6CGTans1DciQ5HxNarxYRk6DpTjMthd9ETYUYCMG1GCvOkpgmNcQfm0aJ5lb54
|
||||||
|
tfjEZvG7Xlrzv4EeP7vpovoUlCkIs7+GAB3uaZaaXQ==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEVzCCAj+gAwIBAgIRAIOPbGPOsTmMYgZigxXJ/d4wDQYJKoZIhvcNAQELBQAw
|
||||||
|
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||||
|
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
|
||||||
|
WhcNMjcwMzEyMjM1OTU5WjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
|
||||||
|
RW5jcnlwdDELMAkGA1UEAxMCRTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNCzqK
|
||||||
|
a2GOtu/cX1jnxkJFVKtj9mZhSAouWXW0gQI3ULc/FnncmOyhKJdyIBwsz9V8UiBO
|
||||||
|
VHhbhBRrwJCuhezAUUE8Wod/Bk3U/mDR+mwt4X2VEIiiCFQPmRpM5uoKrNijgfgw
|
||||||
|
gfUwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD
|
||||||
|
ATASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBSfK1/PPCFPnQS37SssxMZw
|
||||||
|
i9LXDTAfBgNVHSMEGDAWgBR5tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcB
|
||||||
|
AQQmMCQwIgYIKwYBBQUHMAKGFmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0g
|
||||||
|
BAwwCjAIBgZngQwBAgEwJwYDVR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVu
|
||||||
|
Y3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAH3KdNEVCQdqk0LKyuNImTKdRJY1C
|
||||||
|
2uw2SJajuhqkyGPY8C+zzsufZ+mgnhnq1A2KVQOSykOEnUbx1cy637rBAihx97r+
|
||||||
|
bcwbZM6sTDIaEriR/PLk6LKs9Be0uoVxgOKDcpG9svD33J+G9Lcfv1K9luDmSTgG
|
||||||
|
6XNFIN5vfI5gs/lMPyojEMdIzK9blcl2/1vKxO8WGCcjvsQ1nJ/Pwt8LQZBfOFyV
|
||||||
|
XP8ubAp/au3dc4EKWG9MO5zcx1qT9+NXRGdVWxGvmBFRAajciMfXME1ZuGmk3/GO
|
||||||
|
koAM7ZkjZmleyokP1LGzmfJcUd9s7eeu1/9/eg5XlXd/55GtYjAM+C4DG5i7eaNq
|
||||||
|
cm2F+yxYIPt6cbbtYVNJCGfHWqHEQ4FYStUyFnv8sjyqU8ypgZaNJ9aVcWSICLOI
|
||||||
|
E1/Qv/7oKsnZCWJ926wU6RqG1OYPGOi1zuABhLw61cuPVDT28nQS/e6z95cJXq0e
|
||||||
|
K1BcaJ6fJZsmbjRgD5p3mvEf5vdQM7MCEvU0tHbsx2I5mHHJoABHb8KVBgWp/lcX
|
||||||
|
GWiWaeOyB7RP+OfDtvi2OsapxXiV7vNVs7fMlrRjY1joKaqmmycnBvAq14AEbtyL
|
||||||
|
sVfOS66B8apkeFX2NY4XPEYV4ZSCe8VHPrdrERk2wILG3T/EGmSIkCYVUMSnjmJd
|
||||||
|
VQD9F6Na/+zmXCc=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
112
main.go
112
main.go
@@ -2,6 +2,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/tls"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -56,7 +57,7 @@ func loggingMiddleware(next http.HandlerFunc) http.HandlerFunc {
|
|||||||
if isLocalIP(ipWithPort) {
|
if isLocalIP(ipWithPort) {
|
||||||
log.Printf("%s %s %s", r.Host, cleanIP, path)
|
log.Printf("%s %s %s", r.Host, cleanIP, path)
|
||||||
} else {
|
} else {
|
||||||
log.Printf("%s %s \033[33m%s%s\033[0m", formattedTime, cleanIP, r.Host, path)
|
log.Printf("\033[33m%s\033[0m %s \033[94m%s %s\033[0m", formattedTime, cleanIP, r.Host, path)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add request info to global store
|
// Add request info to global store
|
||||||
@@ -74,22 +75,6 @@ func loggingMiddleware(next http.HandlerFunc) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func outsideHandler(w http.ResponseWriter, r *http.Request) {
|
|
||||||
if r.Host == "america.sun.museum" {
|
|
||||||
target, _ := url.Parse("http://localhost:8000")
|
|
||||||
proxy := httputil.NewSingleHostReverseProxy(target)
|
|
||||||
r.Host = target.Host
|
|
||||||
proxy.ServeHTTP(w, r)
|
|
||||||
return
|
|
||||||
} else
|
|
||||||
if r.Host == "admin.sun.museum" {
|
|
||||||
src.BetaSignupHandler(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Fprintf(w, "Hello, World! You're from outside.")
|
|
||||||
}
|
|
||||||
|
|
||||||
func rootHandler(w http.ResponseWriter, r *http.Request) {
|
func rootHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
ip := r.RemoteAddr
|
ip := r.RemoteAddr
|
||||||
ip = ip[:strings.LastIndex(ip, ":")] // Trim port
|
ip = ip[:strings.LastIndex(ip, ":")] // Trim port
|
||||||
@@ -100,15 +85,92 @@ func rootHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func outsideHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
if r.Host == "america.sun.museum" {
|
||||||
|
target, _ := url.Parse("http://localhost:8000")
|
||||||
|
proxy := httputil.NewSingleHostReverseProxy(target)
|
||||||
|
r.Host = target.Host
|
||||||
|
proxy.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
} else
|
||||||
|
if(r.Host == "thefiveprinciples.org") {
|
||||||
|
target, _ := url.Parse("http://localhost:3001")
|
||||||
|
proxy := httputil.NewSingleHostReverseProxy(target)
|
||||||
|
r.Host = target.Host
|
||||||
|
proxy.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
} else
|
||||||
|
if(r.Host == "americanforum.net") {
|
||||||
|
target, _ := url.Parse("http://localhost:3002")
|
||||||
|
proxy := httputil.NewSingleHostReverseProxy(target)
|
||||||
|
r.Host = target.Host
|
||||||
|
proxy.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
} else
|
||||||
|
if(r.Host == "hyperia.so") {
|
||||||
|
target, _ := url.Parse("http://localhost:3003")
|
||||||
|
proxy := httputil.NewSingleHostReverseProxy(target)
|
||||||
|
r.Host = target.Host
|
||||||
|
proxy.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
} else
|
||||||
|
if(r.Host == "aryan.so") {
|
||||||
|
target, _ := url.Parse("http://localhost:3004")
|
||||||
|
proxy := httputil.NewSingleHostReverseProxy(target)
|
||||||
|
r.Host = target.Host
|
||||||
|
proxy.ServeHTTP(w, r)
|
||||||
|
return
|
||||||
|
} else
|
||||||
|
if r.Host == "admin.sun.museum" {
|
||||||
|
src.BetaSignupHandler(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintf(w, "Hello, World! You're from outside.")
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.SetFlags(0)
|
log.SetFlags(0)
|
||||||
|
|
||||||
|
// Your handler with logging middleware
|
||||||
http.HandleFunc("/", loggingMiddleware(rootHandler))
|
http.HandleFunc("/", loggingMiddleware(rootHandler))
|
||||||
|
|
||||||
certFile := "/etc/letsencrypt/live/parchment.page/fullchain.pem"
|
// Load multiple certificates
|
||||||
keyFile := "/etc/letsencrypt/live/parchment.page/privkey.pem"
|
certs := map[string]*tls.Certificate{}
|
||||||
log.Println("Server running on port 3000")
|
|
||||||
err := http.ListenAndServeTLS(":3000", certFile, keyFile, nil)
|
loadCert := func(domain string) {
|
||||||
if err != nil {
|
cert, err := tls.LoadX509KeyPair(
|
||||||
log.Fatalf("Server failed: %v", err)
|
"/etc/letsencrypt/live/"+domain+"/fullchain.pem",
|
||||||
|
"/etc/letsencrypt/live/"+domain+"/privkey.pem",
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Failed to load certificate for %s: %v", domain, err)
|
||||||
|
}
|
||||||
|
certs[domain] = &cert
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// Example domains
|
||||||
|
loadCert("parchment.page")
|
||||||
|
loadCert("hyperia.so")
|
||||||
|
|
||||||
|
// Configure TLS with SNI
|
||||||
|
tlsConfig := &tls.Config{
|
||||||
|
GetCertificate: func(hello *tls.ClientHelloInfo) (*tls.Certificate, error) {
|
||||||
|
if cert, ok := certs[hello.ServerName]; ok {
|
||||||
|
return cert, nil
|
||||||
|
}
|
||||||
|
// fallback: return any default cert
|
||||||
|
return certs["hyperia.so"], nil
|
||||||
|
},
|
||||||
|
MinVersion: tls.VersionTLS12,
|
||||||
|
}
|
||||||
|
|
||||||
|
server := &http.Server{
|
||||||
|
Addr: ":3000",
|
||||||
|
Handler: nil, // uses default http handler
|
||||||
|
TLSConfig: tlsConfig,
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("🔒 HTTPS server running on port 3000")
|
||||||
|
log.Fatal(server.ListenAndServeTLS("", "")) // certs handled by tlsConfig
|
||||||
|
}
|
||||||
|
|||||||
@@ -1 +1,3 @@
|
|||||||
```sudo go run *.go```
|
```sudo go run *.go```
|
||||||
|
|
||||||
|
https://uptime.betterstack.com/team/328750/monitors
|
||||||
@@ -70,7 +70,7 @@ func BetaSignupHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
csvLine := fmt.Sprintf("\n%s,%s %s", req.Email, formattedDate, formattedTime)
|
csvLine := fmt.Sprintf("\n%s,%s %s", req.Email, formattedDate, formattedTime)
|
||||||
|
|
||||||
// Append to CSV file
|
// Append to CSV file
|
||||||
csvFilePath := filepath.Join(homeDir, "Admin", "beta_signups.csv")
|
csvFilePath := filepath.Join(homeDir, "Admin", "beta", "beta_signups.csv")
|
||||||
err = os.MkdirAll(filepath.Dir(csvFilePath), 0755)
|
err = os.MkdirAll(filepath.Dir(csvFilePath), 0755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error creating CSV directory: %v", err)
|
log.Printf("Error creating CSV directory: %v", err)
|
||||||
|
|||||||
39
ssl/index.js
39
ssl/index.js
@@ -1,14 +1,33 @@
|
|||||||
/* 1. Shut down Admin and run this file 'npm run start' */
|
/*
|
||||||
|
|
||||||
/* 2. Run this command */
|
This server useses two certificates: one for Parchment, which requires
|
||||||
// sudo certbot certonly \
|
wildcard domains, and one for all the other websites.
|
||||||
// --dns-route53 \
|
|
||||||
// -d '*.parchment.page' \
|
*/
|
||||||
// -d quill.sun.museum \
|
|
||||||
// -d admin.sun.museum \
|
|
||||||
// -d scraper.sun.museum \
|
|
||||||
// -d ai.sun.museum \
|
/* 1. Shut down Admin and run 'npm run start' (in this ssl folder) */
|
||||||
// -d america.sun.museum
|
/* 2.1 Run this command to support Parchment wildcard certs (AWS Authentication)
|
||||||
|
|
||||||
|
sudo certbot certonly \
|
||||||
|
--dns-route53 \
|
||||||
|
-d '*.parchment.page'
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 2.2 Run this command to support all others
|
||||||
|
|
||||||
|
sudo certbot certonly \
|
||||||
|
--standalone \
|
||||||
|
-d hyperia.so \
|
||||||
|
-d aryan.so \
|
||||||
|
-d admin.sun.museum \
|
||||||
|
-d america.sun.museum \
|
||||||
|
-d noahkurtis.com \
|
||||||
|
-d americanforum.net \
|
||||||
|
-d thefiveprinciples.org \
|
||||||
|
-d government.forum
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
import http from 'http';
|
import http from 'http';
|
||||||
|
|||||||
Reference in New Issue
Block a user