<commit_before># AsyncProxy

Simple Async Proxy written in Python

## Run

Run Proxy after installing Python 3.5 in /usr/local/bin

    git clone <EMAIL>:SkyZH/AsyncProxy.git && cd AsyncProxy
    chmod 777 main_client.py
    chmod 777 main_echoserver.py
    chmod 777 main_server.py

Then run three python programs.

    ./main_echoserver.py

This is the target server that client wants to connect.
It will send `Hello! You're receiving data from Echo Server.` to the client
and then close the connection.

    ./main_server.py

This is the proxy server.

    ./main_client.py

This is the application using the proxy server to connect to the echo server.

    main_client --- Header {"addr": "127.0.0.1", "port": 8234} ---> main_server
    main_server --- Connect ---> main_echoserver
    main_echoserver --- `Hello! You're receiving data from Echo Server.` ---> main_server
    main_server --- 'Hello! You're receiving data from Echo Server.' ---> main_client

    chmod 777 main_socks5server.py
    ./main_socks5server.py

Then connect to localhost:1080 using socks5 protocol.

    Web Browser --- Socks5 Protocol ---> main_socks5server
    main_sock5server --- DawnRemoteClientProtocol ---> Remote Server

## Shadowsocks

We've introduced socks5 server for shadowsocks-like usage.

[Shadowsocks](https://github.com/shadowsocks/shadowsocks),
A fast tunnel proxy that helps you bypass firewalls.
<commit_msg>Fix README<commit_after># AsyncProxy

Simple Async Proxy written in Python

## Run

Run Proxy after installing Python 3.5 in /usr/local/bin

    git clone <EMAIL>:SkyZH/AsyncProxy.git && cd AsyncProxy
    chmod 777 main_client.py
    chmod 777 main_echoserver.py
    chmod 777 main_server.py

Then run three python programs.

    ./main_echoserver.py

This is the target server that client wants to connect.
It will send `Hello! You're receiving data from Echo Server.` to the client
and then close the connection.

    ./main_server.py

This is the proxy server.

    ./main_client.py

This is the application using the proxy server to connect to the echo server.

    main_client --- Header {"addr": "127.0.0.1", "port": 8234} ---> main_server
    main_server --- Connect ---> main_echoserver
    main_echoserver --- `Hello! You're receiving data from Echo Server.` ---> main_server
    main_server --- 'Hello! You're receiving data from Echo Server.' ---> main_client

## Shadowsocks

We've introduced socks5 server for shadowsocks-like usage.

[Shadowsocks](https://github.com/shadowsocks/shadowsocks),
A fast tunnel proxy that helps you bypass firewalls.

    chmod 777 main_socks5server.py
    ./main_socks5server.py

Then connect to localhost:1080 using socks5 protocol.

    Web Browser --- Socks5 Protocol ---> main_socks5server
    main_sock5server --- DawnRemoteClientProtocol ---> Remote Server

{'fraction_non_alphanumeric': 0.0908768193113241, 'fraction_numerical': 0.024849130280440185, 'mean_word_length': 3.3487654320987654, 'pattern_counts': {'":': 4, '<': 5, '<?xml version=': 0, '>': 17, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '272583', 'n_tokens_mistral': 903, 'n_tokens_neox': 816, 'n_words': 305}