diff --git a/api/album.go b/api/album.go index 9e56097..97a55a0 100644 --- a/api/album.go +++ b/api/album.go @@ -99,7 +99,6 @@ func parseAlbum(data gjson.Result) (Album, error) { data.Get("media").ForEach( func(key gjson.Result, value gjson.Result) bool { url := value.Get("url").String() - url = strings.ReplaceAll(url, "https://i.imgur.com", "") description := value.Get("metadata.description").String() description = strings.ReplaceAll(description, "\n", "
") @@ -155,7 +154,7 @@ func parseAlbum(data gjson.Result) (Album, error) { album.User = User{ Id: account.Get("id").Int(), Username: account.Get("username").String(), - Avatar: strings.ReplaceAll(account.Get("avatar_url").String(), "https://i.imgur.com", ""), + Avatar: account.Get("avatar_url").String(), } } diff --git a/api/search.go b/api/search.go index f784e37..684d270 100644 --- a/api/search.go +++ b/api/search.go @@ -57,7 +57,7 @@ func (client *Client) Search(query string, page string) ([]SearchResult, error) result := SearchResult{ Id: strings.Split(url, "/")[2], Url: url, - ImageUrl: strings.ReplaceAll(imageUrl, "//i.imgur.com", ""), + ImageUrl: imageUrl, Title: s.Find(".search-item-title a").Text(), User: s.Find(".account").Text(), Views: views, @@ -69,4 +69,4 @@ func (client *Client) Search(query string, page string) ([]SearchResult, error) }) return results, nil -} \ No newline at end of file +} diff --git a/api/tag.go b/api/tag.go index 2533af7..6b5b0ca 100644 --- a/api/tag.go +++ b/api/tag.go @@ -82,7 +82,7 @@ func (client *Client) FetchTag(tag string, sort string, page string) (Tag, error Cover: Media{ Id: value.Get("cover_id").String(), Type: value.Get("cover.type").String(), - Url: strings.ReplaceAll(value.Get("cover.url").String(), "https://i.imgur.com", ""), + Url: value.Get("cover.url").String(), }, Points: value.Get("point_count").Int(), Upvotes: value.Get("upvote_count").Int(), diff --git a/api/trending.go b/api/trending.go index b69a345..78af66e 100644 --- a/api/trending.go +++ b/api/trending.go @@ -85,7 +85,7 @@ func (client *Client) FetchTrending(section, sort, page string) ([]Submission, e Cover: Media{ Id: value.Get("cover_id").String(), Type: value.Get("cover.type").String(), - Url: strings.ReplaceAll(value.Get("cover.url").String(), "https://i.imgur.com", ""), + Url: value.Get("cover.url").String(), }, Points: value.Get("point_count").Int(), Upvotes: value.Get("upvote_count").Int(), diff --git a/api/user.go b/api/user.go index 576373f..c100245 100644 --- a/api/user.go +++ b/api/user.go @@ -61,7 +61,7 @@ func (client *Client) FetchUser(username string) (User, error) { Username: data.Get("username").String(), Points: data.Get("reputation_count").Int(), Cover: strings.ReplaceAll(data.Get("cover_url").String(), "https://imgur.com", ""), - Avatar: strings.ReplaceAll(data.Get("avatar_url").String(), "https://i.imgur.com", ""), + Avatar: data.Get("avatar_url").String(), CreatedAt: createdTime.Format("January 2, 2006"), } @@ -205,13 +205,13 @@ func parseSubmission(value gjson.Result) Submission { Id: coverData.Get("id").String(), Description: coverData.Get("description").String(), Type: strings.Split(coverData.Get("type").String(), "/")[0], - Url: strings.ReplaceAll(coverData.Get("link").String(), "https://i.imgur.com", ""), + Url: coverData.Get("link").String(), } // This case is when fetching comments case c.Type != gjson.Null: cover = Media{ Id: c.Get("id").String(), - Url: strings.ReplaceAll(c.Get("url").String(), "https://i.imgur.com", ""), + Url: c.Get("url").String(), } // Replace with thumbnails here because it's easier. if strings.HasSuffix(cover.Url, ".mp4") { @@ -222,7 +222,7 @@ func parseSubmission(value gjson.Result) Submission { Id: value.Get("id").String(), Description: value.Get("description").String(), Type: strings.Split(value.Get("type").String(), "/")[0], - Url: strings.ReplaceAll(value.Get("link").String(), "https://i.imgur.com", ""), + Url: value.Get("link").String(), } } diff --git a/pages/embed.go b/pages/embed.go index bf25e8b..9d02498 100644 --- a/pages/embed.go +++ b/pages/embed.go @@ -11,7 +11,7 @@ import ( func HandleEmbed(c *fiber.Ctx) error { utils.SetHeaders(c) c.Set("Cache-Control", "public,max-age=31557600") - c.Set("Content-Security-Policy", "default-src 'none'; base-uri 'none'; form-action 'none'; media-src 'self'; style-src 'self'; img-src 'self'; block-all-mixed-content") + c.Set("Content-Security-Policy", "default-src 'none'; base-uri 'none'; form-action 'none'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; style-src 'self'; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; block-all-mixed-content") post, err := api.Album{}, error(nil) switch { @@ -45,4 +45,4 @@ func HandleGifv(c *fiber.Ctx) error { return c.Render("gifv", fiber.Map{ "id": c.Params("postID"), }) -} \ No newline at end of file +} diff --git a/pages/post.go b/pages/post.go index bb5f4f0..338dda6 100644 --- a/pages/post.go +++ b/pages/post.go @@ -58,7 +58,7 @@ func HandlePost(c *fiber.Ctx) error { c.Set("Cache-Control", "public,max-age=31557600") - csp := "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; media-src 'self'; img-src 'self'; manifest-src 'self'; block-all-mixed-content; style-src 'self'" + csp := "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; manifest-src 'self'; block-all-mixed-content; style-src 'self'" c.Set("Content-Security-Policy", csp) var next string diff --git a/pages/search.go b/pages/search.go index 808144d..c311f6a 100644 --- a/pages/search.go +++ b/pages/search.go @@ -11,7 +11,7 @@ func HandleSearch(c *fiber.Ctx) error { utils.SetHeaders(c) c.Set("X-Frame-Options", "DENY") c.Set("Cache-Control", "public,max-age=604800") - c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self'; img-src 'self'; manifest-src 'self'; block-all-mixed-content") + c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; manifest-src 'self'; block-all-mixed-content") query := c.Query("q") diff --git a/pages/tag.go b/pages/tag.go index 145ef49..5f5e6b7 100644 --- a/pages/tag.go +++ b/pages/tag.go @@ -11,7 +11,7 @@ func HandleTag(c *fiber.Ctx) error { utils.SetHeaders(c) c.Set("X-Frame-Options", "DENY") c.Set("Cache-Control", "public,max-age=604800") - c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self'; img-src 'self'; manifest-src 'self'; block-all-mixed-content") + c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; manifest-src 'self'; block-all-mixed-content") page := "1" if c.Query("page") != "" { diff --git a/pages/trending.go b/pages/trending.go index 4225a61..2452471 100644 --- a/pages/trending.go +++ b/pages/trending.go @@ -11,7 +11,7 @@ func HandleTrending(c *fiber.Ctx) error { utils.SetHeaders(c) c.Set("X-Frame-Options", "DENY") c.Set("Cache-Control", "public,max-age=604800") - c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self'; img-src 'self'; manifest-src 'self'; block-all-mixed-content") + c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; style-src 'unsafe-inline' 'self'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; manifest-src 'self'; block-all-mixed-content") page := "1" if c.Query("page") != "" { diff --git a/pages/user.go b/pages/user.go index 3a07e57..cf3c50f 100644 --- a/pages/user.go +++ b/pages/user.go @@ -11,7 +11,7 @@ func HandleUser(c *fiber.Ctx) error { utils.SetHeaders(c) c.Set("X-Frame-Options", "DENY") c.Set("Cache-Control", "public,max-age=604800") - c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; media-src 'self'; style-src 'unsafe-inline' 'self'; img-src 'self'; manifest-src 'self'; block-all-mixed-content") + c.Set("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; media-src 'self' https://i.imgur.com https://i.stack.imgur.com; style-src 'unsafe-inline' 'self'; img-src 'self' https://i.imgur.com https://i.stack.imgur.com; manifest-src 'self'; block-all-mixed-content") page := "0" if c.Query("page") != "" {