# Apranik > An embeddable, open-source proxy core for censorship circumvention, written in Go. ## Table of Contents ### Introduction - [What is Apranik](/apranik/get-started/overview.md) - [Install and run](/apranik/get-started/install.md) - [First configuration](/apranik/get-started/first-configuration.md) - [FAQ](/apranik/get-started/faq.md) - [Security](/apranik/get-started/security.md) ### General - [Configuration](/apranik/configuration.md) ### Log - [Log](/apranik/configuration/log.md) ### Datasets - [Datasets](/apranik/configuration/datasets.md) ### DNS - [DNS](/apranik/configuration/dns.md) - [DNS server](/apranik/configuration/dns/server.md) - [DNS over UDP](/apranik/configuration/dns/udp.md) - [DNS over TCP](/apranik/configuration/dns/tcp.md) - [DNS over TLS](/apranik/configuration/dns/dot.md) - [DNS over HTTPS](/apranik/configuration/dns/doh.md) - [System DNS](/apranik/configuration/dns/system.md) - [DNS rule](/apranik/configuration/dns/rule.md) ### Inbound - [Inbound](/apranik/configuration/inbound.md) - [Users](/apranik/configuration/inbound/users.md) #### Built-in - [Mixed](/configuration/inbound/mixed.md) ### Outbound - [Outbound](/apranik/configuration/outbound.md) #### Built-in - [Freedom](/configuration/outbound/freedom.md) ##### Groups - [Outbound groups](/configuration/outbound/groups.md) - [URLTest](/configuration/outbound/urltest.md) - [Fallback](/configuration/outbound/fallback.md) - [Selector](/configuration/outbound/selector.md) ### Routing - [Routing](/apranik/configuration/routing.md) - [Routing rule](/apranik/configuration/routing/rule.md) - [Routing action](/apranik/configuration/routing/action.md) - [Sniffing](/apranik/configuration/routing/sniffing.md) ### Stats - [Stats](/apranik/configuration/stats.md) - [Counters](/apranik/configuration/stats/counters.md) ### API - [API](/apranik/configuration/api.md) - [Clash API](/apranik/configuration/api/clash.md) - [Clash API endpoints](/apranik/configuration/api/clash-endpoints.md): Every endpoint of Apranik's Clash API: what each one reads or changes, with its request and answer. ### Shared - [Mux.Cool](/apranik/configuration/shared/muxcool.md) - [Proxy request timing](/apranik/configuration/shared/proxy-request-timing.md) - [Probe](/apranik/configuration/shared/probe.md) - [Timeouts](/apranik/configuration/shared/timeouts.md) #### Transport - [Transport](/configuration/transport.md) - [TCP](/configuration/transport/tcp.md) - [UDP](/configuration/transport/udp.md) - [TLS](/configuration/transport/tls.md) - [WebSocket](/configuration/transport/ws.md) - [HTTPUpgrade](/configuration/transport/httpupgrade.md) - [Fragment](/configuration/transport/fragment.md) - [PROXY protocol](/configuration/transport/proxy_protocol.md) - [Client address behind a proxy](/configuration/transport/original_source_ip.md) #### Protocol - [SOCKS5](/configuration/protocol/socks5.md) - [HTTP](/configuration/protocol/http.md) - [Trojan](/configuration/protocol/trojan.md) - [VLESS](/configuration/protocol/vless.md) ### Add a module - [Add a base stream transport](/apranik/contribute/base-transport.md) - [Add an overlay transport](/apranik/contribute/overlay-transport.md) - [Add a proxy protocol](/apranik/contribute/proxy-protocol.md) - [Add a sniffer](/apranik/contribute/sniffer.md) - [Add a DNS server](/apranik/contribute/dns-server.md) - [Add an API module](/apranik/contribute/api-module.md) ### Performance - [Performance guide](/apranik/contribute/performance.md) - [Performance log](/apranik/contribute/performance-log.md) ### Other - [Architecture](/apranik/concepts/architecture.md) - [Contribute](/apranik/contribute.md) - [Contribute safely](/apranik/contribute/safety.md) - [Editing the docs](/apranik/contribute/docs.md) - [Glossary](/apranik/concepts/glossary.md): What Apranik's terms mean: carrier, base and overlay transport, proxy protocol, blueprint, dataset, resolver and the rest. - [Good first issues](/apranik/contribute/good-first-issues.md) - [Guides](/apranik/guides.md) - [Hide the server name](/apranik/guides/hide-the-server-name.md) - [Mux.Cool on the wire](/apranik/concepts/mux-cool.md) - [Practices](/apranik/contribute/practices.md) - [Pull requests](/apranik/contribute/pull-requests.md): What a pull request to Apranik should contain: one change, clean checks, and a new module touching nothing else. - [Request lifecycle](/apranik/concepts/request-lifecycle.md) - [Run a local proxy with no server](/apranik/guides/local-proxy.md) - [Run Trojan over TLS](/apranik/guides/trojan-over-tls.md) - [Run Trojan over WebSocket behind a CDN](/apranik/guides/trojan-over-websocket-cdn.md) - [Tests](/apranik/contribute/tests.md): How Apranik's tests are written: next to the code, with real bytes, and a module's tests never import core. - [Your first module](/apranik/contribute/first-module.md)