networks - doubility-sky/daydayup GitHub Wiki

A computer network is a digital telecommunications network for sharing resources between nodes, which are computing devices that use a common telecommunications technology. Data transmission between nodes is supported over data links consisting of physical cable media, such as twisted pair or fiber-optic cables, or by wireless methods, such as Wi-Fi, microwave transmission, or free-space optical communication.

Learn

misc

TCP/IP

HTTP

WebSocket

Socket

KCP

Libraries

  • gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.

Tools

  • 如何用Linux命令行管理网络:11个你必须知道的命令
  • mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • iperf3 : A TCP, UDP, and SCTP network bandwidth measurement tool
  • curl A command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features https://curl.haxx.se/
  • comcast Simulating shitty network connections so you can build better systems.
  • Netdata is distributed, real-time, performance and health monitoring for systems and applications. It is a highly-optimized monitoring agent you install on all your systems and containers.
  • echoip: A simple service for looking up your IP address. This is the code that powers https://ifconfig.co.
    • curl ip.gs
    • other services:
      curl myip.ipip.net
      curl ip.sb
      curl ipinfo.io/ip
      curl icanhazip.com
      curl ipecho.net/plain
      

proxy

  • nginx
  • frp is a fast reverse proxy that allows you to expose a local server located behind a NAT or firewall to the Internet. It currently supports TCP and UDP, as well as HTTP and HTTPS protocols, enabling requests to be forwarded to internal services via domain name. frp also offers a P2P connect mode.

tunnel

  • gost, GO Simple Tunnel - a simple tunnel written in golang
  • kcptun - A quantum-safe, secure tunnel built on QPP, KCP, FEC, and multiplexing.

analyzer

  • Wireshark Wireshark is a network traffic analyzer, or "sniffer", for Linux, macOS, *BSD and other Unix and Unix-like operating systems and for Windows. It uses Qt, a graphical user interface library, and libpcap and npcap as packet capture and filtering libraries. https://www.wireshark.org/
  • clumsy makes your network condition on Windows significantly worse, but in a controlled and interactive manner. http://jagt.github.io/clumsy/

download

  • aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. https://aria2.github.io/
    • webui-aria2 The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use, just download and open index.html in any web browser.
  • qBittorrent is a bittorrent client programmed in C++ / Qt that uses libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg. https://www.qbittorrent.org/
  • Download whole website wget -r -p -np -k https://golang.org/

Resources

  • Awesome Networking, A curated list of awesome networking libraries, resources and shiny things.