Enceladus
所属分类:自然语言处理
开发工具:F#
文件大小:79KB
下载次数:0
上传日期:2022-06-11 01:58:42
上 传 者:
sh-1993
说明: Gemini协议服务器实现(已停产)
(A Gemini protocol server implementation (discontinued))
文件列表:
.config (0, 2022-06-11)
.config\dotnet-tools.json (145, 2022-06-11)
.paket (0, 2022-06-11)
.paket\Paket.Restore.targets (38620, 2022-06-11)
CONTRIBUTING.md (2890, 2022-06-11)
Enceladus.sln (2794, 2022-06-11)
LICENSE (1064, 2022-06-11)
Server (0, 2022-06-11)
Server\Core.fs (897, 2022-06-11)
Server\Enceladus.fsproj (862, 2022-06-11)
Server\LICENSE (1064, 2022-06-11)
Server\Program.fs (622, 2022-06-11)
Server\Server.fs (6970, 2022-06-11)
Server\config.json (248, 2022-06-11)
Server\generate_ssl.sh (770, 2022-06-11)
Server\paket.references (76, 2022-06-11)
Server\public (0, 2022-06-11)
Server\public\LICENSE (1088, 2022-06-11)
Server\public\about.gmi (101, 2022-06-11)
Server\public\enceladus.jpg (52906, 2022-06-11)
Server\public\index.gmi (433, 2022-06-11)
Server\public\myriad.html (101, 2022-06-11)
Server\public\subdir (0, 2022-06-11)
Server\public\subdir\code (0, 2022-06-11)
Server\public\subdir\code\c.gmi (166, 2022-06-11)
Server\public\subdir\firm.gmi (119, 2022-06-11)
Tests (0, 2022-06-11)
Tests\Program.fs (55, 2022-06-11)
Tests\Tests.fs (518, 2022-06-11)
Tests\Tests.fsproj (629, 2022-06-11)
Tests\paket.references (84, 2022-06-11)
build.sh (67, 2022-06-11)
paket.dependencies (333, 2022-06-11)
paket.lock (2987, 2022-06-11)
# Enceladus
## Status
**Discontinued**
***This project has been discontinued as I've found other things to work on and I don't really code F# as much as I used to anymore. However, Enceladus is still usable as a testing server or to serve as base prototype of a better and more featureful Gemini server on top of .NET core. Good luck!***
## What is Enceladus?
A simple, synchronous Gemini protocol compliant server implementation in .NET and F#.
## What is Gemini network protocol?
Gemini is a new application-level internet protocol for the distribution of arbitrary files, with some special consideration for serving a lightweight hypertext format which facilitates linking between files. You may think of Gemini as "the web, stripped right back to its essence" or as "Gopher, souped up and modernised just a little", depending upon your perspective (the latter view is probably more accurate). Gemi***y be of interest to people who are:
* Opposed to the web's ubiquitous tracking of users
* Tired of nagging pop-ups, obnoxious adverts, autoplaying videos and other misfeatures of the modern web
* Interested in low-power computing and/or low-speed networks, either by choice or necessity
For more details, please visit [Gemini FAQ](https://gemini.circumlunar.space/docs/faq.gmi)
## Supported Platforms
Theoretically, Enceladus could be run on Windows and MacOSX without any further modifications,
but currently, this server has been tested to run well on Linux system so far.
- Linux: Supported
- Windows: In the future
- MacOSX: In the future
### Version
v0.1.1
## What's next?
- [ ] Redesign for concurrent and simultaneous client connections.
- [ ] Improve error handling model.
- [ ] Support for client certificate validation.
## Prerequisites to build
* [dotnet](https://dotnet.microsoft.com/download) (>= v5.0.0)
* openssl
### Running
> NOTE: You can override server properties in `config.json`.
1. Install dependencies
- Run:
```sh
dotnet tool restore
dotnet paket restore
# or if you're on Linux or Mac
bash ./build.sh
```
2. Change current directory into ***Server*** directory.
3. Generate SSL certificates first by running `sh generate_ssl.sh`.
4. Change server credentials according to your setup in `config.json` file.
- You can override ***config.json*** location by assigning the absolute path using `ENCELADUS_CONFIG_FILE` environment variable.
- Example: `ENCELADUS_CONFIG_FILE="$HOME/config.json"` on Linux systems.
5. `dotnet run` or `./Enceladus` to start the server.
6. Visit `gemini://localhost:1965/`, the homepage of the server using the client that you can find by scrolling to the bottom of this page.
## How to contribute
Please read CONTRIBUTING.md first.
Thank you for contributing! :smile:
## License
This software is licensed under the MIT license. For more details,
please see LICENSE file.
## See also
### Gemini clients (aka browsers)
- [Amfora](https://github.com/makeworld-the-better-one/amfora#amfora), the primary client that I use to test the server.
- [Castor](https://git.sr.ht/~julienxx/castor)
### More
- [Awesome Gemini](https://github.com/kr1sp1n/awesome-gemini#readme)
近期下载者:
相关文件:
收藏者: