sergetymo / kaksik Goto Github PK
View Code? Open in Web Editor NEWMiddleware library for creating apps for Gemini protocol on top of Deno runtime using TypeScript
License: MIT License
Middleware library for creating apps for Gemini protocol on top of Deno runtime using TypeScript
License: MIT License
Hi @sergetymo,
Your logger.ts
example does not show any information about the client that sent the incoming request.
The IP address of the client is probably the most important information to log, so it would be nice if the Request
class contained this information as well, in addition to the requested URL.
Congrats, kaksik seems to work just fine for self-hosted Gemini servers.
But I haven't had any luck deploying to Deno Deploy.
Here is what I get when deploying to Deno Deploy:
deployctl deploy
ℹ Using config file '.../deno.json'
✔ Deploying to project gemini-docs.
✔ Entrypoint: .../main.ts
ℹ Uploading all files from the current dir (...)
✔ Found 14 assets.
✔ Uploaded 4 new assets.
✖ Deployment failed.
error: The deployment failed: UNCAUGHT_EXCEPTION
TypeError: Deno.listenTls is not a function
at Application.start (https://deno.land/x/[email protected]/classes/Application.ts:32:24)
at file:///src/main.ts:17:11
Here is main.ts
:
import { Application } from './deps.mts';
const
isTest = Deno.env.get('THIS_IS_A_TEST'),
domain = isTest ? 'localhost' : '<my DNS address>',
app = new Application({
keyFile : `./cert/${domain}/key.pem`,
certFile: `./cert/${domain}/cert.pem`,
})
app.use(ctx => {
ctx.response.body = '# Hello World!'
})
await app.start()
Before deploying, I have uploaded my own RSA certificate and private key to the project, and Deno Deploy has accepted them. keyFile
and certFile
shouldn't be needed for Deno Deploy.
First of all, thanks for making such a nice Gemini server for Deno!
Have you considered adding support for Titan? I could give it a go, but I would need some tips or assistance to get started.
Hi @sergetymo,
While developing my JSdoc server capsule (gemini://qworum-jdoc.ddns.net/
) using kaksik, I've found these 2 issues:
/dir/:dirname
and another one with /file/:filename
), then only the first parameterised route is taken into account, the other parameterised routes are ignored./
), so they can't contain file paths.I am filing these for future reference, I don't need an urgent fix for these personally.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.