2 分•作者: ForHackernews•6 个月前
返回首页
最新
1 分•作者: doener•6 个月前
1 分•作者: mhga•6 个月前
1 分•作者: mirzemehdi•6 个月前
我的朋友是个狂热的漫画迷,我想为他们的生日制作一份特别的礼物——一个能让他们轻松创作漫画场景的创意作品。这就是我开发 Mangii 应用的原因。<p>我使用了 OpenAI 新的图像生成技术,但直接写提示词效果并不理想。我做了很多实验才让图像呈现出漫画风格。<p>最终,我把它变成了一个小应用,它始终保持漫画风格,并让你尝试不同的创作想法。<p>虽然还处于早期阶段,但玩起来很有趣。欢迎大家提出任何想法!
1 分•作者: dark-kernel•6 个月前
Hi HN,
我开发了 <i>Tuisic</i>,一个基于终端的在线音乐播放器。
它可能是同类产品中的第一个——一个极简的 CLI 应用程序,您可以在其中搜索、流式传输和下载来自多个在线平台的音乐,而无需打开浏览器。没有广告,没有干扰。
+ 功能:
- 支持 YouTube、SoundCloud、JioSaavn、Last.fm、ForestFM(即将支持 YouTube Music)
- 使用 FTXUI 构建的干净的终端 UI
- 类似 Vim 的控制和键盘快捷键
- 收藏列表、轻松分享和下载
- 可选的 MPRIS (DBus) 支持,用于 `playerctl`、媒体键等
- 轻量级,不依赖 Electron 或 GUI
还有一个基本的“守护进程模式”(按 `w` 键),可以在后台运行。
+ GitHub:
<a href="https://github.com/Dark-Kernel/tuisic">https://github.com/Dark-Kernel/tuisic</a>
+ AUR 包:`tuisic-git`
欢迎反馈或测试,特别是来自 CLI 爱好者和 Linux 用户的反馈。
欢迎贡献——如果您能帮助实现 Apple Music 或 Spotify 的支持,那就更好了 :)
– Sumit Patel (Dark-Kernel)
1 分•作者: Anumbia•6 个月前
1 分•作者: tosh•6 个月前
2 分•作者: Sakura-sx•6 个月前
1 分•作者: musebox35•6 个月前
1 分•作者: emeriezaiya•6 个月前
终于鼓起勇气开始我计划已久的独自旅行,拖着行李箱走出车站的那一刻,我的内心既兴奋又忐忑。陌生的城市,陌生的面孔,一切都充满未知,这种感觉既刺激又令人不安。
按照攻略找到预定的民宿,房东是一位热情的姐姐,一见面就拉着我聊个不停,给我推荐当地值得一去的美食和景点。放下行李稍作休息后,我决定先去尝尝有名的小吃店。顺着导航在小巷里穿梭,终于看到了这家店。小小的店面挤满了人,好不容易才找到一个空位。点了一份特色小吃,入口的瞬间,味蕾被惊艳,独特的风味在舌尖蔓延,之前一路奔波的疲惫似乎都一扫而空。
晚饭后,我漫无目的地在街上闲逛。路过一家旧书店,被橱窗里一本泛黄的诗集吸引。推开门,店里弥漫着淡淡的书香和木质家具的味道。店主是一位戴着眼镜的老爷爷,正坐在角落的藤椅上读书。我慢慢地在书架间挑选,老爷爷时不时抬头看看我,偶尔轻声说一句“那本书挺有意思的”。最终我选了一本小众作家的散文集,坐在窗边静静地读起来。阳光透过玻璃洒在书页上,周围只有翻书的沙沙声,内心一片宁静。
傍晚,我走到城市边的河畔。夕阳将天空染成橘红色,倒映在河面上,波光粼粼。河边散步的人不少,还有几个孩子在放风筝。我找了张长椅坐下,看着眼前的景色,思绪飘得很远。拿出手机想把这一刻分享给朋友们,但又放下了,觉得这种时刻,独自享受也别有一番滋味。
夜幕降临,城市的灯光渐渐亮起。我跟着人群走进夜市,各种香味扑鼻而来。烤串的滋啦声,摊贩的吆喝声,人们的欢笑声交织在一起,热闹非凡。我穿梭在各个摊位之间,买了一份烤冷面和一杯鲜榨果汁,边走边吃。路过一个街头艺人的表演场地,我停下来听了几首歌,和大家一起鼓掌欢呼,感受着夜晚城市的活力。
回到民宿时,我已经有些疲惫,但内心却是满足的。这一天,我没有刻意赶往景点,只是随意地探索这座城市,遇到很多热情的人,品尝了美味的食物,看到了美丽的风景。原来,一个人的旅行日常也可以充满惊喜和感动,而这些平凡却又特别的瞬间,都将成为我珍贵的回忆。
1 分•作者: rbanffy•6 个月前
1 分•作者: itsmevictor•6 个月前
Hi HN,
我开发了一个简单的命令行工具,可以快速将 YouTube 视频转录成清晰、易读的文本。它使用 OpenAI 的 Whisper 进行转录,并利用你选择的 LLM 智能地清理转录文本,删除语气词、纠正语法并提高可读性。
一些亮点包括:
* 自动从 YouTube 直接下载音频。
* 支持多种输出格式(TXT、SRT、VTT)。
* LLM 驱动的转录文本清理,专为演示文稿、对话等场景量身定制。
* 设置简单,命令行界面使用方便。
我开发这个工具的主要动机是,我阅读的速度比听快,而且我经常只对(长)视频中的一小段内容感兴趣,所以直接使用 cmd-F 在转录文本中查找并跳转到该部分会更容易。
欢迎提供反馈!
1 分•作者: conferza•6 个月前
1 分•作者: 01-_-•6 个月前
2 分•作者: rbanffy•6 个月前
1 分•作者: engineer194•6 个月前
2 分•作者: 01-_-•6 个月前
2 分•作者: haykerman•6 个月前
1 分•作者: aethiopicuschan•6 个月前
嘿,Hacker News,
我很高兴向大家介绍 passkey-go,这是一个我构建的新的 Go 语言库,旨在让在你的 Go 应用程序中实现服务器端 WebAuthn(通行密钥)验证变得更加简单和稳健。
虽然 WebAuthn 提供了强大的、防钓鱼的身份验证功能,但其规范在服务器端正确实现起来可能相当复杂。我开发 passkey-go 的目标是抽象掉底层的解析和加密细节,提供一个用于常见任务的高级、易于使用的 API,以及更高级的、分步验证的灵活性。
以下是 passkey-go 提供的功能:
轻松验证:VerifyAssertion 函数提供了一个单一的、高级的调用,用于验证身份验证响应,为你处理所有加密检查、来源验证和签名计数验证。
灵活的注册:对于注册,该库提供了清晰的、顺序的步骤来解析证明对象、提取验证器数据,并将 COSE 密钥转换为 *ecdsa.PublicKey 以供存储。
细粒度控制:如果你需要更多控制,你可以使用 ParseAssertion、ParseClientDataJSON、VerifyAssertionSignature 和 CheckSignCount 函数来分步执行验证。
安全设计:它专注于正确处理核心验证逻辑,确保签名验证、挑战匹配,并通过 signCount 检查防止重放攻击。
清晰的错误处理:PasskeyError 类型帮助你将常见的 WebAuthn 相关问题直接映射到适当的 HTTP 状态,简化 API 错误响应。
极简设计:passkey-go 仅专注于 WebAuthn 验证逻辑。它不规定你如何存储挑战或凭据,让你完全控制你的用户和数据管理。
ES256 支持:遵循 WebAuthn 建议,仅支持 ES256(ECDSA w/ SHA-256),以实现强大的安全性。
Go 风格:专为 Go 开发者设计,提供清晰的函数签名和标准的错误处理。
这个库处理了 WebAuthn 验证的复杂部分,让你能够快速集成安全的通行密钥身份验证,而不会陷入规范的复杂性中。
你可以在这里找到代码库和更详细的用法示例:[https://github.com/aethiopicuschan/passkey-go](https://github.com/aethiopicuschan/passkey-go)
我很想听取你的想法、反馈,以及对未来改进的任何建议。欢迎在 GitHub 上提交问题或拉取请求!
感谢你的关注!
22 分•作者: Michelangelo11•6 个月前