TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Hey San
NA
2
2.6k
Trying titanium web proxy solution
Oct 5 2020 1:43 PM
We installed nuget titanium web proxy, created a window service and initiated titanium web proxy. The windows service works, runs, and start and stop times are written to a log file. But the web proxy is supposed to catch internet request and afford them, though no such events happen; nothing is logged, when i open some page with different browsers. Here is our code:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Diagnostics;
using
System.IO;
using
System.Linq;
using
System.ServiceProcess;
using
System.Text;
using
System.Threading.Tasks;
using
Titanium.Web.Proxy;
using
Titanium.Web.Proxy.EventArguments;
namespace
WebProxyOne {
public
partial
class
MyNewService : ServiceBase {
public
ProxyServer proxyServer;
public
MyNewService() {
InitializeComponent();
}
protected
override
void
OnStart(
string
[] args) {
proxyServer =
new
ProxyServer(
true
,
true
,
true
);
proxyServer.BeforeRequest += OnRequest;
proxyServer.Start();
WriteToFile(
"Service is started at "
+ DateTime.Now);
}
protected
override
void
OnStop() {
proxyServer.Stop();
WriteToFile(
"Service is stopped at "
+ DateTime.Now);
}
public
void
WriteToFile(
string
Message) {
string
path =
"E:\\Downloads\\Logs"
;
if
(!Directory.Exists(path)) {
Directory.CreateDirectory(path);
}
string
filepath =
"E:\\Downloads\\Logs\\ServiceLog_"
+ DateTime.Now.Date.ToShortDateString().Replace(
'/'
,
'_'
) +
".txt"
;
if
(!File.Exists(filepath)) {
// Create a file to write to.
using
(StreamWriter sw = File.CreateText(filepath)) {
sw.WriteLine(Message);
}
}
else
{
using
(StreamWriter sw = File.AppendText(filepath)) {
sw.WriteLine(Message);
}
}
}
public
async Task OnRequest(
object
sender, SessionEventArgs e) {
WriteToFile(e.HttpClient.Request.Url);
// To cancel a request with a custom HTML content
// Filter URL
if
(e.HttpClient.Request.Method.ToUpper() ==
"GET"
&& e.HttpClient.Request.RequestUri.AbsoluteUri.Contains(
"google.com"
)) {
e.Ok(
"<!DOCTYPE html>"
+
"<html><body><h1>"
+
"Website Blocked"
+
"</h1>"
+
"<p>Blocked by titanium web proxy.</p>"
+
"</body>"
+
"</html>"
);
}
// Redirect example
if
(e.HttpClient.Request.RequestUri.AbsoluteUri.Contains(
"wikipedia.org"
)) {
e.Redirect(
"https://www.paypal.com"
);
}
}
}
}
Reply
Answers (
0
)
Web Content Filtering concerning specific URLs
How do you change registry settings to enable devices attached to USB