Giter Site home page Giter Site logo

amoazeni75 / proxy-server Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 72 KB

in this application you can define some category and insert url to each category, next setup proxy server of your browser to this application, then traffic filtering will be applied to your internet browsing

Java 97.11% HTML 2.89%
java proxy-server filtering 403 forbidden proxy-server-java monitoring-server

proxy-server's Introduction

proxy server java

This Project was issued by Dr.Bakhshi for the first home work of web programming course in spring 2019 at amirkabir university of technology

This Application was developed by java swing in the intelliJ IDEA

Once you Run the application you can define some category, next for each category you can specify some url. after defining urls, you can start proxy, now by starting proxy server you will see some information in the top of application like IP and Port that is running on, in the next step you should go to internet setting (windows 10) and in the connection tab press LAN Settings button in the right bottom of screen, then enable proxy usage and put the ip and port that application is running on it, finally each category or urls that you checked it will be allowed by our proxy and for another urls it will send you a page with 403 forbidden message. in the last, each category and urls that you defined will be saved for next running of application in the file

some technical points

This Project has two packages, GUI and Models, in the GUI package you can find classes related to user interface and in the Models Packages You will see three Classes, in the next we will provide brief information about each of them.

Backend.java
-in this class we process all things such as loading saved categories and urls, saving categories and urls, implementing buttons action and anything related to backend.
SocketListener.java
in this class the application is listening on specific port and has a threadpool that make a tcp connection for each request and passes created socket to new RequestHandler object, we developed this part with multithreading because browsers like chrome support multi tab browsing
RequestHandler.java
this class will handle all things related to sending and receiving packets, in first step will detect target url from the header of first http packet then check detected url with blocking urls list, according to the rules this connection will we continue or will be closed by sending 403 forbidden response.

proxy-server's People

Contributors

amoazeni75 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.