首页
关于
友链
Search
1
ESXI 一些功能调整
443 阅读
2
SoftEther 客户端篇
423 阅读
3
天翼云网关3.0/4.0超管密码
414 阅读
4
SoftEther 服务端篇
308 阅读
5
远程桌面rustdesk使用说明
255 阅读
默认分类
代码相关
vue
html
python
系统
数据库
docker
安卓
软件分享
杂七杂八的工具
游戏分享
游戏相关
我的家庭影院
Ai
登录
Search
标签搜索
python
esxi
git
SoftEther
linux
apscheduler
在线
rclone
Ubuntu
list
列表
idm
激活码
Charles
pdf
免安装
鲁大师
图片查看器
蜂蜜浏览器
honeyview
哥特式
累计撰写
98
篇文章
累计收到
16
条评论
首页
栏目
默认分类
代码相关
vue
html
python
系统
数据库
docker
安卓
软件分享
杂七杂八的工具
游戏分享
游戏相关
我的家庭影院
Ai
页面
关于
友链
搜索到
98
篇与
的结果
2024-03-19
青龙面板傻妞(sillyGirl)+go-cqhttp
1. 安装傻妞services: sillyplus: stdin_open: true tty: true volumes: # - ./data:/etc/sillyGirl - ./data1:/etc/sillyplus ports: - 你的端口:8080 container_name: sillyGirl restart: always image: jackytj/sillyplus # image: ingm23/sillygirl:1.1 # image: jessicayun/sillygirl:v1 2. 傻妞交互命令界面官方文档docker attach sillyGirl3. cq-http的安装和配置安装很简单,下载运行就行了,配置的话主要是反向ws方面傻妞要进到管理面板,安装插件OnebotV11(原内置QQ)# go-cqhttp 默认配置文件 account: # 账号相关 uin: 123456 # QQ账号 password: '' # 密码为空时使用扫码登录 encrypt: false # 是否开启密码加密 status: 0 # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态 relogin: # 重连设置 delay: 3 # 首次重连延迟, 单位秒 interval: 3 # 重连间隔 max-times: 0 # 最大重连次数, 0为无限制 # 连接服务列表 servers: # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档 #- http: # http 通信 #- ws: # 正向 Websocket #- ws-reverse: # 反向 Websocket #- pprof: #性能分析服务器 - http: # HTTP 通信设置 address: 0.0.0.0:端口号 # HTTP监听地址 timeout: 5 # 反向 HTTP 超时时间, 单位秒,<5 时将被忽略 long-polling: # 长轮询拓展 enabled: false # 是否开启 max-queue-size: 2000 # 消息队列大小,0 表示不限制队列大小,谨慎使用 middlewares: <<: *default # 引用默认中间件 post: # 反向HTTP POST地址列表 #- url: '' # 地址 # secret: '' # 密钥 # max-retries: 3 # 最大重试,0 时禁用 # retries-interval: 1500 # 重试时间,单位毫秒,0 时立即 #- url: http://127.0.0.1:5701/ # 地址 # secret: '' # 密钥 # max-retries: 10 # 最大重试,0 时禁用 # retries-interval: 1000 # 重试时间,单位毫秒,0 时立即 # 反向WS设置 - ws-reverse: # 反向WS Universal 地址 # 注意 设置了此项地址后下面两项将会被忽略 universal: ws://127.0.0.1:傻妞的端口号/bot/onebotv11 # 反向WS API 地址 api: ws://your_websocket_api.server # 反向WS Event 地址 event: ws://your_websocket_event.server # 重连间隔 单位毫秒 reconnect-interval: 3000 middlewares: <<: *default # 引用默认中间件
2024年03月19日
57 阅读
0 评论
0 点赞
2024-03-13
pip使用教程
1. pip升级库# 查看当前电脑中所有可以升级的Python包 pip list --outdated # 安装pip-review包 pip install pip-review # 使用pip-review命令一次性更新所有过时的包 pip-review --local --interactive # 升级单个包 pip install --upgrade ** pip install --upgrade **
2024年03月13日
60 阅读
0 评论
0 点赞
2024-03-12
docker Jenkins使用
1. 安装version: '3.1' services: jenkins: restart: always image: jenkins/jenkins container_name: jenkins # network_mode: 'host' #与宿主机共享网络 mem_limit: 2g ports: # 发布端口 - 30011:8080 # 基于 JNLP 的 Jenkins 代理通过 TCP 端口 50000 与 Jenkins master 进行通信 - 50001:50000 environment: TZ: Asia/Shanghai # JENKINS_OPTS: "--httpPort=30011" volumes: - ./data:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /etc/docker/daemon.conf:/etc/docker/daemon.conf - /usr/bin/docker:/usr/bin/docker - ./env:/opt/env2. 报错信息jenkins unix:///var/run/docker.sock, cause: java.io.IOException: com.sun.jna解决方案:sudo chmod a+rw /var/run/docker.sock3. 邮箱配置需要管理员邮箱和你设置发送的邮箱一致
2024年03月12日
21 阅读
0 评论
0 点赞
2024-03-05
Ubuntu系统
1. 开启ipv6编辑ufw文件vi /etc/default/ufw如果IPV6为yes则为开启2. 设置网络信息编辑/etc/netplan/00-installer-config.yaml这个文件network: ethernets: ens160: #dhcp4: true addresses: - 192.168.*/24 nameservers: addresses: - 192.168.* - 192.168.* search: [] routes: - to: default via: 192.168.* version: 2 #renderer: networkd# 应用更改 netplan apply # 查看网关是否修改,第一行default via .... ip route show3. 设置时区dpkg-reconfigure tzdata4. 安装的时候网络选择
2024年03月05日
58 阅读
0 评论
0 点赞
2024-02-20
RSS订阅下载
1. RSS订阅这里使用acgnx为例,搜索关键字的时候用空格分开,使用多个条件看到是自己需要的资源后,右键这里的rss,复制链接到qb里面2. qb设置2.1 选择rss,粘贴刚刚复制的链接到这里,如果提示不可以用rss的话,需要设置一下,等会说2.2 tip:如果提示rss无法使用,需要到设置里面,启用rss订阅3. 自动下载回到刚刚qb--rss订阅那里,右边有一个rss下载,新建一个下载器,可以使用正则匹配文件名称,勾选保存到其他目录,之后就可以了,如果不会自动下载,回到2.2设置里面,启用rss下载4. 下载后重命名使用qb来完成,设置,下载,运行外部程序,勾选上“torrent 完成时运行外部程序”里面输入,具体的代码在配合qb一起使用的重命名工具python3 /EpisodeReName.py --path "%D" --delay 15 --overwrite 15. 自动刮削这里使用的是TMM来完成自动刮削,它支持cmd的方式调用,我这里使用的是Windows server的环境下运行,官方教程在这里,我用了两个来完成,一个是--scr*另一个是-n其他都一样C:\D\tinyMediaManagerV5\tinyMediaManagerCMD.exe tvshow -u --scrapeUnscraped -r创建一个bat文件,里面写入这些东西cmd /c "C:\D\tinyMediaManagerV5\tinyMediaManagerCMD.exe tvshow -u --scrapeUnscraped -r" cmd /c "C:\D\tinyMediaManagerV5\tinyMediaManagerCMD.exe tvshow -u -n -r"定时任务搜索任务计划程序右侧有一个创建任务从左往右分别是任务相关,触发器设置,执行的操作
2024年02月20日
44 阅读
0 评论
0 点赞
2024-02-01
可道云相关
1.缓存的切换想使用db1,但是发现配置页面没有,搜索论坛发现可以修改配置(更新1.44.04) 可以在配置中修改,config/setting_user.php$config['cache']['redis']['db'] = 1;
2024年02月01日
19 阅读
0 评论
0 点赞
2024-01-30
兰空图床本地上传文件,配合Typora使用
# -*- coding: utf-8 -*- # @Time : 2022-05-18 13:53 # @Author : GeTeShi # @File : test6.py import datetime import time import requests import redis import json import re import os import sys rdb = redis.StrictRedis(host='localhost', port=6379, decode_responses=True) NAME = "test" forever = 60 * 60 * 24 * 30 * 12 * 100 def get_cache(key, name=None): global NAME if name: NAME = name if rdb.hlen(name) and rdb.hexists(name, key): res = rdb.hget(NAME, key) try: res = json.loads(res) except json.decoder.JSONDecodeError: pass return res else: return False def get_cache_all_key(name): global NAME if name: NAME = name if rdb.hlen(name): return rdb.hkeys(name=name) def set_cache(key, content, timeout=60, name=None): global NAME if name: NAME = name if isinstance(content, dict): content = json.dumps(content) rdb.hset(NAME, key, content) rdb.expire(key, timeout) def del_cache(key, name=None): global NAME if name: NAME = name if rdb.hexists(name=name, key=key): rdb.hdel(name, key) def md5(s): import hashlib m2 = hashlib.md5() m2.update(s.encode("utf-8")) return m2.hexdigest() class image_upload(object): def __init__(self, email, password): self.URL = "https://你的图床的api" self.header = { "Accept": "application/json", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54 ", } self.email = email self.password = password self.TOKEN_KEY = f"{self.email}_{md5(self.password)}_{datetime.datetime.strftime(datetime.datetime.now(), '%Y%m')}" self.sess = requests.Session() self.sess.get(url="https://你的图床的api") def get_requests(self, url, method, data=None, file=None): if not self.header.get('Authorization') and "tokens" not in url: header = self.header self.login() self.header.update(header) if method == "post": response = self.sess.post(url=url, data=data if data else "", headers=self.header) elif method == "get": response = self.sess.get(url=url, params=data if data else "", headers=self.header) elif method == "upload": response = self.sess.post(url=url, files=file, headers=self.header, data=data) else: response = self.sess.delete(url=url, headers=self.header) if response.status_code == 200: response.encoding = "utf-8" response = response.json() return response def get_token(self): self.header = {"Accept": "application/json"} token = self.get_requests(url=self.URL + "/tokens", method="post", data={ "email": self.email, "password": self.password }) if token: set_cache(self.TOKEN_KEY, token, timeout=60 * 60 * 24, name="upload-image") return token def upload(self, file): self.header.update({ "Accept": "multipart/form-data" }) filename = file.rsplit("\\", 1)[1].split(".")[0] filetype = file.rsplit("\\", 1)[1].split(".")[1] files = { "file": (f"{filename}.{filetype}", open(file, 'rb'), f"image/{filetype}"), } # 存储策略id,默认1 data = { "strategy_id": 1, } url = self.URL + "/upload" res = self.get_requests(url=url, method="upload", data=data, file=files) if res and res.get("status"): data = res.get('data') print(data.get('links').get('url')) return data.get('links').get('thumbnail_url') else: raise Exception(f"图片上传失败,失败原因:{res.get('message')}") def login(self): token = get_cache(self.TOKEN_KEY, name="upload-image") if (not token) or (not token.get('data') or not token.get('data').get('token')): token = self.get_token() # token = get_cache(self.TOKEN_KEY, name="upload-image") url = self.URL + "/profile" # print(token.get('data')) self.header.update({ "Authorization": "Bearer " + token.get('data').get('token'), "Accept": "application/json" }) self.get_requests(url=url, data="", method="get") def main(self): pass def clear(self): self.get_requests(url=self.URL + "/tokens", data="", method="delete") self.header = {} return "已清空tokens" def get_strategies(self): """获取存储策略""" res = self.get_requests(url=self.URL + "/strategies", method="get") print(res) if __name__ == '__main__': images = sys.argv[1:] for image in images: image_upload(email="你的用户名", password="你的密码").upload(file=image)
2024年01月30日
34 阅读
0 评论
0 点赞
2024-01-29
requestium库的使用
这个Python库把requests按在地上摩擦!在 Python 编程中,处理网络请求是一个常见的任务,特别是做爬虫采集数据。最受欢迎的是 Requests 和 Selenium。而Requestium 结合了这两个库优点的工具,它可以让你在一个统一的接口中使用 Requests 的简便性和 Selenium 的强大功能。1. 安装 Requestium在开始使用 Requestium 之前,你需要先将其安装到你的环境中。安装非常简单,可以通过 pip 命令完成:pip install requestium2. Requestium 的核心功能结合 Requests 和 Selenium: Requestium 将 Requests 库的简易性和 Selenium 库的交互功能结合在了一起。无缝切换: 它允许用户在需要时从 Requests 无缝切换到 Selenium,反之亦然。增强的 XPath 支持: Requestium 提供了对 XPath 的额外支持,使得在使用 Selenium 时可以更方便地定位元素。3. 使用 Requestium 发送请求Requestium 的使用方法与 Requests 类似。以下是一个基本示例,展示如何发送 GET 请求:# 创建一个 Session对象 from requestium import Session # 使用 Requestium 发送 GET 请求 s = Session(webdriver_path='chromedriver', browser='chrome', default_timeout=15) response = s.get('https://www.example.com') print(response.text)4. 结合 Selenium 和 RequestsRequestium 的真正强大之处在于它能够让你在需要时切换到 Selenium。以下是一个示例,展示如何在发送请求后使用 Selenium 处理 JavaScript:from requestium import Session s = Session(webdriver_path='chromedriver', browser='chrome', default_timeout=15) # 发送请求 s.get('https://www.example.com') # 使用 Selenium 处理页面 s.driver.get('https://www.example.com') # 使用 Selenium 定位元素 element = s.driver.find_element_by_xpath('//div[@class="example"]') print(element.text)5. 实战案例假设我们要抓取一个动态加载内容的网页。首先,我们使用 Requestium 发送请求,然后通过 Selenium 处理 JavaScript,最后提取所需数据。from requestium import Session s = Session(webdriver_path='chromedriver', browser='chrome', default_timeout=15) # 访问网页 s.get('https://www.dynamic-content-website.com') # 使用 Selenium 处理动态内容 s.driver.get('https://www.dynamic-content-website.com') # 提取数据 data = s.driver.find_element_by_xpath('//div[@id="dynamic-content"]').text print(data)
2024年01月29日
38 阅读
0 评论
0 点赞
2024-01-29
Nginx配置
自定义返回的东西要在 Nginx 中实现自定义 favicon.ico 返回特定的文件,你可以使用如下的配置:server { listen 80; server_name your_domain.com; location = /favicon.ico { alias /www/favicon.ico; } # 其他服务器配置... }在上面的配置中,当访问 /favicon.ico 路径时,会直接返回 /www/favicon.ico 文件。使用 alias 指令可以让 Nginx 从指定的路径返回文件,而不会将 /favicon.ico 重定向到其他路径。配置完成后,重启 Nginx 以使配置生效。请确保 Nginx 对 /www 目录有读取权限,以便正确返回 favicon.ico 文件。记录日志的格式nginx设置里面,server上面,增加这个log_format http_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $host';网站配置里面access_log /www/wwwlogs/域名信息.log http_format;
2024年01月29日
59 阅读
0 评论
0 点赞
2024-01-25
Windows激活
windows激活,office激活终端执行这个irm https://massgrave.dev/get | iex
2024年01月25日
24 阅读
0 评论
0 点赞
2024-01-22
宝塔面板
使用宝塔的SSL续费编辑站点,加上 # 这是原本的 location ~ /purge(/.*) { proxy_cache_purge cache_one $host$1$is_args$args; } #一键申请SSL证书验证目录相关设置,需要增加的 location ~ \.well-known{ root /www/wwwroot/你的站点目录; }
2024年01月22日
20 阅读
0 评论
0 点赞
2024-01-20
Lsky Pro图床
http换乘https的问题https://github.com/lsky-org/lsky-pro/issues/317docker-compose.yml文件内容version: '3' services: lsky-pro: container_name: lsky-pro image: dko0/lsky-pro restart: always volumes: - ./lsky-pro-data:/var/www/html #映射到本地 ports: - 8083:80 environment: - MYSQL_HOST=192.168.2.200 - MYSQL_DATABASE=lskypro - MYSQL_USER=lskypro - MYSQL_PASSWORD=lskypro # networks: # images_default: # ipv4_address: 172.18.0.2 # mysql: # image: mysql:8.0 # container_name: lsky-pro-db # restart: always # environment: # - MYSQL_DATABASE=lsky-pro # - MYSQL_USER=lsky-pro # - MYSQL_PASSWORD=lsky-pro # - MYSQL_ROOT_PASSWORD=lsky-pro # volumes: # - ./db:/var/lib/mysql # networks: # images_default: # ipv4_address: 172.18.0.3 networks: images_default: ipam: config: - subnet: 172.18.0.0/16 gateway: 172.18.0.1
2024年01月20日
23 阅读
0 评论
0 点赞
2024-01-11
接口测试之抓包实战解决 Android 高版本无法抓取 https
接口测试之抓包实战解决 Android 高版本无法抓取 https解决方案如下charles + VirtualXposed + JustTrustMe实现步骤进入 github 下载如下两个 pages VirtualXposed:https://github.com/android-hacker/VirtualXposed JustTrustMe:https://github.com/Fuzion24/JustTrustMe第一步使用如下 adb 命令分别安装两个 pagesadb -s <设备号> inatall VirtualXposed adb -s <设备号> install JustTrustMe设备号可以通过下面的命令查看adb devices -l第二部安装完成进入 VirtualXposed apk 应用,点击 6 个小点进入设置页面 第三步进入设置页面,点击模块管理,勾选 JustTrustMe(当然我并没有找到它,可能是我这个版本不需要在手动选择了,安装之后自动识别到了)重启之后我们重新进去设置页面,添加我们需要抓包的应用即可,我这里选择的企业微信做案例 第四步点击添加应用,选择需要抓包的软件安装 配置 charles 抓包设置 charles 代理,此处不再说明,相信设置代理大家能自己解决,手机设置 wifi 里面代理改成手动。输入 ip,端口:默认 8888,注意手机和电脑在一个 wifi 下就 ok,第六步回到 VirtualXposed 上滑解锁,打开我们之前安装的企业微信,则发现 charles 已经成功抓取到企业微信的 HTTPS 的数据包
2024年01月11日
22 阅读
0 评论
0 点赞
2024-01-11
JupyterNoteBook安装
1. 安装# 安装 pip install jupyter # 安装中文包 pip install jupyterlab-language-pack-zh-CN # 代码自动补全 pip install jupyterlab-lsp pip install -U jedi-language-server启动jupyter notebook配置虚拟环境# 首先需要进入到虚拟环境里面 .\python-venv\main\Scripts\activate # 这里演示的虚拟环境名称叫main python -m ipykernel install --user --name=main
2024年01月11日
19 阅读
0 评论
0 点赞
2024-01-05
Typecho全局开启https
在项目目录下,config.inc.php文件中,加入以下代码 /** 开启HTTPS */ define('__TYPECHO_SECURE__',true);
2024年01月05日
38 阅读
0 评论
0 点赞
1
2
3
4
...
7