Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ikskuh/zig-serve
Server implementations for several protocols in Zig. Includes http(s), gemini and gopher
https://github.com/ikskuh/zig-serve
gemini gemini-protocol gemini-server gopher gopher-protocol gopher-server http http-server https-server server zig zig-package ziglang
Last synced: 2 months ago
JSON representation
Server implementations for several protocols in Zig. Includes http(s), gemini and gopher
- Host: GitHub
- URL: https://github.com/ikskuh/zig-serve
- Owner: ikskuh
- Created: 2021-11-09T17:41:54.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-09-08T08:41:52.000Z (over 2 years ago)
- Last Synced: 2024-10-01T03:22:13.252Z (3 months ago)
- Topics: gemini, gemini-protocol, gemini-server, gopher, gopher-protocol, gopher-server, http, http-server, https-server, server, zig, zig-package, ziglang
- Language: Zig
- Homepage:
- Size: 1.44 MB
- Stars: 37
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zig-serve
![project logo](design/logo.png)
A implementation of several network protocols for Zig:
- HTTP 1.1
- Gemini
- Gopher
- Finger## Disclaimer
**DO NOT USE THESE SERVER IMPLEMENTATIONS IN PRODUCTION!**
They are very much work-in-progress without any warranty of function or correctness. Don't even think about security right now!
## Status
| Protocol | Status |
| -------- | --------------- |
| Finger | โธ Not started |
| Gopher | ๐งช Experimental |
| Gemini | ๐งช Experimental |
| HTTP(S) | ๐งช Experimental |_Experimental_ means that there is basic support for the protocol, but no spec compliance has been proven yet.
## Development / Tasks
### Create a new self-signed SSL certificate
```sh-console
openssl req -new -x509 -config examples/data/cert-config.cfg -nodes -newkey rsa:2048 -keyout examples/data/key.pem -out examples/data/cert.pem -days 36500
```### RFCs & Specs
- [RFC1945](https://datatracker.ietf.org/doc/html/rfc1945) - Hypertext Transfer Protocol -- HTTP/1.0
- [RFC2616](https://datatracker.ietf.org/doc/html/rfc2616) - Hypertext Transfer Protocol -- HTTP/1.1
- [RFC7231](https://datatracker.ietf.org/doc/html/rfc7231) - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- [RFC1436](https://datatracker.ietf.org/doc/html/rfc1436) - The Internet Gopher Protocol (a distributed document search and retrieval protocol)
- [Project Gemini](https://gemini.circumlunar.space/docs/specification.gmi) - Speculative specification
- [RFC1288](https://datatracker.ietf.org/doc/html/rfc1288) - The Finger User Information Protocol