分类 linux 下的文章

玩客云使用Cloudflare的Argo隧道内网穿透

#获取程序
wget https://github.com/cloudflare/cloudflared/releases/download/2023.10.0/cloudflared-linux-arm 
#修改权限
chmod +x cloudflared-linux-arm 
#登录cloudflare账户 
./cloudflared-linux-arm tunnel login
#创建隧道
./cloudflared-linux-arm tunnel create wky
#创建网站cname记录
./cloudflared-linux-arm tunnel route dns wky wky.example.com
#运行隧道
./cloudflared-linux-arm tunnel run --url localhost:80 wky

运行隧道这一步如果要一直运行可以创建一个tmux窗口然后在窗口里运行

如果连不上,可以试一下用v2raya连一下代理

Hysteria 是一个强大、快速、抗审查的代理工具。

image-20230916130144205

官方文档 :link:https://v2.hysteria.network/zh/

服务器相关指令

#一键安装Hysteria2
bash <(curl -fsSL https://get.hy2.sh/)

#生成自签证书
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 &&  chown hysteria /etc/hysteria/server.key &&  chown hysteria /etc/hysteria/server.crt

#启动Hysteria2
systemctl start hysteria-server.service
#重启Hysteria2
systemctl restart hysteria-server.service
#查看Hysteria2状态
systemctl status hysteria-server.service
#停止Hysteria2
systemctl stop hysteria-server.service
#设置开机自启
systemctl enable hysteria-server.service
#查看日志
journalctl -u hysteria-server.service

Hysteria配置信息 (复制到vps后回车)

cat << EOF > /etc/hysteria/config.yaml
listen: :443 #监听端口
tls:
  cert: /etc/hysteria/server.crt
  key: /etc/hysteria/server.key

auth:
  type: password
  password: 123456 #设置认证密码
  
masquerade:
  type: proxy
  proxy:
    url: https://bing.com #伪装网址
    rewriteHost: true
EOF

v2rayN使用配置 (hysteria插件下载:url,需要放到xx\bin\hysteria文件夹里面)

server: ip:443
auth: 123456

bandwidth:
  up: 20 mbps
  down: 50 mbps
  
tls:
  sni: bing.com
  insecure: true #使用自签时需要改成true

socks5:
  listen: 127.0.0.1:1080
http:
  listen: 127.0.0.1:8080
ip改为vps的ip

sing-box 安卓端使用配置 singbox 下载 url

{
  "dns": {
    "servers": [
      {
        "tag": "cf",
        "address": "https://1.1.1.1/dns-query"
      },
      {
        "tag": "local",
        "address": "223.5.5.5",
        "detour": "direct"
      },
      {
        "tag": "block",
        "address": "rcode://success"
      }
    ],
    "rules": [
      {
        "geosite": "category-ads-all",
        "server": "block",
        "disable_cache": true
      },
      {
        "outbound": "any",
        "server": "local"
      },
      {
        "geosite": "cn",
        "server": "local"
      }
    ],
    "strategy": "ipv4_only"
  },
  "inbounds": [
    {
      "type": "tun",
      "inet4_address": "172.19.0.1/30",
      "auto_route": true,
      "strict_route": false,
      "sniff": true
    }
  ],
  "outbounds": [
    {
      "type": "hysteria2",
      "tag": "proxy",
      "server": "ip",
      "server_port": 443,
      "up_mbps": 20,
      "down_mbps": 50,
      "password": "123456",
      "tls": {
        "enabled": true,
        "server_name": "bing.com",
        "insecure": true
      }
    },
    {
      "type": "direct",
      "tag": "direct"
    },
    {
      "type": "block",
      "tag": "block"
    },
    {
      "type": "dns",
      "tag": "dns-out"
    }
  ],
  "route": {
    "rules": [
      {
        "protocol": "dns",
        "outbound": "dns-out"
      },
      {
        "geosite": "cn",
        "geoip": [
          "private",
          "cn"
        ],
        "outbound": "direct"
      },
      {
        "geosite": "category-ads-all",
        "outbound": "block"
      }
    ],
    "auto_detect_interface": true
  }
}
ip需要修改

我的世界服务器搭建

安装Java

Java有很多个版本,如果你玩的是最新几个版本的我的世界,需要安装Java OpenJDK 17

apt install openjdk-17-jre-headless -y

命令中的软件名带有jre-headless的词,这是一种简化版的Java OpenJDK 17

安装普通版

apt install openjdk-17-jdk -y

如果服务器安装不了可以试着搜索支持的jdk版本

apt search openjdk

我的armbian只支持jdk11

安装我的世界服务器端程序

下载:我的世界的官方网站

如果Minecraft网站弹出一个对话框建议你去网易,这种情况只要点击对话框底部的Stay on minecraft.net即可
wget https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar
注意最新的几个版本的我的世界对服务器系统内存配置有较高要求,一般需要20美元每月的VPS才能成功搭建,而2015前那些历史版本的我的世界只需要5美元每月的VPS就能搭建。如果你玩的是历史版本的我的世界,可以到mcversions.net找到相应版本的链接。

重命名

mv server.jar server_1.19.jar

配置和运行我的世界服务器

启动

java -Xms1024M -Xmx1024M -jar server_1.19.jar nogui
第一次使用这个指令时系统会提示有错误,提示必须同意用户协议,这并不是真的错误,而是我的世界故意设计的,目的是为了引导用户阅读它的用户协议。以上的指令虽然提示有错误,但创建了两个新文件,一个是用户协议eula.txt,一个是配置文件server.properties,用来设置游戏模式、难度等属性。
为使我的世界程序能够正式运行,需要同意它的用户协议,方法是编辑修改eula.txt内容。
vi eula.txt

界面会切入到用户协议的内容页面,内容如下所示。

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Thu Jun 30 10:28:12 UTC 2022
eula=false

“eula=false”, false改为true

编辑配置文件

vi server.properties

文件内容会像下面显示的一样。

#Minecraft server properties
#Thu Jun 30 10:28:37 UTC 2022
enable-jmx-monitoring=false
rcon.port=25575
level-seed=
gamemode=survival
enable-command-block=false
enable-query=false
generator-settings={}
level-name=world
motd=A Minecraft Server
query.port=25565
pvp=true
generate-structures=true
difficulty=easy
network-compression-threshold=256
max-tick-time=60000
require-resource-pack=false
use-native-transport=true
max-players=20
online-mode=true
enable-status=true
allow-flight=false
broadcast-rcon-to-ops=true
view-distance=10
server-ip=
resource-pack-prompt=
allow-nether=true
server-port=25565
enable-rcon=false
sync-chunk-writes=true
op-permission-level=4
prevent-proxy-connections=false
hide-online-players=false
resource-pack=
entity-broadcast-range-percentage=100
simulation-distance=10
rcon.password=
player-idle-timeout=0
force-gamemode=false
rate-limit=0
hardcore=false
white-list=false
broadcast-console-to-ops=true
spawn-npcs=true
spawn-animals=true
function-permission-level=2
level-type=default
text-filtering-config=
spawn-monsters=true
enforce-whitelist=false
resource-pack-sha1=
spawn-protection=16
max-world-size=29999984
difficulty (难度) – 设置游戏的难度,默认是easy简单,共有peaceful容易、easy简单、normal普通、hard困难几个选项,如像把游戏改难一点,可以把easy改成normal或hard,反之可以改成最简单的peaceful。
gamemode (游戏模式) – 设置游戏的模式,默认是生存模式,可供设置的选项有survival生存模式、creative创造模式、 adventure冒险模式、spectator旁观模式。
pvp – 设置玩家之间能否对打,默认是true,如果改成false,玩家之间将不能互相攻击伤害对方。
max-players(最多玩家数量)– 设置最多玩家数量。

如果不是正版账号,需要将online-mode=true改为false

正式启动我的世界服务器程序

编辑完eula.txt后就可以正式启动我的世界服务器端程序了,方法是再次使用上面用到的那个java指令,但要按自己需求调整参数:

java -Xms2G -Xmx4G -jar server_1.19.jar nogui

相比第一次使用这个指令,这次正式启动游戏程序需要把Xms和Xmx参数改成自己需要的,Xms设置的是服务器启动时的RAM的大小,-Xms2G就是把服务器启动时的RAM设成2G,单位是M或G都可以,如果采用M,就输入Xms2048M。Xmx设置的是服务器运行时允许使用的最大RAM的值,-Xmx4G就是限制游戏最多使用4G的RAM。具体设置多少要看自己选择的服务器RAM大小有多少,如果选择的是只有1G或2G的服务器就不能设这么高。

指令中的-jar后面跟随的就是要运行的jar文件名称,就是我们上面下载的jar文件,如果没有重命名,就得把命令中的server_1.19.jar改成server.jar,如果你下载的是其他版本的我的世界服务器jar文件或命名成了其他名称,就改成相应的名称。
指令中的nogui就是要求服务器不要启动图形用户界面,因为服务器不需要图形用户界面。

写在后面:

不同版本的客户端需要对应版本的服务器才可以连的上,不同版本的服务器配置文件略有不同,大致上都一样,2015年以前版本的服务器没有 用户协议eula.txt

Armbian安装aria2下载器

aria2是一个跨平台的快速而且可靠的下载工具,支持HTTP(S)、FTP、SFTP、BitTorrent、Metalink 等协议。Github上或项目主页查阅aria2的官方文档。

安装

apt install aria2

配置

创建aria2文件夹

mkdir /etc/aria2

创建aria2.session

touch /etc/aria2/aria2.session
这个文件主要是用来保存下载任务会话的,也就是退出aria2后,下次启动可以直接从这里读取上一次没完成的下载任务。

创建aria2.conf

aira2的各种设置都会放在aria2.conf这里。命令如下:

vi /etc/aria2/aria2.conf

在aria2.conf中输入如下内容:

## 文件保存相关 ##
 
# 文件保存目录
dir=/home/naonao/Downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true
 
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=trunc
 
## 下载连接相关 ##
 
# 最大同时下载任务数, 运行时可修改, 默认: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=yourpassword
# 启动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

来自:

https://www.cnblogs.com/likecs/p/11582984.html

官方手册

退出保存即配置完毕。

启动

执行下面的命令启动aria2,后面的路径是配置文件所在位置:

aria2c --conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息(注意,warn和notice都不算,只有出现error才是错误),那就按ctrl+c停止上面的语句,运行此句:

aria2c --conf-path=/etc/aria2/aria2.conf -D

-D是后台运行的意思。(注意,这里复制时--conf-path前面的是两个“-”,直接复制可能会出问题)

设置自启

cd /opt
touch aria.sh
echo "aria2c --conf-path=/etc/aria2/aria2.conf -D" >>aria.sh
chmod +x aria.sh
vi /etc/rc.local   #将  /opt/aria.sh 写到第一行

安装和配置AriaNG

部署AriaNG

AriaNG是aria2的Web UI,要想使用AriaNG,首先要配置好nginx环境

下载:Github

解压到你的网站目录

配置AriaNG

AriaNG其实不需要怎么配置,因为AriaNG只是一个WebUI。需要注意的是。如果在aria.conf中配置了密钥,需要在如下位置输入:

Armbian安装Aria2下载器

至此,aria2的基本配置就完成了。

Aria2进阶配置

配置权限问题

vi /etc/aria2/aria2.sh
#!/bin/sh
chmod -R 777 /xxx/xxx (这个目录是Aria2的下载目录)
chmod +x /etc/aria2/aria2.sh

在aria2.conf里加一句:

on-download-complete=/etc/aria2/aria2.sh

frp 的搭建——内网穿透

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

下载 release

找到合适的版本 我的vps是amd64 玩客云是armv7 (下载arm版)

查看linux版本:

uname -m

下载:

cd /opt
mkdir frp
cd ./frp
wget https://github.com/fatedier/frp/releases/download/v0.51.2/frp_0.51.2_linux_arm.tar.gz
tar -xf  frp_0.51.2_linux_arm.tar.gz 

使用:

服务器端:

赋予执行权限

cd ./frp_0.51.2_linux_arm 
chmod +x frps    

编辑配置文件

vi frps.ini

frps.ini 内容

[common]
bind_port = 7000
vhost_http_port = 8080

启动:

./frps -c ./frps.ini

客户端:

赋予执行权限

cd ./frp_0.51.2_linux_arm 
chmod +x frpc    

编辑配置文件

vi frpc.ini

frpc.ini 内容

[common]
server_addr = x.x.x.x
server_port = 7000

[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com

"[web]"这个方括号内是可以随便修改,关键是下面的type = http不要改

server_port 要和 bind_port 一致

server_addr 填服务器地址

local_port 填本地要对外开放的端口

custom_domains 是服务器端要重定向至frp的域名

启动:

./frpc -c ./frpc.ini

其他示例:官方文档