Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Titanium-Web-Proxy
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
Titanium-Web-Proxy
Commits
912fedd2
Unverified
Commit
912fedd2
authored
Jul 21, 2019
by
honfika
Committed by
GitHub
Jul 21, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #619 from justcoding121/master
Merge to beta
parents
c2e5c449
1bce2480
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
17 deletions
+15
-17
ProxyTestController.cs
.../Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs
+4
-4
WinCertificateMaker.cs
...nium.Web.Proxy/Network/Certificate/WinCertificateMaker.cs
+1
-1
CertificateManager.cs
src/Titanium.Web.Proxy/Network/CertificateManager.cs
+1
-1
TcpConnectionFactory.cs
src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
+6
-8
CustomBufferedStream.cs
....Web.Proxy/StreamExtended/Network/CustomBufferedStream.cs
+3
-3
No files found.
examples/Titanium.Web.Proxy.Examples.Basic/ProxyTestController.cs
View file @
912fedd2
...
...
@@ -119,7 +119,7 @@ namespace Titanium.Web.Proxy.Examples.Basic
private
async
Task
onBeforeTunnelConnectRequest
(
object
sender
,
TunnelConnectSessionEventArgs
e
)
{
string
hostname
=
e
.
HttpClient
.
Request
.
RequestUri
.
Host
;
//
await writeToConsole("Tunnel to: " + hostname);
await
writeToConsole
(
"Tunnel to: "
+
hostname
);
if
(
hostname
.
Contains
(
"dropbox.com"
))
{
...
...
@@ -138,8 +138,8 @@ namespace Titanium.Web.Proxy.Examples.Basic
// intecept & cancel redirect or update requests
private
async
Task
onRequest
(
object
sender
,
SessionEventArgs
e
)
{
//
await writeToConsole("Active Client Connections:" + ((ProxyServer)sender).ClientConnectionCount);
//
await writeToConsole(e.HttpClient.Request.Url);
await
writeToConsole
(
"Active Client Connections:"
+
((
ProxyServer
)
sender
).
ClientConnectionCount
);
await
writeToConsole
(
e
.
HttpClient
.
Request
.
Url
);
// store it in the UserData property
// It can be a simple integer, Guid, or any type
...
...
@@ -189,7 +189,7 @@ namespace Titanium.Web.Proxy.Examples.Basic
private
async
Task
onResponse
(
object
sender
,
SessionEventArgs
e
)
{
//
await writeToConsole("Active Server Connections:" + ((ProxyServer)sender).ServerConnectionCount);
await
writeToConsole
(
"Active Server Connections:"
+
((
ProxyServer
)
sender
).
ServerConnectionCount
);
string
ext
=
System
.
IO
.
Path
.
GetExtension
(
e
.
HttpClient
.
Request
.
RequestUri
.
AbsolutePath
);
...
...
src/Titanium.Web.Proxy/Network/Certificate/WinCertificateMaker.cs
View file @
912fedd2
...
...
@@ -105,8 +105,8 @@ namespace Titanium.Web.Proxy.Network.Certificate
// KeyLength
const
int
keyLength
=
2048
;
var
graceTime
=
DateTime
.
Now
.
AddDays
(
graceDays
);
var
now
=
DateTime
.
Now
;
var
graceTime
=
now
.
AddDays
(
graceDays
);
var
certificate
=
makeCertificate
(
isRoot
,
sSubjectCN
,
fullSubject
,
keyLength
,
hashAlgo
,
graceTime
,
now
.
AddDays
(
validDays
),
isRoot
?
null
:
signingCert
);
return
certificate
;
...
...
src/Titanium.Web.Proxy/Network/CertificateManager.cs
View file @
912fedd2
...
...
@@ -483,7 +483,7 @@ namespace Titanium.Web.Proxy.Network
var
cancellationToken
=
clearCertificatesTokenSource
.
Token
;
while
(!
cancellationToken
.
IsCancellationRequested
)
{
var
cutOff
=
DateTime
.
Now
.
AddMinutes
(-
1
*
CertificateCacheTimeOutMinutes
);
var
cutOff
=
DateTime
.
Now
.
AddMinutes
(-
CertificateCacheTimeOutMinutes
);
var
outdated
=
cachedCertificates
.
Where
(
x
=>
x
.
Value
.
LastAccess
<
cutOff
).
ToList
();
...
...
src/Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
View file @
912fedd2
...
...
@@ -184,13 +184,12 @@ namespace Titanium.Web.Proxy.Network.Tcp
{
if
(
cache
.
TryGetValue
(
cacheKey
,
out
var
existingConnections
))
{
// +3 seconds for potential delay after getting connection
var
cutOff
=
DateTime
.
Now
.
AddSeconds
(-
proxyServer
.
ConnectionTimeOutSeconds
+
3
);
while
(
existingConnections
.
Count
>
0
)
{
if
(
existingConnections
.
TryDequeue
(
out
var
recentConnection
))
{
//+3 seconds for potential delay after getting connection
var
cutOff
=
DateTime
.
Now
.
AddSeconds
(-
1
*
proxyServer
.
ConnectionTimeOutSeconds
+
3
);
if
(
recentConnection
.
LastAccess
>
cutOff
&&
recentConnection
.
TcpClient
.
IsGoodConnection
())
{
...
...
@@ -481,7 +480,7 @@ namespace Titanium.Web.Proxy.Network.Tcp
{
try
{
var
cutOff
=
DateTime
.
Now
.
AddSeconds
(-
1
*
Server
.
ConnectionTimeOutSeconds
);
var
cutOff
=
DateTime
.
Now
.
AddSeconds
(-
Server
.
ConnectionTimeOutSeconds
);
foreach
(
var
item
in
cache
)
{
var
queue
=
item
.
Value
;
...
...
@@ -490,8 +489,7 @@ namespace Titanium.Web.Proxy.Network.Tcp
{
if
(
queue
.
TryDequeue
(
out
var
connection
))
{
if
(!
Server
.
EnableConnectionPool
||
connection
.
LastAccess
<
cutOff
)
if
(!
Server
.
EnableConnectionPool
||
connection
.
LastAccess
<
cutOff
)
{
disposalBag
.
Add
(
connection
);
}
...
...
@@ -508,8 +506,8 @@ namespace Titanium.Web.Proxy.Network.Tcp
{
await
@lock
.
WaitAsync
();
//clear empty queues
var
emptyKeys
=
cache
.
Where
(
x
=>
x
.
Value
.
Count
==
0
).
Select
(
x
=>
x
.
Key
).
ToList
(
);
//
clear empty queues
var
emptyKeys
=
cache
.
ToArray
().
Where
(
x
=>
x
.
Value
.
Count
==
0
).
Select
(
x
=>
x
.
Key
);
foreach
(
string
key
in
emptyKeys
)
{
cache
.
TryRemove
(
key
,
out
_
);
...
...
src/Titanium.Web.Proxy/StreamExtended/Network/CustomBufferedStream.cs
View file @
912fedd2
...
...
@@ -51,7 +51,7 @@ namespace Titanium.Web.Proxy.StreamExtended.Network
try
{
var
method
=
typeof
(
NetworkStream
).
GetMethod
(
nameof
(
Stream
.
ReadAsync
),
new
Type
[]
{
typeof
(
byte
[]),
typeof
(
int
),
typeof
(
int
),
typeof
(
CancellationToken
)
});
new
[]
{
typeof
(
byte
[]),
typeof
(
int
),
typeof
(
int
),
typeof
(
CancellationToken
)
});
if
(
method
!=
null
&&
method
.
DeclaringType
!=
typeof
(
Stream
))
{
networkStreamHack
=
false
;
...
...
@@ -684,8 +684,7 @@ namespace Titanium.Web.Proxy.StreamExtended.Network
return
((
TaskResult
<
int
>)
asyncResult
).
Result
;
}
/// <summary>
/// Fix the .net bug with SslStream slow WriteAsync
/// https://github.com/justcoding121/Titanium-Web-Proxy/issues/495
...
...
@@ -709,6 +708,7 @@ namespace Titanium.Web.Proxy.StreamExtended.Network
return
vAsyncResult
;
}
public
override
void
EndWrite
(
IAsyncResult
asyncResult
)
{
if
(!
networkStreamHack
)
...
...
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