随笔分类 -  c#

c#
摘要:现在ai盛行,各家api gateway 纷纷实现了ai gateway 的功能,作为强大的卖点 2025 年个人用c#造了个api gateway的轮子VKProxy,现在各项功能或扩展能力齐备,性能也不差,个人时间精力也有限,ai gateway 就搞个简单的 demo 做为此轮子篇章的结尾吧 阅读全文
posted @ 2026-01-09 09:21 victor.x.qu 阅读(387) 评论(2) 推荐(0)
摘要:目的 之前就考虑评估过 函数式解析器 在dotnet这些面向对象语言上有着一些损耗,虽然表意性很强,与ABNF范式结合使用,维护性大大提升 不过由于性能考虑(以及之前认为也或许没有太多机会实现解析器),就没打算继续深究 不过现实确实有多次需要实现解析器,每次从0手写,太费时间了,比较很多实现对于解析 阅读全文
posted @ 2025-11-05 17:28 victor.x.qu 阅读(220) 评论(2) 推荐(3)
摘要:OpenTelemetry OpenTelemetry 是各类 API、SDK 和工具形成的集合。可用于插桩、生成、采集和导出遥测数据(链路、指标和日志),帮助你分析软件的性能和行为。 VKProxy 已集成OpenTelemetry,所以现在可以非常简单采集和导出遥测数据(链路、指标和日志)。 简 阅读全文
posted @ 2025-08-13 09:36 victor.x.qu 阅读(301) 评论(0) 推荐(2)
摘要:上一篇 c# ACME client 漏了一部分内容,今天补上 除了之前介绍的在 asp.net core 使用方式,还可以单独在代码中使用client 简化用法 如果已经集成好完全的自动证书申请验证,就可以使用已经封装好的代码进行简单使用 举例在asp.net core提供 一个api 可以根据参 阅读全文
posted @ 2025-07-30 15:41 victor.x.qu 阅读(296) 评论(7) 推荐(4)
摘要:其实原本是打算OpenTelemetry对应内容搞好后再做个简单的性能测试,也算表明自己写(抄)代码的能力(不至于用了反射什么的就把Kestrel这么好的底子的性能拖垮了) 但是最近看见一篇go的文章 报告揭示 OpenTelemetry 对 Go 的性能影响,说OpenTelemetry 拖慢了 阅读全文
posted @ 2025-07-11 10:22 victor.x.qu 阅读(192) 评论(0) 推荐(3)
摘要:VKProxy 目前新添加了如下功能 会话亲和性 禁止http 静态内容 简单的waf VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理(感兴趣的同学烦请点个github小赞赞呢) 会话亲和性 会话亲和性是一种机制,用于将有因果关系的请求序列绑定到在多个目标之间均衡负载时 阅读全文
posted @ 2025-07-09 16:46 victor.x.qu 阅读(200) 评论(0) 推荐(1)
摘要:http流量镜像 “流量镜像”是指将网络中的数据流量复制一份,并将这份复制流量发送到另一个目的地(如监控、分析或安全检测系统)。这项技术常用于网络安全、故障排查、业务灰度发布等场景。 主要应用场景 安全监控与威胁检测 将生产环境的流量镜像到安全分析设备(如IDS/IPS),用于实时监控和威胁检测。 阅读全文
posted @ 2025-07-05 08:31 victor.x.qu 阅读(324) 评论(0) 推荐(2)
摘要:VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理(感兴趣的同学烦请点个github小赞赞呢) 目前新添加了如下功能 http响应缓存 Memory Disk Redis CORS设置 log 配置随机概率采样 A/B 测试和滚动升级 http响应缓存 响应缓存可减少客户端 阅读全文
posted @ 2025-07-03 13:35 victor.x.qu 阅读(191) 评论(0) 推荐(1)
摘要:VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理(感兴趣的同学烦请点个github小赞赞呢) 目前新添加了速率限制(限流)功能 什么是速率限制? 速率限制是限制可以访问的资源量的概念。 例如,你可能知道应用访问的数据库每分钟可以安全地处理 1,000 个请求,但它可能处理 阅读全文
posted @ 2025-06-20 09:14 victor.x.qu 阅读(245) 评论(11) 推荐(1)
摘要:VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理 经过6个月业余时间偶尔缝缝补补,已经达到能跑的地步了 (感兴趣的同学烦请点个github小赞赞呢) 相关使用写了一些简单的文档说明 安装 通过UI站点配置 不同监听场景如何配置 如何为HTTP配置路由复杂匹配 如何为HTT 阅读全文
posted @ 2025-06-14 14:43 victor.x.qu 阅读(249) 评论(0) 推荐(3)
摘要:VKProxy 是使用c#开发的基于 Kestrel 实现 L4/L7的代理 有兴趣的同学点个赞呗 目前已经在写文档了, 文档在 https://fs7744.github.io/VKProxy.Doc/docs/introduction.html (未完成全部) UI配置站点也在开发ing了,会基 阅读全文
posted @ 2025-05-29 16:58 victor.x.qu 阅读(373) 评论(1) 推荐(2)
摘要:莫想到有一天得重新写个 etcd client 其实8年前搞过一个, 不过经过8年时间,etcd 多了很多功能 ,原来的多半不行了 虽然暂时我也没啥需求,但是怕kv和watch有变化 而且其实通过 grpc api 访问 etcd 没啥技术难度,搞client 也没啥意思的 (只要有.proto文件 阅读全文
posted @ 2025-05-10 15:05 victor.x.qu 阅读(220) 评论(0) 推荐(1)
摘要:有盆友好奇所谓的网络穿透是怎么做的 然后talk is cheap,please show code 所以只好写个简单且常见的websocket例子, 这里的例子大致是这个原理 浏览器插件(或者其他)首先将正常访问请求 --> 转换为socks5访问 --> 假代理服务器建立websocket链接, 阅读全文
posted @ 2025-05-07 11:10 victor.x.qu 阅读(1135) 评论(0) 推荐(3)
摘要:前言 之前做了个轮子NZOrz, 本来打算慢慢参照Kestrel和Yarp长久地写着玩 奈何川普上台,关税,订婚案,自身和钱包等等各种乐子层出不穷,无暇慢悠悠地写轮子玩 还有有些盆友也想知道能否直接使用 Kestrel 来实现L4的处理, 所以为了2025年轻松一些,重新基于 Kestrel 实现了 阅读全文
posted @ 2025-04-23 16:56 victor.x.qu 阅读(641) 评论(5) 推荐(6)
摘要:由于之前借鉴 Kestrel 了非常多抽象和优化实现,对于后续的扩展非常便利, 实现 简单udp和sni 代理 两个功能比预期快了超多(当然也有偷懒因素) (PS 大家有空的话,能否在 GitHub https://github.com/fs7744/NZOrz 点个 star 呢?毕竟借鉴代码也不 阅读全文
posted @ 2025-03-15 14:53 victor.x.qu 阅读(302) 评论(0) 推荐(2)
摘要:24年终自己立了flag: 25年做些轮子玩(用于浪费生命,赚不了钱) 所以25年就准备用c#写一个网络代理NZOrz(nginx知道吧,就那玩意儿干的事),包含 udp/tcp/http1 2 3, 至于为啥不用rust写,主要由于某台电脑某些不可告知的原因不方便安装rust,所以等我写完c#的, 阅读全文
posted @ 2025-03-08 16:32 victor.x.qu 阅读(1477) 评论(3) 推荐(17)
摘要:记录一下最近sv.db的完善 1. 让查询可以使用 json path 有时候我们会存储 json 到 db,也有时会只取json部分数据,或者通过json部分数据进行过滤 所以sv.db 也支持这些场景,(目前只有 db 实现,json的操作都是依靠db json 函数) 举例: 数据 a.Exe 阅读全文
posted @ 2024-10-14 13:07 victor.x.qu 阅读(398) 评论(0) 推荐(0)
摘要:为什么要写 为什么要写,大概就是沉没成本吧 只是从Source Generators出来开始,就打算以其研究是否能做 aop (现在已经有内置功能了),本来当年就想尝试能否在 orm 做一些尝试,可惜种种原因,自己都忘了这个打算了 直到今年7月份,才又想起了这个打算,现在精力不行了,本来研究一下原理 阅读全文
posted @ 2024-09-28 15:49 victor.x.qu 阅读(847) 评论(6) 推荐(4)
摘要:探索一下 Enum 优化 SV.Enums主要是探索如何让 enum 更高效 其中涉及的优化手段并非完全自创 很多内容参考于以下项目 NetEscapades.EnumGenerators FastEnum runtime 主要优化手段 其实主要全是 空间换时间,大量缓存 封装入口方法以及 sour 阅读全文
posted @ 2024-08-31 13:45 victor.x.qu 阅读(476) 评论(0) 推荐(2)
摘要:明明有更好的hash方法 (ps: 添加 XxHash32 测试, XxHash32 大小写敏感) 有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点 提前生成部分 hashcode 进行比较 所示代码 public static void GenerateReadTokens(th 阅读全文
posted @ 2024-08-10 22:06 victor.x.qu 阅读(515) 评论(2) 推荐(1)