Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
browser-backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
browser-backend
Commits
631af91e
Commit
631af91e
authored
Jul 29, 2024
by
chenchao.deng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接阿里云Ecs Api
parent
e80aee55
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
4 deletions
+33
-4
AliEcsClient.java
.../com/edgec/browserbackend/common/client/AliEcsClient.java
+13
-2
BrowserBackendApplicationTests.java
.../edgec/browserbackend/BrowserBackendApplicationTests.java
+20
-2
No files found.
src/main/java/com/edgec/browserbackend/common/client/AliEcsClient.java
View file @
631af91e
...
...
@@ -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
(
...
...
src/test/java/com/edgec/browserbackend/BrowserBackendApplicationTests.java
View file @
631af91e
...
...
@@ -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"
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment