Coder Social home page Coder Social logo

proxystation's Introduction

ProxyStation

A proxy servers list management program runs on Azure Functions. Support most of shadowsocks client including Surge, Clash, Shadowrocket, Surfboard.

Demo

App Supported

Alias App As source As output
general Shadowrocket
Shadowsocks
ShadowsocksR
...
surge Surge
surge-list Surge(Proxy List)
clash Clash
surfboard Surfboard X
  • Surfboard as input is not supported becasue it's still in beta stage

How to Deploy to Azure Functions

Coming soon.

How to Add Profile

This function loads profile from environment variables. In production, the variables can be set in Azure Portal. During local testing, the variables can be write into local.settings.json. The key name of the variable is profile name, the value is a structured JSON string.

// Please write in one line. This snippet is just an example
{
    "name": "<string, name of profile>",
    "source": "<string, the url to source profile>",
    "type": "<string, the type of source profile, available values seen `alias`>",
    "allowDirectAccess:": "<boolean, if true and when target and source type are the same, the function will return un-processed profile>",
    "filters": [ // filters are diabled when allowDirectAccess is enabled
        {
            "name": "<string, filter name>",
            "mode": "<whitelist | blacklist(default)>",
            ... // filter options
        },
        ...
    ]
}

API

Get Built-in Profile

GET /api/train/{profile-name}/{output?}

Description: Developer can pre-define some profile sources before deploy to Azure Functions. Invoking this API will cause function to retrive profile from source accordingly, parse the source and format to specific format according to argument output.

Argument:

  • profile-name is pre-defined name of profile source
  • output is the type of target profile, if omitted, will be guessed from user-agent.

Supported Filters

Filters allow you to control outcome of servers list.

Server Name Filter

{
    "name": "name",
    "keyword": "<string, keyword to match>",
    "matching": "<suffix | prefix | contains(default), imply how to match the keyword>"
}

proxystation's People

Contributors

tonyke-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.