diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..72a875a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,32 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +Security +- Check url encoding: The filename fetched on disk may differ from that was asked by URL. +- Perform sanity checks against unauthorized access. +- Check unicode capability, UTF16 input, etc… +- Manage different type of carriage return: CR CR/LF LF + +Development +- Command line API for script, testing, CI… + +User interface +- Page menu on upper and lower sides: [parent dir] [root dir] [raw text] +- Images +- Text localisation + +## [1.0.0] - 2021-03-10 +- Improves presentation and installation page. +- Adds stylesheets and download of pages source code. +- Allows to change stylesheet in the URL. +- Tested successfully on a shared host. + +## [0.2.0] - 2021-03-06 +Beta version + +## [0.1.0] - 2021-03-01 +Alpha version diff --git a/README.md b/README.md index 4a2a6b0..05701c0 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,19 @@ # HtmGem -This program aims to provide access to Gemini pages through a web server. +HtmGem is Php program whose goal is to make Gemini files reachable through HTTP. It can be used on a shared host. -It’s in alpha: advanced features available soon. +You can see a demo on the main page of HtmGem: + +=> https://gmi.sbgodin.fr/htmgem ## Usage -Place "htmgem.php" on the root of your webserver. +* Copy the directory `htmgem` at the root of the website. +* Access to the directory and follow the instructions. -Your "page.gmi" is reachable using [http://thesite/htmgem.php?directory/page.gmi] with HTML markup: +## Requirements -## URL Rewriting - -With Nginx, you can use: - -``` -rewrite ^(.+\.gmi)$ /htmgem.php?url=$1 last; -``` - -## Install - -php-mbstring is required - -So the page is available at [http://thesite/htmgem.php/directory/page.gmi]. +* Php v7.3 +* `Php-mbstring` module to deal with unicode characters +* A web server (well testing with Apache and Nginx) +* `mod-rewrite` to intercept the Gemini files diff --git a/TODO b/TODO deleted file mode 100644 index 500b503..0000000 --- a/TODO +++ /dev/null @@ -1,13 +0,0 @@ -Security -* manage url encoding: The filename fetched on disk may differ from that was asked by URL. -* check /etc/passwd not accessible: Perform sanity checks against unauthorized access. -* Check unicode capability, UTF16 input, etc… -* Manage different type of carriage return: CR CR/LF LF - -Development -* Command line API for script and testing. - -User interface -* Page menu on upper and lower sides: [parent dir] [root dir] [raw text] -* Images -* Text localisation