shadowsocks-link-generator
Node.js ligthweight module for generating and parsing shadosocks links with no dependencies.
Install
npm install shadowsocks-link-generator# Or yarn add shadowsocks-link-generator
Usage
Initialize new intstance
const ssUrl = // If use typescript or ESM
Generate new shadosocks url
Use .genSS()
with shadowsocks parameters, what returns full ss link.
const myUrl = ssUrl console// ss://YWVzLTI1Ni1jZmI6bXlwYXNzd29yZA==@8.8.8.8:8388#my%20server
Generate new shadosocksR url
Also use .genSSR()
with shadowsocks parameters, what returns full ssr link.
const myUrl = ssUrl console// ssr://NzcuODguOC44OjgzODg6cGxhaW46Y2hhY2hhMjA6YUhSMGNGOXphVzF3YkdVPTpteXNlY3JldHBhc3N3b3JkMTIzLz9vYmZzcGFyYW09YzI5dFpYQmhjbUZ0Y3c9PSZwcm90b3BhcmFtPSZyZW1hcmtzPWJYa2djMlZ5ZG1WeSZncm91cD1UWGtnYzJWeWRtVnlJR3hwYzNRPQ==
Parse links
For both links, you can use .parseSS()
and .parseSSR()
method, what returns an object with parameters.
SS links
const myUrl = 'ss://YWVzLTI1Ni1jZmI6bXlwYXNzd29yZA==@my_server_ip:8388#my%20server' const myUrlParsed = ssUrlconsole/*{ method: 'aes-256-cfb', password: 'mypassword', server: 'my_server_ip', server_port: '8388', name: 'my server'}*/
SSR links
const myUrl = 'ssr://NzcuODguOC44OjgzODg6cGxhaW46Y2hhY2hhMjA6YUhSMGNGOXphVzF3YkdVPTpteXNlY3JldHBhc3N3b3JkMTIzLz9vYmZzcGFyYW09YzI5dFpYQmhjbUZ0Y3c9PSZwcm90b3BhcmFtPSZyZW1hcmtzPWJYa2djMlZ5ZG1WeSZncm91cD1UWGtnYzJWeWRtVnlJR3hwYzNRPQ==' const myUrlParsed = ssUrlconsole/*{ server: '77.88.8.8', server_port: '8388', protocol: 'plain', method: 'chacha20', obfs: 'http_simple', password: 'mysecretpassword123', name: 'my server', obfs_param: 'someparams', protocol_param: '', group: 'My server list'}*/
Advanced
You can import configs type using typescript
name
is used in shadowsocks mobile app