mirror of
https://github.com/Ysurac/openmptcprouter-vps-admin.git
synced 2025-02-14 19:41:52 +00:00
Add MPTCP support
This commit is contained in:
parent
82423eb1a5
commit
7d5f915c86
1 changed files with 28 additions and 2 deletions
30
omr-admin.py
30
omr-admin.py
|
@ -4,6 +4,7 @@ import json
|
|||
import base64
|
||||
import uuid
|
||||
import configparser
|
||||
import subprocess
|
||||
import os
|
||||
from tempfile import mkstemp
|
||||
from shutil import move
|
||||
|
@ -102,7 +103,14 @@ def config():
|
|||
openvpn_key = base64.b64encode(ovpnkey_file.read())
|
||||
mlvpn_config = configparser.ConfigParser()
|
||||
mlvpn_config.readfp(open(r'/etc/mlvpn/mlvpn0.conf'))
|
||||
mlvpn_key = mlvpn_config.get('general','password')
|
||||
mlvpn_key = mlvpn_config.get('general','password').strip('"')
|
||||
|
||||
mptcp_checksum = os.popen('sysctl -n net.mptcp.mptcp_checksum').read().rstrip()
|
||||
mptcp_path_manager = os.popen('sysctl -n net.mptcp.mptcp_path_manager').read().rstrip()
|
||||
mptcp_scheduler = os.popen('sysctl -n net.mptcp.mptcp_scheduler').read().rstrip()
|
||||
mptcp_syn_retries = os.popen('sysctl -n net.mptcp.mptcp_syn_retries').read().rstrip()
|
||||
|
||||
congestion_control = os.popen('sysctl -n net.ipv4.tcp_congestion_control').read().rstrip()
|
||||
|
||||
shorewall_redirect = "enable"
|
||||
with open('/etc/shorewall/rules','r') as f:
|
||||
|
@ -110,7 +118,7 @@ def config():
|
|||
if '#DNAT net vpn:$OMR_ADDR tcp 1-64999' in line:
|
||||
shorewall_redirect = "disable"
|
||||
|
||||
return jsonify({'shadowsocks': {'key': shadowsocks_key,'port': shadowsocks_port,'method': shadowsocks_method,'fast_open': shadowsocks_fast_open,'reuse_port': shadowsocks_reuse_port,'no_delay': shadowsocks_no_delay,'mptcp': shadowsocks_mptcp,'obfs': shadowsocks_obfs},'glorytun': {'key': glorytun_key},'openvpn': {'key': openvpn_key},'mlvpn': {'key': mlvpn_key},'shorewall': {'redirect_ports': shorewall_redirect}}), 200
|
||||
return jsonify({'shadowsocks': {'key': shadowsocks_key,'port': shadowsocks_port,'method': shadowsocks_method,'fast_open': shadowsocks_fast_open,'reuse_port': shadowsocks_reuse_port,'no_delay': shadowsocks_no_delay,'mptcp': shadowsocks_mptcp,'obfs': shadowsocks_obfs},'glorytun': {'key': glorytun_key},'openvpn': {'key': openvpn_key},'mlvpn': {'key': mlvpn_key},'shorewall': {'redirect_ports': shorewall_redirect},'mptcp': {'checksum': mptcp_checksum,'path_manager': mptcp_path_manager,'scheduler': mptcp_scheduler, 'syn_retries': mptcp_syn_retries},'network': {'congestion_control': congestion_control}}), 200
|
||||
|
||||
# Set shadowsocks config
|
||||
@app.route('/shadowsocks', methods=['POST'])
|
||||
|
@ -174,6 +182,24 @@ def shorewall():
|
|||
# Need to do the same for IPv6...
|
||||
return jsonify({'result': 'done'})
|
||||
|
||||
# Set MPTCP config
|
||||
@app.route('/mptcp', methods=['POST'])
|
||||
@jwt_required
|
||||
def mptcp():
|
||||
params = request.get_json()
|
||||
checksum = params.get('checksum', None)
|
||||
path_manager = params.get('path_manager', None)
|
||||
scheduler = params.get('scheduler', None)
|
||||
syn_retries = params.get('syn_retries', None)
|
||||
congestion_control = params.get('congestion_control', None)
|
||||
os.system('sysctl -w net.mptcp.mptcp_checksum='+checksum)
|
||||
os.system('sysctl -w net.mptcp.mptcp_path_manager='+path_manager)
|
||||
os.system('sysctl -w net.mptcp.mptcp_scheduler='+scheduler)
|
||||
os.system('sysctl -w net.mptcp.mptcp_syn_retries='+syn_retries)
|
||||
os.system('sysctl -w net.ipv4.tcp_congestion_control='+congestion_control)
|
||||
return jsonify({'result': 'done'})
|
||||
|
||||
|
||||
# Set VPN config
|
||||
#@app.route('/vpn', methods=['POST'])
|
||||
#@jwt_required
|
||||
|
|
Loading…
Reference in a new issue