最近发现了一个俄罗斯人开发的代理面板:Remnawave,我被其颜值深深吸引了,然后安装试了一下发现这面板还挺好用,中看又中用的那种!遂记录下折腾笔记。
先简单说一下个人使用体验,因为这个面板基于Xray-core,所以有些协议是没办法支持的,比如hy2,anytls这些,算是小小的遗憾吧。这是我最不爽的地方,不过也没办法。当然也有亮点,那就是最近Xray-core新出的xhttp。只能说有得有失=。=
然后这个面板要上手的话还是有点难度的,它有几个概念初次用的话可能会有点摸不着头脑,这些稍后再详细说。
再就是虽然它是一个面板,但还是需要你自己搓配置文件,无论是Xray-core的配置还是订阅用到的json配置都是需要自己手搓的。虽然官方有提供一些配置模板,但是实测下来都不太适合中国用户使用。
那这篇文章先记录下安装的步骤,实际上官方的安装文档写的很详细了,但是我用来部署的这台机器有点特殊(没有公网IP)所以我没有用NGINX反代,而是用的Pangolin。至于Pangolin是什么,可以先看看这篇文章
安装Docker:
apt -y update apt -y install curl curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh
创建目录,在目录内下载compose文件和.env配置文件:
mkdir /opt/remnawave && cd /opt/remnawave curl -o docker-compose.yml https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/docker-compose-prod.yml curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample
配置.env文件,生成secure keys,程序安全运行的保障,必须设置复杂一点,可以用下面的命令自动生成:
sed -i "s/^JWT_AUTH_SECRET=.*/JWT_AUTH_SECRET=$(openssl rand -hex 64)/" .env && sed -i "s/^JWT_API_TOKENS_SECRET=.*/JWT_API_TOKENS_SECRET=$(openssl rand -hex 64)/" .env
生成密码,注意这个密码不是管理员的密码,这个密码仅仅用作访问后端的一些服务用,一般是不需要用到的,也可以用下面的命令自动生成:
sed -i "s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/" .env && sed -i "s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/" .env
修改POSTGRES数据库密码,使用下面的命令自动生成一个随机密码即可:
pw=$(openssl rand -hex 24) && sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/" .env && sed -i "s|^\(DATABASE_URL=\"postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|" .env
再手动编辑.env配置文件:
nano .env
修改如下配置为你的域名,我这里演示就用example.com:
FRONT_END_DOMAIN=remnawave.example.com SUB_PUBLIC_DOMAIN=remnawave.example.com/api/sub
启动:
docker compose up -d
现在需要配置反向代理,我这里用Pangolin来反代,因为我这机器没有公网IP(我自己的Proxmox VE开的小鸡)。如果你是有公网IP的机器可以直接参考官方的反代文档
在Pangolin里面创建站点,隧道类型选择Newt:
往下看会有Linux系统安装的命令,但是这个仅在前台运行:
wget -O newt "https://github.com/fosrl/newt/releases/download/1.4.2/newt_linux_amd64" && chmod +x ./newt mv newt /usr/local/bin
现在要让它在后台一直运行,需要创建一个systemd服务:
nano /etc/systemd/system/newt.service
写入如下配置:
[Unit] Description=Newt After=network.target [Service] ExecStart=/usr/local/bin/newt --id yourid --secret yoursecret --endpoint https://pangolin.example.com Restart=always User=root [Install] WantedBy=multi-user.target
启动并设置开机自启:
systemctl enable --now newt.service
确保它是在线的状态:
接下来创建资源,指定刚创建的站点,并设置一个子域名,这个域名就是用来访问Remnawave的:
资源创建完成后,首先来到Authentication,将Pangolin自带的这个验证功能关掉:
来到Proxy–>Targets Configuration,按如图所示添加一个代理,IP/Hostname:127.0.0.1,Port:3000:
如果正常的话现在就能通过remnawave.example.com访问到Remnawave面板了。创建你的管理员账号并登录,这就是Remnawave面板首页的样子:
这篇文章就先写到这里,下篇文章介绍Remnawave节点的安装与配置。