凉风有信,秋月无边
亏我思娇的情绪、好比度日如年

技术笔记

记录一些我自己使用过的东西,备忘用!
github代码空间部署免费的RDP服务器-Villain博客

github代码空间部署免费的RDP服务器

项目地址:https://hub.docker.com/r/dockurr/windows github:https://github.com/dashboard 命令: sudo su 切换为超级管理员(root用户) sudo apt update 刷新软件仓库的列表 clear 清空当前终端屏幕 sudo apt install docker.io docker-compose 安装Docker引擎和工具 docker 检查Docker是否安装成功 如果安装成功:显示Docker帮助菜单 mkdir dockercom 创建名为dockercom的文件夹 ls 列出当前目录下的文件和文件夹 cd dockercom 进入刚创建的dockercom目录 nano windows10.yml 创建并编辑文件. services: windows: image: dockurr/windows container_name: windows environment: VERSION: “10l” USERNAME: “apepine” PASSWORD: “apepine123” RAM_SIZE: “4G” CPU_CORES: “4” DISK_SIZE: “400G” DISK2_SIZE: “100G” LANGUAGE: “Chinese” REGION: “zh_CN” KEYBOARD: “cn” devices: – /dev/kvm – /dev/net/tun cap_add: – NET_ADMIN ports: – “8006:8006” – “3389:3389/tcp” – “3389:3389/udp” stop_grace_period: 2m ctrl+x  保存 输入y。然后回车结束 sudo docker-compose -f windows10.yml up 根据YAML文件启动容器 最后 等待运行结束就可以了。

赞(0)villainvillain阅读(10)去评论
DeepSeek可以出图了,99%的人都不知道的隐藏玩法-Villain博客

DeepSeek可以出图了,99%的人都不知道的隐藏玩法

周末在网上逛各种AI玩法的时候,意外发现一个开源项目,各种逆天的玩法。其中一种方式居然可以让DeepSeek直接出图。 今天就来介绍下这个玩法。大家学会后可以在DeepSeek中用起来,解锁更多DeepSeek的功能 文末有项目地址 01  DeepSeek出图 我相信绝大多数的人在用DeepSeek的时候都只知道文本输出。 当你在DeepSeek中输出下面的提示词的时候,你就会发现原来DeepSeek也是可以出图的 提示词 You will now act as a prompt generator. I will describe an image to you, and you will create a prompt that could be used for image-generation. Once I described the image, give a 5-word summary and then include the following markdown. ![Image](https://image.pollinations.ai/prompt/{description}?width={width}&height={height}&nologo=true) where {description} is:{sceneDetailed}%20{adjective}%20{charactersDetailed}%20{visualStyle}%20{genre}%20{artistReference} Make sure the prompts in the URL are encoded. Don’t quote the generated markdown or put any code box around it. 先不解释这个提示词的作用。我们先来看看效果。当我输入了之后,deepseek首先是给出了绘图提示词,然后给出了一个图片样本 看来DeepSeek出图成功! 接下来,输入我自己想要的提示词:一张科幻的实验室图片 同样的,也是很快就出图了。天天使用DeepSeek, 居然今天才知道还有这种神器的玩法。 现在来解释这个提示词的原理。 DeepSeek没有绘图模型,所以本身是出不了图的。但是它支持用Markdown的形式显示图片,所以只要找到一个直接访问url就能生图的链接即可 这个url就是https://image.pollinations.ai/ 回头看看刚才输入的提示词,description就是我们输入的绘图描述,后面还可以带图片长度,宽度。nologo=true表示不带水印 而同时我们在开头的时候又明确告诉了DeepSeek,用markdown的格式输出。所以当图片生成后,就用markdown的格式呈现出来了 如果你想指定图片的长宽,可以在提示词中加入对应的描述即可 比如下面,生成1024*1024的图片 ![Image](https://image.pollinations.ai/prompt/{description}?width={1024}&height={1024}&nologo=true) 之前我给的是官网的,同样的,你把提示词翻译成中文也是同样可以用的 中文提示词 现在,您将充当提示生成器。我将向您描述一个图像,您将创建一个可用于图像生成的提示。一旦我描述了图像,请给出一个5字的总结,然后包括以下标记。   ![image](https://image.pollinations.ai/prompt/{description}?width=2048&height=2048&seed=100&model=flux&nologo=true)  写在最后 通过这种方式,我还探索了生成绘本图片连载的方式。在下一次中继续分享。本次的提示词,大家可以去玩起来。 项目地址: https://github.com/pollinations/pollinations

赞(0)villainvillain阅读(154)去评论
宝塔面板免费防火墙如何屏蔽垃圾爬虫蜘蛛?-Villain博客

宝塔面板免费防火墙如何屏蔽垃圾爬虫蜘蛛?

为什么屏蔽垃圾蜘蛛? 屏蔽垃圾蜘蛛主要有以下几个原因: 节省服务器资源:垃圾蜘蛛通常会频繁抓取网站内容,消耗大量的服务器资源,导致正常用户访问速度变慢。 保护网站安全:一些垃圾蜘蛛可能会尝试扫描网站漏洞,增加网站被攻击的风险。 提高SEO效果:垃圾蜘蛛抓取的内容通常不会对网站的SEO有正面影响,反而可能会影响搜索引擎对网站的评价。 减少日志文件大小:垃圾蜘蛛的抓取行为会在服务器日志中留下大量无用的记录,占用存储空间。 通过屏蔽这些垃圾蜘蛛,你可以有效地保护你的网站资源,提升用户体验,并减少潜在的安全风险。 宝塔中提供了付费版和免费版的Nginx防火墙。我们可以利用 User-Agent 来屏蔽掉许多无关紧要的蜘蛛爬虫,并且防止 SQL 注入和菜刀一句话的入侵。 然而,免费版的 nginx 防火墙规则相对较少,种类也不够多样化。因此,我们将分享一些来自付费版的规则,您可以手动逐条添加到免费版的防火墙中。遗憾的是,免费版没有导入功能。 安装Nginx免费防火墙 免费防火墙防御效果 添加过滤垃圾蜘蛛爬虫规则 添加垃圾蜘蛛规则,包括常见的垃圾蜘蛛和AI爬虫 (www\.seokicks\.de|YYSpider|Mattermost|Discord|CCBot|RepoLookoutBot|FBexternalhit|serpstatbot|Pinterestbot|SurdotlyBot|DataForSeoBot|DigExt|HttpClient|MJ12bot|heritrix|Ezooms|FlightDeckReports|LingueeBot|Web-Crawler|WellKnownBot|Yellowbrandprotectionbot|ev-crawler|NE Crawler|Facebot|facebookexternalhit|meta-externalagent|facebookscraper|facebookexternalhit|GrapeshotCrawler|SemrushBot|DotBot|MegaIndex\.ru|MauiBot|AhrefsBot|BLEXBot|HubSpotCrawler|CriteoBot|YaK|Mail\.RU_Bot|Barkrowler|vxiaotou-spider|telegram|dingtalk|DuckDuckGo|applebot|webprosbot|AwarioBot|Amazonbot|AmazonAdBot|YouBot|P/2\.0|YandexBot|Slurp|AdsBot-Google|Googlebot-Image|Googlebot-News|Googlebot-Video|msnbot|Twitterbot|Slackbot|LinkedInBot|NaverBot|Yeti|Daumoa|Teoma|ScoutJet|Exabot|Cliqzbot|SeznamBot|PaperLiBot|SputnikBot|Qwantify|Steeler|Gigabot|Scooter|TurnitinBot|Scrapy|Diffbot|Kozmos|KaloogaBot|LSSRocketCrawler|Nutch|Sphider|Xenu|HTTrack|Wget|Curl|Apache Nutch|Larbin|WebSPHINX|WebCopier|TeleportPro|Offline Explorer|SiteSucker|BlackWidow|DomainCrawler|AspiegelBot|LivelapBot|spbot|DnyzBot|GPTBot|ChatGPT-User|cohere-ai|Google-Extended|omgilibot|anthropic-ai|ClaudeBot|Claude-Web) 您还可以添加其他规则以提升面网站的安全,以下是常见的过滤规则。 关键词过滤 1 (WPScan|HTTrack|antSword|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|BabyKrokodil|netsparker|httperf| SF/) 一句话*屏蔽的关键字*过滤 2 (?:define|eval|file_get_contents|include|require_once|shell_exec|phpinfo|system|passthru|chr|char|preg_w+|execute|echo|print|print_r|var_dump|(fp)open|alert|showmodaldialog|file_put_contents|fopen|urldecode|scandir)( 一句话*屏蔽的关键字*过滤 3 $_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER) SQL 注入过滤 2 selects+.+(from|limit)s+ SQL 注入过滤 3 (?:(union(.*?)select)) SQL 注入过滤 6 benchmark((.*),(.*)) SQL 注入过滤 7 (?:fromW+information_schemaW) SQL 注入过滤 8 (?:(?:current_)user|database|schema|connection_id)s*( SQL 报错注入过滤 01 (extractvalue(|concat(0x|user()|substring(|count(*)|substring(hex(|updatexml() SQL 报错注入过滤 02 (@@version|load_file(|NAME_CONST(|exp(~|floor(rand(|geometrycollection(|multipoint(|polygon(|multipolygon(|linestring(|multilinestring() SQL 注入过滤 10 (substr() SQL 注入过滤 1 (ORD(|MID(|IFNULL(|CAST(|CHAR)) SQL 注入过滤 1 (EXISTS(|SELECT#|(SELECT) 菜刀流量过滤 (array_map(“ass) SQL 报错注入过滤 01 (bin(|ascii(|benchmark(|concat_ws(|group_concat(|strcmp(|left(|datadir(|greatest()

赞(0)villainvillain阅读(169)去评论
GoogleTranslate-基于Google翻译的免费火车头PHP翻译插件-Villain博客

GoogleTranslate-基于Google翻译的免费火车头PHP翻译插件

很多人可能看到GoogleTranslate是基于Google在线翻译的,可能会怀疑它的稳定性,虽然Google搜索在国内是被墙了,但是Google翻译是通过translate.Google.cn来访问的,因此不用翻墙就可以直接使用。唯一的问题就是GoogleTranslate这款火车头数据采集软件插件是通过抓取Google在线翻译来实现的,不保证以后Google会改变网页规则。 使用方法 1.修改火车头的PHP环境 由于火车头软件内置的PHP环境有问题,在使用php插件之前需要先修改火车头的PHP环境。修改的方法很简单,打开火车头采集器的安装目录“System/PHP”,找到php.ini文件打开,并找到如下代码。 将最前面的分号“;”删除并保存即可,这样火车头数据采集器就可以正常运行这个PHP插件了。 2.将插件文件放到火车头的安装目录 将下载的插件解压后,把“GoogleTranslate.php”文件放到火车头安装目录的插件文件夹。(V9版的是Plugins文件夹,7.6版的是Plugins/LocoySpider文件夹) 3.设置翻译方向和翻译标签 3.1.在火车头的采集规则里新建一个标签名叫“翻译方向”的标签,数据获取方式选择“生成固定格式的数据”,内容按“源语言标识>翻译目标语言标识”这样的规则填写。例如我采集的是中文,需要翻译成英文,则填“zh-CN>en”(中间的符号“>”是英文半角输入下的尖括号,符号错了的话无法翻译),如下图: 各国语言标识见本文下面的“语言标识”部分。 3.2.新建一个标签名叫“翻译标签”的标签用来设置需要翻译的标签和保存翻译后内容的标签,数据获取方式选择“生成固定格式的数据”,规则为“采集的标签名>保存翻译后内容的标签名”(同样中间的符号“>”是英文半角输入下的尖括号,符号错了的话无法翻译),多个翻译标签之间用英文半角的逗号“,”隔开,如果不需要保存采集的内容则前后都写采集标签名即可。如下图: 我上图中填写了4个翻译规则,火车头采集软件运行后,数据保存规则如下: 采集的标题不会保存中文内容,只会保存翻译后的英文内容。 内容、作者、出处三个都即会保存采集的中文内容,同时会保存翻译后的英文内容。 4.创建翻译内容标签 根据“翻译标签”里的规则,新建相应的标签名用来保存翻译后的内容,规则留空即可。例如我上面图中的规则里设置了内容、作者、出处三个标签,翻译后的内容都是存储在“翻译的XX”标签里的,那我的采集规则里需要对应的创建这三个标签名,然后这三个标签的采集规则留空,如下图: 上图中三个红框中的标签是用来保存翻译后的内容的,标签名必须和“翻译标签”内规则填写的标签名一致,如果未创建或和标签名和规则不一致,则会无法翻译,有可能火车头软件还会报错。 5.开启火车头采集工具的PHP插件功能 V9版本的火车头采集器在“编辑任务”>“其他设置”>“插件”>“采集结果处理插件”里,选择GoogleTranslate.php后保存规则。 火车头7.6版本在“编辑任务”>“文件保护及部分高级设置”>“任务PHP插件”里,选择GoogleTranslate后保存规则。 完成了以上步骤,只要翻译方向和翻译标签没错的话,就可以正常翻译了。   翻译的测试效果图 语言标识 语言标识码 名称 语言标识码 名称 auto 自动检测 zh-CN 中文(简体) zh-TW 中文(繁体) en 英语 fr 法语 de 德语 ru 俄语 it 意大利语 ko 韩语 ja 日语 la 拉丁语 sq 阿尔巴尼亚语 ar 阿拉伯语 am 阿姆哈拉语 az 阿塞拜疆语 ga 爱尔兰语 et 爱沙尼亚语 eu 巴斯克语 be 白俄罗斯语 bg 保加利亚语 is 冰岛语 pl 波兰语 bs 波斯尼亚语 fa 波斯语 af 布尔语(南非荷兰语) da 丹麦语 tl 菲律宾语 fi 芬兰语 fy 弗里西语 km 高棉语 ka 格鲁吉亚语 gu 古吉拉特语 kk 哈萨克语 ht 海地克里奥尔语 ha 豪萨语 nl 荷兰语 ky 吉尔吉斯语 gl 加利西亚语 ca 加泰罗尼亚语 cs 捷克语 kn 卡纳达语 co 科西嘉语 hr 克罗地亚语 ku 库尔德语 lv 拉脱维亚语 lo 老挝语...

赞(0)villainvillain阅读(42)去评论

linux宝塔面板打不开,SSH能访问,但是宝塔面板打不开,输入bt命令无任何反应

linux宝塔面板打不开 ssh也连不上,SSH能访问,但是宝塔面板打不开,输入bt命令无任何反应 第一步、首先执行下面板看看bt文件ll /etc/init.d/ 第二步、 执行df -h看看磁盘空间 第三步、执行下面命令 删除旧的宝塔快捷方式 mv /etc/init.d/bt /tmp/bt_back 生成新的宝塔启动快捷方式 cp /www/server/panel/init.sh /etc/init.d/bt && chmod +x /etc/init.d/bt 重启宝塔 /etc/init.d/bt restart 一般执行完成后就可以打开了。

赞(0)villainvillain阅读(53)去评论

动态php生成sitemap地图方法

通过访问动态php文件。把地图生成保存到静态xml文件 <?php for ($i = 1; $i <= 13; $i++) { $content = file_get_contents("https://www.xxx.com/sitemap/baidu?index=$i"); $c = substr_count($content, '<url>'); if ($c > 1) { //创建存放xml的文件夹 $fp = fopen("pc_sitemap/site$i.xml", "w+"); fwrite($fp, $content); fclose($fp); } } for ($i = 0; $i <= 13; $i++) { $content = file_get_contents("https://m.xxx.com/sitemap/baidu?index=$i"); $c = substr_count($content, '<url>'); if ($c > 1) { //创建存放xml的文件夹 $fp = fopen("wap_sitemap/site$i.xml", "w+"); fwrite($fp, $content); fclose($fp); } }  

赞(0)villainvillain阅读(44)去评论

php代码实现WordPress远程调用自身内容

<?php // Include WordPress define('WP_USE_THEMES', false); require('./wp-load.php'); query_posts('showposts=5'); //这个调用最新文章,如果是热门文章的话则改为get_most_viewed("post",10),前提是你的主题安装了热门文章插件,而且此方法可以接受几乎wp-kit-cn所有代码。 ?> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <?php while (have_posts()): the_post(); ?> <tr><td height="23">· 【新上源码】 <a href="<?php the_permalink(); ?>" target="_blank"><b><?php echo mb_strimwidth(strip_tags(apply_filters('the_title', $post->post_title)), 0, 50," "); ?></b></a></td></tr> <?php endwhile; ?> </table> 目录建立php文件把代码粘贴进去就可以了。在其他地方随意调用自身内容

赞(0)villainvillain阅读(46)去评论