安装 soga 后端
https://github.com/sprov065/soga

docker 启动方式请查看:https://github.com/sprov065/soga/wiki

soga 后端是一个支持 v2ray 和 trojan 的后端

v2ray
soga 后端针对 v2ray 占内存的特点使用 C 语言特别优化了 v2ray 的内存占用,在相同用户数量和 alterId 下,相对于原版 v2ray 来说可节省 40-60% 的内存空间,用户数量越多,节省的内存就越多。

trojan
trojan 相对于 v2ray 来说更轻量和高效,在大量用户下也几乎不占多少内存,推荐优先选择 trojan。

一键安装,安装完成不要着急启动,查看后面的教程进行对接

bash <(curl -Ls https://github.com/sprov065/soga/raw/master/soga.sh)

soga 管理命令
soga - 显示管理菜单 (功能更多)
soga start - 启动 soga
soga stop - 停止 soga
soga restart - 重启 soga
soga status - 查看 soga 状态
soga enable - 设置 soga 开机自启
soga disable - 取消 soga 开机自启
soga log - 查看 soga 日志
soga update - 更新 soga
soga install - 安装 soga
soga uninstall - 卸载 soga
五、对接 soga 后端 v2ray 功能
同步时间(重要)
v2ray 节点需要进行时间同步,时间若与客户端相差太大则无法连接

CentOS 7

yum install -y ntp
systemctl enable ntpd
ntpdate -q 0.rhel.pool.ntp.org
systemctl restart ntpd

Debian 9 / Ubuntu 16

apt-get install -y ntp
systemctl enable ntp
systemctl restart ntp

进入管理面板,添加一个 v2ray 节点

添加节点
如图,节点地址格式按照以下说明进行配置,其余配置自行设置

节点配置
设置节点地址
假设有域名 hk.aaa.com,根据具体示例开启或未开启 CDN,服务器 IP 为 1.3.5.7
path 参数需以 / 开头
server 参数是显示给用户连接的地址,在开启 CDN 的情况下一定要填 CDN 域名,否则将无法使用 CDN
NAT 时使用 inside_port,inside_port 表示节点内部监听的端口,当 NAT 商家提供给你的外部端口和你服务器监听的内部端口不一致时使用
节点地址格式:
IP;用户连接的端口;alterId;(tls或不填);(tcp或ws);path=/xxx|host=xxxx.com|server=xxx.com|inside_port=xxx
tcp 示例,请注意 tcp 后面有两个分号
ip;12345;2;tcp;;server=域名
示例:1.3.5.7;12345;2;tcp;;server=hk.domain.com
tcp + tls 示例
ip;12345;2;tcp;tls;server=域名|host=域名
示例:1.3.5.7;12345;2;tcp;tls;server=hk.domain.com|host=hk.domain.com
ws 示例,若不用 CDN,可以去掉 host,注意ws前有两个分号
ip;80;2;ws;;path=/xxx|server=域名|host=CDN域名
示例:1.3.5.7;80;2;ws;;path=/v2ray|server=hk.domain.com|host=hk.domain.com
ws + tls 示例,若不用 CDN,可以去掉 host
ip;443;2;ws;tls;path=/xxx|server=域名|host=CDN域名
示例:1.3.5.7;443;2;ws;tls;path=/v2ray|server=hk.domain.com|host=hk.domain.com
偏移端口 ws
当用户连接端口与程序监听端口不一致时使用,例如,中转机器连接端口与后端监听端口不同时

ip;监听端口;2;ws;;path=/xxx|server=域名|host=CDN域名|outside_port=用户连接端口
中转使用场景解释

落地服务器IP;落地服务器监听端口;2;ws;;path=/xxx|server=转发服务器IP或域名|host=CDN域名|outside_port=转发服务器监听端口
示例:1.3.5.7;80;2;ws;;path=/v2ray|server=hk.domain.com|host=hk.domain.com|outside_port=34567
偏移端口 ws + tls
当用户连接端口与程序监听端口不一致时使用,例如,中转机器连接端口与后端监听端口不同时

ip;监听端口;2;ws;tls;path=/xxx|server=域名|host=CDN域名|outside_port=用户连接端口
中转使用场景解释

落地服务器IP;落地服务器监听端口;2;ws;tls;path=/xxx|server=转发服务器IP或域名|host=CDN域名|outside_port=转发服务器监听端口
示例:1.3.5.7;443;2;ws;tls;path=/v2ray|server=hk.domain.com|host=hk.domain.com|outside_port=34567
tcp 模式也是同理,这里不再举例。

配置 soga
编辑配置文件 /etc/soga/soga.conf

基础配置
type=sspanel-uim # 必填这个
server_type=v2ray # 必填这个
api=webapi # webapi 或 db,表示 webapi 对接或数据库对接

webapi 对接

webapi_url=https://xxx.com/ # webapi url,填写面板主页地址
webapi_mukey=xxxx # webapi key

数据库对接

db_host=db.xxx.com # 数据库地址
db_port=3306 # 数据库端口
db_name=name # 数据库名
db_user=root # 数据库用户名
db_password=asdasdasd # 数据库密码

node_id=1 # 节点id
soga_key= # 授权key,社区版无需填写,最多支持88用户,商业版无限制
user_conn_limit=0 # 限制用户IP数,0代表无限制,默认会优先使用面板设置的限制IP数,在部分旧版面板下可能会获取不到,则使用这个值

force_close_ssl=false # 设为true可强制关闭tls,即使前端开启tls,soga也不会开启tls,方便用户自行使用nginx、caddy等反代
配置证书
若未开启 tls,则无需配置证书

soga 支持三种方式配置证书,任选其一即可

① 手动指定证书路径

以 / 开头的绝对路径
cert_file= # 手动指定证书路径
key_file= # 手动指定密钥路径
② http 模式自动申请证书(推荐)

确保服务器中没有其它程序占用 80 端口,申请和续签时需要临时使用
确保域名已解析到本服务器的IP
确保未开启CDN,若需开启CDN,则推荐方式三
cert_domain=xxx.com # 申请证书的域名
cert_mode=http # 申请模式
③ dns 模式自动申请证书

支持一百多种 DNS 服务商
此配置方式较复杂,但最通用
该页面列出了所有支持的 DNS 服务商:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
CloudFlare 配置示例

cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
dns_provider=dns_cf # DNS 提供商

[email protected] # CF 邮箱,注意加 DNS_ 前缀
DNS_CF_Key=xxxxx # CF API 密钥,注意加 DNS_ 前缀
DNSPod 配置示例

cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
dns_provider=dns_dp # DNS 提供商

DNS_DP_Id=111 # DNSPod 用户 id,注意加 DNS_ 前缀
DNS_DP_Key=xxxxx # DNSPod API 密钥,注意加 DNS_ 前缀
其它的 DNS 服务商都能在这个页面找到:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

配置要点:

找到 DNS 提供商的名称,以 dns_ 开头,后面跟提供商的缩写
找到 DNS 提供商所需要配置的内容,区分大小写,一般都是 API 密钥之类的,注意要在 soga 配置中加上 DNS_ 前缀,防止配置冲突
启动 soga
若启动失败,则使用 soga log 查看日志输出,并检查所有的配置是否有误

soga start
六、对接 soga 后端 trojan 功能
进入管理面板-节点列表,添加一个 Trojan 节点,其余配置自行设置

添加 trojan 节点
配置节点地址
节点地址格式:
域名或IP;port=连接端口#偏移端口 (偏移端口可选)
示例:
未加入偏移端口,后端实际监听 443 端口,用户连接 443 端口

hk.aaa.com;port=443
偏移端口
加入偏移端口后,后端实际监听 12345 端口,用户连接 443 端口

hk.aaa.com;port=443#12345
中转使用场景

1
hk.aaa.com;port=落地机监听端口#中转机监听端口
配置 soga
编辑配置文件 /etc/soga/soga.conf

基础配置
type=sspanel-uim # 必填这个
server_type=trojan # 必填这个
api=webapi # webapi 或 db,表示 webapi 对接或数据库对接

webapi 对接

webapi_url=https://xxx.com/ # webapi url,填写面板主页地址
webapi_mukey=xxxx # webapi key

数据库对接

db_host=db.xxx.com # 数据库地址
db_port=3306 # 数据库端口
db_name=name # 数据库名
db_user=root # 数据库用户名
db_password=asdasdasd # 数据库密码

node_id=1 # 节点id
soga_key= # 授权key,社区版无需填写,最多支持88用户,商业版无限制
user_conn_limit=0 # 限制用户IP数,0代表无限制,默认会优先使用面板设置的限制IP数,在部分旧版面板下可能会获取不到,则使用这个值
trojan_remote_addr=127.0.0.1 # trojan 反代地址,防止主动探测,务必搭建一个http服务
trojan_remote_port=80 # trojan 反代端口,防止主动探测,务必搭建一个http服务
配置证书
若未开启 tls,则无需配置证书

soga 支持三种方式配置证书,任选其一即可

① 手动指定证书路径

以 / 开头的绝对路径
cert_file= # 手动指定证书路径
key_file= # 手动指定密钥路径
② http 模式自动申请证书(推荐)

确保服务器中没有其它程序占用 80 端口,申请和续签时需要临时使用
确保域名已解析到本服务器的IP
确保未开启CDN,若需开启CDN,则推荐方式三
cert_domain=xxx.com # 申请证书的域名
cert_mode=http # 申请模式
③ dns 模式自动申请证书

支持一百多种 DNS 服务商
此配置方式较复杂,但最通用
该页面列出了所有支持的 DNS 服务商:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
CloudFlare 配置示例

cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
dns_provider=dns_cf # DNS 提供商

[email protected] # CF 邮箱,注意加 DNS_ 前缀
DNS_CF_Key=xxxxx # CF API 密钥,注意加 DNS_ 前缀
DNSPod 配置示例

cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
dns_provider=dns_dp # DNS 提供商

DNS_DP_Id=111 # DNSPod 用户 id,注意加 DNS_ 前缀
DNS_DP_Key=xxxxx # DNSPod API 密钥,注意加 DNS_ 前缀
其它的 DNS 服务商都能在这个页面找到:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

配置要点:

找到 DNS 提供商的名称,以 dns_ 开头,后面跟提供商的缩写
找到 DNS 提供商所需要配置的内容,区分大小写,一般都是 API 密钥之类的,注意要在 soga 配置中加上 DNS_ 前缀,防止配置冲突
启动 soga
若启动失败,则使用 soga log 查看日志输出,并检查所有的配置是否有误

soga start
七、购买 soga 后端商业版
目前 soga 社区版最多支持 88 名用户,若需要解除此限制,需要购买商业版,详情请点击:https://github.com/sprov065/soga/wiki


4.1 安装docker

yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
systemctl start docker
systemctl enable docker

4.2 安装docker-compose

curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

4.3 定义docker-compose.yml

mkdir /root/soga
cd /root/soga
touch docker-compose.yml
version: "3"
services:
  soga:
    image: sprov065/soga:latest
    restart: on-failure
    ports:
      - "80:80"
      - "443:443"
    environment:
      type: v2board
      server_type: trojan
      api: webapi
      webapi_url: https://v2b.vpc123.xyz/
      webapi_mukey: 12345678901qazxs
      node_id: 8
      cert_domain: soga002.vpc123.xyz
      cert_mode: http
      force_close_ssl: 'false'              # 填写 false 或 true 参数值时需要加引号
      forbidden_bit_torrent: 'true'         # 填写 false 或 true 参数值时需要加引号
    volumes:
      - "/etc/soga/:/etc/soga/"

4.4 定义soga的配置文件

mkdir /etc/soga
touch /etc/soga/soga.config
type=v2board
server_type=trojan
api=webapi
webapi_url=https://v2b.vpc123.xyz/
webapi_mukey=xxxxxxxxxx
db_host=107.148.xxx.xxx
db_port=33306
db_name=soga002
db_user=root
db_password=lys!QAZ1qaz
node_id=8
soga_key=
user_conn_limit=0
user_speed_limit=0
check_interval=100
cert_mode=http
cert_domain=soga002.vpc123.xyz
dns_provider=8.8.8.8,1.1.1.1
force_close_ssl=false
forbidden_bit_torrent=false
dns_cache_time=10
auto_update=false

4.5 启动soga

docker-compose up                   # 前台启动soga,主要观察日志使用
docker-compose up -d                # 后台启动soga,长期运行
docker-compose logs --tail=500      # 截取输出最后500行日志
docker-compose down                 # 停止并删除容器
docker-compose restart              # 重启
docker-compose pull 

Docker安装(安装好docker后)

拉取镜像

docker pull rmanluo/crack-soga

运行镜像,参数请参考soga自带教程。

···
docker run –restart=always –name crack-soga -d -v /etc/soga/:/etc/soga/ –network host rmanluo/crack-soga \
–type=sspanel-uim \
–server_type=v2ray \
–api=webapi \
–webapi_url=https://cocoyun.xyz/ \
–webapi_mukey=coco \
–soga_key=mgwx \
–node_id=36
···
示例:

前端

xxx.com;443;2;ws;;path=/v2ray|host=xxxx.com

后端

docker pull rmanluo/crack-soga
docker run –restart=always –name crack-soga -d -v /etc/soga/:/etc/soga/ –network host rmanluo/crack-soga \
–type=sspanel-uim \
–server_type=v2ray \
–api=webapi \
–webapi_url=https://xxxx.com/ \
–webapi_mukey=520\
–soga_key=520 \
–node_id=55
最后编辑:2021年09月19日 ©著作权归作者所有

发表评论