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
9a05cfb2
Commit
9a05cfb2
authored
May 19, 2017
by
Jehonathan Thomas
Committed by
GitHub
May 19, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #243 from justcoding121/develop
Merge with beta
parents
341c29ec
87993565
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
9 deletions
+33
-9
README.md
README.md
+2
-5
ExternalProxy.cs
Titanium.Web.Proxy/Models/ExternalProxy.cs
+1
-1
TcpConnectionFactory.cs
Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
+30
-3
No files found.
README.md
View file @
9a05cfb2
...
...
@@ -17,8 +17,7 @@ Features
*
Safely relays Web Socket requests over HTTP
*
Support mutual SSL authentication
*
Fully asynchronous proxy
*
Supports proxy authentication
*
Supports proxy authentication & automatic proxy detection
Usage
=====
...
...
@@ -204,10 +203,8 @@ public Task OnCertificateSelection(object sender, CertificateSelectionEventArgs
```
Future road map (Pull requests are welcome!)
============
*
Implement Kerberos/NTLM authentication over HTTP protocols for windows domain
*
Support Server Name Indication (SNI) for transparent endpoints
*
Support HTTP 2.0
*
Support upstream AutoProxy detection
*
Support SOCKS protocol
*
Implement Kerberos/NTLM authentication over HTTP protocols for windows domain
Titanium.Web.Proxy/Models/ExternalProxy.cs
View file @
9a05cfb2
...
...
@@ -21,7 +21,7 @@ namespace Titanium.Web.Proxy.Models
/// <summary>
/// Bypass this proxy for connections to localhost?
/// </summary>
public
bool
Bypass
For
Localhost
{
get
;
set
;
}
public
bool
BypassLocalhost
{
get
;
set
;
}
/// <summary>
/// Username.
...
...
Titanium.Web.Proxy/Network/Tcp/TcpConnectionFactory.cs
View file @
9a05cfb2
...
...
@@ -39,10 +39,37 @@ namespace Titanium.Web.Proxy.Network.Tcp
TcpClient
client
;
CustomBufferedStream
stream
;
bool
isLocalhost
=
(
externalHttpsProxy
!=
null
||
externalHttpProxy
!=
null
)
&&
NetworkHelper
.
IsLocalIpAddress
(
remoteHostName
);
bool
useHttpsProxy
=
externalHttpsProxy
!=
null
&&
externalHttpsProxy
.
HostName
!=
remoteHostName
&&
externalHttpsProxy
.
BypassForLocalhost
&&
!
isLocalhost
;
bool
useHttpProxy
=
externalHttpProxy
!=
null
&&
externalHttpProxy
.
HostName
!=
remoteHostName
&&
externalHttpProxy
.
BypassForLocalhost
&&
!
isLocalhost
;
bool
useHttpProxy
=
false
;
//check if external proxy is set for HTTP
if
(!
isHttps
&&
externalHttpProxy
!=
null
&&
externalHttpProxy
.
HostName
!=
remoteHostName
)
{
useHttpProxy
=
true
;
//check if we need to ByPass
if
(
externalHttpProxy
.
BypassLocalhost
&&
NetworkHelper
.
IsLocalIpAddress
(
remoteHostName
))
{
useHttpProxy
=
false
;
}
}
bool
useHttpsProxy
=
false
;
//check if external proxy is set for HTTPS
if
(
isHttps
&&
externalHttpsProxy
!=
null
&&
externalHttpsProxy
.
HostName
!=
remoteHostName
)
{
useHttpsProxy
=
true
;
//check if we need to ByPass
if
(
externalHttpsProxy
.
BypassLocalhost
&&
NetworkHelper
.
IsLocalIpAddress
(
remoteHostName
))
{
useHttpsProxy
=
false
;
}
}
if
(
isHttps
)
{
...
...
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