Example #1
0
def settings(id):
    form = AddForm()
    tunnel = get_tunnels(id)
    if form.validate_on_submit():
        if form.delete.data:
            if vpn_del(id):
                message = u'删除隧道%s :成功!' % tunnel[0]['name']
                flash(message, 'success')
                return redirect(url_for('sts.index'))
        if form.save.data:
            if vpn_settings(form, id):
                flash(u'修改隧道配置成功!', 'success')
                return redirect(url_for('sts.settings', id=id))
    form.local_subnet.data = tunnel[0]['rules']['leftsubnet']
    form.remote_subnet.data = tunnel[0]['rules']['rightsubnet']
    form.start_type.data = tunnel[0]['rules']['auto']
    # Backward compatible v1.1.0
    esp_settings = tunnel[0]['rules']['esp'].split('-')
    form.esp_encryption_algorithm.data = esp_settings[0]
    form.esp_integrity_algorithm.data = esp_settings[1]
    form.esp_dh_algorithm.data = esp_settings[2] if len(esp_settings) == 3 else 'null'
    ike_settings = tunnel[0]['rules'].get('ike', 'aes128-sha1-modp2048').split('-')
    form.ike_encryption_algorithm.data = ike_settings[0]
    form.ike_integrity_algorithm.data = ike_settings[1]
    form.ike_dh_algorithm.data = ike_settings[2]
    return render_template('sts/view.html', tunnel=tunnel[0], form=form)
Example #2
0
def settings(id):
    form = AddForm()
    tunnel = get_tunnels(id)
    if form.validate_on_submit():
        if form.delete.data:
            if vpn_del(id):
                message = u'删除隧道%s :成功!' % tunnel[0]['name']
                flash(message, 'success')
                return redirect(url_for('sts.index'))
        if form.save.data:
            if vpn_settings(form, id):
                flash(u'修改隧道配置成功!', 'success')
                return redirect(url_for('sts.settings', id=id))
    form.local_subnet.data = tunnel[0]['rules']['leftsubnet']
    form.remote_subnet.data = tunnel[0]['rules']['rightsubnet']
    form.start_type.data = tunnel[0]['rules']['auto']
    # Backward compatible v1.1.0
    esp_settings = tunnel[0]['rules']['esp'].split('-')
    form.esp_encryption_algorithm.data = esp_settings[0]
    form.esp_integrity_algorithm.data = esp_settings[1]
    form.esp_dh_algorithm.data = esp_settings[2] if len(
        esp_settings) == 3 else 'null'
    ike_settings = tunnel[0]['rules'].get('ike',
                                          'aes128-sha1-modp2048').split('-')
    form.ike_encryption_algorithm.data = ike_settings[0]
    form.ike_integrity_algorithm.data = ike_settings[1]
    form.ike_dh_algorithm.data = ike_settings[2]
    return render_template('sts/view.html', tunnel=tunnel[0], form=form)
Example #3
0
def flow(id):
    tunnel = get_tunnels(id, status=True)
    return render_template('sts/flow.html', tunnel=tunnel[0])
Example #4
0
def index():
    form = UpDownForm()
    tunnels = get_tunnels(status=True)
    if not tunnels:
        flash(u'目前没有任何VPN 配置,如有需要请添加。', 'info')
    return render_template('sts/index.html', tunnels=tunnels, form=form)