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
83b0c737
Commit
83b0c737
authored
Feb 06, 2016
by
titanium007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update readme
parent
e312b9bb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
8 deletions
+28
-8
README.md
README.md
+14
-4
ProxyTestController.cs
Titanium.Web.Proxy.Test/ProxyTestController.cs
+14
-4
No files found.
README.md
View file @
83b0c737
...
...
@@ -40,21 +40,31 @@ Setup HTTP proxy:
//Exclude Https addresses you don't want to proxy
//Usefull for clients that use certificate pinning
//for example dropbox.com
var
explicitEndPoint
=
new
ExplicitProxyEndPoint
(
IPAddress
.
Loopback
,
8000
,
true
){
var
explicitEndPoint
=
new
ExplicitProxyEndPoint
(
IPAddress
.
Any
,
8000
,
true
){
ExcludedHttpsHostNameRegex
=
new
List
<
string
>()
{
"dropbox.com"
}
};
var
transparentEndPoint
=
new
TransparentProxyEndPoint
(
IPAddress
.
Loopback
,
8001
,
true
);
//An explicit endpoint is where the client knows about the exististance of a proxy
//So client sends request in a proxy friendly manner
ProxyServer
.
AddEndPoint
(
explicitEndPoint
);
ProxyServer
.
Start
();
//You can also add/remove end points after proxy has been started
//Transparent endpoint is usefull for reverse proxying
//A transparent endpoint usually requires a network router port forwarding HTTP(S) packets to this endpoint
//Please read about it before asking questions!
//Currently do not support Server Name Indication (SNI is not currently supported by SslStream class)
//That means that the transparent endpoint will always provide the same Generic Certificate to all HTTPS requests
//In this example only google.com will work for HTTPS requests
//Other sites will receive a certificate mismatch warning on browser
var
transparentEndPoint
=
new
TransparentProxyEndPoint
(
IPAddress
.
Any
,
8001
,
true
)
{
GenericCertificateName
=
"google.com"
};
ProxyServer
.
AddEndPoint
(
transparentEndPoint
);
ProxyServer
.
RemoveEndPoint
(
transparentEndPoint
);
foreach
(
var
endPoint
in
ProxyServer
.
ProxyEndPoints
)
Console
.
WriteLine
(
"Listening on '{0}' endpoint at Ip {1} and port: {2} "
,
endPoint
.
GetType
().
Name
,
endPoint
.
IpAddress
,
endPoint
.
Port
);
//Only explicit proxies can be set as system proxy!
ProxyServer
.
SetAsSystemHttpProxy
(
explicitEndPoint
);
ProxyServer
.
SetAsSystemHttpsProxy
(
explicitEndPoint
);
...
...
Titanium.Web.Proxy.Test/ProxyTestController.cs
View file @
83b0c737
...
...
@@ -19,21 +19,31 @@ namespace Titanium.Web.Proxy.Test
//Exclude Https addresses you don't want to proxy
//Usefull for clients that use certificate pinning
//for example dropbox.com
var
explicitEndPoint
=
new
ExplicitProxyEndPoint
(
IPAddress
.
Loopback
,
8000
,
true
){
var
explicitEndPoint
=
new
ExplicitProxyEndPoint
(
IPAddress
.
Any
,
8000
,
true
){
ExcludedHttpsHostNameRegex
=
new
List
<
string
>()
{
"dropbox.com"
}
};
var
transparentEndPoint
=
new
TransparentProxyEndPoint
(
IPAddress
.
Loopback
,
8001
,
true
);
//An explicit endpoint is where the client knows about the exististance of a proxy
//So client sends request in a proxy friendly manner
ProxyServer
.
AddEndPoint
(
explicitEndPoint
);
ProxyServer
.
Start
();
//You can also add/remove end points after proxy has been started
//Transparent endpoint is usefull for reverse proxying (client is not aware of the existance of proxy)
//A transparent endpoint usually requires a network router port forwarding HTTP(S) packets to this endpoint
//Currently do not support Server Name Indication (It is not currently supported by SslStream class)
//That means that the transparent endpoint will always provide the same Generic Certificate to all HTTPS requests
//In this example only google.com will work for HTTPS requests
//Other sites will receive a certificate mismatch warning on browser
//Please read about it before asking questions!
var
transparentEndPoint
=
new
TransparentProxyEndPoint
(
IPAddress
.
Any
,
8001
,
true
)
{
GenericCertificateName
=
"google.com"
};
ProxyServer
.
AddEndPoint
(
transparentEndPoint
);
ProxyServer
.
RemoveEndPoint
(
transparentEndPoint
);
foreach
(
var
endPoint
in
ProxyServer
.
ProxyEndPoints
)
Console
.
WriteLine
(
"Listening on '{0}' endpoint at Ip {1} and port: {2} "
,
endPoint
.
GetType
().
Name
,
endPoint
.
IpAddress
,
endPoint
.
Port
);
//Only explicit proxies can be set as system proxy!
ProxyServer
.
SetAsSystemHttpProxy
(
explicitEndPoint
);
ProxyServer
.
SetAsSystemHttpsProxy
(
explicitEndPoint
);
}
...
...
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