Skip to content

Commit 9d879e1

Browse files
committed
split captcha API url and captcha public URL
1 parent 3f40c47 commit 9d879e1

3 files changed

Lines changed: 20 additions & 10 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,15 @@ The hexadecimal string which was obtained by [creating a new API token on the
111111

112112
----
113113

114-
#### COMMENTS_CAPTCHA_URL
114+
#### COMMENTS_CAPTCHA_API_URL
115+
116+
Used to contact the captcha server & get captcha challenges
115117

116-
Currently this variable is used for two different things.
118+
----
117119

118-
1. It is used to contact the captcha server & get captcha challenges.
119-
2. It is used to load the captcha JavaScript and CSS into the page.
120+
#### COMMENTS_CAPTCHA_URL
120121

121-
For that reason, this URL must be reachable from both the comments server and the public internet at large. This may change in the future, let me know if this causes a problem for you. Or you can just fix it yourself 😇
122+
Used to load the captcha JavaScript and CSS into the page
122123

123124
----
124125

build-docker.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash -e
22

3-
VERSION="0.1.45"
3+
VERSION="0.1.46"
44

55
rm -rf dockerbuild || true
66
mkdir dockerbuild

main.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ type CommentedDocument struct {
6363
var origins []string
6464
var portString = "$COMMENTS_LISTEN_PORT"
6565
var captchaAPIToken = "$COMMENTS_CAPTCHA_API_TOKEN"
66-
var captchaAPIURLString = "$COMMENTS_CAPTCHA_URL"
66+
var captchaAPIURLString = "$COMMENTS_CAPTCHA_API_URL"
67+
var captchaPublicURLString = "$COMMENTS_CAPTCHA_PUBLIC_URL"
6768
var commentsBasePath = "$COMMENTS_BASE_PATH"
6869
var commentsURLString = "$COMMENTS_BASE_URL"
6970

@@ -72,6 +73,7 @@ var commentsURLString = "$COMMENTS_BASE_URL"
7273
var captchaDifficultyLevelString = "$COMMENTS_CAPTCHA_DIFFICULTY_LEVEL"
7374
var captchaDifficultyLevel int
7475
var captchaAPIURL *url.URL
76+
var captchaPublicURL *url.URL
7577
var loadCaptchaChallengesMutex *sync.Mutex
7678
var captchaChallengesMutex *sync.Mutex
7779
var loadCaptchaChallengesMutexIsProbablyLocked = false
@@ -118,10 +120,17 @@ func main() {
118120
log.Printf("Allowed CORS Origins: [\n%s\n]\n", strings.Join(origins, "\n"))
119121

120122
captchaAPIToken = os.ExpandEnv(captchaAPIToken)
123+
121124
captchaAPIURLString = os.ExpandEnv(captchaAPIURLString)
122125
captchaAPIURL, err = url.Parse(captchaAPIURLString)
123-
if err != nil {
124-
panic(errors.Wrapf(err, "can't parse COMMENTS_CAPTCHA_URL '%s' as url", captchaAPIURLString))
126+
if err != nil || captchaAPIURLString == "" {
127+
panic(errors.Wrapf(err, "can't parse COMMENTS_CAPTCHA_API_URL '%s' as url", captchaAPIURLString))
128+
}
129+
130+
captchaPublicURLString = os.ExpandEnv(captchaPublicURLString)
131+
captchaPublicURL, err = url.Parse(captchaPublicURLString)
132+
if err != nil || captchaPublicURLString == "" {
133+
panic(errors.Wrapf(err, "can't parse COMMENTS_CAPTCHA_PUBLIC_URL '%s' as url", captchaPublicURLString))
125134
}
126135

127136
captchaDifficultyLevelString = os.ExpandEnv(captchaDifficultyLevelString)
@@ -757,7 +766,7 @@ func returnCommentsList(response http.ResponseWriter, postID, couldNotPostReason
757766
Comments []*Comment `json:"comments"`
758767
Error string `json:"error"`
759768
}{
760-
CaptchaURL: captchaAPIURL.String(),
769+
CaptchaURL: captchaPublicURL.String(),
761770
CaptchaChallenge: challenge,
762771
Comments: rootComments,
763772
Error: couldNotPostReason,

0 commit comments

Comments
 (0)