add ecosystem for captchas
This commit is contained in:
parent
161bbb0eef
commit
dec817d8a0
8
deployment/example-ecosystem-captchas.yml
Normal file
8
deployment/example-ecosystem-captchas.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
apps:
|
||||||
|
- script : ./captchaserver.js
|
||||||
|
name : 'captchas'
|
||||||
|
node_args: --nouse-idle-notification --expose-gc
|
||||||
|
env:
|
||||||
|
PORT: 80
|
||||||
|
HOST: "localhost"
|
||||||
|
REDIS_URL: 'redis://localhost:6379'
|
|
@ -57,11 +57,11 @@ msgstr ""
|
||||||
msgid "Stop flooding."
|
msgid "Stop flooding."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr-components/Main.jsx:53
|
#: src/ssr-components/Main.jsx:72
|
||||||
msgid "PixelPlanet.fun"
|
msgid "PixelPlanet.fun"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr-components/Main.jsx:55
|
#: src/ssr-components/Main.jsx:74
|
||||||
msgid "Place color pixels on an map styled canvas with other players online"
|
msgid "Place color pixels on an map styled canvas with other players online"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -81,31 +81,31 @@ msgstr ""
|
||||||
msgid "A 3D globe of our whole map"
|
msgid "A 3D globe of our whole map"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:65
|
#: src/routes/reset_password.js:58
|
||||||
msgid "You sent an empty password or invalid data :("
|
msgid "You sent an empty password or invalid data :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:77
|
#: src/routes/reset_password.js:70
|
||||||
msgid "This password-reset link isn't valid anymore :("
|
msgid "This password-reset link isn't valid anymore :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:88
|
#: src/routes/reset_password.js:81
|
||||||
msgid "Your passwords do not match :("
|
msgid "Your passwords do not match :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:103
|
#: src/routes/reset_password.js:96
|
||||||
msgid "User doesn't exist in our database :("
|
msgid "User doesn't exist in our database :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:115
|
#: src/routes/reset_password.js:108
|
||||||
msgid "Passowrd successfully changed."
|
msgid "Passowrd successfully changed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:134
|
#: src/routes/reset_password.js:127
|
||||||
msgid "Invalid url :( Please check your mail again."
|
msgid "Invalid url :( Please check your mail again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/reset_password.js:147
|
#: src/routes/reset_password.js:140
|
||||||
msgid ""
|
msgid ""
|
||||||
"This passwort reset link is wrong or already expired, please request a new "
|
"This passwort reset link is wrong or already expired, please request a new "
|
||||||
"one (Note: you can use those links just once)"
|
"one (Note: you can use those links just once)"
|
||||||
|
@ -290,8 +290,19 @@ msgstr ""
|
||||||
msgid "Incorrect password!"
|
msgid "Incorrect password!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/api/auth/logout.js:13
|
#: src/routes/api/auth/verify.js:25
|
||||||
msgid "You are not even logged in."
|
#: src/routes/api/auth/verify.js:32
|
||||||
|
msgid "Mail verification"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/verify.js:26
|
||||||
|
msgid "You are now verified :)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/routes/api/auth/verify.js:32
|
||||||
|
msgid ""
|
||||||
|
"Your mail verification code is invalid or already expired :(, please "
|
||||||
|
"request a new one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/api/auth/register.js:31
|
#: src/routes/api/auth/register.js:31
|
||||||
|
@ -310,19 +321,8 @@ msgstr ""
|
||||||
msgid "Failed to establish session after register :("
|
msgid "Failed to establish session after register :("
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/routes/api/auth/verify.js:25
|
#: src/routes/api/auth/logout.js:13
|
||||||
#: src/routes/api/auth/verify.js:32
|
msgid "You are not even logged in."
|
||||||
msgid "Mail verification"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/verify.js:26
|
|
||||||
msgid "You are now verified :)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/routes/api/auth/verify.js:32
|
|
||||||
msgid ""
|
|
||||||
"Your mail verification code is invalid or already expired :(, please "
|
|
||||||
"request a new one."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/ssr-components/RedirectionPage.jsx:20
|
#: src/ssr-components/RedirectionPage.jsx:20
|
||||||
|
|
|
@ -126,80 +126,14 @@ msgstr ""
|
||||||
msgid "Pixels placed"
|
msgid "Pixels placed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/CanvasSelectModal.jsx:67
|
|
||||||
#: src/components/CanvasSwitchButton.jsx:20
|
|
||||||
msgid "Canvas Selection"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Converter.jsx:609
|
#: src/components/Converter.jsx:609
|
||||||
#: src/components/CoordinatesBox.jsx:26
|
#: src/components/CoordinatesBox.jsx:26
|
||||||
msgid "Copy to Clipboard"
|
msgid "Copy to Clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ChannelContextMenu.jsx:73
|
#: src/components/CanvasSelectModal.jsx:67
|
||||||
msgid "Mute"
|
#: src/components/CanvasSwitchButton.jsx:20
|
||||||
msgstr ""
|
msgid "Canvas Selection"
|
||||||
|
|
||||||
#: src/components/UserContextMenu.jsx:72
|
|
||||||
msgid "Ping"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/UserContextMenu.jsx:97
|
|
||||||
msgid "DM"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/UserContextMenu.jsx:107
|
|
||||||
msgid "Block"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/PalselButton.jsx:25
|
|
||||||
msgid "Close Palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/PalselButton.jsx:25
|
|
||||||
msgid "Open Palette"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/GlobeButton.jsx:31
|
|
||||||
msgid "Globe View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsButton.jsx:20
|
|
||||||
#: src/components/SettingsModal.jsx:267
|
|
||||||
msgid "Settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/LogInButton.jsx:20
|
|
||||||
#: src/components/UserAreaModal.jsx:160
|
|
||||||
msgid "User Area"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/HelpButton.jsx:20
|
|
||||||
msgid "Help"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/DownloadButton.jsx:37
|
|
||||||
msgid "Make Screenshot"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Chat.jsx:143
|
|
||||||
msgid "Channel settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Chat.jsx:152
|
|
||||||
msgid "maximize"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Chat.jsx:168
|
|
||||||
msgid "Start chatting here"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Chat.jsx:200
|
|
||||||
msgid "Chat here"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Chat.jsx:220
|
|
||||||
msgid "You must be logged in to chat"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ForgotPasswordModal.jsx:16
|
#: src/components/ForgotPasswordModal.jsx:16
|
||||||
|
@ -216,6 +150,10 @@ msgstr ""
|
||||||
msgid "Restore my Password"
|
msgid "Restore my Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChatModal.jsx:35
|
||||||
|
msgid "Chat"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ArchiveModal.jsx:20
|
#: src/components/ArchiveModal.jsx:20
|
||||||
msgid ""
|
msgid ""
|
||||||
"While we tend to not delete canvases, some canvases are started for fun or "
|
"While we tend to not delete canvases, some canvases are started for fun or "
|
||||||
|
@ -253,18 +191,6 @@ msgstr ""
|
||||||
msgid "Canvas Archive"
|
msgid "Canvas Archive"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ChatModal.jsx:35
|
|
||||||
msgid "Chat"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/RegisterModal.jsx:18
|
|
||||||
msgid "Register new account here"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/RegisterModal.jsx:38
|
|
||||||
msgid "Register New Account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/CanvasSelectModal.jsx:29
|
#: src/components/CanvasSelectModal.jsx:29
|
||||||
msgid ""
|
msgid ""
|
||||||
"Select the canvas you want to use. Every canvas is unique and has different "
|
"Select the canvas you want to use. Every canvas is unique and has different "
|
||||||
|
@ -324,6 +250,111 @@ msgstr ""
|
||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/LogInButton.jsx:20
|
||||||
|
#: src/components/UserAreaModal.jsx:160
|
||||||
|
msgid "User Area"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/RegisterModal.jsx:18
|
||||||
|
msgid "Register new account here"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/RegisterModal.jsx:38
|
||||||
|
msgid "Register New Account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:125
|
||||||
|
msgid "Show Grid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:126
|
||||||
|
msgid "Turn on grid to highlight pixel borders."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:132
|
||||||
|
msgid "Show Pixel Activity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:133
|
||||||
|
msgid "Show circles where pixels are placed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:139
|
||||||
|
msgid "Disable Game Sounds"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:141
|
||||||
|
msgid "All sound effects will be disabled."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:147
|
||||||
|
msgid "Enable chat notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:148
|
||||||
|
msgid "Play a sound when new chat messages arrive"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:153
|
||||||
|
msgid "Auto Zoom In"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:155
|
||||||
|
msgid ""
|
||||||
|
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
||||||
|
"small."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:160
|
||||||
|
msgid "Compact Palette"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:162
|
||||||
|
msgid "Display Palette in a compact form that takes less screen space."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:167
|
||||||
|
msgid "Potato Mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:168
|
||||||
|
msgid "For when you are playing on a potato."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/Converter.jsx:423
|
||||||
|
#: src/components/SettingsModal.jsx:173
|
||||||
|
msgid "Light Grid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:174
|
||||||
|
msgid "Show Grid in white instead of black."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:180
|
||||||
|
msgid "Historical View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:181
|
||||||
|
msgid "Check out past versions of the canvas."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:189
|
||||||
|
msgid "Themes"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:190
|
||||||
|
msgid "How pixelplanet should look like."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:200
|
||||||
|
msgid "Select Language"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsButton.jsx:20
|
||||||
|
#: src/components/SettingsModal.jsx:278
|
||||||
|
msgid "Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/HelpModal.jsx:34
|
#: src/components/HelpModal.jsx:34
|
||||||
#: src/components/HelpModal.jsx:35
|
#: src/components/HelpModal.jsx:35
|
||||||
msgid "Privacy Policy"
|
msgid "Privacy Policy"
|
||||||
|
@ -517,140 +548,60 @@ msgstr ""
|
||||||
msgid "Welcome to PixelPlanet.fun"
|
msgid "Welcome to PixelPlanet.fun"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:123
|
#: src/components/UserContextMenu.jsx:72
|
||||||
msgid "Show Grid"
|
msgid "Ping"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:124
|
#: src/components/UserContextMenu.jsx:97
|
||||||
msgid "Turn on grid to highlight pixel borders."
|
msgid "DM"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:130
|
#: src/components/UserContextMenu.jsx:107
|
||||||
msgid "Show Pixel Activity"
|
msgid "Block"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:131
|
#: src/components/ChannelContextMenu.jsx:73
|
||||||
msgid "Show circles where pixels are placed."
|
msgid "Mute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:137
|
#: src/components/PalselButton.jsx:25
|
||||||
msgid "Disable Game Sounds"
|
msgid "Close Palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:139
|
#: src/components/PalselButton.jsx:25
|
||||||
msgid "All sound effects will be disabled."
|
msgid "Open Palette"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:145
|
#: src/components/GlobeButton.jsx:31
|
||||||
msgid "Enable chat notifications"
|
msgid "Globe View"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:146
|
#: src/components/Chat.jsx:143
|
||||||
msgid "Play a sound when new chat messages arrive"
|
msgid "Channel settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:151
|
#: src/components/Chat.jsx:152
|
||||||
msgid "Auto Zoom In"
|
msgid "maximize"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:153
|
#: src/components/Chat.jsx:168
|
||||||
msgid ""
|
msgid "Start chatting here"
|
||||||
"Zoom in instead of placing a pixel when you tap the canvas and your zoom is "
|
|
||||||
"small."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:158
|
#: src/components/Chat.jsx:200
|
||||||
msgid "Compact Palette"
|
msgid "Chat here"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:160
|
#: src/components/Chat.jsx:220
|
||||||
msgid "Display Palette in a compact form that takes less screen space."
|
msgid "You must be logged in to chat"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:165
|
#: src/components/DownloadButton.jsx:37
|
||||||
msgid "Potato Mode"
|
msgid "Make Screenshot"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:166
|
#: src/components/HelpButton.jsx:20
|
||||||
msgid "For when you are playing on a potato."
|
msgid "Help"
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Converter.jsx:423
|
|
||||||
#: src/components/SettingsModal.jsx:171
|
|
||||||
msgid "Light Grid"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:172
|
|
||||||
msgid "Show Grid in white instead of black."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:179
|
|
||||||
msgid "Historical View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:180
|
|
||||||
msgid "Check out past versions of the canvas."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:188
|
|
||||||
msgid "Themes"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:189
|
|
||||||
msgid "How pixelplanet should look like."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:104
|
|
||||||
#: src/components/ChangeName.jsx:82
|
|
||||||
#: src/components/ChangePassword.jsx:120
|
|
||||||
#: src/components/DeleteAccount.jsx:82
|
|
||||||
#: src/components/LogInForm.jsx:97
|
|
||||||
#: src/components/NewPasswordForm.jsx:93
|
|
||||||
#: src/components/SignUpForm.jsx:118
|
|
||||||
msgid "Error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SignUpForm.jsx:126
|
|
||||||
msgid "Name"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/NewPasswordForm.jsx:100
|
|
||||||
#: src/components/SignUpForm.jsx:133
|
|
||||||
msgid "Email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:112
|
|
||||||
#: src/components/DeleteAccount.jsx:89
|
|
||||||
#: src/components/LogInForm.jsx:111
|
|
||||||
#: src/components/SignUpForm.jsx:140
|
|
||||||
msgid "Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/SignUpForm.jsx:149
|
|
||||||
msgid "Confirm Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/Admintools.jsx:306
|
|
||||||
#: src/components/Admintools.jsx:387
|
|
||||||
#: src/components/Admintools.jsx:461
|
|
||||||
#: src/components/Admintools.jsx:505
|
|
||||||
#: src/components/Admintools.jsx:589
|
|
||||||
#: src/components/NewPasswordForm.jsx:104
|
|
||||||
#: src/components/SignUpForm.jsx:152
|
|
||||||
msgid "Submit"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:125
|
|
||||||
#: src/components/ChangeName.jsx:94
|
|
||||||
#: src/components/ChangePassword.jsx:152
|
|
||||||
#: src/components/DeleteAccount.jsx:95
|
|
||||||
#: src/components/NewPasswordForm.jsx:106
|
|
||||||
#: src/components/SignUpForm.jsx:158
|
|
||||||
msgid "Cancel"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/NewPasswordForm.jsx:83
|
|
||||||
msgid "Sent you a mail with instructions to reset your password."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/CanvasItem.jsx:46
|
#: src/components/CanvasItem.jsx:46
|
||||||
|
@ -694,14 +645,6 @@ msgstr ""
|
||||||
msgid "Ranking updates every 5 min. Daily rankings get reset at midnight UTC."
|
msgid "Ranking updates every 5 min. Daily rankings get reset at midnight UTC."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/LogInForm.jsx:104
|
|
||||||
msgid "Name or Email"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/LogInForm.jsx:115
|
|
||||||
msgid "LogIn"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/UserArea.jsx:57
|
#: src/components/UserArea.jsx:57
|
||||||
msgid "Todays Placed Pixels"
|
msgid "Todays Placed Pixels"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -747,6 +690,70 @@ msgstr ""
|
||||||
msgid "Social Settings"
|
msgid "Social Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangeMail.jsx:104
|
||||||
|
#: src/components/ChangeName.jsx:82
|
||||||
|
#: src/components/ChangePassword.jsx:120
|
||||||
|
#: src/components/DeleteAccount.jsx:82
|
||||||
|
#: src/components/LogInForm.jsx:97
|
||||||
|
#: src/components/NewPasswordForm.jsx:93
|
||||||
|
#: src/components/SignUpForm.jsx:118
|
||||||
|
msgid "Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/LogInForm.jsx:104
|
||||||
|
msgid "Name or Email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangeMail.jsx:112
|
||||||
|
#: src/components/DeleteAccount.jsx:89
|
||||||
|
#: src/components/LogInForm.jsx:111
|
||||||
|
#: src/components/SignUpForm.jsx:140
|
||||||
|
msgid "Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/LogInForm.jsx:115
|
||||||
|
msgid "LogIn"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SignUpForm.jsx:126
|
||||||
|
msgid "Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/NewPasswordForm.jsx:100
|
||||||
|
#: src/components/SignUpForm.jsx:133
|
||||||
|
msgid "Email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SignUpForm.jsx:149
|
||||||
|
msgid "Confirm Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/Admintools.jsx:306
|
||||||
|
#: src/components/Admintools.jsx:387
|
||||||
|
#: src/components/Admintools.jsx:461
|
||||||
|
#: src/components/Admintools.jsx:505
|
||||||
|
#: src/components/Admintools.jsx:589
|
||||||
|
#: src/components/NewPasswordForm.jsx:104
|
||||||
|
#: src/components/SignUpForm.jsx:152
|
||||||
|
msgid "Submit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangeMail.jsx:125
|
||||||
|
#: src/components/ChangeName.jsx:94
|
||||||
|
#: src/components/ChangePassword.jsx:152
|
||||||
|
#: src/components/DeleteAccount.jsx:95
|
||||||
|
#: src/components/NewPasswordForm.jsx:106
|
||||||
|
#: src/components/SignUpForm.jsx:158
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangeMail.jsx:123
|
||||||
|
#: src/components/ChangeName.jsx:92
|
||||||
|
#: src/components/ChangePassword.jsx:150
|
||||||
|
#: src/components/LanguageSelect.jsx:73
|
||||||
|
msgid "Save"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Admintools.jsx:179
|
#: src/components/Admintools.jsx:179
|
||||||
msgid "Build image on canvas."
|
msgid "Build image on canvas."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -825,6 +832,10 @@ msgstr ""
|
||||||
msgid "User Name"
|
msgid "User Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/NewPasswordForm.jsx:83
|
||||||
|
msgid "Sent you a mail with instructions to reset your password."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/Converter.jsx:274
|
#: src/components/Converter.jsx:274
|
||||||
msgid "Choose Canvas"
|
msgid "Choose Canvas"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -964,10 +975,6 @@ msgstr ""
|
||||||
msgid "You have no users blocked"
|
msgid "You have no users blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/DeleteAccount.jsx:93
|
|
||||||
msgid "Yes, Delete My Account!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:89
|
#: src/components/ChangeMail.jsx:89
|
||||||
msgid ""
|
msgid ""
|
||||||
"Changed Mail successfully. We sent you a verification mail, "
|
"Changed Mail successfully. We sent you a verification mail, "
|
||||||
|
@ -978,36 +985,14 @@ msgstr ""
|
||||||
msgid "New Mail"
|
msgid "New Mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ChangeMail.jsx:123
|
#: src/components/DeleteAccount.jsx:93
|
||||||
#: src/components/ChangeName.jsx:92
|
msgid "Yes, Delete My Account!"
|
||||||
#: src/components/ChangePassword.jsx:150
|
|
||||||
msgid "Save"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ChangeName.jsx:88
|
#: src/components/ChangeName.jsx:88
|
||||||
msgid "New Username"
|
msgid "New Username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/ChangePassword.jsx:18
|
|
||||||
msgid "Passwords do not match."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangePassword.jsx:103
|
|
||||||
msgid "Changed Password successfully."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangePassword.jsx:129
|
|
||||||
msgid "Old Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangePassword.jsx:137
|
|
||||||
msgid "New Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/ChangePassword.jsx:146
|
|
||||||
msgid "Confirm New Password"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/components/UserMessages.jsx:41
|
#: src/components/UserMessages.jsx:41
|
||||||
msgid "A new verification mail is getting sent to you."
|
msgid "A new verification mail is getting sent to you."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1043,20 +1028,45 @@ msgstr ""
|
||||||
msgid "Deny"
|
msgid "Deny"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangePassword.jsx:18
|
||||||
|
msgid "Passwords do not match."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangePassword.jsx:103
|
||||||
|
msgid "Changed Password successfully."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangePassword.jsx:129
|
||||||
|
msgid "Old Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangePassword.jsx:137
|
||||||
|
msgid "New Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/ChangePassword.jsx:146
|
||||||
|
msgid "Confirm New Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/HelpModal.jsx:15
|
#: src/components/HelpModal.jsx:15
|
||||||
#: src/components/SettingsModal.jsx:125
|
#: src/components/SettingsModal.jsx:127
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "G"
|
msgid "G"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/HelpModal.jsx:16
|
#: src/components/HelpModal.jsx:16
|
||||||
#: src/components/SettingsModal.jsx:132
|
#: src/components/SettingsModal.jsx:134
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "X"
|
msgid "X"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/SettingsModal.jsx:142
|
||||||
|
msgctxt "keybinds"
|
||||||
|
msgid "M"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/HelpModal.jsx:17
|
#: src/components/HelpModal.jsx:17
|
||||||
#: src/components/SettingsModal.jsx:182
|
#: src/components/SettingsModal.jsx:183
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "H"
|
msgid "H"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1105,8 +1115,3 @@ msgstr ""
|
||||||
msgctxt "keybinds"
|
msgctxt "keybinds"
|
||||||
msgid "C"
|
msgid "C"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/SettingsModal.jsx:140
|
|
||||||
msgctxt "keybinds"
|
|
||||||
msgid "M"
|
|
||||||
msgstr ""
|
|
|
@ -92,6 +92,10 @@ async function copy() {
|
||||||
`${deploydir}/example-ecosystem-backup.yml`,
|
`${deploydir}/example-ecosystem-backup.yml`,
|
||||||
`${builddir}/ecosystem-backup.example.yml`,
|
`${builddir}/ecosystem-backup.example.yml`,
|
||||||
),
|
),
|
||||||
|
copyFile(
|
||||||
|
`${deploydir}/example-ecosystem-captchas.yml`,
|
||||||
|
`${builddir}/ecosystem-captchas.example.yml`,
|
||||||
|
),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,20 +2,26 @@
|
||||||
* serving captchas
|
* serving captchas
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
|
||||||
import process from 'process';
|
import process from 'process';
|
||||||
import http from 'http';
|
import http from 'http';
|
||||||
import ppfunCaptcha from 'ppfun-captcha';
|
import ppfunCaptcha from 'ppfun-captcha';
|
||||||
|
|
||||||
/*
|
const PORT = process.env.PORT || 80;
|
||||||
const [
|
const HOST = process.env.HOST || 'localhost';
|
||||||
PORT,
|
|
||||||
REDIS_URL,
|
|
||||||
] = process.argv.slice(2);
|
|
||||||
*/
|
|
||||||
const PORT = 7000;
|
|
||||||
|
|
||||||
const server = http.createServer((req, res) => {
|
const server = http.createServer((req, res) => {
|
||||||
const captcha = ppfunCaptcha.create();
|
const captcha = ppfunCaptcha.create({
|
||||||
|
width: 700,
|
||||||
|
height: 500,
|
||||||
|
fontSize: 600,
|
||||||
|
stroke: 'black',
|
||||||
|
fill: 'none',
|
||||||
|
background: 'white',
|
||||||
|
nodeDeviation: 0.5,
|
||||||
|
connectionPathDeviation: 0.3,
|
||||||
|
});
|
||||||
const ip = req.headers['x-real-ip'] || req.connection.remoteAddress;
|
const ip = req.headers['x-real-ip'] || req.connection.remoteAddress;
|
||||||
console.log(`Serving ${captcha.text} to ${ip}`);
|
console.log(`Serving ${captcha.text} to ${ip}`);
|
||||||
res.writeHead(200, {
|
res.writeHead(200, {
|
||||||
|
@ -26,6 +32,6 @@ const server = http.createServer((req, res) => {
|
||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
server.listen(PORT, () => {
|
server.listen(PORT, HOST, () => {
|
||||||
console.log(`Captcha Server listening on port ${PORT}`);
|
console.log(`Captcha Server listening on port ${PORT}`);
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,6 +10,7 @@ if (process.env.BROWSER) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const PORT = process.env.PORT || 80;
|
export const PORT = process.env.PORT || 80;
|
||||||
|
export const HOST = process.env.HOST || 'localhost';
|
||||||
|
|
||||||
export const GMAIL_USER = process.env.GMAIL_USER || null;
|
export const GMAIL_USER = process.env.GMAIL_USER || null;
|
||||||
export const GMAIL_PW = process.env.GMAIL_PW || null;
|
export const GMAIL_PW = process.env.GMAIL_PW || null;
|
||||||
|
|
|
@ -17,7 +17,6 @@ export function getHostFromRequest(req): ?string {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getIPFromRequest(req): ?string {
|
export function getIPFromRequest(req): ?string {
|
||||||
|
|
||||||
if (USE_XREALIP) {
|
if (USE_XREALIP) {
|
||||||
const ip = req.headers['x-real-ip'];
|
const ip = req.headers['x-real-ip'];
|
||||||
if (ip) {
|
if (ip) {
|
||||||
|
@ -30,10 +29,11 @@ export function getIPFromRequest(req): ?string {
|
||||||
let conip = (connection ? connection.remoteAddress : socket.remoteAddress);
|
let conip = (connection ? connection.remoteAddress : socket.remoteAddress);
|
||||||
conip = conip || '0.0.0.1';
|
conip = conip || '0.0.0.1';
|
||||||
|
|
||||||
// eslint-disable-next-line max-len
|
if (!USE_XREALIP) {
|
||||||
logger.warn(
|
logger.warn(
|
||||||
`Connection not going through nginx and cloudflare! IP: ${conip}`, headers
|
`Connection not going through reverse proxy! IP: ${conip}`, reqheaders,
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return conip;
|
return conip;
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,7 @@ export default ({
|
||||||
entry: {
|
entry: {
|
||||||
web: [path.resolve(__dirname, 'src', 'web.js')],
|
web: [path.resolve(__dirname, 'src', 'web.js')],
|
||||||
backup: [path.resolve(__dirname, 'src', 'backup.js')],
|
backup: [path.resolve(__dirname, 'src', 'backup.js')],
|
||||||
|
captchaserver: [path.resolve(__dirname, 'src', 'captchaserver.js')],
|
||||||
},
|
},
|
||||||
|
|
||||||
output: {
|
output: {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user