2024-12-09 19:54:00 +02:00
2024-12-09 19:54:00 +02:00
2024-12-09 19:54:00 +02:00
.
2024-11-18 16:28:45 +02:00
2024-10-31 16:58:08 +02:00
.
2024-11-18 16:28:45 +02:00
.
2024-11-18 16:28:45 +02:00
.
2024-11-18 16:28:45 +02:00
.
2024-11-18 16:28:45 +02:00
.
2024-11-18 16:28:45 +02:00
.
2024-11-18 16:28:45 +02:00
2024-10-31 16:58:08 +02:00

gemini-grc

A Gemini crawler.

Done

  • Concurrent downloading with workers
  • Concurrent connection limit per host
  • URL Blacklist
  • Save image/* and text/* files
  • Configuration via environment variables
  • Storing snapshots in PostgreSQL
  • Proper response header & body UTF-8 and format validation
  • Follow robots.txt

TODO

  • Take into account gemini://geminiprotocol.net/docs/companion/robots.gmi
  • Proper handling of all response codes
    • Handle 3X redirects properly
  • Handle URLs that need presentation of a TLS cert, like astrobotany
    • Probably have a common "grc" cert for all?
  • Proper input and response validations:
    • When making a request, the URI MUST NOT exceed 1024 bytes
  • Subscriptions to gemini pages? gemini://geminiprotocol.net/docs/companion/

TODO for later

Description
A Gemini protocol server written in Rust.
Readme 158 KiB
Languages
Go 98%
PLpgSQL 0.9%
Makefile 0.6%
Shell 0.5%