首页
关于
友链
Search
1
ESXI 一些功能调整
626 阅读
2
天翼云网关3.0/4.0超管密码
564 阅读
3
SoftEther 客户端篇
528 阅读
4
SoftEther 服务端篇
440 阅读
5
Centos安装个人网盘Alist v3教程
384 阅读
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
Ai
登录
Search
标签搜索
python
esxi
git
SoftEther
linux
apscheduler
在线
rclone
飞牛
list
列表
idm
激活码
Charles
pdf
免安装
鲁大师
图片查看器
蜂蜜浏览器
honeyview
哥特式
累计撰写
111
篇文章
累计收到
15
条评论
首页
栏目
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
Ai
页面
关于
友链
搜索到
111
篇与
的结果
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日
71 阅读
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日
78 阅读
0 评论
0 点赞
2024-02-01
可道云相关
1.缓存的切换想使用db1,但是发现配置页面没有,搜索论坛发现可以修改配置(更新1.44.04) 可以在配置中修改,config/setting_user.php$config['cache']['redis']['db'] = 1;
2024年02月01日
22 阅读
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日
71 阅读
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日
59 阅读
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日
105 阅读
0 评论
0 点赞
2024-01-25
Windows激活
windows激活,office激活终端执行这个irm https://massgrave.dev/get | iex
2024年01月25日
31 阅读
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日
25 阅读
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日
49 阅读
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日
31 阅读
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日
22 阅读
0 评论
0 点赞
2024-01-05
Typecho全局开启https
在项目目录下,config.inc.php文件中,加入以下代码 /** 开启HTTPS */ define('__TYPECHO_SECURE__',true);
2024年01月05日
63 阅读
0 评论
0 点赞
2023-12-15
SteamCMD使用教程
官方网址匿名登录login anonymous需要登录的login <用户名>安装游戏和更新游戏以地心护核者为例app_update 1963720
2023年12月15日
187 阅读
0 评论
0 点赞
2023-12-13
升级win11的一些方法
1.运行的方式安装官网下载win11镜像,挂载,进到挂载的文件里面双击运行setup.exe,发现不满足需求之后右键setup.exe,复制文件路径win + r打开运行,粘贴刚刚的路径,后面加上/product server,示例:"G:\setup.exe"/product server会以安装server的方式安装,安装步骤是一样的,建议保留文件、设置和应用2.修改文件下载完镜像之后解压,解压好之后打开解压的文件夹打开sources文件夹,里面找到appraiserres.dll文件,删掉新建一个文本文件,里面不用写任何东西,文件名修改成appraiserres.dll,后缀那些一样,然后右键,属性,把里面的属性改成只读返回上级进行安装也是一样的安装步骤
2023年12月13日
218 阅读
0 评论
0 点赞
1
...
3
4
5
...
8