![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
ipx
Advanced tools
Readme
High performance, secure and easy to use image proxy based on Sharp and libvips.
✅ Fast and minimal as possible.
✅ Easy deployment.
✅ Configurable operations.
✅ Built-in secure cache with human readable entries and resistant against duplicates.
✅ Remote agnostic cache and input adapters.
✅ Smart and auto cache cleaning.
✅ Twelve factor friendly.
✅ Client libraries for URL generation.
/{format}/{operations}/{src}
Operations are separated by a colon ,
(Example: op1,op2
) and their arguments separated using underscore _
(Example: s_200_300
)
ََUse _
value in place for {format}
or {operations}
to keep original values of source image.
Possible values for format: jpeg
,webp
or png
.
Just change format to webp
and keep other things same as source:
http://cdn.example.com/webp/_/avatars/buffalo.png
Keep original format (png
) and set width to 200
:
http://cdn.example.com/_/w_200/avatars/buffalo.png
Resize to 200x300px
using embed
method and change format to jpg
:
http://cdn.example.com/jpg/s_200_300,embed/avatars/buffalo.png
Latest docker image is automatically built under pooya/ipx.
Quick start:
docker run \
-it \
--rm \
--volume ./storage:/app/storage:ro \
--volume ./cache:/app/cache \
--port 3000:3000
pooya/ipx
Using docker-compose:
image: pooya/ipx
volumes:
- ./storage:/app/storage:ro
- ./cache:/app/cache
ports:
- 3000:3000
Operation | Arguments | Example | Description |
---|---|---|---|
s | width , height | s_200_300 | Resize image. |
w | width | w_200 | Change image with. |
h | height | h_200 | Change image height. |
embed | - | embed | Preserving aspect ratio, resize the image to the maximum width or height specified then embed on a background of the exact width and height specified. |
max | - | max | Preserving aspect ratio, resize the image to be as large as possible while ensuring its dimensions are less than or equal to the width and height specified. |
min | - | min | Preserving aspect ratio, resize the image to be as small as possible while ensuring its dimensions are greater than or equal to the width and height specified. |
Config can be customized using IPX_*
environment variables or config/local.js
file. Here are defaults:
ipx: {
input: {
adapter: 'IPX_INPUT_ADAPTER', // Default: fs.js
dir: 'IPX_INPUT_DIR' // Default: storage
},
cache: {
adapter: 'IPX_CACHE_ADAPTER', // Default: fs.js
dir: 'IPX_CACHE_DIR', // Default: cache
cleanCron: 'IPX_CACHE_CLEAN_CRON', // Default: 0 0 3 * * * (every night at 3:00 AM)
maxUnusedMinutes: 'IPX_CACHE_CLEAN_MINUTES' // Default: 24 * 60 (24 hours)
}
}
MIT - Pooya Parsa
FAQs
High performance, secure and easy-to-use image optimizer.
The npm package ipx receives a total of 205,198 weekly downloads. As such, ipx popularity was classified as popular.
We found that ipx demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.