Package: passless
IntroductionPassless is a toolkit for setting up a security layer to protect private
services. It based on Yingbo Gu’sShadowproxyproject and comes with
two components, a plugin ofSlowdownserver and a client.For example, in most cases you have to run a ssh service at least. If you
areSlowdownuser, you can force users to access this ssh service only
via the workingSlowdownserver. And so on, all private services can be
protected under theSlowdownserver.InstallationPassless are published on thePython Package Index, and can be
installed with the following command.$pipinstall-UpasslessYou can also install Passless directly from a clone of theGit repository.$gitclonehttps://github.com/wilhelmshen/passless$cdpassless$pipinstall.or$pipinstallgit+https://github.com/wilhelmshen/passlessServerServer creationFirst, you need to create aSlowdownserver.$virtualenv--python=/usr/bin/python3myserver$myserver/bin/slowdown--initInitialize a project in /PATH/TO/myserver? [Y/n]: Y
Creating myserver/bin ... exists
Creating myserver/etc ... exists
Creating myserver/var ... done
Creating myserver/pkgs ... done
Creating myserver/var/log ... done
Creating myserver/bin/slowdown ... exists
Creating myserver/etc/slowdown.conf ... done
DONE! Completed all initialization steps.ConfigurationNext, edit the profile. The config file of the slowdown server calledslowdown.confis placed in theetcfolder. Here’s an example:# URL Routing based on regular expression.<routers><routerALL># A regular expression to match hosts# Group name must be uppercased#pattern^(?P<EXAMPLE>example\.com)$$<hostEXAMPLE># A reqular expression to match PATH_INFO#pattern^/passless(?P<PASSLESS>/.*)$$<pathPASSLESS>handlerpasslesscipheraes-128-cfbpasswordPASSWORD# Bridge server (optional)##via passless://CIPHER:PASSWD@BRIDGE.SERVER/HOST/PATH/# Ad block list (optional)##adblk /PATH/TO/AD/BLOCK.conf# Connect directly to the server, if the connection# fails, auto switch to the bridge server specified# by the "via" configuration for transmission.# The default is "yes".##auto_switch yes# Deny access to the local ip, the default is "yes"##global_only yes#accesslog  $LOGS/access-%Y%m.log#errorlog   $LOGS/error-%Y%m.log</path></host># More hosts ..##<host HOSTNAME>...</host></router></routers><servers><httpMY_HTTP_SERVER>address0.0.0.0:8080routerALL</http></servers>Start server:myserver/bin/slowdown -vv
2020-09-14 17:45:49 INFO slowdown/{__version__}
2020-09-14 17:45:49 INFO Serving HTTP on 0.0.0.0 port 8080 ...In this case, Passless service is available on the hostexample.comand
port8080.More details are documented atSlowdownproject.ClientThepasslesscommand can start the Passless client side server that
support thesocks5orhttpprotocol.usage: bin/passless [-h] [-u USER] [-v | -vv | -q] SERVERSExample:sudo bin/passless -vv -u nobody "socks://127.0.0.1:1080/?via=passless://aes-128-cfb:PASSWORD@example.com:8080/example.com:8080/passless/&auto_switch=no&global_only=no" "http://127.0.0.1:8118/?via=passless://aes-128-cfb:PASSWORD@example.com:8080/example.com:8080/passless/&adblk=my_ad_block.conf"With this socks/http server, you can access private services of the
remote server that running theSlowdownserver with the Passless plugin.Ad blockYou can specify an ad block list for servers and clients. The file of the ad block list is very simple, as shown below:com.baidu.adscdn REJECT
com.google PROXY