Skip to main content

Extensible Gemini/Titan server

Project description

GmCapsule is an extensible server for Gemini and Titan.

See the User manual for configuration and usage instructions.

Installation

Install "gmcapsule" via pip:

pip install gmcapsule

Then run the server daemon:

gmcapsuled

Running via systemd

Create the following service file and save it as ~/.config/systemd/user/gmcapsule.service:

[Unit]
Description=GmCapsule: extensible Gemini/Titan server
After=network.target

[Service]
Type=simple
ExecStart=<YOUR-INSTALL-PATH>/gmcapsuled
Restart=always
Environment="PYTHONUNBUFFERED=1"
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=gmcapsule

[Install]
WantedBy=default.target

Replace <YOUR-INSTALL-PATH> with the actual path of gmcapsuled. pip will install it in a directory on your PATH.

Then you can do the usual:

systemctl --user daemon-reload
systemctl --user enable gmcapsule.service
systemctl --user start gmcapsule

The log can be viewed via journalctl (or syslog):

journalctl -xe --user-unit=gmcapsule

Change log

v0.2

  • Added [cgi] bin_root configuration option for automatically and dynamically mapping all executables in a directory tree to URL entry points.
  • Minor documentation updates.
  • Published on PyPi as "gmcapsule".

v0.2.1:

  • Fixed error handling. Exceptions are now caught and the error message is printed.

v0.2.2:

  • Reduced required Python version to 3.6 (f-strings).
  • Added systemd instructions.

v0.2.3:

  • Requests exceeding 1024 bytes should result in an error code and not just be ignored.
  • Respond with an error code to malformed UTF-8 in the request.
  • Verify that the port number in the request URI matches the server's port.

v0.2.4:

  • Fixed an error in the Markdown parser.

v0.2.5:

  • Fixed handling of exceptions from request handler, and print a traceback.
  • Fixed importlib error with Python 3.11.

v0.1

  • Initial public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gmcapsule-0.2.5.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

gmcapsule-0.2.5-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file gmcapsule-0.2.5.tar.gz.

File metadata

  • Download URL: gmcapsule-0.2.5.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.1

File hashes

Hashes for gmcapsule-0.2.5.tar.gz
Algorithm Hash digest
SHA256 a62cc591bdd78473e15f213d65e4252d86b6967658f3a605362ffecc43c0469f
MD5 f9ea598f773221aa70353d14124029e4
BLAKE2b-256 c8f7e65496a17d6cddc8a68a1f9af76e5cbcb1ef396f196f16de449788ab9e10

See more details on using hashes here.

File details

Details for the file gmcapsule-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: gmcapsule-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.23.1

File hashes

Hashes for gmcapsule-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1cd31e3a96cb9cb8f6ff1e77767e2c61b96ea39891df2300977fe30077f9e88b
MD5 6ae3ef560985da03f3813ca74419acaa
BLAKE2b-256 21181e8e35da871b2409a72e6a2bab86a3e6ac4baab2a7cb0845c181d33fe103

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page