snow cdn
cdn
This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Captain ALM a5ca1ec403
continuous-integration/drone/push Build is passing Details
Update config file processing.
2022-07-15 15:40:06 +01:00
.idea Make sure no content length is outputted in non-content circumstances. 2022-07-15 15:27:43 +01:00
api Fix download hint bug, add more configuration and update README.md 2022-06-27 00:00:52 +01:00
cdn Simple Empty Content Fix. 2022-07-15 15:33:31 +01:00
cmd/snowedin Update config file processing. 2022-07-15 15:40:06 +01:00
conf Refactor entire project 2022-06-30 13:29:44 +01:00
utils Fix race conditions for concurrent read/write map in zone.go (fixes #2) 2022-07-12 17:32:54 +01:00
web Refactor entire project 2022-06-30 13:29:44 +01:00
.drone.yml Update main.go. 2022-06-22 15:24:49 +01:00
.gitattributes Update main.go. 2022-06-22 15:24:49 +01:00
.gitignore Update main.go. 2022-06-22 15:24:49 +01:00
LICENSE.md Inital commit. 2022-06-22 01:50:12 +01:00
Makefile Fix module address 2022-06-22 18:52:26 +01:00
README.md Update README.md for range. 2022-06-28 21:30:08 +01:00
config.example.yml Add range support. 2022-06-28 21:13:23 +01:00
go.mod Update and Add CDN features for: 2022-06-23 17:04:56 +01:00
go.sum Update and Add CDN features for: 2022-06-23 17:04:56 +01:00

README.md

SnoweDiN

Snow Services CDN

Build Status

This allows for content to be served off different zones with limits per IP address for concurrent connections, requests in an interval and bandwidth. There is also configuration for backends (And can be extended by building with more backends). This also supports cache processing using headers and 304 redirects; download hinting headers are also supported. Supports range requests and partial content responses.

The use of DELETE is possible to tell the zone to clear cache in its backend and itself; GET, OPTIONS and HEAD are also supported.

Maintainer: Captain ALM

License: ISC Based License

Example configuration: config.example.yml The configuration must by placed in a .data sub-directory from the executable. A .env file must also be generated (Can be empty).

TODO:

  • Add global limits per zone and for the entire CDN.
  • Add the API server support.
  • Add PUT support per zone for whitelisted IPs.
  • Add a backend that sends requests to another server.
  • Add a backend that sends requests to another server and caches them on the filesystem.
  • Turn zone into a middleware provider.
  • Support authentication.