aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMiquel Lionel <lionel@les-miquelots.net>2021-04-11 18:20:41 +0100
committerMiquel Lionel <lionelmiquel@sfr.fr>2021-04-11 18:20:41 +0100
commit8cbc83817dbafd2ac26d9834009e6cfa3d58b3d7 (patch)
treea35776798fd2a5edc33c989a0f4b0b38c927eb93 /README.md
parent734fe365eac84cc94d5b814df617f24f7d597f91 (diff)
downloadgpigeon-8cbc83817dbafd2ac26d9834009e6cfa3d58b3d7.tar.gz
gpigeon-8cbc83817dbafd2ac26d9834009e6cfa3d58b3d7.zip
Cookie based login added
- the cookie last 1 year and is set upon login - deleted when pressing "Disconnect" button - updated the config.mk and Makefile for COOKIES_DIR variable - camel-cased the subroutines. I like it that way, it stands out more compared to variables - reinserted some vars back into link-tmpl.cgi, it wasn't making sense to have them in gpigeon-template.cgi - no more 'Unknown' link asker in the links table: if the string is a valid email address, we link to the file in the table.
Diffstat (limited to 'README.md')
-rw-r--r--README.md53
1 files changed, 31 insertions, 22 deletions
diff --git a/README.md b/README.md
index 485cf42..873b3d9 100644
--- a/README.md
+++ b/README.md
@@ -1,49 +1,58 @@
GPIGEON
========
-Gpigeon generate links for a GPG user to be sent to a non technical person (or
-not a GPG user) so they can send you encrypted mail messages via a one-time
-web link.
+Gpigeon generate links for a non technical person or someone not familiar
+with GPG, so they can send you encrypted mails via a one-time
+web form.
Feels of déjàvu ? I was inspired by https://hawkpost.co but wasn't really
interested in the multi-user perspective and managing a database.
-Features
+Overview
========
- * Single user: no database required.
+ * Single user.
* One-time GPG form: after sending the encrypted message, the generated form
self-destructs.
- * A table of the links generated is visible when you connect so you can
- keep track. You can also delete link individually or all at once.
+ * Cookie based login. If you block cookies, it will switch back to
+ hidden fields so you can still login, manage and create links.
+ * A table of the links generated is visible after connecting so you can
+ keep track of what has been created. You can also delete links
+ individually, or all at once.
+ * No javascript used for the moment.
Dependencies
============
-You need perl and the following modules and my perl version is v5.32.0, YMMV:
+You will need perl and the following modules and my perl version is v5.32.0, YMMV:
- * Net:SSLeay
- * Digest::SHA
- * Email::Valid
- * String::Random
* HTML::Entities
- * CGI (I'm planning on removing it, I use it just for the
- convenient param function.)
- * CGI::Carp (primarly for debugging, comment the line in
- gpigeon-template.cgi if you won't need it)
+ * CGI
+ * CGI::Carp
+ * CGI::Cookies
+ * Crypt::Argon2
+ * GPG
+ * Net:SSLeay
* Net::SMTP
* Net::SMTPS
- * GPG
+ * Email::Valid
+ * String::Random
Having a webserver with CGI support or a separate CGI engine is needed. I'm using
nginx and fcgiwrap.
A note on Net::SMTP and Net:SMTPS dependencies: if you have a mailserver well
-configured with OpenDKIM and the likes (so your chances to get your mail
-treated as spam is greatly reduced) you could replace these two deps with
-Mail::Sendmail then comment and uncomment some lines in <gpigeon-template.cgi>.
+configured with SPF and OpenDKIM (so your chances to get your mail
+treated as spam is greatly reduced) you should set the `HAS_MAILSERVER`
+variable to 1 in the config.mk file.
Installation
============
-Look in the [gpigeon-template.cgi](https://git.les-miquelots.net/gpigeon/plain/gpigeon-template.cgi) source code you should figure things out quickly.
-Hint: look for variables values ending in 'goes_here'.
+Edit the config.mk file to customize the installation to your needs, and then
+execute:
+`sudo make`
+
+You should also look in the
+[gpigeon-template.cgi](https://git.les-miquelots.net/gpigeon/plain/gpigeon-template.cgi)
+and [link-tmpl.cgi](https://git.les-miquelots.net/gpigeon/plain/link-tmpl.cgi) source code, you should figure things out quickly.
+**Hint**: look for variables values ending in _goes_here_.