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
babfff41
Commit
babfff41
authored
Sep 12, 2024
by
chenchao.deng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对腾讯云api
parent
f41957ad
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
194 additions
and
74 deletions
+194
-74
pom.xml
pom.xml
+7
-1
CloudamAlipayConfig.java
.../com/edgec/browserbackend/alipay/CloudamAlipayConfig.java
+17
-28
VpsAlipayConfig.java
...java/com/edgec/browserbackend/alipay/VpsAlipayConfig.java
+17
-29
1.html
src/main/java/com/edgec/browserbackend/browser/1.html
+15
-0
CloudPlatformConfig.java
...ec/browserbackend/browser/domain/CloudPlatformConfig.java
+4
-0
ReceptionPlatformOptions.java
...owserbackend/browser/domain/ReceptionPlatformOptions.java
+9
-1
LoginHistoryRepository.java
...serbackend/browser/repository/LoginHistoryRepository.java
+2
-4
HistoryServiceImpl.java
...owserbackend/browser/service/Impl/HistoryServiceImpl.java
+2
-2
IpResourceServiceImpl.java
...erbackend/browser/service/Impl/IpResourceServiceImpl.java
+0
-0
BrowserTask.java
...va/com/edgec/browserbackend/browser/task/BrowserTask.java
+0
-0
TenCentEcsClient.java
.../edgec/browserbackend/common/client/TenCentEcsClient.java
+100
-2
FGLWxConfig.java
...main/java/com/edgec/browserbackend/wxpay/FGLWxConfig.java
+1
-1
apiclient_cert.p12
src/main/resources/certs/apiclient_cert.p12
+0
-0
buyIp.html
src/main/resources/static/buyIp.html
+1
-1
BrowserBackendApplicationTests.java
.../edgec/browserbackend/BrowserBackendApplicationTests.java
+19
-5
No files found.
pom.xml
View file @
babfff41
...
...
@@ -195,10 +195,16 @@
<version>
5.0.13
</version>
</dependency>
<!--腾讯云 云服务器ECS api -->
<!-- <dependency>-->
<!-- <groupId>com.tencentcloudapi</groupId>-->
<!-- <artifactId>tencentcloud-sdk-java</artifactId>-->
<!-- <version>3.1.830</version>-->
<!-- </dependency>-->
<dependency>
<groupId>
com.tencentcloudapi
</groupId>
<artifactId>
tencentcloud-sdk-java
</artifactId>
<version>
3.1.
830
</version>
<version>
3.1.
1091
</version>
</dependency>
</dependencies>
...
...
src/main/java/com/edgec/browserbackend/alipay/CloudamAlipayConfig.java
View file @
babfff41
...
...
@@ -7,42 +7,31 @@ public class CloudamAlipayConfig extends AlipayConfig{
@Override
public
String
getAPPID
()
{
return
"20
19071765790965
"
;
return
"20
21004169642053
"
;
}
@Override
public
String
getAPP_PRIVATE_KEY
()
{
return
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDU+npZLO6AoKN"
+
"lQBO/3gOMTJEeOBDV5zRdvkrMUBq8R5r5phzkq2T2lxg5gMnZx6Lk/NZ0evSntMG"
+
"PzKXFEmVdBKRuqQvQ7gaZNeWA494sCP76dEDPREcvs7qcP7xTuK9/FTqPQH3iUEA"
+
"058N03/edQGdv1HLi3BmTYdp2ywZQsb0hqGu6/pPYCLnwSprBdWv1nG3zstcBEmK"
+
"PYNKipzy0LpHiGB445XO0EJWV/XK6t1knDKrC6FFiFfxuLy3fHy37jjFW2TxZLSc"
+
"ROGs0Py+w9saxIJ1n7jGJqHCQmyuNgPKtelYy1jpbdXIX/2bhW1ck4dOCF8j37Gc"
+
"cGZR+c3nAgMBAAECggEASFW1FDe0zzfKvT/mw1qcTTUu1milNIsnifKzR6mPn4r3"
+
"pyHYZ0R0f4KoH0JO/LKVfz8lKagx2ufyYifZRlW/Alff4JPr5Y0AitW5eNaMtTcV"
+
"vF7UhoyA39JRskRyRU7fbVga4jwBlHgB2JqGFoqymeFe3dpSIjzbPSeM9Ei0Rg3s"
+
"hIv+An/U2optO29ggsC0hXyHWXLupaMwbIpBTOHDiFzxW7z4ZxUH1jAL0jvQxuNN"
+
"YEY8vAcvJAlz4iab5x2vlEn00crfhE+kwO6f+0Am7spDKjkjsVX8mioD+J/VozZk"
+
"517zz5EF66DdtD5i9LdLIGBsWjagbINtVrH7KWqlgQKBgQDzWxlOMpjsP/WFk0L5"
+
"ic7HJvflbz+hCJAyQlDAy43Ls8nVYIkeTk2Umae+uSbkMga2N83LN4e1FRNGDjGB"
+
"JNDHtzAF3aAwPXS+PDwLGDrgQ44KN8aw/1dt0W9TiBVLHOhAjqPO4UqW0wkgSwNh"
+
"HqeuR1GwLyp5IueFZxX/YhNT4QKBgQDNef0W6fDhhcsxyLm5dDL+LuenE1omas74"
+
"zNKPaR7yQpZOxqdJYXEI6nrJ1vTUOLa1nqT1/n8kgLNDASRQH5NFQfSizRG07tij"
+
"3NLto8DD89h82y7IbY1Rz38FH3Mf+W7soKMKo6tQb7oHOZm2uDTlSpe25neDSJeI"
+
"kL+JsEbaxwKBgQCkAOYJ/DFxLh2CGt+NGqF/N7TjK9k+5m1/YY/YjpYODSldowRl"
+
"pzHDjtYsw80BBvHdBbisVs0fbYeis9gLB8uofL1hhp35RMGTnzZ756VuFDj6i+Jc"
+
"0IiUWwviyJhJGb8wGrEssEo7YRgKamNppWYuHqRfzzmZj7tl/TYm+Wq7IQKBgBFo"
+
"NDisuOtiGkStbI55eZhvAND2orx+b+pD79KWZTjAy1sBGUruJlVLB/vxaexQoanh"
+
"NrhgRwUgog8bGahwBFnprH/eP5HEajX3jybyqHHxRnXNW7k/DqnPmkMk1uvuhacm"
+
"NKnCE9FMpcXW616/XDvQhenIvHcyvyOin5dah6YhAoGASANVYkA4JX3cTXzDvlzh"
+
"5l/afal++mv6Ld2TH/3aeg2CBh2HzNIUBCr/SQFpqOjQf6L2lpftDPIbtDB7ogVv"
+
"roAgSIXPlz+TK9rgMRI/uzWTP4J164r2UBs5aT5N5Y6hArL7ce1+1QemCsevFRTP"
+
"tHwdG2+8KyXqSWp4eyFmBFs="
;
return
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTiRoS+HcBGhxMKGmkJlktf+HRRErZYDw0KV8T6ub5HczH/YQ3LkTKyEhZxvcTngavL/"
+
"iNZQoFAtQbXBHDVH8L7qlS09+ouBmezZ9ijrX6XahNpoZwWPm+7Ua6rQB/8g+ZS/GQJUzez8RngPP2A00803oYLap+iA+tV+lAr1OKmvRBpKSRb7oUfY7tvHf/"
+
"nRgM9KH1mlWbxEavtrZm+8VBSMcx33v+ePWTn1Pp9sqFV/yMPxY9rOBcWIrdb0kuynILS371Do3jT9IgtYe8p0ShLtbWbJkt4gTBC/nVmE8kzH+I0uWmAHJw8QUj"
+
"ysalSwFMsyvybvcK4rvq2x2Pi0t9AgMBAAECggEAZc9Bn/+315nWFzP4Gp+gAIb0JP30jOcdBH3cL5l1REmtLAElQRL7w9fMHa/whqgRQslewuwLqwOVrT+uvlVLy"
+
"scqL48oE3zfqTeKGnAS4i/JWbRlp5eu2HNS0LVb1+8JlqbSjr8+ua80gJx7PbRvk174LUEuG1z3PI6i1tFmXAmf6yloYvhdrf4CqCuZJ/mP3hDs4qnRmbhw/Rb7z9p"
+
"ImLVGxKUxZkaDUvchGKcKrsyl76GA/y8DEIj3j/2GWSzZLh0LuDN3ZJQS4DZ0ZxOGw15TB2Us0XiC1TBlu8si1td0WGI1k4q716bucE9Bp/ODkln1D0EoF7JkShZyWzg"
+
"TXQKBgQDFvy0PjjlAuFHgcK1ihygL60gIxZ5vGu+KG8K5gf8jDqk5Rqj507YvXmWbqax5CyRUOL6KhVD/fk3ddsuzb74JSRO8GS1o7WvcCiyDBteGP8syObYBBDTf0Jz6N"
+
"Nq1ANkamZSxgt6MUGdQrx1X4FpzSXYA17RbFtrf/JaLRdFNQwKBgQC+/0869jkgDQsFodh64eGuOu1g32JzpZuLMSXQGmqk//HbScMMmvco2iwg2ULd9nGxgY3eA/kTvdmK"
+
"/ByoRPieJ7pS0ryP83Qq9M699J240/bzrNbQMAgEguq71ewt8yS+ATk4+ntj/9aGMjOGyTZi7M8HLOu8RqlD35SDbNkYPwKBgGW+j7jJPLwIGliYoR1o3ToEvPOGepZADa"
+
"/JyM8aC+RFztwhdx/TxpFoyG7nRk6hZPfQmnk7TwmmOvoP/Y89l1G/v9+wNKUgQ7bbpTtlcc8pU6tr9jFfsLTX6WzzdPRck1gUXWVYKJmZZQ8mirqEPQXEbmrQkYOspsFIfUz"
+
"7h01xAoGBALdugcxRvuk+PZCqMDtMBq+LHoGD6IzCxxC2IeesBzHyMXh2beIETk0ow2rE3chIsEZW80X/MM657Vzi5i7hFpjl9LcodzoVCUNcG9YpQPTKdYjvPNty1bBnf0Lo"
+
"n8w9kNL+X9OOFMUkZwY43m2bfyUg42+zv67xegyahIp4FkOHAoGACv7HiBADC9SUJ4J4D2+sQhuNRWzCyvT0b7MZyiC7G0t3ch3pjL8asWtk8ZR1bSQurMPuUqGdeix5xD4Nx"
+
"b4ZbhA8gxr2K9TvmVan2Not/L0GgvFULj4l1mli5wjzmli9WJIfcD23FjJ0Dz1w7pcXPzSw4pK3bTsandp0LDf3rrs="
;
}
@Override
public
String
getALIPAY_PUBLIC_KEY
()
{
return
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkXY3UcHC2Eu4X0Ggf36Kz94aag+nGoBhIjcyXADTCsqYpKLenWC/RzgzbipFKOur+Z8AyxK9pk4Z/B5NlMuSsNM+D4cHdRl21qZszXlygTNIxOnl+tGdlbxjEmlIqwuhSFZRAz7/zhAQ0Rto/1mz+DNmHvhXpXY91xVMLetWXkIKQR+D5IXtAXVkssHevRMiMhMrlazw9Gn1vS+8iKy+Op9G7o9M2LvNiKv0HNOIhvoMqntdPCFWgGNuXMPoobsfkD8dFQs2GzuERgWs+maBQuHWXkghk4RoMYCjS0wKvm8zxJVfHmQ6yApcM676R1pRpJrMzX+LTQINm3UQCaCxKwIDAQAB"
;
return
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlryO1G3TVb9mRVS08U19s1ydhyfLzy5xk6bFW2Jwkr9jD5TqkpjgI3ZYykz1VkgFxASHUo8+6tHjoOfhtul0MyDbtU8"
+
"/XrXr6spGRGRsHbxTiRj4wflKJHXFwZHM3Bq+5jV8m5SOlHXx62PkTCk8BJsrwYT06CZz3VH8M72JYiZu05Zm8AMKYjKmsmLdzCozL4PB7ztPWmGvLe+5Nc0As2urLBgfX7XGWHju"
+
"k8VsZaxQaVSn4z7cr4eP9iijmqJJXBFhtQLqzMjtlBRqqFn0kvUHiPg/ndEXq8TEVqN0uaSDdIZ+LPrIVvMnmcyaHKBn1fHQHNNaho9B/5PwHMYumQIDAQAB"
;
}
@Override
...
...
src/main/java/com/edgec/browserbackend/alipay/VpsAlipayConfig.java
View file @
babfff41
...
...
@@ -7,43 +7,31 @@ public class VpsAlipayConfig extends AlipayConfig{
@Override
public
String
getAPPID
()
{
return
"20
19091967616095
"
;
return
"20
21004169642053
"
;
}
@Override
public
String
getAPP_PRIVATE_KEY
()
{
return
"MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQi9PVnyGA+r1Q"
+
"Fu08beA/oGX1FBBWMl6A1e7LydbpFutHY2gtLszQquM2CnfR6cS+p2lhNLRO1al9"
+
"LO26NR7F+UEbj0ieo1HLss8jS8qpmIcMjWdYYvEbiK19lEW0aYO2tgDKj+JGtvru"
+
"L9mBZnr4quuQPa8gBb07DbJ+GsXBNWfRyz3YjVKfzwbU85azu72Gh/cRvqX6Zcbk"
+
"1nlbfvHkhGTv/JkTQBT3ilo2bhPffFyArI20gwA0a9zAGr4h31QOl6Sw6mv3q8ed"
+
"u4vBl0vVAAKiQJW1e52thLuJ5tflZToqnk5A7QdwqfCe8mksA3V/97+T04bUzINn"
+
"QhFK4Q/JAgMBAAECggEAbN0BONt33t+FIaDGOKxWyoANmTDfEk/62yBSJpl3kXfA"
+
"XCS9RhDPJAKA1z4BrFdut+Omc/LSSPDqKAjjFDgUl131KdDTJNS2pzHxRUiUQ5H2"
+
"tYu/LfmASVJA1nQnKvWFp0Q9B4Cyqx1rwhjCXvVDLjny+/nnSD0WuhP9YCzTnHY1"
+
"U7djStrlHmVmiIrHlSV4Myul0Y7AWy2r7X/f43eSra1UP8J2KmN7IYD1nW19Fkdn"
+
"uDnXXDLcctnZ5toMjMbikjzvKyMW8HnPyG5aHztJlJWQ33tpAZBkAIWZ4/4KuVLa"
+
"zt6MPUXPEw7urWHVg1cqKprAlShVL5G6mCD2AJ6mPQKBgQD8Iv9GqYmaeW4NBQYn"
+
"jInoDYaHU2VUwYXwuNjqm7IgVgf6VHqJ5aj5EA+gClpzH6HzLvuEEZ5D4XTlpbHa"
+
"AN8h3aMo2lryEB8Cv/6uMjMYRFkuuMCVc1XaAsjTxJhO1qwsW4/IkWIoM7uGMD74"
+
"5zGvWg12QQuMPV7sVXT0XCrxFwKBgQDTvdjdu3QdIWYUaiRIkF/8e+6+finFZ0Dt"
+
"aaTnZ6mDSGaBwGqOSt+woOB61Vkl/EoaLpPGW0mKmhSlAnrD04LmB1LNt16W39RN"
+
"5mjVxBdHIkyWUcQAq46kNYvPJ6BGJkZiRW1eOrXfw0fTBQPb3X1Na2cWBzvT4+tw"
+
"Am1Sjv/SHwKBgQDkCKLnvZ194CTwEYMncaun+9OXwIz8wqnotMU6KeZH6Ib+mDjb"
+
"TqIr36LCE5sKU6mczvka0PRaYCXhLKJVkEQ91L4jzJhEJOBnFE26LhyX7fjakK1c"
+
"fRtAORR4sm0toGnHFGhN9W7Y/TC0hB3v7ui4trFGKj3PcBHRnNhRyKntsQKBgGR2"
+
"xEnYYixcJ2nyPorrbY+HYeyiQcF2zziWEnb1GVm/5VsU57nhzqaofjnptmWugZ5Q"
+
"kS7hK1CG8NqmBYeaeJYZzXDr2wZs5vebJgyfAIhwvrPn0b6bp49EFLTSUVpXWLfR"
+
"xyWZZ6fmqNJ3o7ATNBuipQOvpPRRROkdTa+JR9nzAoGBAJV4ejLCkgllaGr7IISK"
+
"YgYNicZKqzNtJ7JTxYsH7pylNHC8eo63S+xNv5xCUp85vjHGQXbp+HY3HeEqzkRn"
+
"PS7gkR0Q9tpdX03xREkWodj0GchdjwRgSlHK9W30x00pccv0iDlxSrGJUVLTqFlu"
+
"fCu0gOJ91NfpFLX9bP1YN29V"
;
return
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTiRoS+HcBGhxMKGmkJlktf+HRRErZYDw0KV8T6ub5HczH/YQ3LkTKyEhZxvcTngavL/"
+
"iNZQoFAtQbXBHDVH8L7qlS09+ouBmezZ9ijrX6XahNpoZwWPm+7Ua6rQB/8g+ZS/GQJUzez8RngPP2A00803oYLap+iA+tV+lAr1OKmvRBpKSRb7oUfY7tvHf/"
+
"nRgM9KH1mlWbxEavtrZm+8VBSMcx33v+ePWTn1Pp9sqFV/yMPxY9rOBcWIrdb0kuynILS371Do3jT9IgtYe8p0ShLtbWbJkt4gTBC/nVmE8kzH+I0uWmAHJw8QUj"
+
"ysalSwFMsyvybvcK4rvq2x2Pi0t9AgMBAAECggEAZc9Bn/+315nWFzP4Gp+gAIb0JP30jOcdBH3cL5l1REmtLAElQRL7w9fMHa/whqgRQslewuwLqwOVrT+uvlVLy"
+
"scqL48oE3zfqTeKGnAS4i/JWbRlp5eu2HNS0LVb1+8JlqbSjr8+ua80gJx7PbRvk174LUEuG1z3PI6i1tFmXAmf6yloYvhdrf4CqCuZJ/mP3hDs4qnRmbhw/Rb7z9p"
+
"ImLVGxKUxZkaDUvchGKcKrsyl76GA/y8DEIj3j/2GWSzZLh0LuDN3ZJQS4DZ0ZxOGw15TB2Us0XiC1TBlu8si1td0WGI1k4q716bucE9Bp/ODkln1D0EoF7JkShZyWzg"
+
"TXQKBgQDFvy0PjjlAuFHgcK1ihygL60gIxZ5vGu+KG8K5gf8jDqk5Rqj507YvXmWbqax5CyRUOL6KhVD/fk3ddsuzb74JSRO8GS1o7WvcCiyDBteGP8syObYBBDTf0Jz6N"
+
"Nq1ANkamZSxgt6MUGdQrx1X4FpzSXYA17RbFtrf/JaLRdFNQwKBgQC+/0869jkgDQsFodh64eGuOu1g32JzpZuLMSXQGmqk//HbScMMmvco2iwg2ULd9nGxgY3eA/kTvdmK"
+
"/ByoRPieJ7pS0ryP83Qq9M699J240/bzrNbQMAgEguq71ewt8yS+ATk4+ntj/9aGMjOGyTZi7M8HLOu8RqlD35SDbNkYPwKBgGW+j7jJPLwIGliYoR1o3ToEvPOGepZADa"
+
"/JyM8aC+RFztwhdx/TxpFoyG7nRk6hZPfQmnk7TwmmOvoP/Y89l1G/v9+wNKUgQ7bbpTtlcc8pU6tr9jFfsLTX6WzzdPRck1gUXWVYKJmZZQ8mirqEPQXEbmrQkYOspsFIfUz"
+
"7h01xAoGBALdugcxRvuk+PZCqMDtMBq+LHoGD6IzCxxC2IeesBzHyMXh2beIETk0ow2rE3chIsEZW80X/MM657Vzi5i7hFpjl9LcodzoVCUNcG9YpQPTKdYjvPNty1bBnf0Lo"
+
"n8w9kNL+X9OOFMUkZwY43m2bfyUg42+zv67xegyahIp4FkOHAoGACv7HiBADC9SUJ4J4D2+sQhuNRWzCyvT0b7MZyiC7G0t3ch3pjL8asWtk8ZR1bSQurMPuUqGdeix5xD4Nx"
+
"b4ZbhA8gxr2K9TvmVan2Not/L0GgvFULj4l1mli5wjzmli9WJIfcD23FjJ0Dz1w7pcXPzSw4pK3bTsandp0LDf3rrs="
;
}
@Override
public
String
getALIPAY_PUBLIC_KEY
()
{
return
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhwIiSpdHHs7XgZyNiSA++/usN6Sg2IKLlEUhfy89yig9GSGyb2p/VW7Ei4/5IuG9hM0yQx9bM28VDMj/KO0Y5VCcOgrVB11UhfdwpLx8JQXB9u9x0gf/q/wovdxBgqtStLuQ98vveID2O/nf+PluWfq/90EgiQs16fi91b7H150fHr3ra8HHTuvCMKGBck3QUURrRp9OdQaa/vPQjuEyVUNUyX9B9HRdn4PkigI/5rrxjVt4r/jvSOR2MhgBo0QKIm4lCxNibumAHN/w+mewjmoTu77X14bn80V1xPjTRfRohyuW1t0pOcPIpiV7FmlQB0T6uzKZ8I3vVg4l0SxfdQIDAQAB"
;
return
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlryO1G3TVb9mRVS08U19s1ydhyfLzy5xk6bFW2Jwkr9jD5TqkpjgI3ZYykz1VkgFxASHUo8+6tHjoOfhtul0MyDbtU8"
+
"/XrXr6spGRGRsHbxTiRj4wflKJHXFwZHM3Bq+5jV8m5SOlHXx62PkTCk8BJsrwYT06CZz3VH8M72JYiZu05Zm8AMKYjKmsmLdzCozL4PB7ztPWmGvLe+5Nc0As2urLBgfX7XGWHju"
+
"k8VsZaxQaVSn4z7cr4eP9iijmqJJXBFhtQLqzMjtlBRqqFn0kvUHiPg/ndEXq8TEVqN0uaSDdIZ+LPrIVvMnmcyaHKBn1fHQHNNaho9B/5PwHMYumQIDAQAB"
;
}
@Override
...
...
src/main/java/com/edgec/browserbackend/browser/1.html
0 → 100644
View file @
babfff41
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
Title
</title>
</head>
<body>
<form
name=
"punchout_form"
method=
"post"
action=
"https://openapi.alipay.com/gateway.do?charset=utf-8&method=alipay.trade.page.pay&sign=QSc3QsyyBSvtRWHrvD0eoUxRxMb080CUde5BowfoPaUZyVmwXtAGFiKN8DCspxOB7D1I1cbhWZkUcP%2FRAJ8xmnxg7Cqnp84tyO3%2FbmigYWoqD2frlPzdIDOt6%2Fg5NU%2FltVa%2F2LOoTnMVdhVeBgzlJ9vfFTQXvjaNofufN0Y3b%2F7Lxu7AqOk%2BhJtV%2BzWtSLO5C1zf5%2BhIyV%2Fmx86gBBFFdZ4Lv1iTSdxuRNOC6U15GoOq0BZGYlr9kIaE%2BbztC9y%2F72c%2FUP98hXGWRYG0p5iiNpNe2Dq3StuDgzFrlkpYPG4uu7l5%2B%2Fth3%2Bem0ivPDgWj4iu2DO92tnAFXhMVufQtzA%3D%3D&return_url=https%3A%2F%2Fwww.fangguanlian.cn%2Fweb%2FpaySuccess.html%3Falipayreturn%3D202409112024253737¬ify_url=https%3A%2F%2Fwww.cloudam.cn%2Faccounts%2F0xalipaycallback%2F202409112024253737&version=1.0&app_id=2021004169642053&sign_type=RSA2×tamp=2024-09-11+20%3A24%3A28&alipay_sdk=alipay-sdk-java-3.7.110.ALL&format=json"
>
<input
type=
"hidden"
name=
"biz_content"
value=
"{"out_trade_no":"202409112024253737","product_code":"FAST_INSTANT_TRADE_PAY","total_amount":"100.00","subject":"订单202409112024253737","body":""}"
>
<input
type=
"submit"
value=
"立即支付"
style=
"display:none"
>
</form>
<script>
document
.
forms
[
0
].
submit
();
</script>
</body>
</html>
\ No newline at end of file
src/main/java/com/edgec/browserbackend/browser/domain/CloudPlatformConfig.java
View file @
babfff41
...
...
@@ -31,4 +31,8 @@ public class CloudPlatformConfig {
private
String
usableArea
;
//可用区
private
String
imageId
;
//镜像id
private
String
keyId
;
//镜像id
}
src/main/java/com/edgec/browserbackend/browser/domain/ReceptionPlatformOptions.java
View file @
babfff41
...
...
@@ -18,9 +18,17 @@ public class ReceptionPlatformOptions {
private
String
platform
;
//平台
private
String
platformDesc
;
//平台描述
private
String
url
;
//网址
private
int
platformType
;
//平台类型: 1:全球开店 2:亚马逊站点
private
String
url1
;
//网址
private
String
url2
;
//网址
private
String
url3
;
//网址
private
int
platformType
;
//平台类型: 1:全球开店 2:亚马逊站点 3.网址导航
private
int
childType
;
//子类型
...
...
src/main/java/com/edgec/browserbackend/browser/repository/LoginHistoryRepository.java
View file @
babfff41
...
...
@@ -5,14 +5,12 @@ import org.springframework.data.domain.Page;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.repository.MongoRepository
;
import
java.util.List
;
public
interface
LoginHistoryRepository
extends
MongoRepository
<
LoginHistory
,
String
>
{
LoginHistory
findFirstByUsername
(
String
username
);
Page
<
LoginHistory
>
findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime
(
String
administrator
,
long
time
,
Pageable
pageable
);
Page
<
LoginHistory
>
findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime
Desc
(
String
administrator
,
long
time
,
Pageable
pageable
);
Page
<
LoginHistory
>
findByUsernameAndLoginTimeGreaterThanOrderByLoginTime
(
String
username
,
long
time
,
Pageable
pageable
);
Page
<
LoginHistory
>
findByUsernameAndLoginTimeGreaterThanOrderByLoginTime
Desc
(
String
username
,
long
time
,
Pageable
pageable
);
int
countByUsername
(
String
username
);
}
src/main/java/com/edgec/browserbackend/browser/service/Impl/HistoryServiceImpl.java
View file @
babfff41
...
...
@@ -96,9 +96,9 @@ public class HistoryServiceImpl implements HistoryService {
Page
<
LoginHistory
>
loginHistoryPage
;
long
time
=
Instant
.
now
().
atZone
(
ZoneOffset
.
UTC
).
minusDays
(
historyListRequestDto
.
getDay
()).
toInstant
().
toEpochMilli
();
if
(
account
.
getParent
()
==
null
)
{
loginHistoryPage
=
loginHistoryRepository
.
findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime
(
username
,
time
,
pageable
);
loginHistoryPage
=
loginHistoryRepository
.
findByAdministratorAndLoginTimeGreaterThanOrderByLoginTime
Desc
(
username
,
time
,
pageable
);
}
else
{
loginHistoryPage
=
loginHistoryRepository
.
findByUsernameAndLoginTimeGreaterThanOrderByLoginTime
(
username
,
time
,
pageable
);
loginHistoryPage
=
loginHistoryRepository
.
findByUsernameAndLoginTimeGreaterThanOrderByLoginTime
Desc
(
username
,
time
,
pageable
);
}
List
<
LoginHistoryDto
>
loginHistoryDtoList
=
new
ArrayList
<>();
...
...
src/main/java/com/edgec/browserbackend/browser/service/Impl/IpResourceServiceImpl.java
View file @
babfff41
This diff is collapsed.
Click to expand it.
src/main/java/com/edgec/browserbackend/browser/task/BrowserTask.java
View file @
babfff41
This diff is collapsed.
Click to expand it.
src/main/java/com/edgec/browserbackend/common/client/TenCentEcsClient.java
View file @
babfff41
package
com
.
edgec
.
browserbackend
.
common
.
client
;
import
com.alibaba.fastjson.JSON
;
import
com.edgec.browserbackend.browser.ErrorCode.BrowserErrorCode
;
import
com.edgec.browserbackend.browser.domain.CloudPlatformConfig
;
import
com.edgec.browserbackend.common.commons.error.ClientRequestException
;
import
com.edgec.browserbackend.common.utils.Aes
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.common.profile.ClientProfile
;
import
com.tencentcloudapi.common.profile.HttpProfile
;
import
com.tencentcloudapi.cvm.v20170312.CvmClient
;
import
com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.DescribeInstancesResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.DescribeZonesRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.DescribeZonesResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.InstanceChargePrepaid
;
import
com.tencentcloudapi.cvm.v20170312.models.LaunchTemplate
;
import
com.tencentcloudapi.cvm.v20170312.models.LoginSettings
;
import
com.tencentcloudapi.cvm.v20170312.models.ModifyInstancesChargeTypeRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.ModifyInstancesChargeTypeResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.Placement
;
import
com.tencentcloudapi.cvm.v20170312.models.RenewInstancesRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.RenewInstancesResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.RunInstancesRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.RunInstancesResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.TerminateInstancesRequest
;
import
com.tencentcloudapi.cvm.v20170312.models.TerminateInstancesResponse
;
import
com.tencentcloudapi.cvm.v20170312.models.ZoneInfo
;
import
com.tencentcloudapi.lighthouse.v20200324.LighthouseClient
;
import
com.tencentcloudapi.lighthouse.v20200324.models.Command
;
import
com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesRequest
;
import
com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesResponse
;
import
com.tencentcloudapi.lighthouse.v20200324.models.DockerContainerConfiguration
;
import
com.tencentcloudapi.lighthouse.v20200324.models.LoginConfiguration
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Random
;
import
java.util.stream.Collectors
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -71,6 +91,18 @@ public class TenCentEcsClient {
return
new
CvmClient
(
cred
,
regionId
,
clientProfile
);
}
private
static
LighthouseClient
createLightHouseClient
(
String
regionId
)
{
Credential
cred
=
new
Credential
(
getSecretId
(),
getSecretKey
());
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile
httpProfile
=
new
HttpProfile
();
httpProfile
.
setEndpoint
(
"lighthouse.tencentcloudapi.com"
);
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile
clientProfile
=
new
ClientProfile
();
clientProfile
.
setHttpProfile
(
httpProfile
);
// 实例化要请求产品的client对象,clientProfile是可选的
return
new
LighthouseClient
(
cred
,
regionId
,
clientProfile
);
}
/**
* 创建并运行实例
*/
...
...
@@ -88,7 +120,7 @@ public class TenCentEcsClient {
LoginSettings
loginSettings
=
new
LoginSettings
();
loginSettings
.
setKeyIds
(
Collections
.
singletonList
(
"skey-j9n2x0pl"
).
toArray
(
new
String
[
0
]));
runInstancesRequest
.
setLoginSettings
(
loginSettings
);
log
.
info
(
"调用TenCentEcs创建并运行实例,入参:owner:{},regionId:{}
"
,
owner
,
config
.
getRegionId
(
));
log
.
info
(
"调用TenCentEcs创建并运行实例,入参:owner:{},regionId:{}
, request{}"
,
owner
,
config
.
getRegionId
(),
JSON
.
toJSON
(
runInstancesRequest
));
runInstancesResponse
=
cvmClient
.
RunInstances
(
runInstancesRequest
);
log
.
info
(
"调用TenCentEcs创建并运行实例,响应参数:owner:{},response:{}"
,
owner
,
JSON
.
toJSON
(
runInstancesResponse
));
...
...
@@ -188,9 +220,75 @@ public class TenCentEcsClient {
response
=
cvmClient
.
RenewInstances
(
req
);
log
.
info
(
"调用TenCentEcs续费实例,响应参数:owner:{},response:{}"
,
owner
,
JSON
.
toJSON
(
response
));
}
catch
(
Exception
e
)
{
log
.
error
(
"fail to TenCentEcs r
unInstances
{}"
,
e
.
getMessage
());
log
.
error
(
"fail to TenCentEcs r
enewInstance
{}"
,
e
.
getMessage
());
}
return
response
;
}
/**
* 创建轻量级应用服务器
*/
public
static
CreateInstancesResponse
createInstances
(
String
owner
,
String
username
,
String
password
,
CloudPlatformConfig
config
)
{
LighthouseClient
cvmClient
=
createLightHouseClient
(
config
.
getRegionId
());
CreateInstancesResponse
createInstancesResponse
=
null
;
String
userData
=
String
.
format
(
getUserData
(),
username
,
password
,
username
);
try
{
// 实例化一个请求对象,每个接口都会对应一个request对象
CreateInstancesRequest
req
=
new
CreateInstancesRequest
();
//TODO 暂时写死
req
.
setBundleId
(
"bundle_starter_nmc_lin_med2_01"
);
req
.
setBlueprintId
(
config
.
getImageId
());
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
InstanceChargePrepaid
instanceChargePrepaid
=
new
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
InstanceChargePrepaid
();
instanceChargePrepaid
.
setPeriod
(
1L
);
req
.
setInstanceChargePrepaid
(
instanceChargePrepaid
);
LoginConfiguration
loginSettings
=
new
LoginConfiguration
();
loginSettings
.
setKeyIds
(
Collections
.
singletonList
(
config
.
getKeyId
()).
toArray
(
new
String
[
0
]));
req
.
setLoginConfiguration
(
loginSettings
);
Command
command
=
new
Command
();
command
.
setContent
(
Aes
.
base64Encode
(
userData
.
getBytes
()));
req
.
setInitCommand
(
command
);
//TODO 暂时写死
req
.
setFirewallTemplateId
(
"lhft-46ceryhz"
);
// 返回的resp是一个CreateInstancesResponse的实例,与请求对象对应
log
.
info
(
"调用TenCentEcs创建并运行轻量级实例,入参:owner:{},regionId:{}, request{}"
,
owner
,
config
.
getRegionId
(),
JSON
.
toJSON
(
req
));
createInstancesResponse
=
cvmClient
.
CreateInstances
(
req
);
log
.
info
(
"调用TenCentEcs创建并运行轻量级实例,响应参数:owner:{},response:{}"
,
owner
,
JSON
.
toJSON
(
createInstancesResponse
));
}
catch
(
Exception
e
)
{
log
.
error
(
"fail to tenCentEcs createInstances {}"
,
e
.
getMessage
());
}
return
createInstancesResponse
;
}
/**
* 查询轻量级应用服务器
*/
public
static
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesResponse
getDescribeInstancesLight
(
String
owner
,
String
instanceId
,
String
regionId
)
{
LighthouseClient
cvmClient
=
createLightHouseClient
(
regionId
);
// 返回的resp是一个DescribeInstancesResponse的实例,与请求对象对应
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesResponse
describeInstancesResponse
=
null
;
try
{
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesRequest
req
=
new
com
.
tencentcloudapi
.
lighthouse
.
v20200324
.
models
.
DescribeInstancesRequest
();
String
[]
instanceIds
=
{
""
+
instanceId
+
""
};
req
.
setInstanceIds
(
instanceIds
);
log
.
info
(
"调用TenCentEcs查询单个轻量级实例,入参:owner:{},regionId:{},instanceId:{}"
,
owner
,
regionId
,
instanceId
);
describeInstancesResponse
=
cvmClient
.
DescribeInstances
(
req
);
log
.
info
(
"调用TenCentEcs查询单个轻量级实例,响应参数:owner:{},response:{}"
,
owner
,
JSON
.
toJSON
(
describeInstancesResponse
));
}
catch
(
Exception
e
)
{
log
.
error
(
"fail to TenCentEcs getDescribeInstancesLight {}"
,
e
.
getMessage
());
}
return
describeInstancesResponse
;
}
}
src/main/java/com/edgec/browserbackend/wxpay/FGLWxConfig.java
View file @
babfff41
...
...
@@ -28,7 +28,7 @@ public class FGLWxConfig extends WXPayConfig {
@Override
public
InputStream
getCertStream
()
{
return
getClass
().
getResourceAsStream
(
"/certs/
fangguanlian
_cert.p12"
);
return
getClass
().
getResourceAsStream
(
"/certs/
apiclient
_cert.p12"
);
}
@Override
...
...
src/main/resources/certs/apiclient_cert.p12
0 → 100644
View file @
babfff41
File added
src/main/resources/static/buyIp.html
View file @
babfff41
...
...
@@ -5,7 +5,7 @@
<meta
charset=
"UTF-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
>
<title>
1
</title>
<script
src=
"https://
www.kuaitux.com/web/js/plugin/jq
.min.js"
></script>
<script
src=
"https://
cdn.bootcdn.net/ajax/libs/jquery/1.9.1/jquery
.min.js"
></script>
</head>
<body>
...
...
src/test/java/com/edgec/browserbackend/BrowserBackendApplicationTests.java
View file @
babfff41
...
...
@@ -15,11 +15,24 @@ import com.edgec.browserbackend.common.client.AliEcsClient;
import
com.edgec.browserbackend.common.client.TenCentEcsClient
;
import
com.edgec.browserbackend.common.commons.utils.SmsUtils
;
import
com.edgec.browserbackend.common.utils.Aes
;
import
com.tencentcloudapi.common.profile.ClientProfile
;
import
com.tencentcloudapi.common.profile.HttpProfile
;
import
com.tencentcloudapi.lighthouse.v20200324.LighthouseClient
;
import
com.tencentcloudapi.lighthouse.v20200324.models.CreateInstancesRequest
;
import
com.tencentcloudapi.tat.v20201028.models.Command
;
import
java.time.Instant
;
import
javax.annotation.Resource
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
com.tencentcloudapi.common.AbstractModel
;
import
com.tencentcloudapi.common.Credential
;
import
com.tencentcloudapi.common.profile.ClientProfile
;
import
com.tencentcloudapi.common.profile.HttpProfile
;
import
com.tencentcloudapi.common.exception.TencentCloudSDKException
;
import
com.tencentcloudapi.lighthouse.v20200324.LighthouseClient
;
import
com.tencentcloudapi.lighthouse.v20200324.models.*
;
@SpringBootTest
class
BrowserBackendApplicationTests
{
...
...
@@ -40,21 +53,22 @@ class BrowserBackendApplicationTests {
receptionPlatformOptions
.
setUrl
(
"https:www.dhgate.com"
);
receptionPlatformOptions
.
setPictureUrl
(
"https://ip-image.oss-rg-china-mainland.aliyuncs.com/app_image/app_image/dhgate.png"
);
receptionPlatformOptions
.
setWeight
(
100
);
repository
.
save
(
receptionPlatformOptions
);
//
repository.save(receptionPlatformOptions);
}
@Test
void
buyEcsTest
()
throws
Exception
{
CloudPlatformConfig
config
=
cloudPlatformConfigRepository
.
findByPlatformAndRegionId
(
"tenCent"
,
"ap-guangzhou"
);
"ap-tokyo"
);
//browserTask.queryIpNewTasks();
//AliEcsClient.runInstances("111","ceshi11","2222",config);
//AliEcsClient.getDescribeInstances("测试","i-wz9hf0i13xj6h904k14p","cn-shenzhen");
//DeleteInstanceResponse response = AliEcsClient.deleteInstance("测试", "i-j6cd9fujd6we3dzk8z9e","cn-hongkong");
//AliEcsClient.modifyInstanceChargeType("18711016574","Week",1,"cn-hongkong", "i-j6cd9fujd6we3dzk8z9e");
//TenCentEcsClient.
run
Instances("111","ceshi11","2222",config);
TenCentEcsClient
.
deleteInstance
(
"111"
,
"ins-nws56gg8"
,
"ap-guangzhou"
);
//TenCentEcsClient.
create
Instances("111","ceshi11","2222",config);
//TenCentEcsClient.getDescribeInstancesLight("测试","lhins-psgtwyeb","ap-tokyo");
//
TenCentEcsClient.deleteInstance("111","ins-nws56gg8","ap-guangzhou");
}
@Resource
...
...
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