krz/skunky-art

Alternative privacy frontend for DeviantArt.

clone: git clone https://gitbay.org/krz/skunky-art.git

e02174cb710e6d6abd642f03e64ce91bbac38130

unsigned

author: lost+skunk <skunky@ebloid.ru> · 2024-07-13T20:55:28Z

Исправление некоторых обосрамсов
 README.md           |  2 ++
 app/router.go       |  7 +++----
 app/util.go         |  7 +++----
 app/wrapper.go      | 10 +++++-----
 config.example.json | 10 +++++-----
 5 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index 71c2d6f..9e30da0 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,7 @@ server {
     
     location ((BASE URL)) { # if you have a separate subdomain for the frontend, insert '/' instead of '((BASE URL))'.
         proxy_set_header Scheme $scheme;
+        proxy_set_header Host $host;
         proxy_http_version 1.1;
         proxy_pass http://((IP)):((PORT));
     }
@@ -63,6 +64,7 @@ server {
     
     location ((BASE URL)) { # если у вас отдельный поддомен для фронтенда, вместо '((BASE URL))' вставляйте '/'
         proxy_set_header Scheme $scheme;
+        proxy_set_header Host $host;
         proxy_http_version 1.1;
         proxy_pass http://((IP)):((PORT));
     }
diff --git a/app/router.go b/app/router.go
index f3c59c5..0dd2f79 100644
--- a/app/router.go
+++ b/app/router.go
@@ -51,7 +51,6 @@ func Router() {
 		}
 
 		path := parsepath(r.URL.Path)
-
 		// структура с функциями
 		var skunky skunkyart
 		skunky.Writer = w
@@ -77,7 +76,7 @@ func Router() {
 		default:
 			skunky.ReturnHTTPError(404)
 		case "":
-			skunky.ExecuteTemplate("html/index.htm", &CFG.BasePath)
+			skunky.ExecuteTemplate("index.htm", &CFG.BasePath)
 		case "post":
 			skunky.Deviation(path[2], path[3])
 		case "search":
@@ -98,10 +97,10 @@ func Router() {
 			skunky.About()
 		case "stylesheet":
 			w.Header().Add("content-type", "text/css")
-			io.WriteString(w, Templates["css/skunky.css"])
+			io.WriteString(w, Templates["skunky.css"])
 		}
 	}
 
 	http.HandleFunc("/", handle)
-	http.ListenAndServe(CFG.Listen, nil)
+	try_with_exitstatus(http.ListenAndServe(CFG.Listen, nil), 1)
 }
diff --git a/app/util.go b/app/util.go
index 7006760..3f69e47 100644
--- a/app/util.go
+++ b/app/util.go
@@ -112,7 +112,6 @@ func (s skunkyart) DownloadAndSendMedia(subdomain, path string) {
 	url.WriteString(s.Args.Get("token"))
 
 	if CFG.Cache.Enabled {
-		os.Mkdir(CFG.Cache.Path, 0700)
 		fname := CFG.Cache.Path + "/" + base64.StdEncoding.EncodeToString([]byte(subdomain+path))
 		file, e := os.Open(fname)
 
@@ -138,6 +137,7 @@ func (s skunkyart) DownloadAndSendMedia(subdomain, path string) {
 
 func InitCacheSystem() {
 	c := &CFG.Cache
+	os.Mkdir(CFG.Cache.Path, 0700)
 	for {
 		dir, e := os.Open(c.Path)
 		try(e)
@@ -175,10 +175,9 @@ func CopyTemplatesToMemory() {
 		try_with_exitstatus(e, 1)
 
 		for _, x := range dir {
-			n := dirname + "/" + x.Name()
-			file, e := os.ReadFile(n)
+			file, e := os.ReadFile(dirname + "/" + x.Name())
 			try_with_exitstatus(e, 1)
-			Templates[n] = string(file)
+			Templates[x.Name()] = string(file)
 		}
 	}
 }
diff --git a/app/wrapper.go b/app/wrapper.go
index 165522e..ca39af7 100644
--- a/app/wrapper.go
+++ b/app/wrapper.go
@@ -216,7 +216,7 @@ func (s skunkyart) GRUser() {
 	}
 
 	if !s.Atom {
-		s.ExecuteTemplate("html/gruser.htm", &s)
+		s.ExecuteTemplate("gruser.htm", &s)
 	}
 }
 
@@ -261,7 +261,7 @@ func (s skunkyart) Deviation(author, postname string) {
 
 		post.Comments = s.ParseComments(devianter.CommentsFunc(id, post.Post.Comments.Cursor, s.Page, 1))
 
-		s.ExecuteTemplate("html/deviantion.htm", &s)
+		s.ExecuteTemplate("deviantion.htm", &s)
 	} else {
 		s.ReturnHTTPError(400)
 	}
@@ -274,7 +274,7 @@ func (s skunkyart) DD() {
 		More:  dd.HasMore,
 	})
 	if !s.Atom {
-		s.ExecuteTemplate("html/list.htm", &s)
+		s.ExecuteTemplate("list.htm", &s)
 	}
 }
 
@@ -342,7 +342,7 @@ func (s skunkyart) Search() {
 		})
 	}
 
-	s.ExecuteTemplate("html/search.htm", &s)
+	s.ExecuteTemplate("search.htm", &s)
 }
 
 func (s skunkyart) Emojitar(name string) {
@@ -361,5 +361,5 @@ func (s skunkyart) About() {
 	s.Templates.About.Nsfw = CFG.Nsfw
 	s.Templates.About.Proxy = CFG.Proxy
 	try(json.Unmarshal([]byte(Templates["instances.json"]), &s.Templates.About))
-	s.ExecuteTemplate("html/about.htm", &s)
+	s.ExecuteTemplate("about.htm", &s)
 }
diff --git a/config.example.json b/config.example.json
index 4d410bc..1a78535 100644
--- a/config.example.json
+++ b/config.example.json
@@ -3,16 +3,16 @@
     "base-path": "/",
     "cache": {
         "enabled": true,
-        "path": "cache",
+        "path": "/home/skunk/projects/skunkyart/cache",
         "lifetime": null,
         "max-size": 100000,
         "update-interval": 5
     },
     "dirs-to-memory": [
-        "html",
-        "css"
+        "/home/skunk/projects/skunkyart/html",
+        "/home/skunk/projects/skunkyart/css"
     ],
-    "download-proxy": "",
+    "download-proxy": null,
     "proxy": true,
     "nsfw": false
-}
\ No newline at end of file
+}