技术更新很快,需要对接支持联系群主
内容目录
一键安装&更新
bash <(curl -Ls https://blog.sprov.xyz/soga.sh)
或者,两个都可以
bash <(curl -Ls https://raw.githubusercontent.com/sprov065/soga/master/install.sh)
同步时间(重要)
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
第一步,配置前端节点地址
- 假设有域名 hk.domain.com,根据具体示例开启或未开启 CDN,服务器 IP 为 1.3.5.7
- path 参数需以 / 开头
- server 参数是显示给用户连接的地址,在开启 CDN 的情况下一定要填 CDN 域名,否则将无法使用 CDN
- NAT 时使用 inside_port,inside_port 表示节点内部监听的端口,当 NAT 商家提供给你的外部端口和你服务器监听的内部端口不一致时使用
节点地址格式:
IP;用户连接的端口;alterId;(tcp或ws);(tls或不填);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
配置命令:
# 输出当前配置文件内容
soga config
# 对配置文件进行配置,一次可填写多个,也可以调用多次
soga config xxx=xxx yyy=yyy
第一次安装完成后,编辑配置文件:
配置文件位置在 /etc/soga/soga.conf
配置文件位置在 /etc/soga/soga.conf
配置文件位置在 /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等反代
default_dns=8.8.8.8,1.1.1.1 # 配置默认dns,可在此配置流媒体解锁的dns,以逗号分隔
dns_cache_time=10 # 自定义dns缓存时间,单位分钟,仅在设置了default_dns时有效,或者v2board设置了dns规则时也有效
v2ray_reduce_memory=false # VMess 下有效,在已降低内存的基础上进一步降低内存使用,启用后客户端时间误差要求不超过15秒
proxy_protocol=false # 具体请参看中转获取真实 IP 教程
v2ray_fallback_addr= # v2ray fallback 地址,仅 tcp+tls 可使用
v2ray_fallback_port=0 # v2ray fallback 端口,仅 tcp+tls 可使用
auto_update=false # soga 自动更新,只会检测稳定版
vless=false # 设为 true 可切换为 VLESS 协议,目前 VLESS 协议未完全开发完成,仅供测试
vless_flow= # vless 流控,具体请参考 v2ray 官方文档
xtls=false # 设为 true 即可开启 xtls,仅支持 tcp + tls 时开启
配置证书
若未开启 tls,则无需配置证书
soga 支持三种方式配置证书,任选其一即可
① 手动指定证书路径
- 以 / 开头的绝对路径
cert_file= # 手动指定证书路径
key_file= # 手动指定密钥路径
② http 模式自动申请证书(推荐)
- 确保服务器中没有其它程序占用 80 端口,申请和续签时需要临时使用
- 确保域名已解析到本服务器的IP
- 若开启CDN,则必须确保CDN不会跳转https,否则推荐dns验证
cert_domain=xxx.com # 申请证书的域名
cert_mode=http # 申请模式
cert_key_length=ec-256 # 留空则申请RSA证书,填写ec-256或ec-384则申请ECC证书
③ dns 模式自动申请证书
- 支持一百多种 DNS 服务商
- 此配置方式较复杂,但最通用
- 该页面列出了所有支持的 DNS 服务商:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
CloudFlare 配置示例
cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
cert_key_length=ec-256 # 留空则申请RSA证书,填写ec-256或ec-384则申请ECC证书
dns_provider=dns_cf # DNS 提供商
DNS_CF_Email=xxx@xx.com # CF 邮箱
DNS_CF_Key=xxxxx # CF API Global Key
DNSPod 配置示例
cert_domain=xxx.com # 申请证书的域名
cert_mode=dns # 申请模式
cert_key_length=ec-256 # 留空则申请RSA证书,填写ec-256或ec-384则申请ECC证书
dns_provider=dns_dp # DNS 提供商
DNS_DP_Id=111 # DNSPod 用户 id
DNS_DP_Key=xxxxx # DNSPod API 密钥
其它的 DNS 服务商都能在这个页面找到:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
配置要点:
- 搜索 DNS 提供商的名称,并找到命令中 --dns dns_xxx 的内容,这个 dns_xxx 就是你要填的
- 再看看 DNS 提供商所需要配置的内容,区分大小写,一般都是 API 密钥之类的,注意要在 soga 配置中加上 DNS_ 前缀,防止配置冲突
第三步、启动 soga
soga start