summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* site: better error messagesstuebinm2021-04-071-14/+27
| | | | | | | this includes deduplicating some code, and attempts at error messages for files which could not be parsed as json but aren't actually valid age-encrypted files (there doesn't seem to be some easy way to validate that these files are valid age files without knowing the key).
* site: add visual feedback on survey submissionstuebinm2021-04-072-2/+31
| | | | | | After a submission, the survey will now either redirect to a "thanks for your answers!"-site (if the POST request had status 200) or else display some kind of error message.
* add a potentially useful readmestuebinm2021-04-051-0/+54
|
* utils: change name to survey-generatestuebinm2021-04-053-14/+13
|
* utils: switch to asymmetric encryptionstuebinm2021-04-051-6/+10
|
* server: fix binary file outputstuebinm2021-04-051-2/+3
| | | | (previously, it tried to use ascii encoding and would fail)
* site: add headers for survey POST requeststuebinm2021-04-051-2/+8
|
* add example surveystuebinm2021-04-053-0/+4
| | | | | | | | these can be found in site/examples. There is a simple unencrypted survey in "example.json", and an encrypted variant of the same in "encrypted.json". The key used for encryption can be found in "key.age"; in particular, note that the passphrase for the encrypted survey is exactly that private key.
* util: make outfile configurable (or print to stdout)stuebinm2021-04-051-1/+12
|
* add dhall example configstuebinm2021-04-051-0/+20
|
* add utility programstuebinm2021-04-054-0/+2366
| | | | | | This can be used to write configs in dhall (instead of plain json), combined with some input validation and (optionally) automatic encryption via the age rust crate.
* add simple server which takes POST requestsstuebinm2021-04-052-0/+115
| | | | | | | | | The idea is that it can accept surveys sent to it. Note that in an actual deployment it should have at least some rate-limiting, since actual validation of input is impossible if they are encrypted – i.e. this is bascially a pastbin. It may, however, be possible to require signing answers for survey with access restrictions, or do a challange/response type thing before allowing submission.
* add wasm blobsstuebinm2021-04-055-0/+695
| | | | | the nix tooling for rust and wasm appears to be really bad, so binary blobs are easier for now.
* load survey from (and submit result to) path given as fragmentstuebinm2021-04-051-18/+30
| | | | | | | syntax: http(s)://domain.tld/path/to/file/index.html#[upload url] The upload url may be relative to the site's position, or absolute. Survey results will be POSTed to [upload path]/upload.
* simple python server for testing purposesstuebinm2021-04-041-0/+15
| | | | | | web assembly needs its own mimetype set to work in the browser, which most other development tools don't support — so this python script can be used instead.
* simple forms with simple encryptionstuebinm2021-04-042-0/+259
this depends on age stuffed into web assembly, which is not yet part of this repository. The idea is to have a web app (which is a static html page + js / wasm) and a set of (optionally encrypted) json files which describe surveys, which the main site can download on demand.