mirror of
https://github.com/openwrt-xiaomi/xmir-patcher.git
synced 2026-09-22 22:57:55 +03:00
Add new menu "Install permanent SSH"
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "$( grep 'ssh_patch.sh' /etc/crontabs/root )" != "" ]; then
|
||||
sh /tmp/ssh_uninstall.sh
|
||||
fi
|
||||
|
||||
mv -f /tmp/ssh_patch.sh /etc/crontabs/
|
||||
chmod +x /etc/crontabs/ssh_patch.sh
|
||||
|
||||
nvram set ssh_en=1
|
||||
nvram commit
|
||||
|
||||
grep -v "/etc/crontabs/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new;
|
||||
echo "*/1 * * * * /etc/crontabs/ssh_patch.sh >/dev/null 2>&1" >> /etc/crontabs/root.new
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -e "/tmp/ssh_patch.log" ] && return 0
|
||||
|
||||
HAVE_PATCH=$( grep '= "release"' /etc/init.d/dropbear )
|
||||
if [ -z "$HAVE_PATCH" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
sed -i 's/= "release"/= "XXXXXX"/g' /etc/init.d/dropbear
|
||||
|
||||
/etc/init.d/dropbear enable
|
||||
/etc/init.d/dropbear restart
|
||||
|
||||
echo "ssh enabled" > /tmp/ssh_patch.log
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
grep -v "/etc/crontabs/ssh_patch.sh" /etc/crontabs/root > /etc/crontabs/root.new;
|
||||
mv /etc/crontabs/root.new /etc/crontabs/root
|
||||
/etc/init.d/cron restart
|
||||
|
||||
rm -f /etc/crontabs/ssh_patch.sh
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
||||
import gateway
|
||||
from gateway import die
|
||||
|
||||
|
||||
gw = gateway.Gateway()
|
||||
|
||||
fn_dir = 'data/'
|
||||
fn_local = 'data/ssh_patch.sh'
|
||||
fn_remote = '/tmp/ssh_patch.sh'
|
||||
fn_local_i = 'data/ssh_install.sh'
|
||||
fn_remote_i = '/tmp/ssh_install.sh'
|
||||
fn_local_u = 'data/ssh_uninstall.sh'
|
||||
fn_remote_u = '/tmp/ssh_uninstall.sh'
|
||||
|
||||
action = 'install'
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1].startswith('u') or sys.argv[1].startswith('r'):
|
||||
action = 'uninstall'
|
||||
|
||||
if action == 'install':
|
||||
gw.upload(fn_local, fn_remote)
|
||||
gw.upload(fn_local_i, fn_remote_i)
|
||||
|
||||
gw.upload(fn_local_u, fn_remote_u)
|
||||
|
||||
print("All files uploaded!")
|
||||
'''
|
||||
if action == 'install':
|
||||
gw.ssh_close()
|
||||
import passw
|
||||
gw = gateway.Gateway()
|
||||
if not gw.ping():
|
||||
die('SSH not active!')
|
||||
'''
|
||||
|
||||
print("Run scripts...")
|
||||
if action == 'install':
|
||||
gw.run_cmd("sh " + fn_remote_i)
|
||||
else:
|
||||
gw.run_cmd("sh " + fn_remote_u)
|
||||
|
||||
gw.run_cmd("rm -f " + fn_remote)
|
||||
gw.run_cmd("rm -f " + fn_remote_i)
|
||||
gw.run_cmd("rm -f " + fn_remote_u)
|
||||
|
||||
print("Ready! The SSH patch installed.")
|
||||
@@ -56,7 +56,7 @@ def menu2_show():
|
||||
print(' 4 - Create a backup of the specified partition')
|
||||
print(' 5 - Uninstall EN/RU languages')
|
||||
print(' 6 - Set kernel boot address')
|
||||
print(' 7 - ')
|
||||
print(' 7 - Install permanent SSH')
|
||||
print(' 8 - __test__')
|
||||
print(' 9 - [[ Reboot device ]]')
|
||||
print(' 0 - Return to main menu')
|
||||
@@ -68,7 +68,7 @@ def menu2_process(id):
|
||||
if id == 4: return [ "create_backup.py", "part" ]
|
||||
if id == 5: return [ "install_lang.py", "uninstall" ]
|
||||
if id == 6: return "activate_boot.py"
|
||||
if id == 7: return None
|
||||
if id == 7: return "install_ssh.py"
|
||||
if id == 8: return "test.py"
|
||||
if id == 9: return "reboot.py"
|
||||
if id == 0: return "__menu1"
|
||||
|
||||
Reference in New Issue
Block a user