首页
关于
Search
1
AdGuardHome 安装及部署教程
40,760 阅读
2
搭建基于telegram的无限网盘
10,110 阅读
3
关于微软Azure学生白嫖指南
9,743 阅读
4
Oracle开放全部端口并关闭防火墙
9,524 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
9,339 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
Search
标签搜索
docker
张至顺
PHP
图床
Cloudflare
金刚长寿功
PT
qBittorrent
阿里云
onedrive
telegram
代理
青龙
python
内网穿透
一键
telegraph
ipv6
cf_workers
serv00
myedunote
累计撰写
101
篇文章
累计收到
1
条评论
首页
栏目
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
页面
关于
搜索到
84
篇与
技术搬砖
的结果
2023-11-14
Baiduwp-PHP直链解析工具搭建教程
实现原理通过curl获取网盘文件信息,处理后显示在网页中。通过api接口以及SVIP账号的Cookie(BDUSS)获取高速下载链接。<br/>本质就是用会员账号获取下载地址并发送给访客。安装及设置重要提示推荐安装方式: Docker > 宝塔/EasyPanel 面板 > 手动安装仅支持 PHP 8 和 8+!项目 4.0.0 及之后版本采用 ThinkPHP 框架数据库和配置与旧版本不兼容,需要重新按照新的方法安装如果上方的安装教程没有介绍到你的运行环境,可以搜索<运行环境> + ThinkPHP项目安装方法如果想自行搭建环境,请参考 Dockerfile 中的安装命令配置环境本项目使用的接口容易导致账号限速需要配置两个 完整 Cookie(普通账号和SVIP账号均可) 才可以获取下载链接,获取方法需抓包。获取 Cookie 参考 图文教程获取之后请勿退出账号或修改密码,否则 Cookie 会失效Docker 安装使用 SQLite 数据库 / 不使用数据库安装 docker执行下面的命令docker pull yuantuo666/baiduwp-php docker run -d -p 8080:8000 yuantuo666/baiduwp-php== 相关信息 == 启动后服务将在 http://服务器IP:8080/ 运行 如需修改端口,可修改上方命令 == 安装时配置 == 请 关闭数据库功能 或 切换至 SQLite 数据库 == 设置页面 == http://服务器IP:8080/admin使用 MySQL 数据库安装 docker执行下面的命令docker pull mysql docker network create --subnet 172.28.0.0/16 mysql-network docker run -d -e MYSQL_ROOT_PASSWORD="root" --network mysql-network --ip 172.28.0.2 mysql docker pull yuantuo666/baiduwp-php docker run -d --network mysql-network --ip 172.28.0.3 -p 8181:8000 yuantuo666/baiduwp-php== 相关信息 == 启动后服务将在 http://服务器IP:8080/ 运行 如需修改端口,可修改上方命令 == 安装时配置 == 数据库地址 172.28.0.2 数据库用户名 root 数据库密码 root 数据库名 bdwp == 设置页面 == http://服务器IP:8080/admin自行构建git clone https://github.com/yuantuo666/baiduwp-php cd baiduwp-php docker build -t baiduwp-php . docker run -d -p 80:8000 baiduwp-php docker exec -it <容器ID> /bin/bash tar -cvf /app.tar /app cp /app.tar /app/public/app.tar wget http://<HOST>/app.tar宝塔面板安装进入 Releases 下载项目文件 baiduwp-php-v?.?.?.zip在宝塔面板创建网站,上传项目文件到网站根目录并解压在 网站 —— 站点修改 —— 运行目录 中,选择目录 public并保存在 网站 —— 站点修改 —— 伪静态 中,选择 thinkphp 并保存进入网站 http://<网站域名>/install,按照页面提示进行安装进入 http://<网站域名>/admin 的系统设置页面中设置 普通 和 SVIP账号 的 Cookie
2023年11月14日
458 阅读
0 评论
1 点赞
2023-11-10
自建匿名在线网页服务H-net,实现无足迹访问各大网站
前言我相信大家很多时候在浏览网页时并不想留下浏览痕迹,这里我所指代的浏览痕迹指的并不是历史记录,而是更为深度的信息,例如你的IP、地理位置以及MAC地址等等。而H-net则是一款可实现匿名访问的在线服务。体验项目官方提供了演示地址,官方地址为:https://hideip.network/,这里需要说明,它并不是一个浏览器,而只是提供一个服务。通过搜索关键词,可以发现,他会在搜索结果前面加上它所属的域名前缀,而不是直接通过搜索引擎。同时该项目支持你挂上各种环境,所以理论上你可以直接使用它来访问全球各大网站而不留下足迹,对于一些奇怪的网站很有用。部署看完了功能后如果觉得有用,那么你可以继续看下去了。接下来便是部署的教程了。H-net的部署很简单,你可以通过直接搜索:stilleshan/hideipnetwork-web下载镜像来部署。dockerdocker run --name hideipnetwork -p 56559:56559 stilleshan/hideipnetwork-web访问127.0.0.1:56559docker compose下载 docker-compose.yml 执行以下命令启动:docker-compose up -d反向代理参考location / { proxy_pass http://127.0.0.1:56559; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; }总结HNet暂时无法访问的网站:套了CF的网站,chatgpt等,作者后续也会继续优化。且目前首页无法调出开发者模式,但其他页面正常,首页也不需要用到F12。如果有需求的可以尝试用一下,没有需求的就没必要折腾了。
2023年11月10日
407 阅读
0 评论
1 点赞
2023-11-08
一个简约风格的网址导航页
介绍一个简约风格的网址导航页,基于 [MIT] 协议开源。你可以直接使用它,也可以在此基础上客制化自己的网址导航特性高效导航 - 极简样式,快速访问从心所欲 - 完全自由地增删改网站,支持自定义网站图标拖拽排序 - 快速调整网站顺序搜索词联想 - 支持必应、谷歌、百度等多个搜索引擎响应式布局 - 可在任意尺寸的设备上正常显示主题切换 - 内置多种主题样式,可自由切换夜间模式 - 爱护你的双眼I18n - 支持简体中文、英文和日文导入/导出数据 - 在不同设备间同步数据浏览器插件 - 新建标签页时打开 Moon快速开始一、安装Node,npm,pnpm1.安装gccyum install gcc gcc-c++2.进入到/usr/local/目录下,下载node国内镜像(推荐)安装10.14.1版本: wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz 安装20.2.0版本: wget https://npm.taobao.org/mirrors/node/v20.2.0/node-v20.2.0-linux-x64.tar.gz3.解压并重命名文件夹tar -xvf node-v10.14.1-linux-x64.tar.gz mv node-v10.14.1-linux-x64 node4.添加环境变量vi /etc/profile在文件最后添加以下配置:export NODE_HOME=/usr/local/node export PATH=$NODE_HOME/bin:$PATH5.刷新配置source /etc/profile6.验证结果:node -v npm -v7.安装pnpmnpm install pnpm -g二、安装moon-web-start1.克隆仓库git clone https://github.com/jic999/moon-web-start.git2.进入目录cd moon-web-start3.安装依赖pnpm install4.打包项目pnpm build打包好后,根目录会多出dist文件夹,此文件夹就是打包好的网站文件,也是我们需要发布服务器的将打包好的dist文件夹里面的所有文件剪切到网站根目录,不要复制整体dist文件夹,而是里面的单个文件浏览器插件插件适用于谷歌浏览器,可以在新建标签页时自动进入Moon。该插件暂未在Chrome应用商店发布,若要使用,请按照以下步骤:解压本项目下extension/moon-chrome-extension.zip'。在谷歌浏览器的扩展程序界面,打开右上角的开发者模式。点击左上角加载已解压的扩展程序。选择刚刚解压的moon-chrome-extension目录。
2023年11月08日
250 阅读
0 评论
1 点赞
2023-11-05
FileCodeBox文件快递柜搭建教程
匿名口令分享文本,文件,像拿快递一样取文件文件快递柜是一个开源项目,开源地址预览例站:https://share.lanol.cn暗黑模式 寄件 主要特色[x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI[x] 轻松上传:复制粘贴,拖拽选择[x] 多种类型:文本,文件[x] 防止爆破:错误次数限制[x] 防止滥用:IP限制上传次数[x] 口令分享:随机口令,存取文件,自定义次数以及有效期[x] 国际化:支持中文和英文[x] 匿名分享:无需注册,无需登录[x] 管理面板:查看所有文件,删除文件[x] 一键部署:docker一键部署[x] 自由拓展:S3协议、本地文件流,可根据需求在storage文件中新增存储引擎[x] 简单明了:适合新手练手项目[x] 终端下载:wget https://share.lanol.cn/share/select?code=83432部署方式一、Docker一键部署1.6版本AMDdocker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest1.6版本ARMdocker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:arm1.6版本注意这一版改变比较大,如果出现问题可以尝试清空/opt/FileCodeBox目录,有问题欢迎反馈留言注意,如果是第一次安装,请查看docker日志获取初始密码和后台地址,参考指令后台本地文件列表,需要将服务器文件移动至目录/opt/FileCodeBox/data/locals,这样就可以显示了。docker logs filecodebox更新方式// 更新 docker pull lanol/filecodebox:beta // 停止容器并删除 docker stop filecodebox && docker rm filecodebox // 重新运行容器 docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest2.0版本,开发中(AMD & ARM)默认信息:后端地址:/#/admin后台密码:FileCodeBox2023一键安装docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta一键更新docker pull lanol/filecodebox:beta && docker stop filecodebox && docker rm filecodebox && docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta二、宝塔部署环境准备[x] Centos7[x] 宝塔面板1. 安装Python项目管理器❗️❗️❗️ 注意:必须安装2.0版本,否则必失败2. 安装Python3.9.10点击设置->版本管理->Python版本->3.9.10[未安装]->安装版本安装完成3. 下载源码GitHub地址:https://github.com/vastsa/FileCodeBox选最新的版本就行复制链接地址回到宝塔,新建一个空白目录FileCodeBox进入目录,粘贴远程下载源码解压4. 添加项目打开Python项目管理器->添加项目启动成功5. 查看系统日志,获取初始化信息根据信息进入后台6、宝塔反向代理域名解析到ip之后,直接新增静态空网站先申请ssl证书,因为反代之后就无法申请了,需关闭反代添加反向代理7、配置修改如果有端口冲突,请找到根目录下的 /data/.env如果需要修改配置,可以将该文件放在/opt/FileCodeBox/目录下,并命名为.env,然后重启容器即可。 如果不是Docker,则需要在项目同目录下新建一个data文件夹,然后在创建.env文件# 端口 PORT=12345 # Sqlite数据库文件 DATABASE_URL=sqlite+aiosqlite:///database.db # 静态文件夹 DATA_ROOT=./static # 静态文件夹URL STATIC_URL=/static # 开启上传 ENABLE_UPLOAD=True # 错误次数 ERROR_COUNT=5 # 错误限制分钟数 ERROR_MINUTE=10 # 上传次数 UPLOAD_COUNT=60 # 上传限制分钟数 UPLOAD_MINUTE=1 # 删除过期文件的间隔(分钟) DELETE_EXPIRE_FILES_INTERVAL=10 # 管理地址 ADMIN_ADDRESS=admin # 管理密码 ADMIN_PASSWORD=admin # 文件大小限制,默认10MB FILE_SIZE_LIMIT=10 # 网站标题 TITLE=文件快递柜 # 网站描述 DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 # 网站关键词 KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 # 存储引擎 STORAGE_ENGINE=filesystem # 如果使用阿里云OSS服务的话需要额外创建如下参数: # 阿里云账号AccessKey KeyId=阿里云账号AccessKey # 阿里云账号AccessKeySecret KeySecret=阿里云账号AccessKeySecret # 阿里云OSS Bucket的地域节点 OSS_ENDPOINT=阿里云OSS Bucket的地域节点 # 阿里云OSS Bucket的BucketName BUCKET_NAME=阿里云OSS Bucket的BucketNameS3协议的对象存储配置❗️❗️❗️ 注意:必须配置SSL证书,否则无法下载有关V2.0bata版,作者几乎没有任何说明,也没有相关的教程,也没有说bata版是什么意思,甚至都不在GitHub的releases列表,但是bata版支持S3协议的对象存储以及onedrive雨云ROS是支持S3协议的对象存储,目前(2023年10月18日)正在免费公测注意:API端点前要加“https://,末尾不能加“/”,配置完成后需要重启FileCode项目OneDrive作为存储的配置方法仅支持工作或学校账户,并且需要有管理员权限以授权API1. 需要配置的参数file_storage=onedrive onedrive_domain=XXXXXX onedrive_client_id=XXXXXX-XXXXXX-XXXXXX-XXXXXX onedrive_username=XXXXXX@XXXXXX onedrive_password=XXXXXXonedrive_username和onedrive_password是你的账户名(邮箱)和密码,另外两个参数需要在微软Azure门户中注册应用后获取。2. 应用注册登录https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade,鼠标置于右上角账号处,浮窗将显示的域即为onedrive_domain的值。 点击左上角的+新注册,输入名称,受支持的帐户类型:选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)重定向 URI (可选):选择Web,并输入http://localhost完成注册后进入概述页面,在概要中找到应用程序(客户端)ID,即为onedrive_client_id的值。 此时还需要配置允许公共客户端流和API权限在左侧选择身份验证,找到允许的客户端流,选择是,并点击保存。 在左侧选择API权限,点击+添加权限,选择Microsoft Graph->委托的权限,并勾选下述权限:openid、Files中所有权限、User.Read,如下图所示。最后点击下方的添加权限。 最后点击授予管理员同意,并点击是,最终状态变为已授予。 3. 使用下述代码测试是否配置成功安装依赖:pip install Office365-REST-Python-Client# common.py import msal domain = 'XXXXXX' client_id = 'XXXXXX' username = 'XXXXXX' password = 'XXXXXX' def acquire_token_pwd(): authority_url = f'https://login.microsoftonline.com/{domain}' app = msal.PublicClientApplication( authority=authority_url, client_id=client_id ) result = app.acquire_token_by_username_password( username=username, password=password, scopes=['https://graph.microsoft.com/.default'] ) return result测试登录,如果成功打印出账户名,说明配置成功。from common import acquire_token_pwd from office365.graph_client import GraphClient try: client = GraphClient(acquire_token_pwd) me = client.me.get().execute_query() print(me.user_principal_name) except Exception as e: print(e)测试文件上传import os from office365.graph_client import GraphClient from common import acquire_token_pwd remote_path = 'tmp' local_path = '.tmp/1689843925000.png' def convert_link_to_download_link(link): import re p1 = re.search(r'https:\/\/(.+)\.sharepoint\.com', link).group(1) p2 = re.search(r'personal\/(.+)\/', link).group(1) p3 = re.search(rf'{p2}\/(.+)', link).group(1) return f'https://{p1}.sharepoint.com/personal/{p2}/_layouts/52/download.aspx?share={p3}' client = GraphClient(acquire_token_pwd) folder = client.me.drive.root.get_by_path(remote_path) # 1. upload file = folder.upload_file(local_path).execute_query() print(f'File {file.web_url} has been uploaded') # 2. create sharing link remote_file = folder.get_by_path(os.path.basename(local_path)) permission = remote_file.create_link("view", "anonymous").execute_query() print(f"sharing link: {convert_link_to_download_link(permission.link.webUrl)}")测试文件下载import os from office365.graph_client import GraphClient from common import acquire_token_pwd remote_path = 'tmp/1689843925000.png' local_path = '.tmp' if not os.path.exists(local_path): os.makedirs(local_path) client = GraphClient(acquire_token_pwd) remote_file = client.me.drive.root.get_by_path(remote_path).get().execute_query() with open(os.path.join(local_path, os.path.basename(remote_path)), 'wb') as local_file: remote_file.download(local_file).execute_query() print(f'{remote_file.name} has been downloaded into {local_file.name}')测试删除文件from office365.graph_client import GraphClient from common import acquire_token_pwd remote_path = 'tmp/1689843925000.png' client = GraphClient(acquire_token_pwd) file = client.me.drive.root.get_by_path(remote_path) file.delete_object().execute_query()
2023年11月05日
435 阅读
0 评论
0 点赞
2023-10-22
MTProxy TLS 一键安装脚本
一、MTProxyHighly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram.开源github:https://github.com/missuo/MTProxySupportabilityX86_64ARM_64Installationbash <(curl -Ls https://qwq.mx/mtg)Due to the CDN cache, jsdelivr link may not be the latest.bash <(curl -Ls https://cdn.jsdelivr.net/gh/missuo/MTProxy/mtproxy.sh)二、MTProxy TLS 绿色版一键安装脚本安装执行如下代码进行安装## 新建目录 mkdir /home/mtproxy && cd /home/mtproxy ## 开始安装 curl -s -o mtproxy.sh https://raw.githubusercontent.com/sunpma/mtp/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh使用运行服务bash mtproxy.sh start调试运行bash mtproxy.sh debug停止服务bash mtproxy.sh stop重启服务bash mtproxy.sh restart卸载安装因为是绿色版卸载极其简单,直接删除所在目录即可。rm -rf /home/mtproxy开机启动chmod 755 /home/mtproxy/mtproxy.sh vi /etc/crontab ## 加入下面这条命令后保存即可; @reboot root nohup bash /home/mtproxy/mtproxy.sh start > /dev/null 2>&1 &三、Mtproto Proxy Go版因为go版mtproxy代码更新了抗重放攻击等功能后,原作者没有直接放出编译好的程序,所以根据逗比原版一键脚本魔改,直接拉取最新代码进行编译,最新版已经支持 TLS 伪装脚本说明: Mtproto Proxy Go版 一键编译安装管理脚本系统支持: CentOS6+ / Debian7+ / Ubuntu14+使用参考: https://doubibackup.com/es5fj9se.htmlwget -N --no-check-certificate https://github.com/whunt1/onekeymakemtg/raw/master/mtproxy_go.sh && chmod +x mtproxy_go.sh && bash mtproxy_go.sh配置文件在 /usr/local/mtproxy-go/mtproxy.conf ,可以手动修改,配置项详细介绍参见 mtg 文档go 安装目录在 /tmp/go ,可以手动删除
2023年10月22日
760 阅读
0 评论
0 点赞
2023-10-22
一个使用 Cloudflare Pages 创建的 URL 缩短器
利用Cloudflare pages部署fork本项目:https://github.com/x-dr/short登录到Cloudflare控制台.在帐户主页中,选择pages> Create a project > Connect to Git选择你创建的项目存储库,在Set up builds and deployments部分中,全部默认即可。点击Save and Deploy,稍等片刻,你的网站就部署好了。创建D1数据库参考执行sql命令创建表(在控制台输入框粘贴下面语句执行即可)DROP TABLE IF EXISTS links; CREATE TABLE IF NOT EXISTS links ( `id` integer PRIMARY KEY NOT NULL, `url` text, `slug` text, `ua` text, `ip` text, `status` int, `create_time` DATE ); DROP TABLE IF EXISTS logs; CREATE TABLE IF NOT EXISTS logs ( `id` integer PRIMARY KEY NOT NULL, `url` text , `slug` text, `referer` text, `ua` text , `ip` text , `create_time` DATE ); 选择部署完成short项目,前往后台依次点击设置->函数->D1 数据库绑定->编辑绑定->变量名称填写:DB 命名空间 选择你提前创建好的D1 数据库绑定重新部署项目,完成。API短链生成# POST /create curl -X POST -H "Content-Type: application/json" -d '{"url":"https://131213.xyz"}' https://d.131213.xyz/create # 指定slug curl -X POST -H "Content-Type: application/json" -d '{"url":"https://131213.xyz","slug":"scxs"}' https://d.131213.xyz/create response:{ "slug": "<slug>", "link": "http://d.131213.xyz/<slug>" }
2023年10月22日
299 阅读
0 评论
0 点赞
2023-08-19
Docker的网络代理配置
在国内用docker去拉取image时会很慢, 此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,例如:阿里云加速器(点击管理控制台 -> 登录账号(淘宝账号) -> 右侧镜像工具 -> 镜像加速器 -> 复制加速器地址)网易云加速器 https://hub-mirror.c.163.com百度云加速器 https://mirror.baidubce.com一、配置加速器vim /etc/docker/daemon.json{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。之后重新启动服务sudo systemctl daemon-reload sudo systemctl restart docker二、docker pull代理在执行docker pull时,是由守护进程dockerd来执行。 因此,代理需要配在dockerd的环境中。 而这个环境,则是受systemd所管控,因此实际是systemd的配置sudo mkdir -p /etc/systemd/system/docker.service.dsudo touch /etc/systemd/system/docker.service.d/proxy.conf在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:[Service] Environment="HTTP_PROXY=http://USERNAME:PASSWORD@[your.proxy.server]:[port]" Environment="HTTPS_PROXY=http://USERNAME:PASSWORD@[your.proxy.server]:[port]0" Environment="NO_PROXY=localhost,127.0.0.1,.example.com"之后重新启动服务sudo systemctl daemon-reload sudo systemctl restart docker三、Container代理1、用户级代理vim ~/.docker/config.json{ "proxies": { "default": { "httpProxy": "http://192.168.0.54:7890", "httpsProxy": "http://192.168.0.54:7890", "noProxy": "localhost,127.0.0.1,.example.com" } } }这种方法默认在所有配置修改后启动的容器生效2、容器级代理容器的网络代理,也可以直接在其运行时通过-e注入http_proxy等环境变量。docker-compose的是要配置environment 格式如下:web: environment: HTTP_PROXY: 'http://192.168.0.54:7890' HTTPS_PROXY: 'http://192.168.0.54:7890' NO_PROXY: 'localhost, *.test.lan'四、docker build代理虽然docker build的本质,也是启动一个容器,但是环境会略有不同,用户级配置无效。 在构建时,需要注入http_proxy等参数docker build . \ --build-arg "HTTP_PROXY=http://192.168.0.54:7890" \ --build-arg "HTTPS_PROXY=http://192.168.0.54:7890" \ --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \ -t your/image:tag
2023年08月19日
1,005 阅读
0 评论
2 点赞
2023-08-11
Github Action自动化部署Hexo博客和Qexo管理后台
一、Hexo博客搭建Hexo是个快速、简洁且高效的博客框架,它是一款基于Node.js的静态博客生成程序,作者是中国台湾tommy351。它的安装运行等甚至生成文章页面 生成目录,网站配置都是在爱代码模式下进行的。还有就是要学会使用Hexo,就得学会使用Git,并且对Git常用基础命令要有所了解,还有就是需要安装Node.js,这个软件是Hexo本地搭建必不可少的工具,值得一提的是Hexo博客可以部署到GitHub、Gitee、GitLab、Coding、七牛,都是完全免费的,可以让你实现免服务器,免域名搭建一个完整的博客。1、安装gitGit是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。也就是用来管理你的hexo博客文章,上传到GitHub的工具。Windows:下载并安装 git:https://git-scm.com/download/win对于中国大陆地区用户,可以前往 淘宝 Git for Windows 镜像 下载 git 安装包。Linux (Ubuntu, Debian):sudo apt-get install git-coreLinux (Fedora, Red Hat, CentOS):sudo yum install git-core2、安装nodejsHexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。windows:打开nodejs:https://nodejs.org/en/download/ 选择LTS版本。linux:安装完后,打开命令行sudo apt-get install nodejs sudo apt-get install npm然后检查一下有没有安装成功node -v npm -v3、安装Hexo先创建一个文件夹blog,在这个文件夹下的空白地方,右键git bash打开【Windows】,【Linux】如下mkdir blog cd blog然后安装hexonpm install -g hexo-cli然后初始化hexo,这个hexoblog可以随便填hexo init hexoblog用cd进入hexoblig里(或者直接打开这个文件夹,在空白地方右键 *git bash打开* )cd hexoblog这个时候hexoblog文件夹里有指定文件夹目录下有:node_modules: 依赖包 public:存放生成的页面 scaffolds:生成文章的一些模板 source:用来存放你的文章 themes:主题 _config.yml: 博客的配置文件 db.json:source解析所得到的 package.json:项目所需模块项目的配置信息然后本地运行测试一下hexo g hexo s**hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写hexo server 顾名思义,启动服务 本地运行,可以用 hexo s缩写**在浏览器输入 localhost:4000 就可以看到你生成的博客了。使用ctrl+c可以把服务关掉4.在GitHub创建一个放博客文件的仓库没有账号的注册一个,登录后,点击右上角New repository创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxx.github.io,其中xxx就是你注册GitHub的用户名。我这里是已经建过了。点击create repository。5. 生成SSH添加到GitHub在博客hexoblog根目录 右键点击 Git Bash Heregit config --global user.name "yourname" git config --global user.email "youremail" ssh-keygen -t rsa -C "youremail"找到这个文件夹。打开 id_rsa.pub其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。**点击GitHub的右上角setting中 -> 点击左边SSH and GPG keys -> 点击New SSH keytitle随便填,把C盘的id_rsa.pub里面的信息复制到key里。**查看是否成功ssh -T git@github.com这个时候要输入一次yes,如果前面生成ssh时设置了密码,需要输入密码,然后再回车6. 将hexo部署到GitHub打开站点配置文件 _config.yml,拉到最后,修改为1422756921就是你的GitHub账户deploy: type: git repo: git@github.com:1422756921/1422756921.github.io.git branch: main注意:现在GitHub的默认分支已经是main了,不是master !!!!这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHubnpm install hexo-deployer-git --save然后其中hexo clean清除了你之前生成的东西,hexo deploy 部署文章,可以用hexo d缩写hexo clean hexo g hexo deploy输入hexo deploy之后会出现一个小弹窗,要你输入GitHub的username和password。(用户名是邮箱)二、Github Actions自动化部署 Hexo博客简单说,就是把hexo博客编译前的源代码上传到github代码仓库,Action在代码发生变动的时候,自动通过安装一系列nodejs环境和相关依赖,编译生成html页面到github pages仓库。再简单点说,就是把本地生成博客的工作,全部交给Action执行。好处就是随时随地都能修改或增加博文1、先建一个私有仓库(自动化仓库)先建一个私有仓库(myhexo),这个仓库存放的是编译前的文件,也就是你电脑本地的文件,这个仓库是拿来做自动化的也就是一共两个仓库一个公有仓库存编译好的hexo(pages仓库,用户名例如是1422756921.github.io)一个私有仓库存本地电脑编译前的文件(自动化仓库,用户名是myhexo)2、上传编译前的代码创建完私有仓库后,在本地博客文件中复制几个文件到另外一个文件夹,其中包括.github,scaffolds,source,themes,_config.yml,package.json,package-lock.json还有一个很重要的一步:打开themes/bamboo主题模板文件,主题源码.git文件删除,Hexo博客根目录修改配置文件使用bamboo主题然后回到myhexo根目录右键打开git bashgit init #把这个目录变成Git可以管理的仓库 git add . #添加当前目录文件到缓存区(别漏命令后面的点) git commit -m "first commit" #提交缓存区内容到本地库,并备注first commit #下面两条命令二选一,就行了 git remote add origin https://github.com/用户名/自动化仓库名.git #利用https关联远程仓库 git remote add origin git@github.com:用户名/自动化仓库名.git #利用ssh关联远程仓库 git push -u origin master #把本地库的所有内容推送到远程库上同样SSH和HTTPS均可。SSH在绑定过ssh key的设备上无需再输入密码,HTTPS则需要输入密码,但是SSH偶尔会遇到端口占用的情况。3、获取 Github token打开https://github.com/settings/tokens点击 Generate new token 新建个 tokennote随便填,Expiration选择No expiration,勾选repo和workflow,其他没什么了,然后点生成就好了把token复制下来打开自动化仓库myhexo的Settings -> Secrets and variables -> Actions -> New repository secret一共有三个变量名GITHUBTOKEN,GITHUBUSERNAME,GITHUBEMAIL,逐一添加变量名常量释义GITHUBMAILGithub 用户邮箱地址GITHUBTOKENGithub tokenGITHUBUSERNAMEGithub 用户名4、添加workflows接下来点击Actions -> set up a workflow yourself复制以下代码到里面name: 自动部署 on: push: branches: - master release: types: - published jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: master - name: 安装 Node uses: actions/setup-node@v1 with: node-version: "16.x" - name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g - name: 缓存 Hexo uses: actions/cache@v1 id: cache with: path: node_modules key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}} - name: 安装依赖 if: steps.cache.outputs.cache-hit != 'true' run: | npm install --save - name: 生成静态文件 run: | hexo clean hexo generate - name: 部署 #此处master:master 指从本地的master分支提交到远程仓库的master分支(不是博客的分支写master即可),若远程仓库没有对应分支则新建一个。如有其他需要,可以根据自己的需求更改。 run: | cd ./public git init git config --global user.name '${{ secrets.GITHUBUSERNAME }}' git config --global user.email '${{ secrets.GITHUBEMAIL }}' git add . git commit -m "${{ github.event.head_commit.message }} $(date +"%Z %Y-%m-%d %A %H:%M:%S") Updated By Github Actions" git push --force --quiet "https://${{ secrets.GITHUBUSERNAME }}:${{ secrets.GITHUBTOKEN }}@github.com/${{ secrets.GITHUBUSERNAME }}/${{ secrets.GITHUBUSERNAME }}.github.io.git" master:master # GitHub配置粘贴上去后点击Commit changes...就大功告成了,可以点击Actions查看运行进程了最后,需要到GitHub pages那个仓库里面把默认页改成master就好了三、搭建Hexo博客后台管理QexoQexo,一个快速、美观、强大的在线hexo管理器,支持使用 Vercel 零成本一键部署,,您只需要配置一个免费数据库。特色功能:自定义图床上传图片,在线配置编辑,在线页面管理,开放 API,自动检查更新,在线一键更新,快速接入友情链接,简单的说说短文,类似不算子的统计,自动填文章模板1、注册MongoDB首先我们要去注册MongoDB来给Qexo提供数据库,选择Free计划新建成功后会自动跳到”Security”的”Quickstart”记住username,密码,之后需要连接数据库等待几分钟数据库新建完成后,允许所有IP段访问(0.0.0.0)进入刚刚建立好的数据库总览页面,点击Connect然后连接方式选择MangoDB Shell2、部署到Vercel点击下面的按钮部署,再选择GitHub存储库第一次部署会直接爆炸,问题不大,这是因为我们还没有设置数据库,请无视并重新进入项目, 在项目设置界面添加环境变量 Environment Variables照着下列表格来添加名称意义示例MONGODB_HOSTMongoDB 数据库连接地址mongodb+srv://cluster0.xxxx.mongodb.netMONGODB_PORTMongoDB 数据库通信端口 默认应填写 2701727017MONGODB_USERMongoDB 数据库用户名chenruiMONGODB_DBMongoDB 数据库名Cluster0MONGODB_PASSMongoDB 数据库密码JWo0xxxxxxxx添加完之后到顶部的”Deployments”然后”Redeploy”3、初始化Qexo若没有 Error 信息即可打开域名进入初始化引导之前于 Github 设置 生成的 Token (建议使用 Classic) 可以填以下栏目,需要 Repo & Workflow 下的权限 不建议给出所有权限您的 Vercel 账户密钥 在 此处 生成Qexo 部署所在项目的 ID 位于项目的 Settings -> General -> Project IDprj_xxxxxxxxxxxxx最终大功告成祝你使用愉快
2023年08月11日
521 阅读
0 评论
0 点赞
2023-07-15
青龙面板安装及常见问题解决
支持Python3、JavaScript、Shell、Typescript的定时任务管理平台开源地址:https://github.com/whyour/qinglong一、功能支持多种脚本语言(python3、javaScript、shell、typescript)支持在线管理脚本、环境参数、配置文件支持在线查看任务日志秒级支持任务设置支持系统级通知支持暗黑模式支持手机端操作二、青龙面板安装# curl -sSL get.docker.com | sh docker run -dit \ -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ -e QlBaseUrl="/" \ # 部署路径非必须,以斜杠开头和结尾,比如 /test/ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:latest三、手动安装(在面板里安装的依赖-个人推荐)1、NodeJs下crypto-js prettytable dotenv jsdom date-fns tough-cookie tslib ws@7.4.3 ts-md5 jsdom -g jieba fs ds form-data json5 global-agent png-js @types/node require typescript js-base64 axios moment2、Python3下requests canvas ping3 jieba pycryptodome bs4 rsa PyExecJS aiohttp redis Crypto fake-useragent json53、Linux下bizCode bizMsg lxml libc-dev python3-dev --no-cache build-base g++ cairo-dev gcc pango-dev giflib-dev四、部分依赖问题解决方法1.一般出现这种错误:(缺依赖)Error: Cannot find module ‘xx’2.一般出现这种错误:(缺文件)Error: Cannot find module ‘./xx’解决方法:一般是拉库命令不完整,请检查或复制完整的拉库命令重新拉库。3.一般出现这种错误:(缺py依赖)ModuleNotFoundError: No module named ‘xxx’.py解决方法:docker exec -it 容器名 pip3 install xxx4.遇到这种问题:(脚本问题)TypeError: Cannot read property ‘xxxx’ of undefined这种脚本问题、IP问题、服务器网络、京东接口修改或者账号活动被限制等!导致的脚本无法正常运行。解决方法:此类问题较为复杂根据实际情况解决吧。最好搞动态IP。
2023年07月15日
1,904 阅读
0 评论
1 点赞
2023-07-14
玩客云刷机-玩机教程
玩客云是17年的一款矿渣产品,当时入手价499可以挖矿换话费和备份手机照片、使用迅雷高速下载,阿里云盘出来后不限速,也没有下载需求了,吃灰良久。Armbian是轻量级的Debian系统和为ARM开发板专门发行并重新编译的Debian系统。最近折腾了玩客云刷机Armbian作为Linux的方案,把它最后当做一个下载器和学习Linux的工具来玩了一、玩客云硬件参数CPU是晶晨S805 ,32位,ARM 4核1.5GHz1G(DDR3)+8G(eMMC)两个USB 2.0,HDMI接口,一个千兆网口(RJ45 )二、刷机准备工具WIN10电脑一台矿渣玩客云双公头USB线一根【用于连接电脑和玩客云,用于刷底层包】螺丝刀,一把金属镊子,用来短接用(用金属线也是可以的)闲置 U 盘一个,或者读卡器配合存储卡也行【U盘用于刷 Armbian 系统】晶晨刷机软件 USB Burning Tool,update.img 文件为安卓底包,zip 文件为 armbian 固件三、刷机包基本常识1、**直刷包**:直接刷,刷完就OK可以直接使用优点:(1)方便快捷,不用U盘等工具(2)速度快,省去中间过程缺点:(1)再次刷机可能需要重新短接(2)换系统可能需要重新对emmc进行大量读写2、**底包**:用于对设备进行引导,引导设备启动USB设备上的系统(类似于PE系统),一般搭配U盘刷机包使用优点:(1)可以随便换系统,一个U盘一个系统(2)在没将系统输入emmc之前可以不用拆机缺点:(1)系统性能受限于USB设备与接口,稳定性难绷(USB2.0的接口我也不好说什么了)(2)占用一个USB接口注:如果你将U盘内系统写入emmc的话那基本和直刷包没区别了3、镜像包:直刷包的内包含了系统镜像,直刷直用底包和系统镜像分离,底包包含引导,镜像包包含系统镜像,镜像包也就是U盘刷机包4、选择:如果你身边没有U盘等设备,那肯定只有用直刷包了当然如果你选择的固件只有U盘刷机包那种,那也只能找一个U盘了如果你的数据线或者因为成色而导致直刷用的那个USB接口不稳定,那建议用刷底包的方式底包因为只包含引导或者部分驱动会刷得很快,而直刷包就需要一个漫长的过程,如果不稳定的话就会导致刷机失败以至于要重新刷,那就得不偿失了同样的,如果你用来U盘引导的那个接口不稳定(用来直刷和引导系统的那个接口不一样)所以没有哪个更好的说法,全部看实际情况和你选择的固件包四、刷机教程1、拆机及注意玩客云的拆机十分简单,有接口那一侧,外层塑料挡板是双面胶粘上去的,使用撬棒或者一字批起子之类,从缝隙入手,慢慢转圈撬开即可,挡板弹性挺大, 并不容易搞坏。然而二层挡板就是 6 颗螺丝下掉完事,主板是卡在壳子的卡槽里的,可以捏住 SD 卡槽部分的主板空白位,用点力即可把主板拔出来。2、刷入安卓底包玩客云要刷 armbian 的话,需要先刷一个安卓固件作为过渡包使用USB线一头连接玩客云靠近hdmi接口的usb接口,一头连接至电脑,台式机请连接后面的USB口,暂时不要通电!安装并打开 USB Burning Tool,导入 update.img 镜像,勾选 “擦除flash” 和 “擦除bootloader” 并点击 “开始”【开始】按钮变成显示【停止】状态,此时晶晨刷机工具正在准备刷机,等待设备接入<u>推荐大佬编译的eMMC.burn.img,eMMC.burn.img,启动顺序:U盘—SD卡—eMMC</u><u>关键步骤:先短接触点,再接通玩客云主板电源</u>用啥都行,镊子或者找根导线剥掉两头外皮都可以,玩客云有两种版本,它们的短接位置也是不一样的:短接焊点稳定以后usb插入玩客云「靠近HDMI的接口」、另一头接入电脑usb、通电如果顺利的话,刷机软件会发现设备,自动开始刷入流程。观察电脑上晶晨刷机工具提示。“叮咚”一声,界面开始出现进度条表示短接成功,短接成功还有个显著的提示,就是主板指示灯不会亮。短接失败了也不会怎么样,软件没反应而已,可以放心大胆的多次尝试,如果有错误,换一个usb接口,多试几次这个固件很小,很快就会写完,一般几秒钟,提示烧录成功后,先点”停止“,然后关闭,拔掉电源、拔掉USB。<u>提示:设备短接一次成功刷入底包后,有几率按住重置键烧录</u>直接插双公头usb数据线「靠近HDMI的接口」,先不要接通电源,长按住重置键,再接通电源,发现硬件即可刷机,如果出错1.多试几次 2.换个USB口 3.重启机器 4.换个机器3、U盘先刷入armbian5.88系统打开 balenaEtcher 工具,并选择 armbian5.88.img 镜像,选择写入设备为 U 盘(一定要确认以一下),点击 ”Flash“ 开始写入。等待几分钟,写入速度和U盘传输速度有关,一般是几分钟,提示成功后,关闭软件,拔出U盘。把U盘插入玩客云靠近网口的USB,然后通电,指示灯会蓝色→绿色→蓝紫闪烁→蓝色,证明刷机成功,过程好几分钟,多等下。全程不插入网线,armbian5.88系统写入完成后,直接断电,然后拔u盘4、U盘再刷入armbian5.9系统打开 balenaEtcher 工具,并选择 WKY-Armbian_20.12_5.9.0.img 镜像,选择写入设备为 U 盘(一定要确认以一下),点击 ”Flash“ 开始写入。<u>推荐大佬专用库,一直在更新,Armbian for onecloud. 玩客云用armbian</u>主机名: onecloud 账号: root 密码: 1234<u>提示:</u>这里推荐Armbian_23.11.0-trunk_Onecloud_bookworm_edge_6.4.16_minimal.img.xz,可以安装Dockerbookworm表示Debian12,bullseye表示Debian11,带burn标志的代表可线刷烧录,前提需要先解压armbian5.9系统写入完成后,U盘不要动,用网线接入路由器LAN口,进入路由,查看新加入的设备过一会打开路由器后台,找到”aml-s812“的设备IP地址,复制打开 putty (也可以使用其他工具)输入连接IP地址,默认密码是:1234,第一次登录需要修改一个密码(要包含大写字母、小写字母、数字、符号)。从欢迎信息中可以看到 Linux 5.9.0-rc7-aml-s812 可知目前我们刷写的系统版本为 Armbian 5.9.0。现在系统时从 U 盘启动的,拔掉 U 盘就无法启动了,接下来还需把系统写入到 EMMC 中。想要写入emmc的,下载下面的文件,放入u盘的boot分区:emmc-install整个仓库拉下来,重命名为install,放入boot分区,u盘系统启动后在 SSH 命令面板中输入以下命令cd /boot/install ./install.sh刷入系统时灯会 蓝 / 紫 闪烁,表示正在写入 EMMC完成后,拔电源,拔掉U盘,终于ARMBIAN系统刷机完成。启动完成即可用你刚刚设置的密码登陆进去了。五、安装Docker1、换Debian源mv /etc/apt/sources.list /etc/apt/sources.list.bk vi /etc/apt/sources.list2、粘贴deb https://mirrors.ustc.edu.cn/debian/ bullseye main non-free contrib deb-src https://mirrors.ustc.edu.cn/debian/ bullseye main non-free contrib deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main deb-src https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main deb https://mirrors.ustc.edu.cn/debian/ bullseye-updates main non-free contrib deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-updates main non-free contrib deb https://mirrors.ustc.edu.cn/debian/ bullseye-backports main non-free contrib deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-backports main non-free contrib可以进入清华大学Debian软件源官网定制源更新源报错的解决方法(E: The repository 'http://apt.armbian.com stretch Release' does not have a Release file.)编辑 /etc/apt/sources.list.d/armbian.list,将 http://apt.armbian.com 替换为以下链接https://mirrors.tuna.tsinghua.edu.cn/armbian或者可以由以下命令完成sed -i.bak 's#http://apt.armbian.com#https://mirrors.tuna.tsinghua.edu.cn/armbian#g' /etc/apt/sources.list.d/armbian.list3、保存并更新软件apt-get update && apt-get upgrade4、安装Dockerdocker和iptables不兼容,建议安装前执行update-alternatives --set iptables /usr/sbin/iptables-legacy update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy如果报错:update-alternatives: error: no alternatives for iptables尝试更新iptables再执行以上两行命令apt install iptables完成之后,执行Docker安装可视化一键脚本bash <(curl -sSL https://linuxmirrors.cn/docker.sh)5、安装Docker面板docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce:2.19.0@sha256:df464e724255c2c3db304b343bec82d4510e507c77893e8ed61e122b9fa42bf1六、安装FRPC客户端内网穿透1、创建frp.ini文件并创建目录mkdir /frp vim /frp/frpc.ini2、编辑frpc.ini配置文件[common] server_addr = x.x.x.x server_port = 7000 token = XXXXX [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 60003、拉取镜像docker pull snowdreamtech/frpc4、启动docker容器docker run --restart=always --network host -d -v /frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc七、永久性挂载硬盘1、查看硬盘名称fdisk -l查看刚刚接入的U盘/硬盘并记下其设备名称Device:对应硬盘名称 -Size:对应硬盘大小- Type:对应硬盘格式2、格式化硬盘Linux硬盘格式需要Etx4,我这个硬盘已经格式化了,再演试一次,使用命令:mkfs -t ext4 /dev/sda1 #格式化硬盘选择ext4文件系统此过程会提示Proceed anyway? (y,N),问你是否继续格式化,输入y回车继续,后面提示其它回车就OK3、挂载硬盘/U盘接下来开始挂载硬盘,查看硬盘的UUID,输入:blkid 硬盘名称(例如blkid /dev/sda1)UUID="这里面就是UUID"复制下来使用ftp工具连接玩客云找到/etc/fstab文件打开编辑(我使用的finalshell自带ftp工具,如果你装了宝塔直接在宝塔文件里找也可以,当然你也可以使用VI命令行直接编辑)在fstab文件后面追加:UUID=改为你的硬盘UUID /mnt/随便命名后面创建对应的文件夹最好时英文/ ext4 defaults 0 0编辑后保存上传回去,在/mnt/文件夹下创建你刚刚设置的文件夹名称,例如我刚刚设置的是/mnt/Disk,就创建一个Disk文件夹回到命令行窗口输入reboot重启玩客云,等1-2分钟重启成功,登录宝塔,在首页就可以看到刚刚挂载的硬盘
2023年07月14日
4,159 阅读
0 评论
2 点赞
1
...
3
4
5
...
9