Skip to content
This repository has been archived by the owner on Jul 20, 2019. It is now read-only.

xmcp/tiroFinale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tiroFinale

An INEFFICIENT (improved a lot in v2.7 and v4.0 update) and INSECURE (to be improved) Python HTTP(S) proxy

The client-side program (tiro) requires OpenSSL and Python 3.x, and supports at least Windows and Linux.

The server-side program (Finale) requires Python 3.x, and supports at least heroku and MS Azure Web App.

logo

Efficiency

Not using tiroFinale proxy: LOAD: 3.02s

direct

Using tiroFinale proxy (v4.0.02) from localhost: LOAD: 3.32s

with_tf

Server (finale) Setup

  1. Clone the repository, then cd finale
  2. python3 -m pip install -r requirements.txt
  3. vi finale.py and fill in your server's PASSWORD and PORT
  4. python3 ./finale.py

Client (tiro) Setup

You might want Windows binaries for the client: Releases

  1. Clone the repository, then cd tiro
  2. python3 -m pip install -r requirements.txt
  3. vi const.py and fill in your preferences
  4. Add ssl_stuff/tiroFinale_CA.ca.crt to the OS/web-browser CAs as you want
  5. python3 ./tiro_proxy.py

Todo-List

  • Add GUI WebUI support for tiro
  • Fix the Content-Length related bug
  • Improve efficiency
  • Add GFWList support
  • Implement auto-detecting mechanism (Jaô-Shingan™) as a backup of GFWList
  • Use wildcard SSL certificate if possible
  • Proxy auto-configuration on Windows
  • Restore original proxy after exit
  • Concurrent certificate signing
  • Improve security (low priority)

Abandoned Todo Items

  • Network error handling and retransmission (deprecated due to the compatibility concern)
  • Showing statistics (deprecated as it's not so useful and it will probably affect efficiency somehow)

Special thanks to: