Giter VIP home page Giter VIP logo

iit-kgp-network's Introduction

iit-kgp-network's People

Contributors

imgbotapp avatar proffapt avatar sheharyaar avatar signor-koala avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

iit-kgp-network's Issues

Refactoring the technical-documentation away from ExpressVPN

Since ExpressVPN is not the best now; it has a new contender -- Speedify, the whole testing thing shall be changed to Speedify if we get some tester(I might be the one; but I ain't into gaming so that will not suffice). Speedify has active servers in Mumbai, India and no future plans to remove them and cheaper( in terms of 3-yr plan ) than ExpressVPN.

Thus a general suggestion to change the essence of documentation to something not based on ExpressVPN or atleast mention about the "now" issue with ExpressVPN in the documentation as a highlight.
Shall I make a PR regarding this after Speedify test results PR gets merged?

Design of VPN for kgp network

KGP Network does not need a proper VPN with heavy encryption and stuff.
We just need to have a server that unloads the packet and then forwards it to the correct destination.

  • Trying to send UDP over TCP and then routing it through Wireguard or using a resource heavy VPN like OpenVPN creates a performance loss and packet loss ( not ideal for gaming). OpenVPN causes much speed loss, causing only 24 Mbps on Wifi networks and causes huge instant packet losses in games.

A few methods I propose, which can work much better on free servers like AWS, Azure and DigitalOcean aree :

  • Basic packet transforming in the kernel via BPF/XDP hooks ??
  • Testing a basic/encrypted proxy at userspace
  • Testing a basic/encrypted in kernel proxy (will be faster than userspace)
  • An in kernel VPN similar to Wireguard which works on TCP -> This eliminates sending UDP over TCP which is again unpacked by Wireguard to be forwarded, causing a performance loss
  • Bypass linux kernel network stack and use custom stack developed using something like DPDK and can be hosted online

Need more input on these.

Some resources:
Wireguard Whitepaper
Kernel Bypass
DPDK

UDP and TCP packet drops

There is a strange behavior with the firewall dropping TCP and UDP packets. After hosting a server using netcat on cloud (both EC2 and DigitalOcean),

I tested TCP using netcat and telnet. Both connected successfully. For UDP testing, I used netcat only. The servers were created on even reserved category ports which are not in use.

The strange behaviour I noticed was that, both TCP and UDP connections were dropped on both netcat and telnet exactly after 6 data transfers ( the 7th couldn't
be processed by the server and the conenction was reset ).

More information from important tools like wireshark or tcpdump would be helpful.
Information can be gathered about this behaviour by changing the size of the messages and forcing fragmentation. Tinkering with MTU size can also provide some insight.

Version of "ticks"

Umm.. why to use ✔️, why not ✅
The first one has almost same shade as that of background of github.. and that decreases the readability to some extent..
looks for both versions are attached below:

image

image

Mullvad VPN Test Results

  • No errors encountered

  • Works after choosing OpenVPN protocol with TCP port 443 and enabling bridge mode in the settings

  • DNS leak test: passed

  • Contents of /etc/resolv.conf

    • Before connecting to the vpn:

      # Generated by NetworkManager
      search iitkgp.ac.in
      nameserver 172.16.1.164
      nameserver 172.16.1.180
    • After connecting to the vpn:

      nameserver 10.5.0.1
      search iitkgp.ac.in
  • iptables rules

    • Before connecting to the vpn:

      Chain PREROUTING (policy ACCEPT)
      target     prot opt source               destination         
      DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
      
      Chain INPUT (policy ACCEPT)
      target     prot opt source               destination         
      
      Chain OUTPUT (policy ACCEPT)
      target     prot opt source               destination         
      DOCKER     all  --  anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL
      
      Chain POSTROUTING (policy ACCEPT)
      target     prot opt source               destination         
      MASQUERADE  all  --  172.17.0.0/16        anywhere            
      MASQUERADE  all  --  anywhere             anywhere            
      
      Chain DOCKER (2 references)
      target     prot opt source               destination         
      RETURN     all  --  anywhere             anywhere            
    • After connecting to the vpn:

      Chain PREROUTING (policy ACCEPT)
      target     prot opt source               destination         
      DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
      
      Chain INPUT (policy ACCEPT)
      target     prot opt source               destination         
      
      Chain OUTPUT (policy ACCEPT)
      target     prot opt source               destination         
      DOCKER     all  --  anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL
      
      Chain POSTROUTING (policy ACCEPT)
      target     prot opt source               destination         
      MASQUERADE  all  --  172.17.0.0/16        anywhere            
      MASQUERADE  all  --  anywhere             anywhere            
      
      Chain DOCKER (2 references)
      target     prot opt source               destination         
      RETURN     all  --  anywhere         
      

Azure OpenVPN unable to connect

I have set up OpenVPN on Azure and it worked fine, but from last few days when chatgpt and some other websites got blocked the vpn has stopped connecting. Is there any fix for this?

Platform for Discussion

Enable the discussion area for this repository, idk how exactly to refer it.. thus attaching an image to clarify..
This will provide a good platform for ordered discussion regarding multiple topics right here on github.

image

AWS tutorial

Add AWS tutorial for the following :

  • Opening an AWS account
  • Creating an instance for VPN usage only
  • Managing billing and alerts
  • Removing instances, releasing resources and maybe shutting down instances for good

TCP_NODELAY Benchmarks

Server: Azure Central India
TCP Port: 443
Location: Nehru Hall
Connection: Gigabit Ethernet

Without VPN Results:
Speed:
Speedtest.net -> [Server: Mutiny Systems, Pune] 290Mbps Down, 230Mbps Up
Fast.com -> [Server: Block EP Sector V, Saltlake, IN  |  Patna, IN  |  Nagpur, IN] 670Mbps Down, 480Mbps Up

With VPN Results:
Speed:
Speedtest.net -> [Server: Mutiny Systems, Pune] 178Mbps Down, 45 Mbps Up
(NOT INDIAN SERVER) Fast.com -> [Server: Ciudad de Buenos Aires, AR  |  Barranquilla, CO] 85Mbps down, 17 Mbps up

Ping:
Valorant -> 55-60ms, Packet loss ~ 0%

VPN Without TCP_NODELAY Results:
Speed:
Speedtest.net -> [Server: Mutiny Systems, Pune] 201Mbps Down, 13Mbps up
(NOT INDIAN SERVER) Fast.com -> [Server: Ciudad de Buenos Aires, AR  |  Barranquilla, CO] 41Mbps Down, 4.8Mbps Up

Ping:
Valorant -> 76-80ms, Packet loss ~ 0%

UDP VPNs

As suggested by this blog, UDP port 19302 (among others) is not blocked and is used by Gmeet on Campus Network.

I tried running OpenVPN on Azure with UDP protocol and port 19302 and here are the results

Linux, Ethernet 1000 Mbps
Azure Central India Server [Pune]

  1. Without VPN
    fast.com[servers: Block EP Sector V, Saltlake, IN | Patna, IN | Nagpur, IN]: 640 Mbps down, 250 Mbps up
    speedtest.net[server: Airtel, KGP, IN]: 550 Mbps down, 52 Mbps up
    speedtest.net[server: Gazon Comm, Pune, IN]: 540 Mbps dpwm, 135 Mbps up

  2. With VPN
    fast.com[servers: Ciudad de Buenos Aires, AR | Barranquilla, CO]: 8 Mbps down, 78 Mbps up (unreliable, chooses servers outside the country)
    speedtest.net[server: Gazon Comm, Pune, IN]: 135 Mbps down, 140 Mbps up

Windows, Ethernet 1000 Mbps
Azure Central India Server [Pune]

Valorant: 60ms ping, 2-5ms jitter, ~0% packet loss

TO-DO: update the status of hotspot shield

As @thealphadollar mentioned in slack; yes hotspotshield did end up being slow on MacOS and refusing to connect on windows with time; abiding by what the company said - capping the speed to 2 mbps.

I am going to try a few things, to fix - if fixed then automate; and update the situation on the repository whatever be the results of those efforts.

Speedify Update

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.