https://github.com/shishir-grez/proxyserver
Proxy Server written in C , supports multithreading , logging and LRU caching. Custom Data Structure ( Combination of Hash Map + Queue ) for O(1) insertion, retrieval, deletion and updation of Cache.
https://github.com/shishir-grez/proxyserver
c caching data-structures linked-list lru-cache multithreading mutex proxy semaphore socket
Last synced: 8 months ago
JSON representation
Proxy Server written in C , supports multithreading , logging and LRU caching. Custom Data Structure ( Combination of Hash Map + Queue ) for O(1) insertion, retrieval, deletion and updation of Cache.
- Host: GitHub
- URL: https://github.com/shishir-grez/proxyserver
- Owner: Shishir-grez
- Created: 2025-01-05T05:29:32.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-02-03T11:08:44.000Z (9 months ago)
- Last Synced: 2025-03-04T06:14:34.213Z (8 months ago)
- Topics: c, caching, data-structures, linked-list, lru-cache, multithreading, mutex, proxy, semaphore, socket
- Language: C
- Homepage: https://github.com/Shishir-grez/ProxyServer
- Size: 331 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Note
* Currently runs only on unix based systems.
* use "make all" to compile all the files into executable
* run the code by running command ./proxy
* You can test the websites mentioned in websites.txt to check the working of caching .
* Uses Various concepts like linked lists for LRU ( Least Recently Used ) Caching, Multithreading for handling multiple request, uses semaphores and mutexes for ensuring concurrent access to memory resource, use socket programming to establish connection between client and proxy server.
* View Resources used to make this project : [Resources](https://github.com/Shishir-grez/ProxyServer/blob/main/Resources/resources.txt)
* Concept Guide : [Guide](https://github.com/Shishir-grez/ProxyServer/tree/main/Resources)