Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
com.ccwangluo.accelerator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sheteng
com.ccwangluo.accelerator
Commits
78f244a9
Commit
78f244a9
authored
Mar 22, 2022
by
sheteng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加速修改模式切换3
parent
b9828bfe
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
247 additions
and
184 deletions
+247
-184
app/src/main/java/com/ccwangluo/accelerator/ui/home/AcceleratorFragment.kt
.../com/ccwangluo/accelerator/ui/home/AcceleratorFragment.kt
+14
-14
core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt
...java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt
+2
-6
core/src/main/java/com/github/shadowsocks/bg/AuthManager.kt
core/src/main/java/com/github/shadowsocks/bg/AuthManager.kt
+63
-164
core/src/main/java/com/github/shadowsocks/http/HttpUtils.kt
core/src/main/java/com/github/shadowsocks/http/HttpUtils.kt
+168
-0
No files found.
app/src/main/java/com/ccwangluo/accelerator/ui/home/AcceleratorFragment.kt
View file @
78f244a9
...
...
@@ -247,20 +247,20 @@ class AcceleratorFragment : XPageFragment() {
AcceleratorUtils
.
getGameList
(
this
)
{
if
(
it
)
{
//
//
AcceleratorUtils.game?.let {
//
if (!SysUtils.isPackageInstall(requireContext(), it.packageName)) {
//
binding.quickTopToast.visibility = View.VISIBLE
//
binding.quickTopToastTx.setText("请先安装游戏后加速")
//
binding.quickTopToastTx.postDelayed({
//
binding.quickTopToast.visibility = View.GONE
//
}, 2000)
//
DataRePortUtils.report(
//
"st_speed_result",
//
mapOf("result" to 0, "cause" to "1")
//
)
//
return@getGameList
//
}
//
}
AcceleratorUtils
.
game
?.
let
{
if
(!
SysUtils
.
isPackageInstall
(
requireContext
(),
it
.
packageName
))
{
binding
.
quickTopToast
.
visibility
=
View
.
VISIBLE
binding
.
quickTopToastTx
.
setText
(
"请先安装游戏后加速"
)
binding
.
quickTopToastTx
.
postDelayed
({
binding
.
quickTopToast
.
visibility
=
View
.
GONE
},
2000
)
DataRePortUtils
.
report
(
"st_speed_result"
,
mapOf
(
"result"
to
0
,
"cause"
to
"1"
)
)
return
@getGameList
}
}
//用户是否有使用时长
LoginUtils
.
getUserHasTimer
(
this
@AcceleratorFragment
)
{
if
(
it
)
{
...
...
core/src/main/java/com/github/shadowsocks/aidl/ShadowsocksConnection.kt
View file @
78f244a9
...
...
@@ -26,6 +26,7 @@ import android.content.Intent
import
android.content.ServiceConnection
import
android.os.IBinder
import
android.os.RemoteException
import
com.github.shadowsocks.bg.AuthManager
import
com.github.shadowsocks.bg.AuthManager.ACC_TIME
import
com.github.shadowsocks.bg.AuthManager.Last_ACC_TIme
import
com.github.shadowsocks.bg.BaseService
...
...
@@ -62,14 +63,9 @@ class ShadowsocksConnection(private var listenForDeath: Boolean = false) : Servi
private
val
serviceCallback
=
object
:
IShadowsocksServiceCallback
.
Stub
()
{
override
fun
stateChanged
(
state
:
Int
,
profileName
:
String
?,
msg
:
String
?)
{
val
callback
=
callback
?:
return
if
(
AuthManager
.
isreload
)
return
GlobalScope
.
launch
(
Dispatchers
.
Main
.
immediate
)
{
callback
.
stateChanged
(
BaseService
.
State
.
values
()[
state
],
profileName
,
msg
)
if
(
BaseService
.
State
.
values
()[
state
]
==
BaseService
.
State
.
Connected
)
{
ACC_TIME
=
System
.
currentTimeMillis
()
}
else
{
ACC_TIME
=
0L
Last_ACC_TIme
=
System
.
currentTimeMillis
()
}
}
}
override
fun
trafficUpdated
(
profileId
:
Long
,
stats
:
TrafficStats
)
{
...
...
core/src/main/java/com/github/shadowsocks/bg/AuthManager.kt
View file @
78f244a9
This diff is collapsed.
Click to expand it.
core/src/main/java/com/github/shadowsocks/http/HttpUtils.kt
0 → 100644
View file @
78f244a9
package
com.github.shadowsocks.http
import
com.ccnet.acc.NetworkAdapter
import
com.github.shadowsocks.bg.AuthManager
import
com.google.gson.Gson
import
com.google.gson.reflect.TypeToken
import
okhttp3.MediaType.Companion.toMediaTypeOrNull
import
okhttp3.OkHttpClient
import
okhttp3.Request
import
okhttp3.RequestBody
import
okhttp3.RequestBody.Companion.toRequestBody
import
timber.log.Timber
import
java.io.IOException
import
java.net.InetAddress
import
java.net.Socket
import
java.security.SecureRandom
import
java.security.cert.X509Certificate
import
java.util.concurrent.TimeUnit
import
javax.net.ssl.SSLContext
import
javax.net.ssl.SSLSocketFactory
import
javax.net.ssl.X509TrustManager
object
HttpUtils
{
val
okHttpClient
:
OkHttpClient
val
gson
:
Gson
init
{
okHttpClient
=
OkHttpClient
().
newBuilder
()
.
readTimeout
(
60
,
TimeUnit
.
SECONDS
)
//设置读取超时时间
.
writeTimeout
(
60
,
TimeUnit
.
SECONDS
)
//设置写的超时时间
.
connectTimeout
(
60
,
TimeUnit
.
SECONDS
)
//设置连接超时时间
//https支持
.
hostnameVerifier
{
hostname
,
session
->
true
}
.
sslSocketFactory
(
initSSLSocketFactory
(),
initTrustManager
())
.
build
()
gson
=
Gson
()
}
val
jsonType
get
()
=
"application/json; charset=utf-8"
.
toMediaTypeOrNull
()
inline
fun
<
reified
T
>
postSync
(
url
:
String
,
token
:
String
?,
params
:
Any
):
ApiResult
<
T
>
{
val
body
:
RequestBody
=
gson
.
toJson
(
params
).
toString
().
toRequestBody
(
jsonType
)
val
request
=
Request
.
Builder
()
.
url
(
if
(
url
.
startsWith
(
"http"
))
url
else
HttpConfig
.
baseUrl
+
url
)
.
post
(
body
)
token
?.
let
{
request
.
addHeader
(
"Authorization"
,
it
)
}
val
call
=
okHttpClient
.
newCall
(
request
.
build
())
val
resultType
=
object
:
TypeToken
<
ApiResult
<
T
>>()
{}.
type
try
{
call
.
execute
().
use
{
response
->
val
string
=
response
.
body
?.
string
()
println
(
string
)
return
gson
.
fromJson
(
string
,
resultType
)
}
}
catch
(
e
:
IOException
)
{
Timber
.
e
(
e
,
"AuthManager 调用接口错误"
)
return
ApiResult
(
ApiError
.
NetworkError
)
}
}
private
fun
initSSLSocketFactory
():
SSLSocketFactory
{
var
sslContext
:
SSLContext
?
=
null
try
{
sslContext
=
SSLContext
.
getInstance
(
"SSL"
)
val
xTrustArray
=
arrayOf
(
initTrustManager
())
sslContext
.
init
(
null
,
xTrustArray
,
SecureRandom
()
)
}
catch
(
e
:
Exception
)
{
e
.
printStackTrace
()
}
return
AutoSwitchNetworkSocketFactory
(
sslContext
!!
.
socketFactory
)
}
private
class
AutoSwitchNetworkSocketFactory
(
private
val
delegate
:
SSLSocketFactory
)
:
SSLSocketFactory
()
{
override
fun
createSocket
(
s
:
Socket
?,
host
:
String
?,
port
:
Int
,
autoClose
:
Boolean
):
Socket
{
val
bindNetwork
=
NetworkAdapter
.
bindNetwork
val
createSocket
=
delegate
.
createSocket
(
s
,
host
,
port
,
autoClose
)
bindNetwork
?.
bindSocket
(
createSocket
)
return
createSocket
}
override
fun
createSocket
(
host
:
String
?,
port
:
Int
):
Socket
{
val
bindNetwork
=
NetworkAdapter
.
bindNetwork
return
if
(
bindNetwork
!=
null
)
{
bindNetwork
.
socketFactory
.
createSocket
(
host
,
port
)
}
else
{
delegate
.
createSocket
(
host
,
port
)
}
}
override
fun
createSocket
(
host
:
String
?,
port
:
Int
,
localHost
:
InetAddress
?,
localPort
:
Int
):
Socket
{
val
bindNetwork
=
NetworkAdapter
.
bindNetwork
return
if
(
bindNetwork
!=
null
)
{
bindNetwork
.
socketFactory
.
createSocket
(
host
,
port
,
localHost
,
localPort
)
}
else
{
delegate
.
createSocket
(
host
,
port
,
localHost
,
localPort
)
}
}
override
fun
createSocket
(
host
:
InetAddress
?,
port
:
Int
):
Socket
{
val
bindNetwork
=
NetworkAdapter
.
bindNetwork
return
if
(
bindNetwork
!=
null
)
{
bindNetwork
.
socketFactory
.
createSocket
(
host
,
port
)
}
else
{
delegate
.
createSocket
(
host
,
port
)
}
}
override
fun
createSocket
(
address
:
InetAddress
?,
port
:
Int
,
localAddress
:
InetAddress
?,
localPort
:
Int
):
Socket
{
val
bindNetwork
=
NetworkAdapter
.
bindNetwork
return
if
(
bindNetwork
!=
null
)
{
bindNetwork
.
socketFactory
.
createSocket
(
address
,
port
,
localAddress
,
localPort
)
}
else
{
delegate
.
createSocket
(
address
,
port
,
localAddress
,
localPort
)
}
}
override
fun
getDefaultCipherSuites
():
Array
<
String
>
{
return
delegate
.
defaultCipherSuites
}
override
fun
getSupportedCipherSuites
():
Array
<
String
>
{
return
delegate
.
supportedCipherSuites
}
}
private
fun
initTrustManager
():
X509TrustManager
{
return
object
:
X509TrustManager
{
override
fun
getAcceptedIssuers
():
Array
<
X509Certificate
>
{
return
arrayOf
()
}
override
fun
checkServerTrusted
(
chain
:
Array
<
out
X509Certificate
>?,
authType
:
String
?)
{
}
override
fun
checkClientTrusted
(
chain
:
Array
<
out
X509Certificate
>?,
authType
:
String
?)
{
}
}
}
}
\ No newline at end of file
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