![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.
You can use ipx
command to start server using:
$ npx ipx
Latest docker image is automatically built under pooya/ipx.
Run a test server:
docker run \
-it \
--rm \
--volume ./storage:/app/storage:ro \
--volume ./cache:/app/cache \
--port 3000:3000
pooya/ipx
Using docker-compose:
version: '3'
services:
ipx:
image: pooya/ipx
volumes:
- ./storage:/app/storage:ro
- ./cache:/app/cache
ports:
- 3000:3000
You can use IPX as a Connect/Express middleware or directly use IPX class.
import { IPX, IPXMiddleware } from 'ipx'
const ipx = new IPX(/* options */)
const app = express()
app.use('/image', IPXMiddleware(ipx))
/{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
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.
IPX_PORT
(or PORT
)
Default: 3000
IPX_INPUT_ADAPTER
fs
IPX_INPUT_DIR
storage
IPX_CACHE_ADAPTER
fs
IPX_CACHE_DIR
cache
IPX_CACHE_CLEAN_CRON
0 0 3 * * *
(every night at 3:00 AM)IPX_CACHE_CLEAN_MINUTES
24 * 60
(24 hours)Import client:
import { img } from 'ipx/client'
const { img } = require('ipx/client')
img()
is a factory function to configure base options:
// getImage: (path, opts?, format?) => URL
const getImage = img({
baseURL = 'https://cdn.example.com',
basePath = 'uploads',
opts = [], // Default opts
format = 'jpg',
presets: {
chrome400: {
format: 'webp',
opts: { s: ['400', '400']}
}
}
})
getImage('posts/ipx.png', { w: 200 }) // => https://cdn.example.com/jpg/w_200/uploads/posts/ipx.png
getImage.chrome400('posts/ipx.png') // => https://cdn.example.com/webp/s_400_400/uploads/posts/ipx.png
MIT - Pooya Parsa
FAQs
High performance, secure and easy-to-use image optimizer.
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.