easy wg quick

2025-12-11 0 561

易于wg-Quick

easy-wg-quick-轻松地为轮毂和同行创建线芯配置

  • 入门
    • Docker
    • Terraform
    • 先决条件
    • 安装
  • 用法
    • 特殊用法
    • 样本输出
    • 使用生成的配置
  • 微调
    • 禁用外部接口自动检测
    • 禁用外部IP地址自动检索
    • 禁用随机端口分配
    • 禁用随机生成的内部网络地址
    • 设置接口的最大传输单元(MTU)大小
    • 设置自定义DNS
    • 设置自定义客户端的AllowedIPs
    • 选择防火墙类型
    • 选择是否应启用/延期启用/禁用IP转发
    • 启用IPv6
    • 启用NDP代理(而不是默认的IPv6伪装)
    • 重定向DNS
    • 交通控制
    • 坚持使用SystemD的配置
  • 执照
  • 致谢

入门

这些说明将使您在本地计算机上启动并运行该项目的副本。该机器(称为集线器)将充当VPN浓缩器。所有其他同行都连接到集线器(如“道路战士”配置中)。

Docker

基于Alpine Linux,Wineguard Tools和Libqrencode的Docker容器图像可从ghcr.io获得。

 curl -4 ifconfig.co/ip > extnetip.txt
docker run --rm -it -v \"$PWD:/pwd\" ghcr.io/burghardt/easy-wg-quick

请注意, extnetip.txt必须通过上面的curl命令与服务器IP填充,或者如果您使用主机上的生成配置(而不是容器)。

Terraform

可以从TF-GCP-easy- easy-wg-quick -WG-Quick的Terraform代码。

先决条件

在本地机器,路由器,VPS或容器上安装操作系统的Vireguard。这将是您的枢纽。

作为依赖/bin/shwgwg-quickawkgrepip命令,应在集线器上可用。如果没有ip ,则需要用户将脚本中的EXT_NET_IFEXT_NET_IP变量设置为外部网络接口名称和IP地址(或edit wghub.conf )。可选的qrencode可用于生成用于移动应用程序的QR码。

Debian,Ubuntu

 sudo apt install wireguard-tools mawk grep iproute2 qrencode

Fedora,Rhel,Centos

 sudo dnf install wireguard-tools gawk grep iproute qrencode

freebsd

 sudo pkg install net/wireguard-tools graphics/libqrencode

macos

 brew install wireguard-tools qrencode

安装线虫工具(和模块)

此脚本仅需要安装工具,但是还需要使用VireGuard模块(或用户空间实现)。详细的各种操作系统的安装指南可在Wileguard.com/install上找到。

同行还需要安装线虫。支持Android和iOS。 UCI配置片段支持OpenWRT客户端。

安装

只需下载脚本并使其与chmod可执行。

 wget https://raw.gith*ubuserco*nt*ent.com/burghardt/easy-wg-quick/master/easy-wg-quick
chmod +x easy-wg-quick

请注意,您也可以使用一个简短的URL。

 wget https://*git.i*o/*fjb5R -O easy-wg-quick
chmod +x easy-wg-quick

或克隆存储库。

 git clone https://gi**thub.*com/burghardt/easy-wg-quick.git

用法

脚本不需要任何参数。只需运行它,它将为轮毂和一个对等式创建可用的线虫配置。任何顺序调用都会在同一集线器中创建另一种对等配置。

 ./easy-wg-quick # 1st run creates hub configuration and one client
./easy-wg-quick # any other runs creates additional clients

将参数传递给脚本会创建使用名称而不是序列编号的配置文件,以帮助记住哪个配置是哪个设备。以下命令将创建wgclient_client_name.conf文件。

 ./easy-wg-quick client_name

特殊用法

-h / —螺旋

显示所有支持参数的帮助。

-i / – int

将初始配置写入文本文件而不创建客户端或集线器配置。如果要更改自动检测或默认配置值,此选项将很有用。重复使用客户端名称的脚本以创建最终配置。

-c / – 清除

要重新开始,手动删除所有*.bak*.conf*.key*.psk文件。如果您还需要删除初始配置选项,还可以删除所有*.txt文件。该脚本没有删除任何内容。

-D / – 安装wg-Quick

此选项将根据当前操作系统(支持Linux,FreeBSD,OpenBSD和Darwin)从官方Wireguard GitHub镜像中下载并安装WG-Quick脚本。

如果作为root运行,它将在/usr/local/sbin中安装wg-quick 。如果作为普通用户运行,它将使用$HOME/.local/bin

-U / – 升级

这将下载该脚本的最新版本,并将原始文件替换为下载的版本。

样本输出

 No seqno.txt... creating one!
No wghub.key... creating one!
No wghub.conf... creating one!
WireGuard hub address is 10.13.1.140:51820 on wlp9s0.
Note: customize [Interface] section of wghub.conf if required!

Note: passing argument to script creates client configuration with supplied
      name to help remembering which config was for which device. If you
      didn\'t pass any argument you can still rename created file manually
      with command:
  mv -vi wgclient_10.conf wgclient_name.conf

No wgclient_10.conf... creating one!
█████████████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████████████
████ ▄▄▄▄▄ █▀██ ▀▄▀▄█▄ ▀▄ █▀▀▄█▄▄▀ ▄▀██▀▀▀▀█▄  █▀▀▄█  ▄▀▀ █▄▀█ ▄▄▄▄▄ ████
████ █   █ █▀▄▀ ▀█▀▄▄▄ ▄ ▀█ ▄██▄█ ▀▀▄ ███▀▀▄▄  ▀ ▄▄▀███▄▀▀ ▀▄█ █   █ ████
████ █▄▄▄█ █▀▀▀██▀▄██  ▀▄███▀▀▀▀▄▄ ▄▄▄ ▄  ▀██  ▄█▀▀  █▀██▄▀█▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄█▄▀ ▀▄▀▄▀ ▀▄▀▄█ █▄█ █ █▄█ █ █ ▀ ▀▄█ ▀▄▀ ▀▄▀ ▀▄█▄█▄▄▄▄▄▄▄████
████▄▄   █▄ ▄ ██ ▄▄▄█ ▀█▀▄ ▀▄█▄▄█▄▄   ▄   █ █▀▄▀▄▀█▄▀▄▀▀▄▄ █▄ ▀▄▀ ▀ █████
█████▀ ▄▀▀▄▀▀▄█▀  █▀ ▀▀▄▀█▄█▄ ▄▀▀▄▄▄█ ▄▀▀█ ▄ ▀▀▄ ▄▄▄ ▀ █▀▀▀██▀▄█ ▄███████
████ ▄███ ▄▀█▄▀█▄▀ ███▀▀▀▀▀▀▄ ▄   ▀ ██▀  ▄███ ▄ ▀ ▀ ▄▄▀▄█▀▄▀▀ █▀ ▄▄▀ ████
█████▀  ▀▀▄ ▄▀▄▀▄██▄█  ▀ ▀▄▀█ █ █▀▀▄ ▀█▀▄▀█▀▀▄▄█▀ ██▀█▄▄▀█▄ ▀  ▀██▀▄▀████
████▀▄▄▀▀ ▄▄▄▄▄█ ▀█  ▀▀ ▀█ █▀█ ▀▀▄ ▀█▀██▀█ ▄▀▀▀▀▄▀   █▀▄▄▄ █ ▀▀▀ ▄▄ █████
████▀▄▄██ ▄▀▀▀▀█▄▄▄ ▀▄█ ▀▀ ▄▄▄ █▀▄   █▄▄ ▄███▀▄▀██   ▀▀██ ▄ ▀▄  ▄██▀▄████
████▄  ███▄  ▀▄█   ▄▀▄▀▀▀▀▄▀▀▄▄▀   ▄ ▄▄▄▀▄▄█▄▄ ▀█▄▄▀▀▀▄▄▄▀ ▀▄██▀ ▄▄  ████
████ █▄▀▀ ▄██▀▄ █▄▀▄ ▀ █▀ ▄ ▄██▀█ ▄ ██▀▄▄▀   █ ▄▄█  ▀▀  ▄▀█ ▄ ██ ▀▀▄▄████
████   ▄ ▀▄▄▄█▄█▀█▄ ▀▀▀ ▀▀▄▄█  ▀▄▀██ ▀▄█  █ █▄  █▀▀▀  ▀██  ▀▀ ▀▄▀ ██▀████
█████▄ ▀▄▀▄█▄ ▄▄▀█ ▄█   █▄▄▀ ▄▄▀█  ▄█▄▄▄ ▀▀▀▀ ▄▄  █ ▀▄█▄ ▄▄▀▀ █ ▀▄▀▄▄████
████ █▀█▀▄▄▀▀▄ ███ ▀█▀▀▄█▄ ▄  ▄███▀▄▄▀▀  ▀▀▀▀ ▄ █▄▀▄▄▄▀▄▀  ██ █▀ █  ▀████
█████▄▄█ ▄▄▄  █ ▄  ▀█▀ ▄█▀█▄  █▀▄▄ ▄▄▄ ▄  █▄█▄ ██▀▄█▀██▀   ▄ ▄▄▄ ▀▀▄█████
████▀█▀▄ █▄█ █▄█▄▀▀█ █▄▄  ▀███▀███ █▄█  ▄▄▄▀▀█ ▄██▀▀ ▀▀▄▄▄▄▄ █▄█ ██▄▀████
████   ▀ ▄▄  ▀█ ▄█  █▀ ▄█▄█▄▄▀████ ▄  ▄ ▄▄▄███▄▀██▄▄▄▄▄▀▄▄██ ▄ ▄▄▄█ ▄████
████ ▀ ▄▄ ▄ ▄▄ ▄▀▄█▄▀▀  █▄█▀ ▀█▀▀█ █▀██▀▀███▄▀▀▀█▄█▀  ▄█▄  ▄█▄█▀▄   ▀████
████▄▀▄▄▀▄▄█▀▄▄ █▄▄█▀  ▄▀▀█▄ ▄█▀██  ███ █▄▄█▀█▄▀▀▄ ▀▄▀▄ ▀██ ▀▀    ▀▀▄████
████  ▄▀▄▀▄▀ ▄▀▄ ▄  ▀█▄█  ▀▀▄█▄▀█▀▀▄██▀  ▄▀▀▄ ▄█▄██▀ ▄█▄▄▄ ▀ ██▄▀██▀▄████
████▀█ ▄█▄▄▄▄██▄ ▄▄▄█  ▄▀▄▄█▄█▄▀▀▀ █▀ █▀▀▄▀█▀█▀█▀▄█▄ ▀█▄█▀ ▀▄█▄█ ▄▀ ▄████
████▄▀▀█▄▄▄▀▀█▄ ▀█ ▄▀▄ ▀▀█▄▀▄▄▄ ▄▀ ▀▀▀▄▀█ █▀█  ▄▀ ▀█▄ ▀▀█▀▄▄█ █▄█▄██▀████
████▀█▀▄ ▀▄▄  █▄ ▀█▄   ▀ ▄▄▀█▀█▀▄██▀▄  ▄█▀█▀██▀ ▀▄█  ▀██▀▄█▄█▀ █ █▀ █████
█████ █ ▄▄▄ █▀  ▀██ ▀▄ ▄  █████▀█ ▄▀ ▄▄▄█ ▄▄█▄▄ ▄ ▄▄▄█▀▄▄▄▄▄▄▀ ▄█▄▄ █████
████▄█▄ ▄▀▄  ▄▀█▀██▄▀▄█▄█▀   ▄ █▀██ ▀▄ ▄▄▀▀▀▀█▀█ █▄  ▀▀ █  █▀ ▀ ▄██▀▄████
████▄▄ █ █▄▄▄▄ █ ▄▄▀█▄▀█ ▀▄▀ ▄▄ ▀ ▄█ █▄▀▀▄█▀▄  ▀███▀▀ ▄██  █▄▄█▀█▄▄▄▀████
████▀█▄ █▄▄█ █▀ ▄ ▀██ ▀ ▀▄▄▄▄██▄█▄▄▄█▄▄▄▀▀▄▀▄█▀ ▄█  ▄▀▄  ▀█  ▄█ ▄▄▀▄▄████
█████▄▄█▄█▄█▀▄█ ▀ █▄ ▀▀▀▀▀█▄█▄▄ ▄█ ▄▄▄  ▀▄▀██▄▄▀█▄▀▀  █▄█ ▄█ ▄▄▄ █ █▀████
████ ▄▄▄▄▄ █▄██▀▀█▀██▀▀▄█ ▄▀ ▄█▄█▀ █▄█    █▀▀▄█▄  █▄█▄▀█▀  █ █▄█ ▀▀▀▄████
████ █   █ █ █ ▀▄█ ▀███▄██▄▄  ▄ █ ▄▄ ▄▄█ ▄▀▀█▀▄▄▀▀█▄▄▄▀▀▀█ █   ▄▄▄▀ █████
████ █▄▄▄█ █  ▀▄ █▄▀█▀ ▄███▄  █ ▄ ▀█▄ ▄▀ ▀▄▀▀▄ █▀ ▄ ▀▄█▀▄█▀▄▄███▄▀▀ █████
████▄▄▄▄▄▄▄█▄▄██▄▄█▄█▄█▄▄▄▄█▄▄▄██▄█████▄▄█▄▄▄█▄▄████████▄▄▄█▄████████████
█████████████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████████████
Scan QR code with your phone or use \"wgclient_10.conf\" file.
Updating wghub.conf... done!

Important: Deploy updated wghub.conf configuration to WireGuard with wg-quick:
  sudo wg-quick down ./wghub.conf # if already configured
  sudo wg-quick up ./wghub.conf
  sudo wg show # to check status

使用生成的配置

在集线器配置Wireguard上。

 sudo wg-quick up ./wghub.conf

在对等扫描QR码或复制wgclient_10.conf上。再次显示QR码

 qrencode -t ansiutf8 < wgclient_10.conf

或使用保存的QR代码

 cat wgclient_10.qrcode.txt

要将整个网络与在OpenWRT路由器上运行的单个WireGuard客户端连接,请将生成的UCI客户端配置片段附加到您的路由器/etc/config/network文件。

 cat wgclient_10.uci.txt

最后,在集线器上检查一切是否与sudo wg show一起使用。

 interface: wghub
  public key: kbaG3HxSDz3xhqiTNXlo1fZkFa+V6oTl+w0cSAQKxwQ=
  private key: (hidden)
  listening port: 51820

peer: th8qYu0R0mgio2wPu1kz6/5OOgi6l8iy7OobK590LHw=
  preshared key: (hidden)
  endpoint: 10.60.1.150:37218
  allowed ips: 10.127.0.10/32
  latest handshake: 50 minutes, 22 seconds ago
  transfer: 32.64 MiB received, 95.24 MiB sent

微调

禁用外部接口自动检测

默认情况下, easy-wg-quick使用接口与VPN集线器的外部网络接口进行默认路由。如果自动检测失败或在集线器之外完成配置(IE在空气盖上的笔记本电脑上),则用户可以在extnetif.txt文件中设置接口名称:

 echo vtnet0 > extnetif.txt

禁用外部IP地址自动检索

默认情况下, easy-wg-quick使用接口的IP地址,该接口的IP地址在VPN集线器的外部IP地址上对其进行了默认路由。如果在防火墙或NAT/NAT/PAT/MASQUARADING后面进行枢纽,这可能不是事实。用户可以在extnetip.txt文件中设置首选IP地址:

 echo 192.168.1.2 > extnetip.txt

如果使用NAT/PAT/MASQUARADING,则可以尝试使用IfConfig.co之类的服务进行自动检测:

 curl -4 ifconfig.co/ip > extnetip.txt

对于IPv6地址,可以使用Curl的-6开关。需要围绕IPv6地址的括号:

 sed -i \'s/\\(.*\\)/[\\1]/\' extnetip.txt

禁用随机端口分配

默认情况下, easy-wg-quick使用范围1025-65535的随机端口号。当使用静态端口号进行防火墙配置或其他原因时,用户可以在portno.txt文件中设置首选端口号(在本示例中为80)。

 echo 80 > portno.txt

禁用随机生成的内部网络地址

默认情况下, easy-wg-quick使用IPv4和IPv6随机生成的内部网络地址。可以使用以下命令设置自定义网络地址。

 echo \"10.1.1.\"               > intnetaddress.txt   # for IPv4
echo \"fd90:d175:8e43:705d::\" > intnet6address.txt  # for IPv6

IPv4的默认蒙版为 /24,IPv6的默认掩码为 /64。

设置网络掩码

要更改默认蒙版,请在名为intnetmask.txtipv4)和intnet6mask.txt (ipv6)的文件中设置新的掩码。

 echo 172.16.0. > intnetaddress.txt
echo /16       > intnetmask.txt
echo fd9d:9648:0841:0c6e:3d28:94d9:: > intnet6address.txt
echo /112                            > intnet6mask.txt

设置接口的最大传输单元(MTU)大小

要更改默认接口的最大传输单元(MTU)大小为1280字节,请在名为intnetmtu.txt的文件中写下一个新值。 MINGUARD MTU应在1280和1420字节之间。

 echo 1380 > intnetmtu.txt

设置自定义DNS

设置IPv4解析器地址

默认情况下, easy-wg-quick使用1.1.1.1作为内部DNS。您可以使用下面的命令将自定义IPv4 DNS提供给客户端。

 echo 8.8.8.8 > intnetdns.txt

设置IPv6解析器地址

默认情况下, easy-wg-quick使用2606:4700:4700 :: 1111,因为它是内部DNS。您可以使用以下命令为客户提供自定义IPv6 DNS。

 echo 2001:4860:4860::8888 > intnet6dns.txt

设置自定义客户端的AllowedIPs

默认情况下,客户端的AllowedIPs变量设置为0.0.0.0/0, ::/0 ,通过VPN连接指导整个客户端的流量。如果要创建VPN拆分隧道配置,请在intnetallowedips.txt文件中存储所需的IP地址范围:

 echo \'172.16.1.0/24, 172.16.2.0/24\' > intnetallowedips.txt

选择防火墙类型

防火墙类型是从操作系统猜测的。用于Linux iptablesip6tables 。对于FreeBSD和MACOS,基本pf NAT规则已实施。

还有其他防火墙实现可供选择。下表比较了替代实现的功能。

防火墙类型 IPv4 MASQ IPv6 MASQ IPv6 NDP TCP MSS夹
iptables
nft
UFW
Firewalld _
pf _ _
自定义 /无

文件fwtype.txt包含防火墙类型的名称。覆盖自动检测或禁用任何规则运行以下命令之一:

 echo iptables  > fwtype.txt  # to choose Linux netfilter
echo nft       > fwtype.txt  # to choose Linux nftables
echo firewalld > fwtype.txt  # to choose [firewalld]
echo ufw       > fwtype.txt  # to choose Uncomplicated Firewall
echo pf        > fwtype.txt  # to choose OpenBSD PF
echo custom    > fwtype.txt  # to include predefined commands from file
echo none      > fwtype.txt  # to skip any setup during wg-quick up/down

如果fwtype.txt包含commands.txt的单词custom内容,则包含在wghub.conf文件中。

commands.txt的格式为:

 PostUp = echo \"command 1\"
PostUp = echo \"command 2\"
PostUp = ...

PostDown = echo \"command 1\"
PostDown = secho \"command 2\"
PostDown = ...

选择是否应启用/延期启用/禁用IP转发

从操作系统猜到了sysctl命令语法。支持Linux,FreeBSD(和MACOS)。由于启用IP转发需要集线器将VPN流量转发到Internet,因此默认情况下由邮政/末期设置来管理。

某些应用程序(即Docker)可能要求IP转发永远不会被禁用。在这种情况下,可能需要在sysctltype.txtnone设置,并且可能需要在其他地方管理IP转发设置。

文件sysctltype.txt包含sysctl类型的名称。覆盖自动检测或禁用任何命令,请使用以下命令之一:

 echo linux   > sysctltype.txt  # to choose Linux sysctl command
echo freebsd > sysctltype.txt  # to choose FreeBSD sysctl command
echo none    > sysctltype.txt  # to skip any setup during wg-quick up/down

启用IPv6

如果将在服务器隧道上检测到全局单播IPv6地址,则使用分配的内部IPv6地址创建。这使集线器的客户端可以通过集线器的IPv6 NAT连接到IPv6网络。

如果未检测到全局Unicast IPv6地址,则存在名为forceipv6.txt的文件,可以强行启用IPv6支持。

 touch forceipv6.txt

要使用外部IPv6地址(即通过IPv6连接到集线器的Connect Client),只需将EXT_NET_IFEXT_NET_IP变量设置为外部网络接口名称和IPv6地址(或edit wghub.conf )。

启用NDP代理(而不是默认的IPv6伪装)

默认情况下, easy-wg-quick使用apv6伪装的IPv6向同行提供IPv6连接。这更容易设置,并且仅需要单个IPv6全局单播地址才能工作。另一方面,网络地址翻译(NAT)有问题和局限性。

邻居发现代理(ND Proxy,NDP代理)允许端到端连接,但需要 /64网络分配给集线器。从这个 /64网络中,必须将子网组分开(即 /112)并分配给WireGuard接口。

要启用使用proxy_ndp String的代理NDP创建文件,名为ipv6mode.txt

 echo proxy_ndp > ipv6mode.txt

当集线器具有2001:19F0:6C01:1C0D/64分配时,可以将其中的一部分分配给WireGuard界面(IE 2001:19F0:6C01:1C0D:40/112)。

 echo 2001:19f0:6c01:1c0d:40:: > intnet6address.txt
echo /112 > intnet6mask.txt

请注意,仅在Linux上支持easy-wg-quick中的NDP代理模式。

重定向DNS

可能需要DNS重定向与TLS上的Pi-Hole或CloudFlare DNS等服务集成。这可以通过在wghub.conf中使用端口53 UDP/TCP重定向来实现。

 PostUp = iptables -t nat -A PREROUTING -i %i -p udp -m udp --dport 53 -j DNAT --to-destination 1.1.1.1:53
PostUp = iptables -t nat -A PREROUTING -i %i -p tcp -m tcp --dport 53 -j DNAT --to-destination 1.1.1.1:53
PostDown = iptables -t nat -D PREROUTING -i %i -p udp -m udp --dport 53 -j DNAT --to-destination 1.1.1.1:53
PostDown = iptables -t nat -D PREROUTING -i %i -p tcp -m tcp --dport 53 -j DNAT --to-destination 1.1.1.1:53

使用IPv6时,应使用ip6tables独立设置类似规则。

 PostUp = ip6tables -t nat -A PREROUTING -i %i -p udp -m udp --dport 53 -j DNAT --to-destination 2606:4700:4700::1111:53
PostUp = ip6tables -t nat -A PREROUTING -i %i -p tcp -m tcp --dport 53 -j DNAT --to-destination 2606:4700:4700::1111:53
PostDown = ip6tables -t nat -D PREROUTING -i %i -p udp -m udp --dport 53 -j DNAT --to-destination 2606:4700:4700::1111:53
PostDown = ip6tables -t nat -D PREROUTING -i %i -p tcp -m tcp --dport 53 -j DNAT --to-destination 2606:4700:4700::1111:53

交通控制

客户可以从wghub.conf中设置流量控制规则中受益。例如,在Linux集线器上设置SFQ调度程序是确保下载公平性的最简单方法,以便每个流程都可以依次发送数据,从而阻止任何单个客户端淹没其余的。此外,SFQ将防止在高带宽消耗期间增加潜伏期和潜伏期尖峰(又称Bufferbloat)。

 PostUp = tc qdisc add dev %i root sfq perturb 10

在Linux客户端设置相同的情况下,应提高上传流的公平性。

坚持使用SystemD的配置

SystemD可以使用wg-quick.service为轮毂和客户端加载配置。请注意,还存在用于设置WireGuard接口的本机支持(自版本237以来)。

 sudo cp wghub.conf /etc/wireguard/wghub.conf
sudo systemctl enable wg-quick@wghub
sudo systemctl start wg-quick@wghub
systemctl status wg-quick@wghub

执照

该项目是根据GPLV2许可证获得许可的 – 有关详细信息,请参见许可证文件。

致谢

OpenVPN的Easy-RSA是编写此脚本的灵感。

下载源码

通过命令行克隆项目:

git clone https://github.com/burghardt/easy-wg-quick.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 easy wg quick https://www.zuozi.net/34181.html

Harmony
上一篇: Harmony
CS Book
下一篇: CS Book
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务