{"id":19391805,"url":"https://github.com/tteeoo/lc19","last_synced_at":"2026-01-11T03:04:39.550Z","repository":{"id":54555841,"uuid":"337836985","full_name":"tteeoo/lc19","owner":"tteeoo","description":"♊ A simple server for the Gemini protocol written in C.","archived":false,"fork":false,"pushed_at":"2024-06-11T07:07:45.000Z","size":61,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T23:27:57.432Z","etag":null,"topics":["c","gemini","gemini-protocol","gemini-server","hypertext","openssl","protocol","server"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tteeoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-10T19:53:21.000Z","updated_at":"2025-03-30T09:00:52.000Z","dependencies_parsed_at":"2024-11-10T10:30:25.667Z","dependency_job_id":"e1c74f11-fd67-437c-ac26-5c94236b8340","html_url":"https://github.com/tteeoo/lc19","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tteeoo/lc19","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tteeoo%2Flc19","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tteeoo%2Flc19/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tteeoo%2Flc19/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tteeoo%2Flc19/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tteeoo","download_url":"https://codeload.github.com/tteeoo/lc19/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tteeoo%2Flc19/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28274298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T02:08:32.518Z","status":"ssl_error","status_checked_at":"2026-01-11T02:08:32.093Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","gemini","gemini-protocol","gemini-server","hypertext","openssl","protocol","server"],"created_at":"2024-11-10T10:29:17.223Z","updated_at":"2026-01-11T03:04:39.518Z","avatar_url":"https://github.com/tteeoo.png","language":"C","readme":"# lc19\n\nA simple (\u003c500 SLOC) server for the Gemini protocol written in C.\nThe name is an allusion to Launch Complex 19, where NASA launched the Gemini spaceflights.\nTested on GNU/Linux (probably works on other Unix-like systems). Created by Theo Henson \u003ctheodorehenson at protonmail dot com\u003e.\n\n## Installation\n\nThe requirements are minimal and should already be on most GNU/Linux distributions:\n\n* glibc\n* openssl \u003e 1.0.1\n\n```\n$ make\n# make install\n```\n\n### macOS compatibility\n\nThe server should also work on macOS, but you will need to `brew install argp-standalone` and at the `-I`, `-L`, and `-l` options to the Makefile for the installed location.\n\n## Usage\n\nCreate the file \"endpoints\" in the root of the specified directory, with tab separated values for each endpoint:\n\n```\n\u003cmimetype\u003e\t\u003cfile path\u003e\t[url path]\n...\n```\n\nExample:\n\n```\ntext/gemini\tindex.gmi\ntext/gemini\tindex.gmi\t/\ntext/gemini\tabout.gmi\nimage/png\timages/cats.png\t/cats.png\n```\n\n(By default files will be served at `/\u003cfile path\u003e`, but if `[url path]` is specified then that will be used.)\n\nRun the server with the following syntax:\n\n```\nlc19 [-p PORT] [-d DIR] [-c CERT] [-k KEY]\n```\n\nExample:\n\n```\n$ lc19 -d gemini/ -c cert.pem -k key.pem\n```\n\n(The port defaults to 1965.)\n\nReload the endpoints file without restarting the server by sending a SIGHUP signal, e.g.:\n\n```\n$ pkill -HUP lc19\n```\n\nCreating the endpoints file may seem cumbersome, but its generation can be automated and it provides many benefits:\n\n* Security — Only the files listed are able to be accessed.\n* Customization — You are able to directly change the URL path that files are found at.\n* Simplicity — Specifying the MIME types of files yourself is the most portable (and simple) method, as you needn't rely on having everything built into the code, or having external files/programs like `/etc/mime.types` or `file`.\n\n## License\n\nAll files are released under the Unlicense, a public domain equivalent license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftteeoo%2Flc19","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftteeoo%2Flc19","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftteeoo%2Flc19/lists"}