友链朋友圈

无限可能,正在发生

【SQL Server】插入数据时存在即跳过,不存在则插入

方法一 MERGE语句允许你同时执行插入、更新和删除操作。 MERGE INTO YourTable AS target USING (SELECT @YourKeyColumn AS KeyColumn, @YourValueColumn AS ValueColumn) AS source ON target.KeyColumn = source.KeyColumn WHEN NOT MATCHED THEN INSERT (KeyColumn, ValueColumn) VALUES (source.KeyColumn, source.ValueColumn); 在这个例子中,YourTable是你想要插入数据的表,KeyColumn是用于检查记录是否存在的键列,ValueColumn是你想要插入的值列。@YourKeyColumn和@YourValueColumn是你要插入的数据的变量。 方法二 另一种方法是使用IF NOT EXISTS语句来检查记录是否存在,如果不存在,则执行插入操作。 IF NOT EXISTS (SELECT 1 FROM YourTable WHERE KeyColumn = @YourKeyColumn) BEGIN INSERT INTO YourTable (KeyColumn, ValueColumn) VALUES (@YourKeyColumn, @YourValueColumn); END 在这个例子中,如果YourTable表中不存在KeyColumn等于@YourKeyColumn的记录,那么就会执行INSERT语句来插入新的记录。 区别 MERGE语句 语法简洁:MERGE语句通过一个操作就可以完成检查和插入的逻辑,代码更简洁。 操作原子性:MERGE语句通常在一个事务中完成,这保证了操作...

LiteLoaderQQNT配合NoneBot搭建聊天机器人

由于nonebot功能强大,切勿用于非法用途。网上搜到的go-httpcq版的老早就不行了。切勿转载本教程。请不要在 QQ 官方群聊和任何影响力较大的简中互联网平台(包括但不限于: 哔哩哔哩,微博,知乎,抖音等)发布和讨论任何与本项目存在相关性的信息 一、准备工具 本教程适用于Windows平台,l

XiSoul Blog's

【Docker】搭建一个安全的远程桌面访问 - rustdesk

前言 本教程基于群晖的NAS设备DS423+的docker功能进行搭建,DSM版本为 7.2.1-69057 Update 5。 简介 rustdesk是一款开源的远程桌面软件,它具有以下特点: 跨平台支持:支持Windows、macOS、Linux、iOS、Android和Web等多个平台。 高效的编解码器:支持VP8、VP9、AV1软件编解码器和H264、H265硬件编解码器,提供高质量的视频传输。 无需管理员权限:在Windows上可以非管理员不安装运行,根据需要在本地或远程提升权限。 开源与自主控制:RustDesk的源代码对所有人开放,用户可以自行审查和修改代码,确保软件的安全性和透明度。 无需复杂配置:设计为即插即用,用户无需进行复杂的配置即可开始使用。 数据安全:用户可以完全控制自己的数据,可以选择使用RustDesk提供的中继/中转服务器,或者自行搭建服务器。 社区驱动:鼓励社区成员参与贡献,包括代码、文档翻译和用户界面设计等。 多种构建方式:用户可以通过多种方式构建RustDesk,包括直接使用源代码构建,或者使用Docker容器进行构建。 支持自建服务器:用户可以搭建私有的中继服务器,完全掌控自己的流量和数据。 功能丰富:集成了文件传输、可调整画面质量、剪贴板互通等实用功能。 RustDesk以其开源、免费、跨平台、自建服务器、功能丰富和社区活跃等优势,成为了众多用户的首选远程桌面控制软件。 部署 服务端 在群晖NAS上面的“File Station”中新建一个docker映射文件,用于映射docker中rustdesk-server的数据。 打开“Container Manager”,在“项目”中,点击“新增”。填写项目名称,路径选择创建好的映射文件夹,文件选择“创建 docker-compose.yml”,然后将以下配置代码复制粘贴进去。 默认情况下...

【Docker】搭建一个免费全自动申请和自动部署更新SSL证书的工具 - Certd

前言 本教程基于群晖的NAS设备DS423+的docker功能进行搭建,DSM版本为 7.2.1-69057 Update 5。本次演示如何配置自动申请证书,并部署到云主机指定目录。 简介 Certd是一个开源的自动化SSL证书管理工具,它可以帮助用户自动申请、更新和部署SSL证书,确保HTTPS服务始终安全有效 。它支持多种云服务提供商,包括但不限于阿里云、腾讯云、华为云,以及CDN服务如Cloudflare 。 Certd的核心功能包括: 全自动化管理:从申请到续期全流程自动化,减轻维护负担。 广泛兼容:支持多种域名注册平台和CDN服务。 多域名支持:包括通配符域名,可以满足复杂配置需求。 安全性保障:支持私有化部署,保护敏感数据。 免费高效:提供免费的证书管理方案,无需支付高昂的商业证书费用。 社区与支持:活跃的社区和技术支持,帮助用户更好地使用Certd。 使用Certd的好处包括: 提高效率:自动化流程减少了人工干预,提高了操作效率。 减少错误:自动续期和更新减少了因人为疏忽导致证书过期的风险。 节省成本:免费使用,降低了使用SSL证书的成本。 增强安全性:确保网站的HTTPS连接始终处于有效状态。 Certd适合各种规模的网站和服务,无论是小型站点还是大型企业,都能从中受益 。安装和配置Certd相对简单,支持一键安装和容器化管理,适配多种运行环境 。 如果您需要为您的网站或服务设置或管理SSL证书,Certd是一个值得推荐的工具。它不仅能够提高管理效率,还能帮助您节省成本,并确保网站的安全性。 部署 在群晖NAS上面的“File Station”中新建一个docker映射文件,用于映射docker中certd的数据。 打开“Container Manager”,在“项目”中,点击“新增”。填写项目名称,路径选择创建好的映射文件夹,文件选择“创建 docker-...

【折腾笔记】雷池WAF社区版自动SSL续签

前言 由于雷池WAF社区版本的证书不支持通配符域名申请,所以我们使用ACME进行域名申请并实现自动续期。下面我将用Debian 12 的系统进行演示安装ACME客户端和以及使用它完自动续期。 简介 ACME是"Automatic Certificate Management Environment"(自动证书管理环境)的缩写,它是一种用于自动化管理和获取SSL/TLS证书的协议。ACME协议由互联网工程任务组(IETF)定义,并被Let’s Encrypt等证书颁发机构广泛采用,旨在简化和自动化SSL/TLS证书的申请、更新和管理过程。 ACME协议的工作流程大致如下: 安装ACME客户端:首先,您需要在服务器上安装一个ACME客户端,如acme.sh或Certbot。 注册账户:通过客户端在证书颁发机构(CA)注册账户。 证明域名所有权:按照客户端指示证明您拥有要申请证书的域名,这可能涉及到在Web服务器上放置文件或更新DNS记录。 获取证书:一旦域名所有权得到验证,客户端将请求并获取证书。 配置服务器:最后,您需要配置您的Web服务器以使用新获取的证书。 ACME客户端通常支持自动续期,这意味着您可以设置客户端定期自动更新证书,避免手动干预和证书过期的风险。 如果您需要为您的网站启用HTTPS并自动管理SSL/TLS证书,ACME协议提供了一个有效的解决方案。通过使用ACME,您可以确保数据传输的安全性,同时减少管理证书的复杂性。 教程 根据自己的服务器系统安装git,执行下面命令。 CentOS / RHEL yum install git Debian / Ubuntu apt-get install git 安装完成后,使用git clone命令从 Gitee 克隆 acme.sh 仓库。 git clone https://gitee.com/neilpang/...

【折腾笔记】雷池WAF+FRP+Nginx实现安全可靠的内网穿透

前言 在网上看了许多关于WAF+FRP+Nginx的方式来保护内网穿透的Web服务,但是在网上搜寻的结果都是将WAF部署在了源站上面,由于我的Web服务都是部署在NAS上面,然后使用Frp来穿透访问的,我认为WAF应该部署在服务器上面比较合适,在服务器上面进行拦截异常访问和攻击,这样能大大降低源站的压力。 本次教程主要讲解雷池WAF的安装部署过程以及配合FRP和Nginx来实现安全可靠的内网穿透,FRP和Nginx的部署教程我在前面的笔记中已经有记录。 我的网站大致的路由拓扑图如下: 简介 雷池WAF(Web Application Firewall)是一款由长亭科技开发的Web应用防火墙,其核心检测能力由智能语义分析算法驱动,旨在为企业级用户提供专业的网络信息安全解决方案。雷池WAF的主要特点包括: 防护Web攻击:能够防御SQL注入、XSS、代码注入、命令注入、CRLF注入、LDAP注入、XPath注入、RCE、XXE、SSRF、路径遍历等攻击类型。 防爬虫、防扫描:通过人机验证功能,可以识别并放行真人用户的流量,而阻断由自动化程序如爬虫、漏洞扫描器等发起的恶意流量。 前端代码动态加密:即使在用户浏览到的网页内容不变的情况下,也能对HTML和JavaScript代码进行动态加密,确保每次访问时代码都以随机且独特的形态呈现。 基于源IP的访问速率限制:可以限制用户的访问速率,从而保护Web服务免遭CC攻击、暴力破解、流量激增等攻击。 HTTP访问控制:提供基于源IP的访问控制,增强网站的安全性。 雷池WAF的安装和配置相对简单,支持一键安装和容器化管理,适配多种运行环境。它还提供简洁的操作界面,专为社区设计,使得用户能够轻松上手并实现躺平式管理。 此外,雷池WAF还提供了一些高级防护能力,如身份认证功能,可以解决未授权访问的问题;动态防护功能,可以实时分析并拦截恶意流量,...

iOS系统下载并安装旧版本软件

前言 我有强迫症,看到 App Store 中显示APP需要更新,我就会直接点“全部更新”。但是并不是每次更新都是那么的尽人意,有的APP更新以后,出现了令人费解的BUG,iOS系统在更新了APP以后,无法再通过 App Store 安装回旧的APP版本。那么这个时候我们该如何安装回旧版本的APP呢

1panel搭建halo+alist+兰空图床

由于服务器更新过后,ssh连接不上,机商vnc延迟卡的很,输个命令都不行,刚好centos断更了,换ubuntu系统了。也顺便从MySQL转到PostgreSQL。这个算是个记录,给有基础的人看的,你连ssh都不会连,那你得自己一步一步慢慢百度来。其实还是比较无脑的,除了1panel的反代,感觉设计

XiSoul Blog's