首页
直播
壁纸
免责声明
更多
统计
关于
Search
1
一款自动化渗透工具包 TscanPlus
225 阅读
2
获取一张美国虚拟信用卡
223 阅读
3
JS Document.evaluate()的使用
199 阅读
4
Git冲突:Please commit your changes or stash them before you merge
176 阅读
5
Python利用psutil库进行监控进程和资源
165 阅读
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
登录
Search
标签搜索
python
php
web
linux
Git
js
requests
自动化
宝塔
thinkphp
Centos
adb
html
typecho
layui
jquery
ubuntu
multipass
虚拟机
thikphp
YiYun
累计撰写
54
篇文章
累计收到
21
条评论
首页
栏目
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
页面
直播
壁纸
免责声明
统计
关于
搜索到
54
篇与
的结果
2024-04-04
Github+jsDelivr+PicGo 为脚本/图片等静态文件加速的全球CDN
jsDelivr提供npm,GitHub,WordPress等项目的镜像,全球加速访问,所以jsDelivr + Github便是免费且好用的CDN,非常适合博客网站使用。GitHub 图床也是个不错的选择,利用 jsDelivr CDN 加速访问(jsDelivr 是一个免费开源的 CDN 解决方案),PicGo 工具一键上传,操作简单高效,GitHub 和 jsDelivr 都是大厂,不用担心跑路问题,不用担心速度和容量问题,而且完全免费,可以说是目前免费图床的最佳解决方案!1、新建Github仓库1.1 )当然你得先有一个github账号!网址:https://github.com/1.2 )登录/注册GitHub,新建一个仓库,填写好仓库名,仓库描述,根据需求选择是否为仓库初始化一个README.md描述文件Github+jsDelivr+PicGo 为脚本/图片等静态文件加速的全球CDN1.3)新建一个js文件,然后提交!你也可以利用git本地推送!2、Create a new release2.1 )点击【releases】,然后我们点击【Create a new release】!不创建也是可以的。2.2 ) 版本号输入1.0 ,目标是 master分支!3、访问之后,访问:https://cdn.jsdelivr.net/gh/用户名/仓库名@版本号/ 即可访问你的内容了!比如:https://cdn.jsdelivr.net/gh/angtnt/wpcdn@1.0/文件不想带版本号?将版本号换成latest即可!或者不带版本号!或者直接@master(或者其他分支名称)!直接@master,就不用新建releases了!访问效果还不错,国内有网宿加速,国外有CloudFlare CDN加速访问!4、配置PicGo上传4.1 ) github生成一个Token在主页依次选择【Settings】-【Developer settings】-【Personal access tokens】-【Generate new token】,填写好描述,勾选【repo】,然后点击【Generate token】生成一个Token,注意这个Token只会显示一次,自己先保存下来,或者等后面配置好PicGo后再关闭此网页。4.2)前往 下载 PicGo ,安装好后开始配置github图床。设定仓库名:按照【用户名/仓库名】的格式填写设定分支名:【master】设定Token:粘贴之前生成的【Token】指定存储路径:填写想要储存的路径,如【daniao-pic/】,这样就会在仓库下创建一个名为 daniao-pic 的文件夹,图片将会储存在此文件夹中设定自定义域名:它的作用是,在图片上传后,PicGo 会按照【自定义域名+储存路径+上传的图片名】的方式生成访问链接。再放一张图片:5、最后使用限制:目前GITHUB仓库容量是没有上限的!不过官方推荐在1G以内!仓库单个文件50M会收到警告,大于100M会被拒绝!jsDelivr仅能针对50M以下的文件CDN加速!这样看来我们完全可以利用它来存一些静态文件了,如JS,CSS,图片等等!原则上这属于滥用资源,如果滥用很严重,有可能会限制国内加速,或者取消加速,取消服务。关于储存库容量https://help.github.com/cn/github/managing-large-files/what-is-my-disk-quota原文出处:https://www.daniao.org/8594.htmlhttps://help.github.com/cn/github/managing-large-files/what-is-my-disk-quota
2024年04月04日
79 阅读
0 评论
0 点赞
2024-04-04
宝塔面板搭建autoPicCdn:一款基于jsdelivr+Github的免费CDN图床
autoPicCdn是白嫖Github的存储空间,通过 jsdelivr r全球加速(含有国内节点)。实现图床加速的目的。加速效果非常不错,用站长工具检测,也是一片绿油油,所以用来存储一些静态文件是最合适不过了。1、简介项目:https://github.com/yumusb/autoPicCdn2、功能1)选择Github(推荐)白嫖Github的存储空间,通过jsdelivr全球加速(含有国内节点)。实现图床的目的。2)选择Gitee白嫖Gitee的存储空间, 实现图床的目的。存储和访问节点都在国内,请在遵循国内相关法律的前提下使用。 文件在1M以上需要访客登录才能访问。1M以下,相当稳。3、准备1)宝塔面板最新版本2)lnmp自己安装好(nginx1.18、mysql5.7、PHP7.3、phpmyadmin4.7)4、新建仓库这里具体的可以参考,上面的文章推荐!1)当然你得先有一个github账号!网址:https://github.com/2)登录/注册GitHub,新建一个仓库,填写好仓库名,仓库描述,根据需求选择是否为仓库初始化一个README.md描述文件3)新建好即可,下面我们生成token5、生成tokenhttps://github.com/settings/tokens 去这个页面生成一个有写权限的token(repo:Full control of private repositories 和write:packages前打勾)~宝塔面板搭建autoPicCdn:一款基于jsdelivr+Github的免费CDN图床得到token后,保存备用。6、下载程序以及新建数据库1)可以利用宝塔的远程下载来搞定,下载好之后解压,把文件都复制你自己的网站根目录。2)新建数据库,至于宝塔如何新建,简单看个图吧。7、导入数据库把网站根目录下的pic.sql文件复制到(/www/backup/database)然后再数据库中导入这个文件。8、配置up.php中的相关字段打开你网站根目录下的up.php文件,配置其中的相关字段。//必选项 define("TYPE","GITHUB");//选择github //define("TYPE","GITEE");//选择gitee,如果使用gitee,需要手动建立master分支,可以看这里 https://gitee.com/help/articles/4122 define("USER","pic-cdn");//你的GitHub/Gitee的用户名 define("REPO","cdn2");//必须是上面用户名下的 公开仓库 define("MAIL","yumusb@foxmail.com");//邮箱无所谓,随便写 define("TOKEN","213");//贴入你刚才得到的token之后配置数据库信息9、效果效果还是很不错的,比之前的picgo要方便一点。10、最后看着写了很多,其实整个步骤很简单,仓库建好后,就是新建网站,下载程序,导入数据库,配置up.php,之后就可以了。不过你需要知道的是jsDelivr仅能针对50M以下的文件CDN加速!仓库单个文件50M会收到警告,大于100M会被拒绝!目前GITHUB仓库容量是没有上限的!不过官方推荐在1G以内!所以,资源不要滥用,这个图床私用就可以了,不要搞的大家都不好用了。原文出处:https://www.daniao.org/10218.html
2024年04月04日
68 阅读
0 评论
0 点赞
2024-04-04
宝塔面板安装烟雨图床
1、简介演示:https://img.yyhy.me下载:https://git.code.tencent.com/yyhy/ImgBed.git2、准备宝塔面板PHP版本7.2及以上nginx或者Apache皆可MySQL5.73、下载及设置首先需要clone程序,具体如下:1)新建站点宝塔新建站点略过2)开始下载用SSH工具连接服务器,输入以下命令:git clone https://git.code.tencent.com/yyhy/ImgBed.git chown -R www ImgBed #改版所有者为www chmod -R 777 ImgBed #设置权限为755注意,这个程序放置在腾讯工蜂,所以你需要登录之后设置好用户名和密码才可以下载。4、安装设置1)新建数据库宝塔面板新建数据库略过2)设置运行目录为/Public网站设置→网站目录,具体看图:3)设置伪静态Apache无需配置,nginx伪静态规则在程序根目录有个nginx.txt,复制规则配置即可,之后给所有目录777权限。伪静态规则如下:如何放置看图:4)设置权限所有目录777权限5)配置/App/Database.php内的数据库信息根据自己新建的数据库信息来更新以下信息。return [ 'default' => 'mysql', 'connections' => [ 'mysql' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'img', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => 'root', // 数据库连接端口 'hostport' => '3306', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'img_', ], ], ];6)导入数据库把程序内的 install.sql 和 update.sql 复制到 /www/backup/database 内。然后分别导入 install.sql 和 update.sql 数据库。5、打开网站以上步骤都完成之后,我们就可以打开网站了,效果如图:1)前台2)后台后台登录地址:你的域名/admin/login默认的用户名密码:admin 1234566、GitHub配置登录后台点开系统设置,找到Github配置。1)配置关于这里的选项可以参考这篇文章:( 宝塔面板搭建autoPicCdn:一款基于jsdelivr+Github的免费CDN图床 )2)测试保存之后,即可上传图片,如果不配置github,图片默认上传到自己的服务器。用这个地址打开后会跳转到https://cdn.jsdelivr.net/表示配置成功。3)鉴黄图床自带鉴黄,可以自行设置key7、最后图床功能强大,可以开启游客或者关闭游客上传。可以在后台管理图片,支持删除图片,这个到是很不错。支持api,可以自行开发对接改api如果,没有配置github,图床默认上传到服务器硬盘。虽然默认是给出的图床域名,但是浏览器打开后会现实jsdelivr加速链接,用户可以自由选择。原文出处:https://www.daniao.org/10218.html
2024年04月04日
142 阅读
0 评论
0 点赞
2024-03-29
Python脚本利用adb进行手机控制的方法
这篇文章主要介绍了Python脚本利用adb进行手机控制的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧一. adb 相关命令:关闭adb服务:adb kill-server启动adb服务 adb start-server查询当前运行的所有设备 adb devices可能在adb中存在多个虚拟设备运行 可以指定虚拟设备运行 -s 虚拟设备名称重启设备 adb reboot --指定虚拟设备 adb -s 设备名称 reboot查看日志 adb logcat 清除日志 adb logcat -c进入linux shell下 adb shell 其中常用的linux命令 cd cat 等等 输入su可以获取超级管理员名称了 要确定是否有哪些命令 进入 system/bin目录 就知道了传入文件到设备中 adb push 本地文件 远程目录从设备中拷贝文件到本地 adb -s emulator-5556 pull /data/config.ini d:/显示当前运行的全部模拟器: adb devices安装应用程序: adb install -r 123.apk获取模拟器中的文件: adb pull 向模拟器中写文件: adb push 进入模拟器的shell模式: adb shell卸载apk包: adb shell cd data/app rm 123.apk exit adb uninstall 123.apk adb install -r 123.apk查看adb命令帮助信息: adb help删除系统应用: adb remount (重新挂载系统分区,使系统分区重新可写)。 adb shell cd system/app rm 123.apk获取管理员权限: adb root19、复制文件:复制一个文件或目录到设备:adb push 如:adb push update.zip /sdcard/从设备上复制一个文件或目录:adb pull 如:adb pull /sdcard/update.zip.20、取得当前运行设备的实例的列表及每个实例的状态:adb devices21:这条命令模拟android手机在屏幕坐标(X,Y)处进行了点击操作。adb shell input tap22:这条命令模拟Android手机从屏幕坐标(X1,Y1)滑动到坐标(X2,Y2)的操作。adb shell input swipe 23:Luiautomator dump dump: creates an XML dump of current UI hierarchy 这个命令是用来成成当前界面的UI层次,并用XML格式进行展示 。这样就可以获取各个组件的位置了注:如果PC要想同时控制多台Android手机,必须在adb 后面添加-s例如:adb -s 13b6e4c4 shell input tap 400 400表示对13b6e4c4这台Android手机进行在屏幕上(400,400)坐标位置进行模拟的点击事件。24.能看到设备信息就代表设备已经连接成功了,接下来的命令就是adb install 路径+包名.apk例如我的安装包放在桌面,那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk* adb shell uiautomator dump /mnt/sdcard/window_dump.xml 获得手机当前界面的UI信息,生成window_dump.xml* adb shell input text “123” 输入text举例:1、打开cmd,进入到当前文件夹中,输入命令 adb devices 查看当前与电脑连接的设备(前提是,手机打开usb调试模式),可以查看已连接成功的手机。2、 若手机成功连接,输入命令 adb shell input tap 100 100 , 表示点击屏幕上坐标为(100,100)的点,如果不知道需要点击的点的具体位置的话可以在手机开发者模式中设置。二. adb 模拟按键:比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:Keycode含义3HOME 键4返回键5打开拨号应用6挂断电话24增加音量25降低音量26电源键27拍照(需要在相机应用里)64打开浏览器82菜单键85播放/暂停86停止播放87播放下一首88播放上一首122移动光标到行首或列表顶部123移动光标到行末或列表底部126恢复播放127暂停播放164静音176打开系统设置187切换应用207打开联系人208打开日历209打开音乐210打开计算器220降低屏幕亮度221提高屏幕亮度223系统休眠224点亮屏幕231打开语音助手276如果没有 wakelock 则让系统休眠input 命令的一些用法举例电源键命令:adb shell input keyevent 26执行效果相当于按电源键。菜单键命令:adb shell input keyevent 82HOME 键命令:adb shell input keyevent 3返回键命令adb shell input keyevent 4音量控制增加音量:adb shell input keyevent 24降低音量:adb shell input keyevent 25静音:adb shell input keyevent 164媒体控制播放/暂停:adb shell input keyevent 85停止播放:adb shell input keyevent 86播放下一首:adb shell input keyevent 87播放上一首:adb shell input keyevent 88恢复播放:adb shell input keyevent 126暂停播放:adb shell input keyevent 127点亮/熄灭屏幕可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。点亮屏幕:adb shell input keyevent 224熄灭屏幕:adb shell input keyevent 223三、使用python脚本自动运行cmd 命令1.在adb文件夹下建立一个python文件import os os.system('adb shell input tap 100 100');运行脚本,发现与在命令行输入相同语句有同样的效果。2、也可以使用subprocess.Popen,最简单使用方式如下,设置shell=True,就不会弹出cmd框process = subprocess.Popen('adb shell input tap 14 1402',shell=True)程序实例:#coding:utf-8 #程序功能:可以实现抖音个人页面视频的自动点击,从而自动增加访问量 #思路:抖音主页中两个视频切换点击,可以实现访问量的增加 #使用ADB程序,视频的屏幕坐标可以使用adb shell uiautomator dump命令,获取该页面xml源码后查得 #下述是小米MIX2抖音主页第一个视频和第二个视频的坐标位置 #缺点:运行时不能移动屏幕,后续可以采用获取模块ID号的方式去点击相应的位置 import time import subprocess i = 0 #每次操作的间隔时间取决于手机配置,配置越高时间越短 sleep_time = 0.5 while 1: #用popen设置shell=True不会弹出cmd框 process = subprocess.Popen('adb shell input tap 14 1402',shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input tap 375 1402', shell=True) time.sleep(sleep_time) process = subprocess.Popen('adb shell input keyevent KEYCODE_BACK', shell=True) time.sleep(sleep_time) #os.system('adb shell input tap 14 1402') #os.system('adb shell input keyevent KEYCODE_BACK') #os.system('adb shell input tap 375 1402') i+=1 print str(i) + 'clicks have been completed'实现原理Hierarchy Viewer:获得当前手机实时的UI信息,方便用于手机的自动化测试;python中的subprocess.Popen() 或 Python os模块:调用系统命令;uiautomator工具:获取界面控件信息;adb命令:对手机进行操作;原文出处: Python脚本利用adb进行手机控制的方法
2024年03月29日
97 阅读
0 评论
0 点赞
2024-03-28
xpath路径表达式
简单说,xpath就是选择XML文件中节点的方法。所谓节点(node),就是XML文件的最小构成单位,一共分成7种。- element(元素节点) - attribute(属性节点) - text (文本节点) - namespace (名称空间节点) - processing-instruction (处理命令节点) - comment (注释节点) - root (根节点)xpath可以用来选择这7种节点。不过,下面的笔记只涉及最常用的第一种element(元素节点),因此可以将下文中的节点和元素视为同义词。一、xpath表达式的基本格式xpath通过"路径表达式"(Path Expression)来选择节点。在形式上,"路径表达式"与传统的文件系统非常类似。# 斜杠(/)作为路径内部的分割符。 # 同一个节点有绝对路径和相对路径两种写法。 # 绝对路径(absolute path)必须用"/"起首,后面紧跟根节点,比如/step/step/...。 # 相对路径(relative path)则是除了绝对路径以外的其他写法,比如 step/step,也就是不使用"/"起首。 # "."表示当前节点。 # ".."表示当前节点的父节点二、选择节点的基本规则- nodename(节点名称):表示选择该节点的所有子节点 - "/":表示选择根节点 - "//":表示选择任意位置的某个节点 - "@": 表示选择某个属性三、选择节点的实例先看一个XML实例文档。<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>[例1]bookstore :选取 bookstore 元素的所有子节点。[例2]/bookstore :选取根节点bookstore,这是绝对路径写法。[例3]bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。[例4]//book :选择所有 book 子元素,而不管它们在文档中的位置。[例5]bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。[例6]//@lang :选取所有名为 lang 的属性。四、xpath的谓语条件(Predicate)所谓"谓语条件",就是对路径表达式的附加条件。所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选。[例7]/bookstore/book[1] :表示选择bookstore的第一个book子元素。[例8]/bookstore/book[last()] :表示选择bookstore的最后一个book子元素。[例9]/bookstore/book[last()-1] :表示选择bookstore的倒数第二个book子元素。[例10]/bookstore/book[position()<3] :表示选择bookstore的前两个book子元素。[例11]//title[@lang] :表示选择所有具有lang属性的title节点。[例12]//title[@lang='eng'] :表示选择所有lang属性的值等于"eng"的title节点。[例13]/bookstore/book[price] :表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。[例14]/bookstore/book[price>35.00] :表示选择bookstore的book子元素,且被选中的book元素的price子元素值必须大于35。[例15]/bookstore/book[price>35.00]/title :表示在例14结果集中,选择title子元素。[例16]/bookstore/book/price[.>35.00] :表示选择值大于35的"/bookstore/book"的price子元素。五、通配符# "*"表示匹配任何元素节点。 # "@*"表示匹配任何属性值。 # node()表示匹配任何类型的节点。[例17]//* :选择文档中的所有元素节点。[例18]// :表示选择所有第二层的元素节点。[例19]/bookstore/* :表示选择bookstore的所有元素子节点。[例20]//title[@*] :表示选择所有带有属性的title元素。六、选择多个路径用"|"选择多个并列的路径。[例21]//book/title | //book/price :表示同时选择book元素的title子元素和price子元素。相关文章: CSS选择器
2024年03月28日
78 阅读
0 评论
1 点赞
1
...
6
7
8
...
11