本文最后更新于 1586 天前,其中的信息可能已经有所发展或是发生改变。
Frp配置
Frp’s GitHub release page -> https://github.com/fatedier/frp/releases
服务端
下载完整Frp程序
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz
解压后删除所有客户端文件
tar -zxvf frp_0.24.1_linux_amd64.tar.gz
cd frp_0.24.1_linux_amd64/
rm -f frpc
rm -f frpc.ini
编辑服务端配置文件
vi frps.ini
配置文件如下
[common]
bind_port = 7000
vhost_http_port = 8080
bind_port 为 外部服务端口 ,vhost_http_port 为 服务器内部占用端口
运行服务端
./frps -c ./frps.ini
或后台运行(screen -S frp 另一个方法)
nohup ./frps -c ./frps.ini &
客户端
和服务端配置基本一致
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz
tar -zxvf frp_0.24.1_linux_amd64.tar.gz
cd frp_0.24.1_linux_amd64
rm -f frps
rm -f frps.ini
vi frpc.ini
配置文件规则如下
[common]
server_addr = x.x.x.x //公网IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[nas]
type = http
local_port = 5000
custom_domains = no1.sunnyrx.com
[web]
type = http
local_port = 80
custom_domains = no2.sunnyrx.com
http内网穿透要Nginx配置反向代理
运行客户端
./frpc -c ./frpc.ini
Systemd 配置
sudo nano /etc/systemd/system/frpc_ali.service
[Unit]
Description=Frp Client Service For AliCloud
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/atd/frp/frp_0.32.1_Ali/frpc -c /home/atd/frp/frp_0.32.1_Ali/frpc.ini
ExecReload=/home/atd/frp/frp_0.32.1_Ali/frpc reload -c /home/atd/frp/frp_0.32.1_Ali/frpc.ini
[Install]
WantedBy=multi-user.target
[Unit]
Description=Frp Client Service For Nevm
After=network.target
[Service]
Type=simple
User=nobody
Restart=always
RestartSec=1min
ExecStart=/home/atd/frp/nevm_frp/nevmFrpc -c /home/atd/frp/nevm_frp/frpc.ini
ExecReload=/home/atd/frp/nevm_frp/nevmFrpc reload -c /home/atd/frp/nevm_frp/frpc.ini
ExecStop=/usr/bin/killall nevmFrpc
KillMode=control-group
[Install]
WantedBy=multi-user.target
#刷新服务列表:
systemctl daemon-reload
#设置开机自启
systemctl enable frpc
#关闭开机自启
systemctl disable frpc
#启动服务
systemctl start frpc
#停止服务
systemctl stop frpc
自签名证书
openssl genrsa -out ./ca-key.pem 1024
openssl req -new -out ./ca-req.csr -key ./ca-key.pem
下面是证书信息填写过程
atd@atd-System-Product-Name:~/ssl$ openssl req -new -out ./ca-req.csr -key ./ca-key.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Hunan
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ATD Group
Organizational Unit Name (eg, section) []:www.atd.ac.cn
Common Name (e.g. server FQDN or YOUR name) []:X58 Server
Email Address []:test@gmail.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
atd@atd-System-Product-Name:~/ssl$
生成证书
openssl x509 -req -in ./ca-req.csr -out ./ca-cert.pem -signkey ./ca-key.pem -days 3650
atd@atd-System-Product-Name:~/ssl$ openssl x509 -req -in ./ca-req.csr -out ./ca-cert.pem -signkey ./ca-key.pem -days 3650
Signature ok
subject=C = CN, ST = Hunan, O = ATD Group, OU = www.atd.ac.cn, CN = X58 Server, emailAddress = test@gmail.com
Getting Private key
atd@atd-System-Product-Name:~/ssl$
WebDAV配置
server {
listen 8080;
server_name site.com;
client_max_body_size 20M;
location / {
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access group:rw all:r;
root /var/www/dav/;
auth_basic "Restricted";
auth_basic_user_file /var/www/dav/.htpasswd;
}
}
认证加密生成文件 Crypt (all Unix servers)
http://tool.oschina.net/htpasswd
Aria2配置
可以用
apt install aria2 //debian
yum install aria2 //centos
brew install aria2 //mac os
或者在GitHub下载安装包来安装aria2
在某个位置创建一个配置文件
touch /root/aria2.conf
vi /root/aria2.conf
配置文件内容如下
## 下载连接相关 ##
# 最大同时下载任务数, 运行时可修改, 默认:5
#max-concurrent-downloads=100
# 同一服务器连接数, 添加时可指定, 默认:1
# 官方的aria2最高设置为16, 如果需要设置任意数值请重新编译aria2
max-connection-per-server=16
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
#max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0(不限制)
#max-upload-limit=0
# 禁用IPv6, 默认:false
# disable-ipv6=true
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
# 建议同max-connection-per-server设置为相同值
split=256
## 进度保存相关 ##
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
# rpc-listen-port=6800
# 重要->设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=4407
# 启动SSL
# rpc-secure=true
# 证书文件, 如果启用SSL则需要配置证书文件, 例如用https连接aria2
# rpc-certificate=
# rpc-private-key=
## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
# bt-save-metadata=true
# 单个种子最大连接数, 默认:55 0表示不限制
bt-max-peers=0
# 最小做种时间, 单位:分
# seed-time = 60
# 分离做种任务
bt-detach-seed-only=true
启动Aria2
aria2c --conf-path="/root/aria2.conf" -D
前端界面AriaNG
GitHub下载后解压运行
上述配置文件rpc
IP:6800 key: 4407