GithubHelp home page GithubHelp logo

shadowsocks / shadowsocks-manager Goto Github PK

View Code? Open in Web Editor NEW
4.1K 195.0 1.5K 15.3 MB

A shadowsocks manager tool for multi user and traffic control.

Home Page: https://shadowsocks.github.io/shadowsocks-manager/

License: GNU General Public License v3.0

JavaScript 70.13% HTML 29.25% CSS 0.43% Dockerfile 0.18%
shadowsocks nodejs

shadowsocks-manager's Introduction

NPM version npm license

shadowsocks-manager

A shadowsocks manager tool for multi user and traffic control.
Base on Node.js and SQLite.

For more details, you can see docs.

If you want to use the old version, please switch to this branch.

Dependencies

  • Node.js 12.*
  • Redis

Install

From source:

git clone https://github.com/shadowsocks/shadowsocks-manager.git
cd shadowsocks-manager
npm i

use node server.js to run this program.

From npm:

npm i -g shadowsocks-manager

You may need to use the --unsafe-perm flag if you receive an permission error

npm i -g shadowsocks-manager --unsafe-perm

use ssmgr to run this program.

From docker:

docker run --name ssmgr -idt -v ~/.ssmgr:/root/.ssmgr --net=host gyteng/ssmgr [ssmgr params...]

Build docker image:

here is the Dockerfile

FROM ubuntu:18.04
MAINTAINER gyteng <[email protected]>
RUN apt-get update && \
    export DEBIAN_FRONTEND=noninteractive && \
    apt-get install tzdata iproute2 curl git sudo software-properties-common python-pip -y && \
    pip install git+https://github.com/shadowsocks/shadowsocks.git@master && \
    curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
    apt-get install -y nodejs shadowsocks-libev && \
    npm i -g shadowsocks-manager --unsafe-perm && \
    echo "Asia/Shanghai" > /etc/timezone && \
    rm /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata
CMD ["/usr/bin/ssmgr"]

Usage

  1. Start shadowsocks with manager API, it supports shadowsocks-python and shadowsocks-libev. For example, you can run this command:
ss-manager -m aes-256-cfb -u --manager-address 127.0.0.1:6001
 or
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001
  1. run ssmgr with type s:

config file:

type: s

shadowsocks:
  address: 127.0.0.1:6001
manager:
  address: 0.0.0.0:4001
  password: '123456'
db: 'ss.sqlite'

If you want to use MySQL, the db must like this:

db:
  host: '1.1.1.1'
  user: 'root'
  password: 'abcdefg'
  database: 'ssmgr'

And you have to close only_full_group_by when the version of MySQL is greater than 5.7

command:
ssmgr -c /your/config/file/path.yml

  1. If you have several servers, you have to run step 1 and step 2 in every server.
    The listening address in --manager-address of step 1 and in shadowsocks -> address of step 2's config file must be same. For security reseon, we recommend you to use 127.0.0.1 instead of 0.0.0.0.
  2. Now you can use the plugins to manage them. You can read the details in plugins readme page.
+-------------+    +-------------+       +------+
| Shadowsocks |    | Shadowsocks |  ...  |      |
| manager API |    | manager API |       |      |
+-------------+    +-------------+       +------+
       |                 |                  |
       |                 |                  |
+-------------+    +-------------+       +------+
| ssmgr       |    | ssmgr       |  ...  |      |
| with type s |    | with type s |       |      |
+-------------+    +-------------+       +------+
       |                 |                  |
       +------------+----+--------  ...  ---+
                    |
                    |
             +---------------+
             | ssmgr plugins |
             |  with type m  |
             +---------------+

Plugins

telegram
freeAccount
webgui

Parameter

ssmgr --help will show startup parameters info.

Usage: ssmgr [options]

  Options:

    -h, --help                   output usage information
    -V, --version                output the version number
    -c, --config [file]          config file, default: ~/.ssmgr/default.yml
    -d, --db [file]              sqlite3 file, sample: ~/.ssmgr/db.sqlite
    -t, --type [type]            type, s for server side, m for manager side
    -s, --shadowsocks [address]  ss-manager address, sample: 127.0.0.1:6001
    -m, --manager [address]      manager address, sample: 0.0.0.0:6002
    -p, --password [password]    manager password, both server side and manager side must be equals
    -r, --run [type]             run shadowsocks from child_process, sample: libev / libev:aes-256-cfb / python / python:aes-256-cfb
    --debug                      show debug message

First, ssmgr will read the config file in --config, and other parameters(-detsmp) will replace the config file values.

Translate

If your want to help to translate it to other languages, please edit files here and give me a pull request.

shadowsocks-manager's People

Contributors

aipsel avatar blackfoxsar avatar chaostop avatar cicozhang avatar ernix avatar evanren avatar gabrielkoo avatar gadflysu avatar gyteng avatar hklcf avatar jimages avatar ken-tam avatar liruqi avatar llc1123 avatar lokisama avatar methol avatar onlymash avatar renjie45 avatar t123yh avatar teddysun avatar ylfzq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shadowsocks-manager's Issues

安装好shadowsocks-manager后无法登入

config.js
exports.conf = {
db: {
host: '127.0.0.1',
port: '27017',
name: 'Shadowsocks-Manager',
user: '',
pass: ''
},
admin: {
email: '[email protected]',
password: '66666'
},
mail: {
address: '[email protected]',
password: 'yourpassword',
smtp: 'smtp.gmail.com',
webaddress: 'http://xxxx:6003'
},
express: {
http: 6003,
https: 443,
key: '',
cert: ''
}
};

输入管理员账号密码提示无此用户
node版本是4.4.5
AngularJs版本为1.5.7
如何解决

Add a security warning in the web UI

It's very dangerous to listen on 0.0.0.0 for manager API. Anyone can access your manager node from internet.

So, I suggest to add a security warning in the web UI when adding a remote node. Also, you can provide some tips like iptables rules to solve this problem.

--manager-address 模式无法启动

运行后会报错:```
root@xcc:~# ssserver --manager-address 127.0.0.1:6001 -c /root/ss.json
INFO: loading config from /root/ss.json
2016-08-28 03:50:40 WARNING warning: server set to listen on 127.0.0.1:8388, are you sure?
2016-08-28 03:50:40 WARNING warning: your timeout 60 seems too short
2016-08-28 03:50:40 INFO loading libcrypto from libcrypto.so.1.0.0
2016-08-28 03:50:40 INFO entering manager mode
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8389
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8388
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8387
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8386
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8385
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8384
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8383
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8382
2016-08-28 03:50:40 INFO adding server at 127.0.0.1:8381
^CTraceback (most recent call last):
File "/usr/local/bin/ssserver", line 9, in
load_entry_point('shadowsocks==2.9.0', 'console_scripts', 'ssserver')()
File "/usr/local/lib/python2.7/dist-packages/shadowsocks-2.9.0-py2.7.egg/shadowsocks/server.py", line 54, in main
manager.run(config)
File "/usr/local/lib/python2.7/dist-packages/shadowsocks-2.9.0-py2.7.egg/shadowsocks/manager.py", line 194, in run
Manager(config).run()
File "/usr/local/lib/python2.7/dist-packages/shadowsocks-2.9.0-py2.7.egg/shadowsocks/manager.py", line 190, in run
self._loop.run()
File "/usr/local/lib/python2.7/dist-packages/shadowsocks-2.9.0-py2.7.egg/shadowsocks/eventloop.py", line 197, in run
events = self.poll(TIMEOUT_PRECISION)
File "/usr/local/lib/python2.7/dist-packages/shadowsocks-2.9.0-py2.7.egg/shadowsocks/eventloop.py", line 166, in poll
events = self._impl.poll(timeout)
KeyboardInterrupt

初始化管理员账户失败?

这几天想折腾ss的多用户+流量统计,看到这个
然后服务器上拉下来
config.js配置好admin后,启动
mongo内见库,没见有数据啊....
这下问题来了,管理员帐号怎么搞?

Error: Cannot find module './lib/toDate'

请问这个报错是什么原因 CentOS7
[root@localhost shadowsocks-manager]# node server.js
module.js:327
throw err;
^

Error: Cannot find module './lib/toDate'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/root/shadowsocks-manager/node_modules/express-validator/node_modules/validator/index.js:7:15)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)

询问失效自动删除

失效自动删除 删除的是端口数据库+账号关联还是就单独删掉账号关联?

一些使用经验和建议

昨天发现了这个好用的项目,下载了之后安装、测试过发现相当的方便,能给我们小创业公司提供很多帮助。在使用的过程中,出现了一些问题,在解决这些问题的过程中,积累了一些经验,同时我也想给做着一些建议。

基本特性:

  1. 通过跟踪日志,我发现用户可用性检测似乎以 2 分钟为单位在 00 秒执行
  2. 新建用户没有默认可用时长,这就导致了其在两分钟后将会被删除,这个删除操作后面每两分钟还会继续尝试执行😂😂
  3. 如果在两分钟内没有给新建立的用户分配时长和流量,其将在 2 分钟时被删除,如果之后被分配了时长和流量,这个账户一直要到下一个 2 分钟检查节点才会被重新加入系统
  4. 为了安全,ssserver --manager-address 127.0.0.1:6001 执行时一般绑定 127.0.0.1 本地 ip(此管理接口没有任何安全认证),但是本管理系统在添加服务器时并未将“管理系统内网ip”和“用户使用的外网ip”分开,只能填一个,这样就导致了自动生成的二维码是以 127.0.0.1 作为服务器 ip 的,不可用。

建议:

  1. 每 2 分钟一次的用户可用性检测功能需要加强,比如将“某个账户已超时被删除”的状态加入数据库,这样就不用每次都给 ssserver 发送删除用户的请求了,如果是开放系统,那么过期用户可能有很多,这对 ssserver 是个不必要的负担
  2. 在某个服务器下添加新的 端口-密码 组合时加入别名,便于小企业内部管理区分
  3. 添加新的 端口-密码 组合后默认分配的永久和不限流量的状态
  4. 添加新的 端口-密码 组合后立刻触发一次账户可用性检测,将用户加入 ssserver,避免管理员以为操作无效【重要】
  5. 添加服务器时,分开记录 管理系统内网地址 和 公网用户用地址,让二维码功能真正可用。

如果作者接受,我可以加入项目共同开发,给这个开源项目做出贡献~

投稿2 教程 后端

shadowsocks-python并启用chacha20加密

yum -y update
yum install -y gcc
yum install m2crypto
yum install python-setuptools && easy_install pip
pip install shadowsocks

cd /root
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.10.tar.gz
tar zxvf libsodium-1.0.10.tar.gz
cd libsodium*
./configure
make && make install

修复关联

echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig


ssserver --manager-address 0.0.0.0:6001 -c /root/config.json
/////config.json
{
"server":"0.0.0.0",
"server_port":8989,
"local_port":1080,
"password":"jhrjhjkjker",
"timeout":60,
"method":"chacha20"
}

/////

客户端切记不要开启 {一次性认证}
服务端支持UDP

自动分配免费节点not work

admin登录进去后,添加了本地ss服务器,然后配置里打开了自动分配免费节点。

但新注册用户后分配不到免费服务器,+1s也看不到服务器,请问还需要啥配置吗?

shadowsocks-libev版的流量监测问题

使用命令
/usr/local/bin/ss-server -u --manager-address 127.0.0.1:6001 -c /etc/shadowsocks_1080.json -f /var/run/shadowsocks_1080.pid
但是监测不到流量,请问是我用错了吗?

加密的疑问

在网站里设置加密为256.
ssserver --manager-address 0.0.0.0:6001 -c /root/config.json
命令开启的json里设置为chacha20...然后启动后发现是以json里的加密为准的...网站设置的无效...这是我哪里设置错了吗

web error

数据库没问题了,但是网页是空白的
20160708134957.png

流量无法监测

ssserver --manager-address 127.0.0.1:6003 -c /root/shadowsocks.json -d start --pid-file /var/run/shadowsocks_manager.pid

这种方式启动多个端口的,但是依然没有流量监测,是哪里出现问题了吗?如何排查

English Version

A quick question:
Is there any plan for English version so international users/admins can user this project?

作者您好,请教安装问题

作者您好,我以前一直用的lnmp.无意间发现您的作品.想研究一下.可是按照安装过程走一下出现一些问题.谷歌的也不全.特来请教一下.....系统是centos-6-x86_64-minimal

1、环境准备:

mkdir /home/mongodb
mkdir /data/mongodata -p
mkdir /data/log/mongolog -p
2、下载:

1 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.6.tgz
3、安装:

tar xf mongodb-linux-x86_64-3.2.6.tgz
cd mongodb-linux-x86_64-3.2.6
cp -r * /home/mongodb
为了便于命令启动,需要编辑全局变量PATH

1 vim /etc/profile.d/mongo.sh
2 export PATH=$PATH:/home/mongodb/bin
source /etc/profile.d/mongo.sh
4、启动服务
首先查看mongod的帮助信息
mongod --help

////////
yum install gcc-c++ make
yum install -y nodejs

yum install git
git clone [email protected]:gyteng/shadowsocks-manager.git(wget下载的时候提示密钥错误无法下载..手动下载再传到服务器的)
cd shadowsocks-manager
npm install -g bower
npm install
bower install
--bower install这一步提示需要执行 bower install --allow-root
然后出现好多版本选择..不知道选哪个...
//////
Unable to find a suitable version for angular, please choose one by typing one of the numbers below:
1) angular#~1.2.5 which resolved to 1.2.29 and is required by angular-qr#0.2.0
2) angular#1.5.6 which resolved to 1.5.6 and is required by angular-animate#1.5.6, angular-aria#1.5.6, angular-messages#1.5.6
3) angular#^1.0.8 which resolved to 1.5.6 and is required by angular-ui-router#0.2.18
4) angular#1.x which resolved to 1.5.6 and is required by angular-chart.js#0.10.2
5) angular#^1.4.8 which resolved to 1.5.6 and is required by angular-material#1.0.9

Prefix the choice with ! to persist it to bower.json

? Answer
////////
然后选了个3.最后修改JS里的网址后.执行.访问对应的网站一片空白...抓狂

BUGBUG?

重新安装.无法运行

node server.js
module.js:327
throw err;
^

Error: Cannot find module 'async'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/home/shadowsocks-manager/server.js:1:75)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10

安装完后输入http://ip_address:6003/一片空白

查看html代码输出以下内容
`

<link rel="stylesheet" href="/libs/angular-material/angular-material.min.css">
<link rel="stylesheet" href="/public/assets/css/home.css">
<link rel="shortcut icon" href="/public/assets/img/favicon.png"> 
<title>Shadowsocks Manager</title>
<base href="/">
<script src="/libs/angular/angular.min.js"></script> <script src="/libs/angular-animate/angular-animate.min.js"></script> <script src="/libs/angular-aria/angular-aria.min.js"></script> <script src="/libs/angular-messages/angular-messages.min.js"></script> <script src="/libs/angular-material/angular-material.min.js"></script> <script src="/libs/angular-ui-router/release/angular-ui-router.min.js"></script> <script src="/libs/fingerprintjs2/dist/fingerprint2.min.js"></script>
<script src="/public/routes/home.js"></script>



<script src="/public/controllers/home.js"></script>

<div ng-controller="MainController">
    <div ui-view></div>
</div>
`

希望可以删除账户

管理员下可以删除端口.不能删除账号.
做测试注册了好多账号....现在想删除掉重新注册测试..发现没有删除的地方....

用户操作和服务器的功能建议,还有续费码续时间续不了

生成续费码使用时只续流量,但是时间不会增加,管理员后台操作可以增加时长,
是设置的原因吗?

建议:
1.添加删除用户操作
2.添加删除续费码操作
3.续费续流量可以使用自定义数值
4.shadowsocks服务重启后账号清空,后台可以操作直接重新建立数据库现有服务器账号(同时可以显示服务器账号密码真实数据)

We should have a intermediate certificate for config.

We know in some case. The CA issue your certificate by their intermediate certificate. this means your path of certificate should be

root certificate ---> intermediate certificate ---> your certificate.

So We should add ca in calling https.createServer to support this case.

https.createServer({
              key: httpskey,
              cert: httpscert,
              ca: httpca,
          }, app)

尝试在centos安装后运行出现以下错误信息

`# node server.js
[2016-06-22 01:35:06.741] [INFO] server - 开始加载数据库配置文件
[2016-06-22 01:35:06.758] [INFO] server - 加载数据库 history.js
[2016-06-22 01:35:06.760] [INFO] server - 加载数据库 oneSecond.js
[2016-06-22 01:35:06.763] [INFO] server - 加载数据库 option.js
[2016-06-22 01:35:06.766] [INFO] server - 加载数据库 renewCode.js
[2016-06-22 01:35:06.776] [INFO] server - 加载数据库 server.js
[2016-06-22 01:35:06.783] [INFO] server - 加载数据库 user.js
[2016-06-22 01:35:06.895] [INFO] server - 开始加载Express路由配置文件

/node_modules/mongodb/lib/server.js:242
process.nextTick(function() { throw err; })
^
Error: connect ECONNREFUSED 127.0.0.1:27777
at Object.exports._errnoException (util.js:1007:11)
at exports._exceptionWithHostPort (util.js:1030:20)
at TCPConnectWrap.afterConnect as oncomplete`

请问这是什么问题..

谢谢

关于服务器设置的问题

添加服务器,要输入的是--manager-address参数的地址,还是运行着ssserver的地址?
两种可能都尝试了,但是在用户管理无法给用户分配网络,选择服务器后无法选择端口。
有没有详细点儿的解释呢?后续版本是否会提供服务器正确添加后的反馈呢?

好多问题想问啊!

一,配置
centos7 64位,

gcc-4.8.5 nodejs-4.4 Mongodb 3.2

git了您的包。
yum install npm .
然后
npm install -g bower
时就出问题了。。。。

[root@163-44-155-139 www]#
[root@163-44-155-139 www]# npm install -g bower
npm http GET https://registry.npmjs.org/bower
npm http 304 https://registry.npmjs.org/bower
/usr/bin/bower -> /usr/lib/node_modules/bower/bin/bower
npm WARN unmet dependency /usr/lib/node_modules/block-stream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream-ignore requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/fstream-npm requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/glob requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/npmconf requires inherits@'~2.0.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /usr/lib/node_modules/tar requires inherits@'2' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
[email protected] /usr/lib/node_modules/bower

图片均无法显示

系统: archlinux ,所有软件包均是通过包管理安装的,arch的软件源软件版本非常新,应该都是最新的。
参考了ubuntu的安装过程,安装了对应依赖,一切顺利,但网页的图片资源均无法加载显示。
screenshot_20160622-100444 01

..呃.又有问题了

目前卡在后端了.....SS服务端只能用RC4加密的极其不安全...想让他用aes-256-cfb或者chacha20.编译安装了加密库
运行后一连接就提示加密错误...无法使用...谷歌看了一宿没搞起来...泪流满面

用户配置信息无法写入数据库

你好,我配置了config.js之后其中的用户信息无法写入mongodb中,打开网页登录显示用户未注册,操作数据库查看未能看到相关的用户信息,应该如何解决

投稿1 教程 网站安装

1、环境准备:centos6 x64
yum update

添加源
/etc/yum.repos.d/mongodb-org-3.2.repo

////mongodb-org-3.2.repo内容
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
////
安装
yum install -y mongodb-org

/etc/mongodb.conf 可修改端口


////////
curl -sL https://rpm.nodesource.com/setup_4.x | bash -
yum install -y nodejs

yum install -y git

cd /home
git clone https://github.com/gyteng/shadowsocks-manager.git

cd /home/shadowsocks-manager

npm install -g bower
npm install
bower install

bower install --allow-root
并且选择左边版本号最高的,输入对应的序号回车 然后等待/安装较慢

mv config.js.sample config.js
编辑 config.js
第一个邮箱和密码为管理员,运行网站后自动添加
第二个邮箱填写谷歌密码并且关闭安全设置.不然无法发邮件
修改成你自己的访问网站,还有端口

////////////
使用gmail作为发送激活码的邮箱,需要先到这个地址关闭一个安全设置。参见这里的解释。(不够安全的应用的访问权限)选择启用
这个地址:https://www.google.com/settings/security/lesssecureapps
这里解释:https://nodemailer.com/using-gmail/
/////////////
运行
node server.js

然后访问你配置文件里的网站吧

作者大大您好 按照教程安装了网站 但是启动server.js时出现了问题

/home/shadowsocks-manager/node_modules/connect-mongo/src/index.js:3
const Promise = require('bluebird');
^^^^^
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/home/shadowsocks-manager/node_modules/connect-mongo/index.js:1:80)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at exports.express (/home/shadowsocks-manager/server/app.js:104:22)
at nextTask (/home/shadowsocks-manager/node_modules/async/dist/async.js:6627:18)
at /home/shadowsocks-manager/node_modules/async/dist/async.js:6621:17

如下 请问这是哪里出错了吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.