Commit 631af91e authored by chenchao.deng's avatar chenchao.deng

对接阿里云Ecs Api

parent e80aee55
......@@ -12,6 +12,7 @@ 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.common.utils.Aes;
import darabonba.core.client.ClientOverrideConfiguration;
import java.util.concurrent.CompletableFuture;
import lombok.RequiredArgsConstructor;
......@@ -66,14 +67,24 @@ public class AliEcsClient {
/**
* 创建并运行实例
*/
public static RunInstancesResponse runInstances(String username, String regionId) {
public static RunInstancesResponse runInstances(String username, String regionId, String password) {
AsyncClient client = createClient();
RunInstancesResponse runInstancesResponse = null;
String userData = "#!/bin/sh\n"
+ "echo \"users 3ASka71a:CL:7asMpA16\n"
+ "allow 3ASka71a *\n"
+ "auth strong\n"
+ "proxy -p8080\n"
+ "proxy -p8443 -a\n"
+ "socks -p1080\n"
+ "flush\" | tee /etc/3proxy.cfg\n"
+ "3proxy -C 3proxy.cfg";
try {
RunInstancesRequest runInstancesRequest = RunInstancesRequest.builder()
.regionId(regionId)
.launchTemplateId("lt-wz9g4apcsdali7t0lec8")
//.userData("NULL")
.userData(Aes.base64Encode(userData.getBytes()))
.keyPairName("proxy-ip")
.build();
log.info("调用aliEcs创建并运行实例,入参:userName:{},regionId:{}", username, regionId);
CompletableFuture<RunInstancesResponse> response = client.runInstances(
......
......@@ -4,6 +4,7 @@ import com.aliyun.sdk.service.ecs20140526.models.DeleteInstanceResponse;
import com.edgec.browserbackend.account.domain.UserBalance;
import com.edgec.browserbackend.account.repository.UserBalanceRepository;
import com.edgec.browserbackend.common.client.AliEcsClient;
import com.edgec.browserbackend.common.utils.Aes;
import javax.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
......@@ -25,10 +26,27 @@ class BrowserBackendApplicationTests {
@Test
void buyEcsTest() throws Exception {
//AliEcsClient.runInstances("cn-shenzhen");
AliEcsClient.runInstances("11","cn-shenzhen","2222");
//AliEcsClient.getDescribeInstances("测试","i-wz9hf0i13xj6h904k14p","cn-shenzhen");
DeleteInstanceResponse response = AliEcsClient.deleteInstance("测试", "i-wz9hf0i13xj6h904k14pz");
//DeleteInstanceResponse response = AliEcsClient.deleteInstance("测试", "i-wz9ebrei1dvowzej6nfn");
}
@Test
void test3() throws Exception {
String userData = "#!/bin/sh\n"
+ "echo \"users 3ASka71a:CL:7asMpA16\n"
+ "allow 3ASka71a *\n"
+ "auth strong\n"
+ "proxy -p8080\n"
+ "proxy -p8443 -a\n"
+ "socks -p1080\n"
+ "flush\" | tee /etc/3proxy.cfg\n"
+ "3proxy -C 3proxy.cfg";
System.out.println(Aes.base64Encode(userData.getBytes()));
byte[] bytes = Aes.base64Decode(
"IyEvYmluL3NoCmVjaG8gInVzZXJzIDNBU2thNzFhOkNMOjdhc01wQTE2CmFsbG93IDNBU2thNzFhICAqCmF1dGggc3Ryb25nCnByb3h5IC1wODA4MApwcm94eSAtcDg0NDMgLWEKc29ja3MgLXAxMDgwCmZsdXNoIiB8IHRlZSAvZXRjLzNwcm94eS5jZmcKM3Byb3h5IC1DIDNwcm94eS5jZmc=");
System.out.println(new String(bytes,"UTF-8"));
}
}
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