1作者: danielskogly3 个月前原帖
嗨,HN!<p>我们是来自挪威特罗姆瑟的两位创始人,过去4年半一直在自筹资金开发Instorier。您在这里看到的一切,从编辑器到运行时,都是我们从零开始构建的。<p>Instorier是一个现代化的网站构建工具,专注于讲故事。开箱即用,它支持3D/WebGL场景、地图旅程和动态效果,并提供实时协作和即时托管。您还可以将Instorier的故事嵌入到现有网站中,无需迁移。<p>现在的新功能是可选的AI引导流程。它帮助您快速入门,但保留了您的创作权。这不是关于生成千篇一律的网站,而是降低在线讲述有意义故事的门槛。<p>我们在媒体行业找到了早期的产品市场契合,比如挪威的Stavanger Aftenblad和土耳其的Scrolli.co。同时,广泛的采用却比较困难。这就是为什么我们现在也在探索初创企业、传播团队和代理机构的用例,同时专注于我们认为使任何着陆页或文章成功的要素:引人入胜、有意义的讲故事。<p>我们的技术栈包括Next.js和React用于服务,React、Redux Toolkit、Three.js以及许多其他自定义的JS/TS用于编辑器,网站运行时非常自定义,并使用Three.js进行一些重负载处理。<p>另外,自上次在这里发帖以来,我们默认禁用了滚动劫持功能 :)
1作者: unkn0wn_root3 个月前原帖
你好,<p>几周前,我和一个朋友讨论了简单应用程序变得越来越臃肿,充满了许多不必要的功能时,得到了一个灵感。如果你只想通过传统的文本进行交流,你几乎肯定需要安装某种繁重且通常运行缓慢的桌面应用程序。我们讨论了如果能够仅使用终端而不依赖任何其他工具会有多酷。因此,我产生了创建一个简单聊天应用的想法,但与其再做一个“又一个应用”(YAA),不如利用几乎所有人电脑上都已安装的东西——SSH?于是,TermChat应运而生。<p>只需输入:ssh termchat.me<p>然后输入:&#x2F;help 查看所有可用命令,或输入&#x2F;register 然后&#x2F;login。<p>通过Tab键切换窗格,使用‘hjkl’或箭头键进行导航。<p>目前还处于早期阶段,因此会有(已经有)一些bug和小问题,但基本功能是可用的:公共/私人房间、通知和私信。<p>没有电子邮件注册/验证等。注册过程简单,只需用户名/密码。密码经过哈希和加盐处理,私人房间和聊天内容在静态时是加密的。<p>我正在进行代码清理和文档整理,并计划很快开源。<p>欢迎任何反馈、批评或能帮助我改进这个项目的建议。我创建这个项目的主要原因是我只想通过我电脑上已有的工具与人进行简单的文本交流。
2作者: 0megion3 个月前原帖
大家好, 我正在开发一个名为 Rately 的项目。它是一个基于 Cloudflare Workers 的限流服务(因此运行在边缘,靠近您的客户)。 这个想法很简单:您不仅可以通过 IP 限制请求,还可以根据您自己的数据设置规则——例如: - URL 参数(/users/:id/posts → 按用户 ID 限制) - 查询参数 (?api_key=123 → 按 API 密钥限制) - 头部信息(X-Org-ID、Authorization 等) 举个例子: 假设您的 API 有一个端点 /user/42/posts。使用 Rately,您可以告诉它:“对每个 userId 应用每分钟 100 次请求的限制”。 因此,用户 42 和用户 99 会自动各自获得一个独立的请求桶。无需自定义 nginx 或中间件。 它有两种工作模式: - 代理模式 – 您将 API 域名(CNAME)指向 Rately。请求进入后,Rately 会执行您的限制,然后转发到您的源 API。这是最简单的集成方式。 ``` 客户端 ---> Rately(执行限制) ---> 源 API ``` - 控制平面模式 – 您可以像往常一样运行自己的 API,但您的代码或中间件可以在处理请求之前调用 Rately 的 API 来询问“这个请求被允许吗?”这给您提供了更多灵活性,而无需将所有流量都通过 Rately。 ``` 客户端 ---> 您的 API ---> Rately /check(允许/拒绝) ---> 您的 API 逻辑 ``` 我正在寻找一些有 API 的开发者来测试这个服务。我会帮助进行设置。