freecdn is a pure front-end CDN solution that reduces website traffic costs while improving website stability and security without modifying existing business logic.
A new file merging function has been added, which can cut large files into multiple small files and automatically merge them during runtime. This can break through the free CDN single file size limit.
Added a resource package function, which can merge multiple small files into one resource package and extract it from it during runtime. See more
There are many free public libraries CDNs on the Internet, such as cdnjs , jsdelivr , and unpkg , but there is never a clear answer to which one is the most stable.
Now you don’t need to worry about this issue, just choose freely. freecdn can switch to the appropriate CDN in real time according to the user's network status. See more
Modern browsers can verify resource integrity through SRI to reduce the risk of third-party sites. However, SRI also has some shortcomings, such as too few supported types, requiring modification of HTML, and lack of alternative mechanisms.
freecdn can verify any type of resources, such as whether images have been tampered with, thereby improving content security; no need to modify HTML, and all Hash is maintained uniformly for easy use and update; even if the verification fails, it will automatically switch to alternate resources to avoid damaging services. See more
Website pictures consume a lot of traffic, and many people upload pictures to third-party sites such as picture beds and photo albums to act as free CDNs. But this also has many unpredictable situations, such as image deletion, restriction of external links, adding watermarks, lossy compression, speed limit, etc.
Now you don't need to worry about these issues. You just need to back up the pictures to multiple picture beds, and freecdn will try in turn until you get the expected content. In addition, not only pictures, but any type of files can be accelerated through the picture bed! See more
No website can avoid network failures, such as computer room failure, DNS failure, operator packet loss, and DDOS attacks, resulting in website unstable access.
freecdn supports offline operation of the website. Users can only access the server that depends on you for the first time. After that, even if the server is shut down, the front-end program can load the latest pages and resources from the backup site, becoming a website that does not depend on the center. See more
Compared with JPG/PNG/GIF formats, WebP has higher compression rates, but not all browsers support it, so compatibility needs to be handled. Traditional seamless compatibility requires backend support. The server decides whether to return to WebP format based on the Accept request header, thereby achieving the effect of returning different formats to the same URL.
freecdn can implement this function on the front end without backend support. See more
HTTP cache time has always been a headache. The time is too short, the performance is not good enough; the time is too long, the update is not timely. Therefore, many websites have their own resource update plans.
freecdn uses a unique update mechanism that can update all resources by simply updating a manifest file. See more
Accelerate public resources with free CDN
Automatically switch faulty CDN
Updates take effect quickly
Accelerate any resource with a free CDN
Accelerate manifest files with free CDN
The website runs offline
WebP automatic adaptation
? Multiple small files are merged into resource packages
Divide large files into multiple small files
POST Request Agent
Command Line Tools
Transparent access mode
List file format
Decode parameter list
The freecdn front-end script relies on the Service Worker API and uses ES2020 syntax and features. However, even if the browser does not support it, the page still loads the resource from the original URL.
If your website itself also has a Service Worker, please refer to the shared access mode.
Since Service Worker can only be enabled in a secure environment, your site must be HTTPS. HTTP can be used when testing locally (127.0.0.1/localhost).
freecdn-js: https://github.com/EtherDream/freecdn-js
The scripts referenced by the page are actively small, and only a few hundred bytes are compressed, minimizing your website traffic.
freecdn-publib: https://github.com/EtherDream/freecdn-publib
The public library collects more than 10 million URL records for more than a dozen CDN sites.
freecdn-update-svc: https://github.com/EtherDream/freecdn-update-svc
Using the update push service, long cache resources can also be updated quickly.
The basic functions have been implemented and are in the public beta stage. If you are interested in this project, you can experiment on personal blogs, special effects demonstrations and other sites, look forward to feedback on existing problems and provide better suggestions.
This project will be maintained for a long time.
Functions under development:
Smarter site selection algorithm (the current rules are still very simple and need to be further improved)
Pure front-end logs (Collection of user access logs through Service Worker and send them to the interface provided by the developer. Suitable for sites such as GitHub Pages that cannot view detailed logs)
Subset search (if the file to be searched is part of the public resource, the tool generates a crop range; if the public resource is the vast majority of the file to be searched, supplement the missing prefix or suffix data)
HTTP over WebRTC (using devices in the intranet as website nodes to share traffic and computing volume)
MIT