furion


Namefurion JSON
Version 1.5.2 PyPI version JSON
download
home_pageNone
SummaryA socks5 proxy with ssl support
upload_time2024-06-28 09:29:43
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords socks5 proxy ssl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Furion Socks5 SSL Proxy
=======================

Furion is an encrypted proxy written in Python. In essence, it's just socks5 server with ssl support. It's often used with upstream Furion servers to avoid censorship.

Features
--------

-   Automatic upstream fail over (when multiple upstream servers are available).
-   Built-in latency check for choosing the fastest upstream.
-   Periodical upstream updates from a designated central registry.
-   Builtin DNS server/proxy to avoid poisoning.
-   Limit what ports that clients are allowed to connect to.
-   Easy account management on the server side.

Dependencies
------------

Furion has no external dependencies other than a standard Python 3.x (>=3.7) installation. There is optional support for gevent, which would be used if an existing gevent installation was discovered.

Installation
------------

Furion can be installed via pip:

    pip install furion

or pipx

    pipx install furion

To start using Furion, you need at least a furion.cfg file.

By default, Furion will look for furion.cfg and upstream.json in `/etc/furion` or the current working directory. You can specify path to the configuration file after a `-c` switch.

For client, an upstream.json file is also needed for upstream checking to work in the same directory your furion.cfg resides in.

Alternatively, you can put the upstream.json file somewhere accessible via http, so that you can share that address with your friends. Then configure the `upstream` section of your `furion.cfg` file like below, to use that upstream file.

    [upstream]

    central_url = http://your.upstream.json

    autoupdate_upstream_list = on

    update_frequency = start

    upstream_list_path = upstream.json

Read configuration files in [examples](https://github.com/keli/furion/blob/master/examples) directory for more information.


### Building Standalone Windows Clients

* Install miniconda3
```
winget install miniconda3
```

* Create a new conda environment
```
conda create -n furion
```

* Activate the environment
```
conda activate furion
```

* Install pyinstaller
```
conda install -c conda-forge pyinstaller
```

* Install wxPython (optional if you only want to build the cli version)
```
conda install -c conda-forge wxpython
```

* Install furion itself
```
cd furion
pip install -e .
```

* Build the standalone client
```
cd scripts/pyinstaller
pyinstaller.bat
```

* The standalone clients will be in `dist/furion.exe` and `dist/furion-cli.exe`
* Furion.exe is only a tray icon currently.

Note: You need to put a config file `furion.cfg` in the same directory of the exe for it to work.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "furion",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "socks5 proxy ssl",
    "author": null,
    "author_email": "Keli Hu <dev@keli.hu>",
    "download_url": "https://files.pythonhosted.org/packages/b5/f6/7eb03bda97aeb7aeff3745e9da0ddd189b4cceaeb59a8d871c10e1b7db2c/furion-1.5.2.tar.gz",
    "platform": null,
    "description": "Furion Socks5 SSL Proxy\n=======================\n\nFurion is an encrypted proxy written in Python. In essence, it's just socks5 server with ssl support. It's often used with upstream Furion servers to avoid censorship.\n\nFeatures\n--------\n\n-   Automatic upstream fail over (when multiple upstream servers are available).\n-   Built-in latency check for choosing the fastest upstream.\n-   Periodical upstream updates from a designated central registry.\n-   Builtin DNS server/proxy to avoid poisoning.\n-   Limit what ports that clients are allowed to connect to.\n-   Easy account management on the server side.\n\nDependencies\n------------\n\nFurion has no external dependencies other than a standard Python 3.x (>=3.7) installation. There is optional support for gevent, which would be used if an existing gevent installation was discovered.\n\nInstallation\n------------\n\nFurion can be installed via pip:\n\n    pip install furion\n\nor pipx\n\n    pipx install furion\n\nTo start using Furion, you need at least a furion.cfg file.\n\nBy default, Furion will look for furion.cfg and upstream.json in `/etc/furion` or the current working directory. You can specify path to the configuration file after a `-c` switch.\n\nFor client, an upstream.json file is also needed for upstream checking to work in the same directory your furion.cfg resides in.\n\nAlternatively, you can put the upstream.json file somewhere accessible via http, so that you can share that address with your friends. Then configure the `upstream` section of your `furion.cfg` file like below, to use that upstream file.\n\n    [upstream]\n\n    central_url = http://your.upstream.json\n\n    autoupdate_upstream_list = on\n\n    update_frequency = start\n\n    upstream_list_path = upstream.json\n\nRead configuration files in [examples](https://github.com/keli/furion/blob/master/examples) directory for more information.\n\n\n### Building Standalone Windows Clients\n\n* Install miniconda3\n```\nwinget install miniconda3\n```\n\n* Create a new conda environment\n```\nconda create -n furion\n```\n\n* Activate the environment\n```\nconda activate furion\n```\n\n* Install pyinstaller\n```\nconda install -c conda-forge pyinstaller\n```\n\n* Install wxPython (optional if you only want to build the cli version)\n```\nconda install -c conda-forge wxpython\n```\n\n* Install furion itself\n```\ncd furion\npip install -e .\n```\n\n* Build the standalone client\n```\ncd scripts/pyinstaller\npyinstaller.bat\n```\n\n* The standalone clients will be in `dist/furion.exe` and `dist/furion-cli.exe`\n* Furion.exe is only a tray icon currently.\n\nNote: You need to put a config file `furion.cfg` in the same directory of the exe for it to work.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A socks5 proxy with ssl support",
    "version": "1.5.2",
    "project_urls": {
        "Homepage": "https://github.com/keli/furion"
    },
    "split_keywords": [
        "socks5",
        "proxy",
        "ssl"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8044ccaa73ef49cf030baaaf8292dc2d32f0540886baf54c6499b1b441fb679",
                "md5": "19f2198a390ca9d02cf4d6f07e06e707",
                "sha256": "52072b5984f0e7f1cf809fec2d594cddfc9bc4cbcdc2c99e03a83fb2f83a831e"
            },
            "downloads": -1,
            "filename": "furion-1.5.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "19f2198a390ca9d02cf4d6f07e06e707",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14798,
            "upload_time": "2024-06-28T09:29:41",
            "upload_time_iso_8601": "2024-06-28T09:29:41.113159Z",
            "url": "https://files.pythonhosted.org/packages/c8/04/4ccaa73ef49cf030baaaf8292dc2d32f0540886baf54c6499b1b441fb679/furion-1.5.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5f67eb03bda97aeb7aeff3745e9da0ddd189b4cceaeb59a8d871c10e1b7db2c",
                "md5": "4d1eeae7e73f69554d313087a292bce4",
                "sha256": "96f34b0449d3a78e41f723f7e2d135fa093d6f8a256149a16309da5ba6f0170d"
            },
            "downloads": -1,
            "filename": "furion-1.5.2.tar.gz",
            "has_sig": false,
            "md5_digest": "4d1eeae7e73f69554d313087a292bce4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 13612,
            "upload_time": "2024-06-28T09:29:43",
            "upload_time_iso_8601": "2024-06-28T09:29:43.074297Z",
            "url": "https://files.pythonhosted.org/packages/b5/f6/7eb03bda97aeb7aeff3745e9da0ddd189b4cceaeb59a8d871c10e1b7db2c/furion-1.5.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-28 09:29:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "keli",
    "github_project": "furion",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "furion"
}
        
Elapsed time: 0.31014s