https://github.com/sthnaqvi/follow-redirect-url
A simple command-line utility that lets you follow redirects to see where http URLs end up. Useful for shortened URLs.
https://github.com/sthnaqvi/follow-redirect-url
Last synced: 3 months ago
JSON representation
A simple command-line utility that lets you follow redirects to see where http URLs end up. Useful for shortened URLs.
- Host: GitHub
- URL: https://github.com/sthnaqvi/follow-redirect-url
- Owner: sthnaqvi
- Created: 2019-02-16T22:48:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-17T07:13:31.000Z (about 1 year ago)
- Last Synced: 2025-04-15T07:19:29.598Z (3 months ago)
- Language: JavaScript
- Size: 434 KB
- Stars: 13
- Watchers: 4
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# follow-redirect-url
[](https://nodei.co/npm/follow-redirect-url/)
[](http://nodejs.org/download/)
[](https://badge.fury.io/js/follow-redirect-url)
[](https://travis-ci.org/sthnaqvi/follow-redirect-url)
[](https://codecov.io/github/sthnaqvi/follow-redirect-url)
[](https://david-dm.org/sthnaqvi/follow-redirect-url)
[](https://snyk.io/test/npm/follow-redirect-url)
[](https://snyk.io/test/github/sthnaqvi/follow-redirect-url?targetFile=package.json)

A simple command-line utility that lets you follow redirects to see where http URLs end up. Useful for shortened URLs.
Follows up to 20 redirects Default.
Also added User-Agent header to requests, some web address won't redirect without browsers information eg: https://fb.me
## Table of contents
- [Installation](#installation)
- [Usage](#usage)
- [Output](#output)
- [Options](#options)## Installation
### Install with npm globally (For CLI):
```
npm install -g follow-redirect-url
```### Install for your project:
```
npm install -save follow-redirect-url
```
[back to top](#table-of-contents)---
## Usage### CLI:
```
follow https://bit.ly/2X7gCIT
```### Module:
The first argument is a `url` string.
``` js
'use strict';const followRedirect = require('follow-redirect-url');
followRedirect.startFollowing('https://bit.ly/2X7gCIT').then(urls => {
console.log(urls);
}).catch(error => {
console.log(error)
})
```
[back to top](#table-of-contents)---
## Output
### CLI Result:
```
https://bit.ly/2X7gCIT -> 301
http://github.com/sthnaqvi/follow-redirect-url -> 301
https://github.com/sthnaqvi/follow-redirect-url -> 200
```### Project Result:
```
[ { url: 'https://bit.ly/2X7gCIT',
redirect: true,
status: 301,
redirectUrl: 'http://github.com/sthnaqvi/follow-redirect-url' },
{ url: 'http://github.com/sthnaqvi/follow-redirect-url',
redirect: true,
status: 301,
redirectUrl: 'https://github.com/sthnaqvi/follow-redirect-url' },
{ url: 'https://github.com/sthnaqvi/follow-redirect-url',
redirect: false,
status: 200 } ]
```
[back to top](#table-of-contents)---
## Options### CLI options:
#### Under development
### Module options:
The second argument is an `options` object. Options are optional.- `max_redirect_length` - maximum redirection limit. Default: `20`
- `request_timeout` - request timeout in milliseconds. Default: `10000`
- `ignoreSslErrors` - ignore SSL certificate errors when following redirects. Default: `false`
-
``` js
const followRedirect = require('follow-redirect-url');const options = {
max_redirect_length: 5,
request_timeout: 5000,
ignoreSsslErrors: true
};followRedirect.startFollowing('https://bit.ly/2X7gCIT', options).then(urls => {
console.log(urls);
}).catch(error => {
console.log(error)
})
```[back to top](#table-of-contents)