特别申明:本教程仅供学习使用,不得用于任何违法行为!

一、登录堡塔面板

(一)找到“软件商店”



1.下载插件

插件源码地址:https://github.com/Xeath/btp_frps
作者:Xeath
功能介绍:图形化设置、修改 frps 配置
支持版本:Linux 64 位系统(搭配 systemd 组件开机自启动)
安装方法:宝塔面板安装
离线下载地址:
https://www.bt.cn/bbs/forum.php?mod=attachment&aid=MzQ5MDF8MTBmM2E3YTh8MTYxNDk1MTY4MXwwfDM1OTY3

2.导入插件

将下载完的.ZIP包直接从上图中上传导入。

(二)安装Frp插件

1.离线下载

地址:https://github.com/fatedier/frp/releases

2.选择对应版本

我这里是ARM64位架构的Linux服务器

3.在堡塔离线更新

点击上面图片里的“离线更新”,把压缩包直接上传即可。

二、配置Frp

1.通用设置

不会配置的话,保持基本设置不变

监听地址  0.0.0.0 * 支持监听 IPv6 地址
TCP 端口 7000
UDP 端口 7001 * 用于辅助客户端进行打洞穿透 NAT
KCP 端口 7000 * KCP 协议的 UDP 端口,可与 TCP 端口相同
验证密钥 “这个地方自己填自己的密码”

2.仪表盘设置

监听地址 0.0.0.0 * 默认与通用设置的监听地址相同
监听端口 7538
验证账户 xxxxx
验证密码 “自己设置”

我设置的端口是7538

4.启动Frp

4.登录Frp后台

后台地址格式:服务器公网IP:仪表盘设置中的“监听端口”
例:192.168.23.23:7538

三、配置客户端

1.配置frpc.ini

内容如下:
[common]
server_addr = 47.104.188.80
server_port = 7000
token = “这里是当时自己设置的密码”

[WEB]
type = tcp
local_ip = 127.0.0.1
local_port = 3000
remote_port = 7001

2.启动frpc

我使用的是GIT工具

输入代码 ./frp -c ./frpc.ini

3.启动本地服务

3.1 使用GIT工具进入需要穿透的目录中

3.2 启动服务

将硬盘文件直接通过TCP映射到公网
例如:serve
(需要GIT工具安装过serve)

4.检测穿透

在网址输入服务器公网IP加上相应穿透的端口即可

例如 192.168.1.1:7001
这就是我的硬盘文件展示

四、特别说明

  • 以上的所有端口都需要服务器开放防火墙,如果是阿里云的机器,那么还要去官网开放安全组,腾讯云类似。
  • 公网映射以后不是P2P的握手服务器,而是一个中转服务器,所以会走服务器的流量,映射的速度完全取决你机器的能力了。
  • 不建议做视频还有图床,因为没有备案的话,你这是违规的。
  • 如果本地电脑实在家用宽带下的,建议不用绑定域名了,不然分分钟服务商打电话强制你家拆机,给你纳入宽带黑户。

一、邮箱注册

操作如下:

在Git Bash界面输入如下内容即可完成邮箱的注册:

git config --global user.name "user.name"
#说明:双引号中需要你的用户名,这个可以随便输入,我的用户名"TonaSmith"

git config --global user.email "yourmail@youremail.com.cn"
# 说明:双引号中需要输入你的有效邮箱,比如“12131312@qq.com”)

二、查看SSH KEY

cd ~/.ssh
#若出现“No such file or directory”,则表示需要创建一个ssh keys

ssh-keygen -t rsa -C "你的邮箱名"
#指定目录: C:\deskbook\(说明:若在此处不输入路径,而直接按回车,则ssh keys生成后存放的路径为C:\User\.ssh)
输入密码: 123456
确认密码: 123456

三、设置SSH密钥

  1. 如此即可在C:\deskbook\文件夹中生成ssh keys。包括两个文件rd_rsa和id_rsa.pub
  2. 然后找到rd_rsa和id_rsa.pub所在目录打开idb_rsa.pub(可以把后缀名改成.txt),登录自己的GitHub账号,找到Settings
  3. 进入Settings后,点击SSH and GPG keys,然后再点击右上角添加新密钥按钮New SSH key
  4. 然后,将idb_rsa.pub里的内容拷贝到Key内,Title内容随便填,确定即可。密钥添加完成,下次在使用时就不需要再添加密钥了。

四、新建目录

五、上传文件

如下代码上传Github

git init
#初始化本地文件夹,设置为可供Git管理的仓库

git pull 远程仓库地址 master
#例如git pull https://github.com/TonaSmith/imgs.git master

git add .
#将所有的文件和文件夹加载到本地仓库缓存
#如果只提交单个文件,如下命令

git add 1.text
#确保文件在.git同路径之下

git commit -m "首次提交"
#用git commit -m "日志名字" 把项目日志加载到本地仓库缓存

git remote add origin 你的远程仓库地址
#例如:git remote add origin https://github.com/TonaSmith/imgs.git
#关联本地和远程仓库

git push -u origin master
#空仓库提交(未设置READ.MD)

git pull --rebase origin master
#空仓库提交(设置READ.MD),先合并仓库再PUSH
git push -u origin master

git push origin master
或者
git push 远程仓库地址 master
#例如:git push https://github.com/TonaSmith/imgs.git master
或者
git push
#旧仓库提交

一、打开微信电脑版

二、找到通讯录页面

三、全屏通讯录页面

四、新建xxx.py的文件

1.复制如下内容,并运行程序

import win32api
import ctypes
import time
import random
rand_time=random.uniform(0,1)
# 和所有的公众号说再见,包括我自己的公众号!~
# 定义鼠标左侧单击函数
def left_press(x, y, button=1):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标左侧单击释放函数
def left_release(x, y, button=1):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)    
# 定义鼠标右侧单击函数
def right_press(x, y, button=2):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标右侧单击释放函数
def right_release(x, y, button=2):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)   
# 定义鼠标移动函数
def move(x, y):
    ctypes.windll.user32.SetCursorPos(x, y)
# 最小化程序运行的窗体,并且移动到LOGO的显示坐标位置
# (1180,15)程序运行的窗体坐标位置
# 移动到坐标
time.sleep(1)
move(x=1180,y=15)
# 休眠1s
time.sleep(rand_time)
# 点击
left_press(x=1180,y=15)
# 释放鼠标左键
left_release(x=1180,y=15)
for i in range(30):
    # (613,173)公众号LOGO的坐标位置
    time.sleep(rand_time)  
    move(613,120)
    right_press(613,120)
    right_release(613,120)
    # 左击“取消关注”
    time.sleep(rand_time)  
    move(633,185)
    left_press(633,185)
    left_release(633,185)
    # 点击确定
    time.sleep(rand_time)  
    move(700,430)
    left_press(700,430)
    left_release(700,430)

2.默认循环30次,也就是取消30个公众号。如果想要自定义个数,可以用这个代码

import win32api
import ctypes
import time
import random
numbers=input("请输入取消的公众号次数:")
rand_time=random.uniform(0,1)
# 和所有的公众号说再见,包括我自己的公众号!~
# 定义鼠标左侧单击函数
def left_press(x, y, button=1):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标左侧单击释放函数
def left_release(x, y, button=1):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)    
# 定义鼠标右侧单击函数
def right_press(x, y, button=2):
    buttonAction = 2 ** ((2 * button) - 1)
    win32api.mouse_event(buttonAction, x, y)
# 定义鼠标右侧单击释放函数
def right_release(x, y, button=2):
    buttonAction = 2 ** ((2 * button))
    win32api.mouse_event(buttonAction, x, y)   
# 定义鼠标移动函数
def move(x, y):
    ctypes.windll.user32.SetCursorPos(x, y)
# 最小化程序运行的窗体,并且移动到LOGO的显示坐标位置
# (1180,15)程序运行的窗体坐标位置
# 移动到坐标
time.sleep(1)
move(x=1180,y=15)
# 休眠1s
time.sleep(rand_time)
# 点击
left_press(x=1180,y=15)
# 释放鼠标左键
left_release(x=1180,y=15)
for i in range(numbers):
    # (613,173)公众号LOGO的坐标位置
    time.sleep(rand_time)  
    move(613,120)
    right_press(613,120)
    right_release(613,120)
    # 左击“取消关注”
    time.sleep(rand_time)  
    move(633,185)
    left_press(633,185)
    left_release(633,185)
    # 点击确定
    time.sleep(rand_time)  
    move(700,430)
    left_press(700,430)
    left_release(700,430)

五、操作演示

六、特别说明

1.我的电脑是1920x1080分辨率,所以上述的坐标也只对这个分辨率起作用
2.运行程序时,保证通讯录页面全屏且在VSCODE程序的下面
3.代码写的很烂,主要不是科班出身,还需要加倍努力!

一、网站优化

这两天由于谷歌字体反代域名(fonts.maho.cc)出现了一些问题,使得网站前端长期卡在加载字体CSS文件上,导致网站响应速度飙到了15秒+,这是一个亟待解决的问题。

(一)修改谷歌字体API地址

如果你使用的也是Theme Sakurairo by Fuukei的话,请直接打开后台的设置按钮,然后搜索“字体”,将Google字体API的默认设置(fonts.maho.cc)替换为原生的谷歌字体地址(fonts.googleapis.com)。说实话反代的速度不见得比原生的快多少,主要是Google官方老抽风,不然谁愿意花那个闲工夫反代。

(二)修改特效字体链接地址

第二个要修改的是白猫特效字体。在后台搜索“LOGO”,然后修改“字体链接”项目中的(fonts.maho.cc)替换为原生的谷歌字体地址(fonts.googleapis.com)。如下图所示啦。

优化之后的响应速度大概可以快10秒左右,有时候随机图片大小给力的话甚至会在毫秒级别完成加载。现在看似解决起来老简单了,实际上倒腾了一整天,因为第2点步骤的修改路径我一直没有找到,所以就去了源代码,甚至去了数据库里面更改了,但结果都是没用。我在改数据库的时候还把前台的JS弄乱了,我也不知道是什么鬼,反正就是改完了以后前台效果直接炸了,听起来挺魔幻的。

二、搭建随机图片API

说实话,这玩意是真的老简单了。主要是原生的随机图片有点花哨且不再适合我奔三之人了,自然想改,加上最近把大学三年拍的一些照片整理出来了,索性就用这些照片做一个随机图片API来给我博客润色一下,等毕业了自己打开网站也能玩味一番。

(一)创建index.php

1.在本地创建“index.txt”文件

将下面代码输入并保存修改文件格式为index.php。(前缀名称用pc.php或者mobile.php都行)

<?php
//存有美图链接的文件名img.txt
//和创建的含有图片地址的txt文件同名,且一定要放在和PHP文件同目录下
$filename = "randimgs.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
default:
    die(header("Location: $pic"));
}
?>

2.将PHP文件上传二级域名根目录或者主站二级目录

(二)创建一个imgs.txt文件

2.1将图片链接以一行一个的顺序填入之后保存,比如如下图片链接。(前缀随便咋起)

图片可以托管在Github或者Gitee,也可以是自己的服务器上面,我这个是在自己的服务器主站根目录下托管的图片。

https://caoyongzhuo.cn/randimgs/pcimgs/1.webp
https://caoyongzhuo.cn/randimgs/pcimgs/2.webp
https://caoyongzhuo.cn/randimgs/pcimgs/3.webp
https://caoyongzhuo.cn/randimgs/pcimgs/4.webp
https://caoyongzhuo.cn/randimgs/pcimgs/5.webp
https://caoyongzhuo.cn/randimgs/pcimgs/6.webp
https://caoyongzhuo.cn/randimgs/pcimgs/7.webp
https://caoyongzhuo.cn/randimgs/pcimgs/8.webp
https://caoyongzhuo.cn/randimgs/pcimgs/9.webp
https://caoyongzhuo.cn/randimgs/pcimgs/10.webp

2.2一个一个添加链接很麻烦,所以可以用Python自动完成

//不要什么都抄,自己看着抄
filename="D:\\常用软件\\阿里云盘\\webp\\randimgs.txt"
randimgs=open(filename,"a")
for numbers in range(1,154):
    randimgs.write("https://caoyongzhuo.cn/randimgs/pcimgs/"+str(numbers)+".webp\n")
randimgs.close()

(三)图片的优化

最好的建议就是使用webp格式压缩JPG与PNG甚至是BMP图片文件的大小,因为这几个格式的图片小则3、5M,大则10M左右,前台网页会一直发起请求直至图片响应,所以拖垮速度是必然。

3.1批量更改文件名
使用Utools的文件批量命名工具,改换所有文件前缀,方便统一管理。

3.2批量更改WEBP格式
使用XnCovernt的文件批量命名工具,改换所有文件后缀,大规模缩小体积。

(四)测试环节

将PHP和含有图片链接的TXT文件放在服务器同一目录下,输入PHP所在网址,出现图片就成功了,我这里的地址是(https://caoyongzhuo.cn/randimgs/pc.php

三、欣赏环节

1.访问官网,下载安装Git

Git - Downloads官网地址

2.美化Git图形界面

① 搜索下载这一款字体

:palm_tree:JetBriansMono

② 解压字体,得到ttf文件

③ 打开Win10字体设置,将ttf文件拖入即可完成字体安装

④ 打开Git bash

⑤ 依次输入下面的代码

#编辑.minttyrc文件
vim ~/.minttyrc
#文件配置代码
Font=Jetbrains Mono
FontHeight=14
Transparency=low
FontSmoothing=full
Locale=zh_CN
Charset=UTF-8
Columns=88
Rows=26
OpaqueWhenFocused=no
Scrollbar=none
Language=zh_CN

ForegroundColour=255,255,255
BackgroundColour=0,43,54
CursorColour=220,130,71

BoldBlack=128,128,128
Green=64,200,64
BoldGreen=64,255,64
Yellow=190,190,0
BoldYellow=255,255,64
Blue=135,144,255
BoldBlue=30,144,255
Magenta=211,54,130
BoldMagenta=255,128,255
Cyan=64,190,190
BoldCyan=128,255,255
White=250,240,230
BoldWhite=250,240,230

BellTaskbar=no
Term=xterm-256color
FontWeight=400
FontIsBold=no
BellType=0

CtrlShiftShortcuts=yes
ConfirmExit=no
AllowBlinking=yes
BoldAsFont=no

⑥ 退出界面重启即可