Contents Menu Expand Light mode Dark mode Auto light/dark mode
Proxy.Py 2.4.4rc4.dev17+gf3d19ff.d20230314 documentation
Proxy.Py 2.4.4rc4.dev17+gf3d19ff.d20230314 documentation
  • Changelog
  • Glossary

Contributing

  • Code Of Conduct
  • Contributing to proxy.py
  • Contributing docs
  • Adding change notes with your PRs
  • Alright! So how do I add a news fragment?
  • Examples for changelog entries adding to your Pull Requests
  • Security Policy
  • Private unsupported (dev) API autodoc
    • proxy package
      • proxy.common package
        • proxy.common._scm_version module
        • proxy.common._version module
        • proxy.common.backports module
        • proxy.common.constants module
        • proxy.common.flag module
        • proxy.common.logger module
        • proxy.common.pki module
        • proxy.common.plugins module
        • proxy.common.types module
        • proxy.common.utils module
        • proxy.common.version module
      • proxy.core package
        • proxy.core.acceptor package
          • proxy.core.acceptor.acceptor module
          • proxy.core.acceptor.pool module
        • proxy.core.base package
          • proxy.core.base.tcp_server module
          • proxy.core.base.tcp_tunnel module
          • proxy.core.base.tcp_upstream module
        • proxy.core.connection package
          • proxy.core.connection.client module
          • proxy.core.connection.connection module
          • proxy.core.connection.pool module
          • proxy.core.connection.server module
          • proxy.core.connection.types module
        • proxy.core.event package
          • proxy.core.event.dispatcher module
          • proxy.core.event.manager module
          • proxy.core.event.names module
          • proxy.core.event.queue module
          • proxy.core.event.subscriber module
        • proxy.core.listener package
          • proxy.core.listener.base module
          • proxy.core.listener.pool module
          • proxy.core.listener.tcp module
          • proxy.core.listener.unix module
        • proxy.core.ssh package
          • proxy.core.ssh.handler module
          • proxy.core.ssh.listener module
        • proxy.core.tls package
          • proxy.core.tls.certificate module
          • proxy.core.tls.finished module
          • proxy.core.tls.handshake module
          • proxy.core.tls.hello module
          • proxy.core.tls.key_exchange module
          • proxy.core.tls.pretty module
          • proxy.core.tls.tls module
          • proxy.core.tls.types module
        • proxy.core.work package
          • proxy.core.work.fd package
            • proxy.core.work.fd.fd module
            • proxy.core.work.fd.local module
            • proxy.core.work.fd.remote module
          • proxy.core.work.task package
            • proxy.core.work.task.handler module
            • proxy.core.work.task.local module
            • proxy.core.work.task.remote module
            • proxy.core.work.task.task module
          • proxy.core.work.delegate module
          • proxy.core.work.local module
          • proxy.core.work.pool module
          • proxy.core.work.remote module
          • proxy.core.work.threaded module
          • proxy.core.work.threadless module
          • proxy.core.work.work module
      • proxy.dashboard package
        • proxy.dashboard.dashboard module
      • proxy.http package
        • proxy.http.exception package
          • proxy.http.exception.base module
          • proxy.http.exception.http_request_rejected module
          • proxy.http.exception.proxy_auth_failed module
          • proxy.http.exception.proxy_conn_failed module
        • proxy.http.inspector package
          • proxy.http.inspector.devtools module
          • proxy.http.inspector.inspect_traffic module
          • proxy.http.inspector.transformer module
        • proxy.http.parser package
          • proxy.http.parser.chunk module
          • proxy.http.parser.parser module
          • proxy.http.parser.protocol module
          • proxy.http.parser.types module
        • proxy.http.proxy package
          • proxy.http.proxy.auth module
          • proxy.http.proxy.plugin module
          • proxy.http.proxy.server module
        • proxy.http.server package
          • proxy.http.server.middleware module
          • proxy.http.server.pac_plugin module
          • proxy.http.server.plugin module
          • proxy.http.server.protocols module
          • proxy.http.server.reverse module
          • proxy.http.server.web module
        • proxy.http.websocket package
          • proxy.http.websocket.client module
          • proxy.http.websocket.frame module
          • proxy.http.websocket.plugin module
          • proxy.http.websocket.transport module
        • proxy.http.codes module
        • proxy.http.connection module
        • proxy.http.descriptors module
        • proxy.http.handler module
        • proxy.http.headers module
        • proxy.http.methods module
        • proxy.http.plugin module
        • proxy.http.protocols module
        • proxy.http.responses module
        • proxy.http.url module
      • proxy.plugin package
        • proxy.plugin.cloudflare_dns module
        • proxy.plugin.custom_dns_resolver module
        • proxy.plugin.filter_by_client_ip module
        • proxy.plugin.filter_by_upstream module
        • proxy.plugin.filter_by_url_regex module
        • proxy.plugin.man_in_the_middle module
        • proxy.plugin.mock_rest_api module
        • proxy.plugin.modify_chunk_response module
        • proxy.plugin.modify_post_data module
        • proxy.plugin.program_name module
        • proxy.plugin.proxy_pool module
        • proxy.plugin.redirect_to_custom_server module
        • proxy.plugin.reverse_proxy module
        • proxy.plugin.shortlink module
        • proxy.plugin.web_server_route module
      • proxy.socks package
        • proxy.socks.client module
        • proxy.socks.handler module
        • proxy.socks.operations module
        • proxy.socks.packet module
      • proxy.__main__ module
      • proxy.proxy module
  v: latest
Versions
latest
stable
Downloads
On Read the Docs
Project Home
Builds
Back to top
Edit this page

proxy.plugin.shortlink module#

proxy.py#

⚡⚡⚡ Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging.

copyright
  1. 2013-present by Abhinav Singh and contributors.

license

BSD, see LICENSE for more details.

class proxy.plugin.shortlink.ShortLinkPlugin(uid: str, flags: argparse.Namespace, client: proxy.http.connection.HttpClientConnection, event_queue: proxy.core.event.queue.EventQueue, upstream_conn_pool: Optional[UpstreamConnectionPool] = None)[source]#

Bases: proxy.http.proxy.plugin.HttpProxyBasePlugin

Add support for short links in your favorite browsers / applications.

Enable ShortLinkPlugin and speed up your daily browsing experience.

Example:: * f/ for facebook.com * g/ for google.com` * ``t/ for twitter.com * y/ for youtube.com * proxy/ for py internal web servers. Customize map below for your taste and need.

Paths are also preserved. E.g. t/imoracle will resolve to http://twitter.com/imoracle.

SHORT_LINKS = {b'a': b'amazon.com', b'f': b'facebook.com', b'g': b'google.com', b'i': b'instagram.com', b'l': b'linkedin.com', b'proxy': b'localhost:8899', b't': b'twitter.com', b'w': b'web.whatsapp.com', b'y': b'youtube.com'}#
_abc_impl = <_abc._abc_data object>#
before_upstream_connection(request: proxy.http.parser.parser.HttpParser) → Optional[proxy.http.parser.parser.HttpParser][source]#

Handler called just before Proxy upstream connection is established.

Return optionally modified request object. If None is returned, upstream connection won’t be established.

Raise HttpRequestRejected or HttpProtocolException directly to drop the connection.

handle_client_request(request: proxy.http.parser.parser.HttpParser) → Optional[proxy.http.parser.parser.HttpParser][source]#

Handler called before dispatching client request to upstream.

Note: For pipelined (keep-alive) connections, this handler can be called multiple times, for each request sent to upstream.

Note: If TLS interception is enabled, this handler can be called multiple times if client exchanges multiple requests over same SSL session.

Return optionally modified request object to dispatch to upstream. Return None to drop the request data, e.g. in case a response has already been queued. Raise HttpRequestRejected or HttpProtocolException directly to tear down the connection with client.

Next
proxy.plugin.web_server_route module
Previous
proxy.plugin.reverse_proxy module
Copyright © Proxy.Py project contributors
Made with Sphinx and @pradyunsg's Furo
Last updated on Mar 14, 2023
Contents
  • proxy.plugin.shortlink module
    • proxy.py