PortFusion alternatives and similar packages
Based on the "Networking" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of PortFusion or a related project?
Download 1.2.1 (for Windows, Linux, OS X and FreeBSD, ...)
PortFusion is a minimalistic, cross-platform, transport-layer distributed reverse / forward proxy and tunneling solution for TCP released under GPLv3.
A single package that makes the most of each platform by tapping into their unique capabilities, combining this power with an intuitive interface, beautiful design and Haskell's excellent support for unprecedented levels of concurrency and parallelism.
It strives for the smallest source code size while delivering maximum throughput with near-zero overhead.
PortFusion is a tiny command line application.
|Distributed Reverse Proxy Mode||Distributed Forward Proxy Mode|
|Work from home using remote desktop services circumventing corporate firewalls.||Connect to the internet through a http proxy via a gateway to a friend's intranet.|
You need only one of the following rows for compilation.
|recommended and used for official binaries||, , , , , ,||GHC >= 7.4 LLVM >= 3|
|easy to install for all Haskell newbies||, ,||Haskell Platform >= 2012.2.0.0|
cabal update cabal install splice git clone git://github.com/corsis/PortFusion.git -b master cd PortFusion cabal configure cabal build
Following flags can be activated when using
cabal configure -f <FLAG> or
cabal install -f <FLAG>.
||compile via LLVM||
||link system libraries statically||
||See [OS and CPUs](wiki/Official-Builds)|
CORSIS Research builds official binaries will build official binaries on demand can cooperate with community for builds
If you have access to an OS+CPU combination lacking official binaries, please contact us to join our build team!
cabal update cabal install splice -f llvm cabal install PortFusion -f llvm
If you do not have LLVM installed, you can drop
This is the new Haskell source code repository of the latest ]-[ayabusa version – a complete rewrite of the initial Windows-only versions developed in F# / C#.
What is new in
|PortFusion||1.2.1 – ]-[ayabusa||0.9.3 – old|
|Memory at Start-up||~0.7 MB||~14 MB|
|Memory at 1 Fusion||~1.0 MB (constant)||~30 MB (lots of jumps)|
|Official Binaries||, , ,|
|OS Support||, , , , , ,|
|Source Code Size||< 500 lines (1 file)||778 lines (multiple files)|
|Language||Haskell (GHC / LLVM)||F# / C#|
|Dependencies||none||.NET 4.0 + F# 2.0 Runtime|
|Deployment||1 unified, native code binary for each platform||2 x .NET 4.0 managed binaries|
|Binary Size||1-2 MB (~400 KB compressed)||78.3 KB (34.3 KB + 44 KB)|
|Concurrency Model||1 Haskell thread per connection||1 OS thread per connection|
|Distribution Technique||native sockets API and system calls of each OS||Windows Communication Foundation|
|Distributed Proxy Modes||reverse, forward||reverse|
|Local Proxy Modes||forward|
|Native IPv6 Support||yes||yes|
|Interactive Mode||REPL in GHCi|
|Availability||SourceForge.net (binary) GitHub (source) corsis.tech (commercial)||SourceForge.net|
PortFusion™ is a trademark of Corsis Research (corsis.tech).
You may only distribute unchanged official binaries using the PortFusion and Corsis Marks. If you're taking full advantage of the open-source nature of Corsis products and making significant functional changes, you may not redistribute the fruits of your labor under any Corsis trademark, without prior written consent from Corsis. For example, if you've modified PortFusion, you may not use Corsis or PortFusion, in whole or in part, in your product name. Also, it would be inappropriate for you to say "based on Corsis PortFusion". Instead, in the interest of complete accuracy, you could describe your executables as "based on PortFusion technology", or "incorporating PortFusion source code." In addition, a "Powered by PortFusion" logo will be made available.
CORSIS PortFusion ]-[ayabusa © 2011 - 2013 Cetin Sert
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Development follows simple principles:
- Be concise: PortFusion is a single-file with less than 500 lines of code
- Be relentless: refactor and prune constantly
- Be open: share everything
- Be friendly: provide excellent support to users
Japanese Influence: ]-[ayabusa (はやぶさ) (Hayabusa)
I had already spent a great deal of time contemplating a nice and intuitive syntax and it was only when I watched the Japanese movie Hayabusa about the same-named space probe sent to extract and bring to Earth pieces from the asteroid Itokawa that everything just fell into place:
# command line # source file ] [ :><: # serve - [ :-<: # reverse ] - :>-: # forward # > and < are reserved characters at command line # ] and [ are reserved characters in Haskell
PortFusion owes its design goals, ambitions and 1.0 release name ]-[ayabusa to the great Japanese culture and friends.
We hope to grow a whole family of software-defined networking solutions reaching all network layers, technologies and devices.
For their continuing support and inspiration, we extend our heart-felt thanks to:
*Note that all licence references and agreements mentioned in the PortFusion README section above are relevant to that project's source code only.