├── .air.toml ├── .github └── workflows │ ├── build.yml │ └── test.yml ├── .gitignore ├── .goreleaser.yml ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── SUMMARY.md ├── app ├── app.go └── app_test.go ├── asset └── asset.go ├── cache ├── cache.go ├── cache_test.go ├── dispatcher.go ├── dispatcher_test.go ├── http_cache.go ├── http_cache_test.go ├── http_response.go ├── http_response_test.go ├── memhash.go └── memhash_test.go ├── compress ├── brotli.go ├── brotli_test.go ├── compress.go ├── compress_test.go ├── gzip.go ├── gzip_test.go ├── lz4.go ├── lz4_test.go ├── snappy.go ├── snappy_test.go ├── zstd.go └── zstd_test.go ├── config ├── config.go ├── config_test.go ├── etcd_client.go ├── etcd_client_test.go ├── file_client.go ├── file_client_test.go └── validate.go ├── docs ├── alarm.md ├── cache-handler.md ├── error.md ├── flow.drawio ├── images │ ├── add-cache.png │ ├── add-compress.png │ ├── add-location.png │ ├── add-server.png │ ├── add-upstream.png │ ├── caches.png │ ├── compression-performance.jpg │ ├── flow.png │ ├── home.png │ ├── modules.png │ └── response.png ├── modules.drawio ├── modules.md ├── performance.md ├── questions.md ├── response.drawio ├── response.md └── start.md ├── entrypoint.sh ├── go.mod ├── go.sum ├── hooks └── pre-commit ├── location ├── location.go └── location_test.go ├── log └── log.go ├── logo.svg ├── main.go ├── pike.yml ├── schedule └── schedule.go ├── server ├── admin.go ├── cache.go ├── cache_test.go ├── proxy.go ├── proxy_test.go ├── responder.go ├── responder_test.go ├── server.go └── server_test.go ├── store ├── badger.go ├── badger_test.go ├── mongo.go ├── mongo_test.go ├── redis.go ├── redis_test.go ├── store.go └── store_test.go ├── test └── main.go ├── upstream ├── upstream.go └── upstream_test.go ├── util ├── util.go └── util_test.go └── web ├── assets ├── AssetManifest.json ├── FontManifest.json ├── NOTICES ├── fonts │ └── MaterialIcons-Regular.otf ├── images │ └── logo.png └── packages │ ├── cupertino_icons │ └── assets │ │ └── CupertinoIcons.ttf │ └── fluttertoast │ └── assets │ ├── toastify.css │ └── toastify.js ├── favicon.png ├── flutter_service_worker.js ├── icons ├── Icon-192.png └── Icon-512.png ├── index.html ├── main.dart.js ├── main.dart.js.map ├── manifest.json └── version.json /.air.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/.air.toml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/.gitignore -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/README.md -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/SUMMARY.md -------------------------------------------------------------------------------- /app/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/app/app.go -------------------------------------------------------------------------------- /app/app_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/app/app_test.go -------------------------------------------------------------------------------- /asset/asset.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/asset/asset.go -------------------------------------------------------------------------------- /cache/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/cache.go -------------------------------------------------------------------------------- /cache/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/cache_test.go -------------------------------------------------------------------------------- /cache/dispatcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/dispatcher.go -------------------------------------------------------------------------------- /cache/dispatcher_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/dispatcher_test.go -------------------------------------------------------------------------------- /cache/http_cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/http_cache.go -------------------------------------------------------------------------------- /cache/http_cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/http_cache_test.go -------------------------------------------------------------------------------- /cache/http_response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/http_response.go -------------------------------------------------------------------------------- /cache/http_response_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/http_response_test.go -------------------------------------------------------------------------------- /cache/memhash.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/memhash.go -------------------------------------------------------------------------------- /cache/memhash_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/cache/memhash_test.go -------------------------------------------------------------------------------- /compress/brotli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/brotli.go -------------------------------------------------------------------------------- /compress/brotli_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/brotli_test.go -------------------------------------------------------------------------------- /compress/compress.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/compress.go -------------------------------------------------------------------------------- /compress/compress_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/compress_test.go -------------------------------------------------------------------------------- /compress/gzip.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/gzip.go -------------------------------------------------------------------------------- /compress/gzip_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/gzip_test.go -------------------------------------------------------------------------------- /compress/lz4.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/lz4.go -------------------------------------------------------------------------------- /compress/lz4_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/lz4_test.go -------------------------------------------------------------------------------- /compress/snappy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/snappy.go -------------------------------------------------------------------------------- /compress/snappy_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/snappy_test.go -------------------------------------------------------------------------------- /compress/zstd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/zstd.go -------------------------------------------------------------------------------- /compress/zstd_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/compress/zstd_test.go -------------------------------------------------------------------------------- /config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/config.go -------------------------------------------------------------------------------- /config/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/config_test.go -------------------------------------------------------------------------------- /config/etcd_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/etcd_client.go -------------------------------------------------------------------------------- /config/etcd_client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/etcd_client_test.go -------------------------------------------------------------------------------- /config/file_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/file_client.go -------------------------------------------------------------------------------- /config/file_client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/file_client_test.go -------------------------------------------------------------------------------- /config/validate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/config/validate.go -------------------------------------------------------------------------------- /docs/alarm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/alarm.md -------------------------------------------------------------------------------- /docs/cache-handler.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/cache-handler.md -------------------------------------------------------------------------------- /docs/error.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/error.md -------------------------------------------------------------------------------- /docs/flow.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/flow.drawio -------------------------------------------------------------------------------- /docs/images/add-cache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/add-cache.png -------------------------------------------------------------------------------- /docs/images/add-compress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/add-compress.png -------------------------------------------------------------------------------- /docs/images/add-location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/add-location.png -------------------------------------------------------------------------------- /docs/images/add-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/add-server.png -------------------------------------------------------------------------------- /docs/images/add-upstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/add-upstream.png -------------------------------------------------------------------------------- /docs/images/caches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/caches.png -------------------------------------------------------------------------------- /docs/images/compression-performance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/compression-performance.jpg -------------------------------------------------------------------------------- /docs/images/flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/flow.png -------------------------------------------------------------------------------- /docs/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/home.png -------------------------------------------------------------------------------- /docs/images/modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/modules.png -------------------------------------------------------------------------------- /docs/images/response.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/images/response.png -------------------------------------------------------------------------------- /docs/modules.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/modules.drawio -------------------------------------------------------------------------------- /docs/modules.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/modules.md -------------------------------------------------------------------------------- /docs/performance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/performance.md -------------------------------------------------------------------------------- /docs/questions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/questions.md -------------------------------------------------------------------------------- /docs/response.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/response.drawio -------------------------------------------------------------------------------- /docs/response.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/response.md -------------------------------------------------------------------------------- /docs/start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/docs/start.md -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/entrypoint.sh -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/go.sum -------------------------------------------------------------------------------- /hooks/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/hooks/pre-commit -------------------------------------------------------------------------------- /location/location.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/location/location.go -------------------------------------------------------------------------------- /location/location_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/location/location_test.go -------------------------------------------------------------------------------- /log/log.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/log/log.go -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/logo.svg -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/main.go -------------------------------------------------------------------------------- /pike.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/pike.yml -------------------------------------------------------------------------------- /schedule/schedule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/schedule/schedule.go -------------------------------------------------------------------------------- /server/admin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/admin.go -------------------------------------------------------------------------------- /server/cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/cache.go -------------------------------------------------------------------------------- /server/cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/cache_test.go -------------------------------------------------------------------------------- /server/proxy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/proxy.go -------------------------------------------------------------------------------- /server/proxy_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/proxy_test.go -------------------------------------------------------------------------------- /server/responder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/responder.go -------------------------------------------------------------------------------- /server/responder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/responder_test.go -------------------------------------------------------------------------------- /server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/server.go -------------------------------------------------------------------------------- /server/server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/server/server_test.go -------------------------------------------------------------------------------- /store/badger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/badger.go -------------------------------------------------------------------------------- /store/badger_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/badger_test.go -------------------------------------------------------------------------------- /store/mongo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/mongo.go -------------------------------------------------------------------------------- /store/mongo_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/mongo_test.go -------------------------------------------------------------------------------- /store/redis.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/redis.go -------------------------------------------------------------------------------- /store/redis_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/redis_test.go -------------------------------------------------------------------------------- /store/store.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/store.go -------------------------------------------------------------------------------- /store/store_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/store/store_test.go -------------------------------------------------------------------------------- /test/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/test/main.go -------------------------------------------------------------------------------- /upstream/upstream.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/upstream/upstream.go -------------------------------------------------------------------------------- /upstream/upstream_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/upstream/upstream_test.go -------------------------------------------------------------------------------- /util/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/util/util.go -------------------------------------------------------------------------------- /util/util_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/util/util_test.go -------------------------------------------------------------------------------- /web/assets/AssetManifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/AssetManifest.json -------------------------------------------------------------------------------- /web/assets/FontManifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/FontManifest.json -------------------------------------------------------------------------------- /web/assets/NOTICES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/NOTICES -------------------------------------------------------------------------------- /web/assets/fonts/MaterialIcons-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/fonts/MaterialIcons-Regular.otf -------------------------------------------------------------------------------- /web/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/images/logo.png -------------------------------------------------------------------------------- /web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf -------------------------------------------------------------------------------- /web/assets/packages/fluttertoast/assets/toastify.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/packages/fluttertoast/assets/toastify.css -------------------------------------------------------------------------------- /web/assets/packages/fluttertoast/assets/toastify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/assets/packages/fluttertoast/assets/toastify.js -------------------------------------------------------------------------------- /web/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/favicon.png -------------------------------------------------------------------------------- /web/flutter_service_worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/flutter_service_worker.js -------------------------------------------------------------------------------- /web/icons/Icon-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/icons/Icon-192.png -------------------------------------------------------------------------------- /web/icons/Icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/icons/Icon-512.png -------------------------------------------------------------------------------- /web/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/index.html -------------------------------------------------------------------------------- /web/main.dart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/main.dart.js -------------------------------------------------------------------------------- /web/main.dart.js.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/main.dart.js.map -------------------------------------------------------------------------------- /web/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/manifest.json -------------------------------------------------------------------------------- /web/version.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vicanso/pike/HEAD/web/version.json --------------------------------------------------------------------------------