Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Offical apps | Community apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Packaging & Development
  3. HeCAPTe: a stateless, privacy-first CAPTCHA service you can embed almost anywhere.

HeCAPTe: a stateless, privacy-first CAPTCHA service you can embed almost anywhere.

Scheduled Pinned Locked Moved App Packaging & Development
22 Posts 5 Posters 2.5k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • TheMeerkatT Offline
    TheMeerkatT Offline
    TheMeerkat
    wrote on last edited by TheMeerkat
    #11

    new! Updated to 1.0.2, after a hefty delay. Sorry about that.

    I significantly improved the security of the project, most importantly. Not far behind, refactoring the entire /admin panel to be... well, an actual admin panel. It's been redone almost from the ground up for maintainability going forward. Finally, it's more resilient to OOM bugs in unlucky situations.

    codeberg.org/themeerkat/hecapte-cloudron:1.0.2

    Nope. Tested all of the local code to within an inch of its life; tested the Docker image locally; then watched as it completely shattered into splinters as I tried to update the demo site running on Cloudron. 💀 Good lesson to learn before I embarrass myself publicly, next time?

    Please keep using 1.0.1 for right now (if anyone's using it at all). I need to sleep right now, but I'll take another look in the morning.

    1 Reply Last reply
    2
    • jamesJ Offline
      jamesJ Offline
      james
      Staff
      wrote on last edited by
      #12

      Hello @themeerkat

      With Cloudron 9.1 we have added community app support.
      Please check the latest documentation for package publishing https://docs.cloudron.io/packaging/publishing
      Could you update your repo to include these changes?

      TheMeerkatT 1 Reply Last reply
      2
      • jamesJ james

        Hello @themeerkat

        With Cloudron 9.1 we have added community app support.
        Please check the latest documentation for package publishing https://docs.cloudron.io/packaging/publishing
        Could you update your repo to include these changes?

        TheMeerkatT Offline
        TheMeerkatT Offline
        TheMeerkat
        wrote on last edited by
        #13

        @james said:

        Hello @themeerkat

        With Cloudron 9.1 we have added community app support.
        Please check the latest documentation for package publishing https://docs.cloudron.io/packaging/publishing
        Could you update your repo to include these changes?

        Done. Also, the issue with the previous version is now resolved!

        To install it as a community app, use this link:
        https://codeberg.org/TheMeerkat/HeCAPTe-Cloudron/raw/branch/main/CloudronVersions.json

        1 Reply Last reply
        6
        • jamesJ Offline
          jamesJ Offline
          james
          Staff
          wrote on last edited by
          #14

          Hello @themeerkat
          I have added your package to the list: https://forum.cloudron.io/topic/15172/community-apps

          1 Reply Last reply
          4
          • TheMeerkatT Offline
            TheMeerkatT Offline
            TheMeerkat
            wrote on last edited by
            #15

            Massive 2.0 update. Following SemVar, that means a breaking change, and... yeah, it's breaking all right!

            I've consolidated the two repositories and made several improvements that did, unfortunately, invalidate existing installs; I figured it was best to do this now, while everything is still early. It does mean that updates of the old app are no longer possible, however. You will need to reinstall from scratch as a new community app with https://codeberg.org/TheMeerkat/HeCAPTe/raw/branch/main/CloudronVersions.json as the source file.

            Sorry about this. It allowed for me to implement the requested aliasing, plus made it much easier for me to localize it (per a Codeberg issue) in the future. I won't have to do that again.

            @james Could you update the link to the versions file in the masterlist, please?

            luckowL 1 Reply Last reply
            4
            • jamesJ Offline
              jamesJ Offline
              james
              Staff
              wrote on last edited by
              #16

              Hello @themeerkat
              I have updated both URLs and made you an editor for the detailed post https://forum.cloudron.io/post/121505
              Now you can edit this one freely.

              1 Reply Last reply
              2
              • TheMeerkatT TheMeerkat

                Massive 2.0 update. Following SemVar, that means a breaking change, and... yeah, it's breaking all right!

                I've consolidated the two repositories and made several improvements that did, unfortunately, invalidate existing installs; I figured it was best to do this now, while everything is still early. It does mean that updates of the old app are no longer possible, however. You will need to reinstall from scratch as a new community app with https://codeberg.org/TheMeerkat/HeCAPTe/raw/branch/main/CloudronVersions.json as the source file.

                Sorry about this. It allowed for me to implement the requested aliasing, plus made it much easier for me to localize it (per a Codeberg issue) in the future. I won't have to do that again.

                @james Could you update the link to the versions file in the masterlist, please?

                luckowL Online
                luckowL Online
                luckow
                translator
                wrote on last edited by
                #17

                @TheMeerkat Woohoo! It works like a charm. Thank you so much for your work.

                Pronouns: he/him | Primary language: German

                1 Reply Last reply
                2
                • TheMeerkatT Offline
                  TheMeerkatT Offline
                  TheMeerkat
                  wrote last edited by
                  #18

                  The significantly improved v3.0.0 is out now!

                  [3.0.0]

                  • Moved the project home to https://tangled.org/katsuricata.com/HeCAPTe (from Codeberg) and the container image to Docker Hub (docker.io/katsuricata/hecapte).
                  • Fixed browser-flow regressions that shipped in 2.0.0: the first-run setup page never loaded wasm_exec.js (so new Go() threw and setup could never complete through the UI), and the password page called bufferDecode/bufferEncode without loading admin.js. Added a template test that fails when a page uses new Go(), solveChallenge(), or bufferDecode/bufferEncode without loading the script that defines it.
                  • Added an Equihash difficulty floor (crypto.MinN = 60). ValidateParams, tokens.GenerateChallenge, and VerifySolution all reject parameters below the floor, so no configuration path can turn the verifier into a free token oracle. The server warns loudly when the global preset or a site override uses low, and flags weak sites on the admin dashboard.
                  • Added per-IP rate limiting (token bucket) on the unauthenticated admin endpoints: 10 req/min (burst 5) on the login/setup challenge fetches and 5 req/min (burst 2) on the login POST. Buckets key on the peer address and honor X-Forwarded-For only behind TRUST_PROXY=1.
                  • Added security response headers: X-Content-Type-Options: nosniff, frame-ancestors 'none', X-Frame-Options: DENY, and Referrer-Policy: same-origin.
                  • Added a one-time startup warning when X-Forwarded-Proto arrives but TRUST_PROXY is unset, turning a silent reverse-proxy misconfiguration into an observable one.
                  • Upgraded modernc.org/sqlite from 1.55.0 to 1.56.0 (bundled SQLite C library; staying current is the only CVE mitigation).
                  • Expired WebAuthn reauthentication tokens are now swept on each store, so the map cannot grow without bound.
                  • Updated the README (difficulty floor, rate limiting, response headers, forwarded-header warning, project layout) and added/refreshed tests for every change.
                  1 Reply Last reply
                  1
                  • TheMeerkatT Offline
                    TheMeerkatT Offline
                    TheMeerkat
                    wrote last edited by
                    #19

                    As a result of the first entry, the CloudronVersions.json link has changed:
                    https://mirror.tangled.network/xrpc/sh.tangled.git.temp.getBlob?path=CloudronVersions.json&ref=main&repo=did%3Aplc%3Apomgtubhgnuew7wmpwgk7dzd

                    I'll manually update the Codeberg one for a while, but you should change it at some point.

                    TheMeerkatT 1 Reply Last reply
                    1
                    • jamesJ Offline
                      jamesJ Offline
                      james
                      Staff
                      wrote last edited by
                      #20

                      Hello @themeerkat
                      Maybe you want to add your app to the community app store?
                      https://ca.cloudron.io/

                      TheMeerkatT 1 Reply Last reply
                      2
                      • jamesJ james

                        Hello @themeerkat
                        Maybe you want to add your app to the community app store?
                        https://ca.cloudron.io/

                        TheMeerkatT Offline
                        TheMeerkatT Offline
                        TheMeerkat
                        wrote last edited by TheMeerkat
                        #21

                        @james had no idea that was a thing! thanks for the tip 😸

                        https://ca.cloudron.io/app/hecapte

                        1 Reply Last reply
                        4
                        • TheMeerkatT TheMeerkat

                          As a result of the first entry, the CloudronVersions.json link has changed:
                          https://mirror.tangled.network/xrpc/sh.tangled.git.temp.getBlob?path=CloudronVersions.json&ref=main&repo=did%3Aplc%3Apomgtubhgnuew7wmpwgk7dzd

                          I'll manually update the Codeberg one for a while, but you should change it at some point.

                          TheMeerkatT Offline
                          TheMeerkatT Offline
                          TheMeerkat
                          wrote last edited by
                          #22

                          TheMeerkat said:

                          As a result of the first entry, the CloudronVersions.json link has changed:
                          https://mirror.tangled.network/xrpc/sh.tangled.git.temp.getBlob?path=CloudronVersions.json&ref=main&repo=did%3Aplc%3Apomgtubhgnuew7wmpwgk7dzd

                          I'll manually update the Codeberg one for a while, but you should change it at some point.

                          actually, turns out I won't! good timing: 4.0.0 (and now 4.0.1) has breaking changes, so you should manually upgrade anyway.

                          most notably: the secret key needs to be sent to the HeCAPTe server now, not just the public site key, bringing it in-line with other CAPTCHA services.

                          1 Reply Last reply
                          1
                          • TheMeerkatT TheMeerkat referenced this topic

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Bookmarks
                          • Search