Commit c04edc45 authored by jinliang's avatar jinliang

add vps feature

parent 780ee419
......@@ -286,8 +286,9 @@ public class IpResourceServiceImpl implements IpResourceService {
case "isp":
ipResource.setVendorCn("住宅");
break;
case "aws":
ipResource.setVendorCn("亚马逊云");
//阿里云windows设备,支持代理IP和远程桌面
case "remote":
ipResource.setVendorCn("远程设备");
break;
}
ipResource.setStatus(6);
......
......@@ -31,6 +31,7 @@ import com.edgec.browserbackend.browser.repository.IpHistoryRepository;
import com.edgec.browserbackend.browser.repository.IpResourceRepository;
import com.edgec.browserbackend.browser.service.IpAndShopService;
import com.edgec.browserbackend.common.client.AliEcsClient;
import com.edgec.browserbackend.common.client.AliEcsRemoteClient;
import com.edgec.browserbackend.common.client.TenCentEcsClient;
import com.edgec.browserbackend.common.client.ipvClient.IpvClient;
import com.edgec.browserbackend.common.client.ipvClient.dto.AppInstanceOpenReq;
......@@ -290,7 +291,44 @@ public class BrowserTask {
cloudPlatformOrderRepository.save(cloudPlatformOrder);
result = true;
}
}
} else if (ipResource.getVendorCn().equals("远程设备")) {
//获取阿里云服务器region映射
String aliRegion = RegionMappingEnum.getAliRegion(
ipResource.getRegion());
if (StringUtils.isEmpty(aliRegion)) {
log.error(
"buyIpNewTasks-购买VPS error:查询不到阿里云映射api-region:{}",
ipResource.getRegion());
return;
}
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"ali",
aliRegion);
if (Objects.isNull(config)) {
log.error(
"buyIpNewTasks-购买VPS error:查询不到阿里云模板配置-region:{}",
aliRegion);
return;
}
RunInstancesResponse response = AliEcsRemoteClient.runInstances(
ipResource.getOwner(), ipResource.getUsername(),
ipResource.getPassword(), config);
if (null == response || !response.getStatusCode().equals(200)) {
log.error("{}, fail to buy vps : {}", logs, JSON.toJSON(response));
} else if (Objects.nonNull(response.getBody())) {
String instanceId = response.getBody().getInstanceIdSets()
.getInstanceIdSet().get(0);
cloudPlatformOrder.setPlatformOrderId(instanceId);
cloudPlatformOrder.setPlatformType("remote");
cloudPlatformOrder.setRegionId(aliRegion);
cloudPlatformOrder.setRetryCount(0);
ipResource.setStatus(3);
ipResourceRepository.save(ipResource);
cloudPlatformOrderRepository.save(cloudPlatformOrder);
result = true;
}
}
/**
* 购买失败处理
......@@ -671,6 +709,105 @@ public class BrowserTask {
}
ipResourceRepository.deleteById(ipResource.getId());
}
} else if("remote".equals(cloudPlatformOrder.getPlatformType())) {
DescribeInstancesResponse response = AliEcsRemoteClient.getDescribeInstances(
ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
if (!response.getStatusCode().equals(200)) {
log.error(", fail to query ip : {}",
JSON.toJSON(response.getBody()));
}
if (Objects.nonNull(response.getBody())) {
//判断是否重复购买
Instance instance = response.getBody().getInstances()
.getInstance().get(0);
if (instance.getInstanceChargeType().equals("PrePaid")) {
//包年包月 更新ip状态
ipResource.setAddr(
instance.getPublicIpAddress().getIpAddress().get(0));
ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
"yyyy-MM-dd'T'HH:mmX");
Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime()));
ipResource.setValidTime(instant.toEpochMilli());
if (StringUtils.isNotBlank(ipResource.getRegion())
&& region.contains(ipResource.getRegion())) {
ipResource.setProxyUsername(ipResource.getAddr());
ipResource.setProxyPassword(genRandom(3, 12));
ipResource.setSpecialLine(true);
}
ipResourceRepository.save(ipResource);
IpHistory ipHistory = new IpHistory();
ipHistory.setIpNo(ipResource.getAddr());
ipHistory.setPlatformType(
cloudPlatformOrder.getPlatformType());
ipHistory.setPurchasedTime(Instant.now().toEpochMilli());
ipHistoryRepository.save(ipHistory);
return;
}
//查询是否为重复ip
String ipNo = instance.getPublicIpAddress().getIpAddress()
.get(0);
LocalDateTime localDateTime = LocalDateTime.now()
.minus(3, ChronoUnit.MONTHS);
Instant instant = localDateTime.atZone(ZoneId.systemDefault())
.toInstant();
List<IpHistory> ipHistoryList = ipHistoryRepository.findByIpNoAndPurchasedTimeAfter(
ipNo,
instant.toEpochMilli());
if (CollectionUtils.isNotEmpty(ipHistoryList) &&
(Objects.isNull(cloudPlatformOrder.getRetryCount()) ||
cloudPlatformOrder.getRetryCount() < 5)) {
//重新分配ip(删除旧的 购买新的)
AliEcsRemoteClient.deleteInstance(
ipResource.getOwner(),
cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
CloudPlatformConfig config = cloudPlatformConfigRepository.findByPlatformAndRegionId(
"ali",
cloudPlatformOrder.getRegionId());
RunInstancesResponse response1 = AliEcsRemoteClient.runInstances(
ipResource.getOwner(), ipResource.getUsername(),
ipResource.getPassword(), config);
if (null == response1 || !response1.getStatusCode()
.equals(200)) {
log.error("queryIpNewTasks, fail to buy vps again : {}",
JSON.toJSON(response));
} else if (Objects.nonNull(response1.getBody())) {
int oldRetryCount =
Objects.isNull(cloudPlatformOrder.getRetryCount())
? 0 : cloudPlatformOrder.getRetryCount();
cloudPlatformOrder.setRetryCount(oldRetryCount + 1);
cloudPlatformOrderRepository.save(cloudPlatformOrder);
String instanceId = response1.getBody()
.getInstanceIdSets().getInstanceIdSet().get(0);
cloudPlatformOrder.setPlatformOrderId(instanceId);
ipResource.setStatus(3);
ipResourceRepository.save(ipResource);
cloudPlatformOrderRepository.save(cloudPlatformOrder);
}
} else {
//将ip改为包年包月
String periodUnit =
ipResource.getUnit().equals("week") ? "Week" : "Month";
ModifyInstanceChargeTypeResponse modifyInstanceChargeTypeResponse =
AliEcsRemoteClient.modifyInstanceChargeType(
ipResource.getOwner(), periodUnit,
ipResource.getPeriod(),
cloudPlatformOrder.getRegionId(),
cloudPlatformOrder.getPlatformOrderId());
if (null == modifyInstanceChargeTypeResponse
|| !modifyInstanceChargeTypeResponse.getStatusCode()
.equals(200)) {
//TODO 目前先抛错误 待确认如何解决
log.error("queryIpNewTasks, fail to buy vps again : {}",
JSON.toJSON(response));
}
}
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
......@@ -811,6 +948,32 @@ public class BrowserTask {
}
}
}
} else if ("remote".equals(cloudPlatformOrder.getPlatformType())) {
DescribeInstancesResponse response = AliEcsRemoteClient.getDescribeInstances(
ipResource.getOwner(), cloudPlatformOrder.getPlatformOrderId(),
cloudPlatformOrder.getRegionId());
if (!response.getStatusCode().equals(200)) {
log.error(", fail to query ip : {}",
JSON.toJSON(response.getBody()));
}
if (Objects.nonNull(response.getBody())) {
//判断是否重复购买
Instance instance = response.getBody().getInstances()
.getInstance().get(0);
if (instance.getInstanceChargeType().equals("PrePaid")) {
//包年包夜 更新ip状态
ipResource.setStatus(0);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
"yyyy-MM-dd'T'HH:mmX");
Instant instant = Instant.from(
formatter.parse(instance.getExpiredTime()));
long epochMilli = instant.toEpochMilli();
if(epochMilli > ipResource.getValidTime()) {
ipResource.setValidTime(epochMilli);
ipResourceRepository.save(ipResource);
}
}
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
......
package com.edgec.browserbackend.common.client;
import com.alibaba.fastjson.JSON;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.ecs20140526.AsyncClient;
import com.aliyun.sdk.service.ecs20140526.models.DeleteInstanceRequest;
import com.aliyun.sdk.service.ecs20140526.models.DeleteInstanceResponse;
import com.aliyun.sdk.service.ecs20140526.models.DescribeInstancesRequest;
import com.aliyun.sdk.service.ecs20140526.models.DescribeInstancesResponse;
import com.aliyun.sdk.service.ecs20140526.models.ModifyInstanceChargeTypeRequest;
import com.aliyun.sdk.service.ecs20140526.models.ModifyInstanceChargeTypeResponse;
import com.aliyun.sdk.service.ecs20140526.models.RenewInstanceRequest;
import com.aliyun.sdk.service.ecs20140526.models.RenewInstanceResponse;
import com.aliyun.sdk.service.ecs20140526.models.RunInstancesRequest;
import com.aliyun.sdk.service.ecs20140526.models.RunInstancesResponse;
import com.edgec.browserbackend.browser.domain.CloudPlatformConfig;
import com.edgec.browserbackend.common.utils.Aes;
import darabonba.core.client.ClientOverrideConfiguration;
import java.util.concurrent.CompletableFuture;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Description 阿里云ECS相关api \
* url:https://next.api.aliyun.com/document/Ecs/2014-05-26/overview
* @Data 2024年7月28日
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class AliEcsRemoteClient {
//access_key_id
private static String getAccessKeyId() {
return "LTAI5tEdz1DY4A4oYUawUuNH";
}
//access_key_secret
private static String getAccessKeySecret() {
return "8KWmYgO0QIicZpyulhEwUhZqStrTwe";
}
//launch_template_id
//脚本userData
private static String getUserData() {
return "#!/bin/sh\n"
+ "echo \"users %s:CL:%s\n"
+ "allow %s *\n"
+ "auth strong\n"
+ "proxy -p8880\n"
+ "proxy -p8881 -a\n"
+ "socks -p8882\n"
+ "flush\" | tee /etc/3proxy.cfg\n"
+ "systemctl restart 3proxy";
}
/*
* @Description //创建链接
* @Date 2024/7/25 10:32
**/
private static AsyncClient createClient(String regionId) {
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
.accessKeyId(getAccessKeyId())
.accessKeySecret(getAccessKeySecret())
.build());
String endpoint = String.format("ecs.%s.aliyuncs.com", regionId);
return AsyncClient.builder()
.region(regionId)
.credentialsProvider(provider)
.overrideConfiguration(
ClientOverrideConfiguration.create()
.setEndpointOverride(endpoint)
)
.build();
}
/**
* 创建并运行实例
*/
public static RunInstancesResponse runInstances(String owner,String username, String password, CloudPlatformConfig config) {
AsyncClient client = createClient(config.getRegionId());
RunInstancesResponse runInstancesResponse = null;
String userData = String.format(getUserData(), username, password, username);
try {
RunInstancesRequest runInstancesRequest = RunInstancesRequest.builder()
.regionId(config.getRegionId())
.launchTemplateId(config.getTemplateId())
.userData(Aes.base64Encode(userData.getBytes()))
.password(password)
.build();
log.info("调用aliEcsRemote创建并运行实例,入参:owner:{},regionId:{}", owner, config.getRegionId());
CompletableFuture<RunInstancesResponse> response = client.runInstances(
runInstancesRequest);
runInstancesResponse = response.get();
log.info("调用aliEcsRemote创建并运行实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(runInstancesResponse));
} catch (Exception e) {
log.error("fail to aliEcsRemote runInstances {}", e.getMessage());
} finally {
client.close();
}
return runInstancesResponse;
}
/**
* 续费实例
*/
public static RenewInstanceResponse renewInstance(String owner, String regionId, String instanceId,
Integer period, String periodUnit){
AsyncClient client = createClient(regionId);
RenewInstanceResponse renewInstanceResponse = null;
try {
RenewInstanceRequest renewInstanceRequest = RenewInstanceRequest.builder()
.instanceId(instanceId)
.period(period)
.periodUnit(periodUnit)
.build();
log.info("调用aliEcsRemote续费实例,入参:owner:{},regionId:{},instanceId:{},period:{},periodUnit:{}", owner, regionId, instanceId, period, periodUnit);
CompletableFuture<RenewInstanceResponse> response = client.renewInstance(
renewInstanceRequest);
renewInstanceResponse = response.get();
log.info("调用aliEcsRemote续费实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(renewInstanceResponse));
} catch (Exception e) {
log.error("fail to aliEcsRemote runInstances {}", e.getMessage());
} finally {
client.close();
}
return renewInstanceResponse;
}
/**
* 查询单个实例
*/
public static DescribeInstancesResponse getDescribeInstances(String owner, String instanceId,
String regionId) {
AsyncClient client = createClient(regionId);
DescribeInstancesResponse resp = null;
try {
String instanceIds = String.format("[\"%s\"]", instanceId);
DescribeInstancesRequest describeInstancesRequest = DescribeInstancesRequest.builder()
.regionId(regionId)
.instanceIds(instanceIds)
.build();
log.info("调用aliEcsRemote查询单个实例,入参:owner:{},regionId:{},instanceId:{}",
owner, regionId, instanceId);
CompletableFuture<DescribeInstancesResponse> response = client.describeInstances(
describeInstancesRequest);
resp = response.get();
log.info("调用aliEcsRemote查询单个实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(resp));
} catch (Exception e) {
log.error("fail to aliEcsRemote getDescribeInstances {}", e.getMessage());
} finally {
client.close();
}
return resp;
}
/**
* 删除ECS
*/
public static DeleteInstanceResponse deleteInstance(String owner, String instanceId, String regionId) {
AsyncClient client = createClient(regionId);
DeleteInstanceResponse resp = null;
try {
DeleteInstanceRequest deleteInstanceRequest = DeleteInstanceRequest.builder()
.instanceId(instanceId)
.force(true)
.build();
log.info("调用aliEcsRemote删除ECS实例,入参:owner:{},instanceId:{},regionId{}",
owner, instanceId, regionId);
CompletableFuture<DeleteInstanceResponse> response = client.deleteInstance(
deleteInstanceRequest);
resp = response.get();
log.info("调用aliEcsRemote删除ECS实例,响应参数:owner:{},response:{}", owner,
JSON.toJSON(resp));
} catch (Exception e) {
log.error("fail to aliEcsRemote deleteInstance {}", e.getMessage());
} finally {
client.close();
}
return resp;
}
/**
* 将按量改为包年包月
*/
public static ModifyInstanceChargeTypeResponse modifyInstanceChargeType(String owner,
String periodUnit, int period, String regionId, String instanceId) {
AsyncClient client = createClient(regionId);
ModifyInstanceChargeTypeResponse modifyInstanceChargeTypeResponse = null;
try {
String instanceIds = String.format("[\"%s\"]", instanceId);
ModifyInstanceChargeTypeRequest modifyInstanceChargeTypeRequest =
ModifyInstanceChargeTypeRequest.builder()
.instanceIds(instanceIds)
.regionId(regionId)
.instanceChargeType("PrePaid")
.periodUnit(periodUnit)
.period(period)
.build();
log.info(
"调用aliEcsRemote将实例由量改为包年包月,入参:owner:{},regionId:{},periodUnit:{},period:{}, instanceId{}",
owner, regionId, periodUnit, period, instanceId);
CompletableFuture<ModifyInstanceChargeTypeResponse> response = client.modifyInstanceChargeType(
modifyInstanceChargeTypeRequest);
modifyInstanceChargeTypeResponse = response.get();
log.info("调用aliEcsRemote将实例由量改为包年包月,响应参数:owner:{},response:{}", owner,
JSON.toJSON(modifyInstanceChargeTypeResponse));
} catch (Exception e) {
log.error("fail to aliEcsRemote modifyInstanceChargeType {}", e.getMessage());
} finally {
client.close();
}
return modifyInstanceChargeTypeResponse;
}
}
{
"ipRegion": {
"中国大陆": [
"中国随机",
"杭州",
"上海",
"深圳",
"广州",
"北京",
"呼和浩特",
"乌兰察布",
"成都",
"河源"
],
"港澳台": [
"中国香港"
],
"美国": [
"美国随机",
"硅谷",
"弗吉尼亚"
],
"亚太": [
"新加坡",
"马来西亚-吉隆坡",
"泰国-曼谷",
"印度尼西亚-雅加达",
"菲律宾-马尼拉",
"日本-东京",
"韩国-首尔"
],
"欧洲": [
"英国-伦敦",
"德国-法兰克福"
],
"本地": [
"本地"
]
"中国大陆": [
"中国随机",
"杭州",
"上海",
"深圳",
"广州",
"北京",
"呼和浩特",
"乌兰察布",
"成都",
"河源",
"南京"
],
"港澳台": [
"中国香港",
"中国台湾"
],
"美国": [
"美国随机",
"硅谷",
"弗吉尼亚",
"拉斯维加斯",
"纽约",
"洛杉矶",
"迈阿密",
"华盛顿"
],
"亚太": [
"新加坡",
"马来西亚-吉隆坡",
"泰国-曼谷",
"印度尼西亚-雅加达",
"菲律宾-马尼拉",
"日本-东京",
"韩国-首尔",
"印度-孟买",
"越南-胡志明"
],
"欧洲": [
"英国-伦敦",
"德国-法兰克福"
],
"南美": [
"巴西-圣保罗"
],
"北美": [
"加拿大"
],
"本地": [
"本地"
]
},
"ipPlatForm": {
"中国随机": [
"阿里云-28-28"
],
"杭州": [
"阿里云-28-28"
],
"上海": [
"阿里云-28-28"
],
"深圳": [
"阿里云-28-28"
],
"广州": [
"阿里云-28-28"
],
"北京": [
"阿里云-28-28"
],
"呼和浩特": [
"阿里云-28-28"
],
"乌兰察布": [
"阿里云-28-28"
],
"成都": [
"阿里云-28-28"
],
"河源": [
"阿里云-28-28"
],
"中国香港": [
"阿里云-28-28"
],
"美国随机": [
"阿里云-28-28"
],
"硅谷": [
"阿里云-28-28"
],
"弗吉尼亚": [
"阿里云-28-28"
],
"英国-伦敦": [
"阿里云-28-28"
],
"德国-法兰克福": [
"阿里云-28-28"
],
"新加坡": [
"阿里云-28-28"
],
"马来西亚-吉隆坡": [
"阿里云-28-28"
],
"泰国-曼谷": [
"阿里云-28-28"
],
"印度尼西亚-雅加达": [
"阿里云-28-28"
],
"菲律宾-马尼拉": [
"阿里云-28-28"
],
"日本-东京": [
"阿里云-28-28"
],
"韩国-首尔": [
"阿里云-28-28"
],
"自有": [
"自有-2-2"
],
"自有专线": [
"自有专线-5-5"
],
"本地": [
"本地-0-0"
]
},
"supportedPlatForm": {
"中国随机": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"杭州": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"上海": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"深圳": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"广州": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"北京": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"青岛": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"呼和浩特": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"乌兰察布": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"成都": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"河源": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"中国香港": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"美国随机": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"硅谷": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"弗吉尼亚": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"俄勒冈": {
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"俄亥俄": {
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"英国-伦敦": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"德国-法兰克福": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"俄罗斯-莫斯科": {
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"法国-巴黎": {
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"日本-东京": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"日本乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
]
},
"新加坡": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"日本乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
]
},
"澳大利亚-悉尼": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
]
},
"马来西亚-吉隆坡": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"菲律宾-马尼拉": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"泰国-曼谷": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"韩国-首尔": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"印度尼西亚-雅加达": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"孟买": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"加拿大": {
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"巴西": {
"亚马逊云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"迪拜": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"本地": {
"中国随机": [
"阿里云-28-28"
],
"杭州": [
"阿里云-28-28"
],
"上海": [
"阿里云-28-28",
"腾讯云-28-28"
],
"深圳": [
"阿里云-28-28"
],
"广州": [
"阿里云-28-28",
"腾讯云-28-28"
],
"北京": [
"阿里云-28-28",
"腾讯云-28-28"
],
"呼和浩特": [
"阿里云-28-28"
],
"乌兰察布": [
"阿里云-28-28"
],
"成都": [
"阿里云-28-28"
],
"河源": [
"阿里云-28-28"
],
"南京": [
"腾讯云-28-28"
],
"中国香港": [
"阿里云-28-28",
"住宅-28-28",
"远程设备-68-68"
],
"中国台湾": [
"住宅-28-28"
],
"美国随机": [
"阿里云-28-28",
"远程设备-68-68"
],
"硅谷": [
"阿里云-28-28",
"腾讯云-28-28"
],
"弗吉尼亚": [
"阿里云-28-28",
"住宅-28-28"
],
"拉斯维加斯": [
"住宅-28-28"
],
"纽约": [
"住宅-28-28"
],
"洛杉矶": [
"住宅-28-28"
],
"迈阿密": [
"住宅-28-28"
],
"华盛顿": [
"住宅-28-28"
],
"加拿大": [
"住宅-28-28"
],
"巴西-圣保罗": [
"腾讯云-28-28"
],
"英国-伦敦": [
"阿里云-28-28",
"住宅-28-28"
],
"德国-法兰克福": [
"阿里云-28-28",
"腾讯云-28-28"
],
"新加坡": [
"阿里云-28-28",
"腾讯云-28-28",
"住宅-28-28"
],
"马来西亚-吉隆坡": [
"阿里云-28-28",
"住宅-28-28"
],
"泰国-曼谷": [
"阿里云-28-28",
"住宅-28-28"
],
"印度尼西亚-雅加达": [
"阿里云-28-28",
"腾讯云-28-28",
"住宅-28-28"
],
"菲律宾-马尼拉": [
"阿里云-28-28",
"住宅-28-28"
],
"日本-东京": [
"阿里云-28-28",
"腾讯云-28-28"
],
"韩国-首尔": [
"阿里云-28-28",
"腾讯云-28-28",
"住宅-28-28"
],
"印度-孟买": [
"腾讯云-28-28"
],
"越南-胡志明": [
"住宅-28-28"
],
"自有": [
"自有-2-2"
],
"自有专线": [
"自有专线-5-5"
],
"本地": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-1",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
"本地-0-0"
]
}
},
"supportedPlatForm": {
"中国随机": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"杭州": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"上海": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"深圳": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"广州": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"北京": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"青岛": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"呼和浩特": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"乌兰察布": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"成都": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"河源": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"南京": {
"腾讯云": [
"亚马逊-1",
"亚马逊日本-0",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
]
},
"中国香港": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"远程设备": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-0",
"PayPal(中国)-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"中国台湾": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"美国随机": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"远程设备": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"硅谷": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"弗吉尼亚": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"拉斯维加斯": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"纽约": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"洛杉矶": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"迈阿密": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"华盛顿": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"英国-伦敦": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"德国-法兰克福": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"日本-东京": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"日本乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
]
},
"新加坡": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"日本乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"澳大利亚-悉尼": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"马来西亚-吉隆坡": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"菲律宾-马尼拉": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"泰国-曼谷": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"韩国-首尔": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"印度尼西亚-雅加达": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
],
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"越南-胡志明": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"印度-孟买": {
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"加拿大": {
"住宅": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"巴西-圣保罗": {
"腾讯云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"迪拜": {
"阿里云": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-0",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-0",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-0"
]
},
"本地": {
"本地": [
"亚马逊-1",
"亚马逊日本-1",
"ebay-1",
"全球速卖通-1",
"Wish-1",
"Shopee-1",
"Lazada-1",
"CDiscount-1",
"Joom-1",
"Vova-1",
"乐天-1",
"Ozon-1",
"FactoryMarket-1",
"PayPal-1",
"其他平台-1"
]
}
},
"ipDurations": [
"1周",
"1个月",
"3个月",
"6个月",
"12个月"
"1周",
"1个月",
"3个月",
"6个月",
"12个月"
]
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment