| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #!/bin/bash
- # Author: MoeClub.org
- export ADMIN=''
- export USER=''
- export PASSWD=''
- export PORT=''
- export SoftEtherURL=''
- export SoftEtherVersion='v4.38-9760-rtm-2021.08.17'
- export SoftEtherConfig='IyBTb2Z0d2FyZSBDb25maWd1cmF0aW9uIEZpbGUKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAKIyBZb3UgbWF5IGVkaXQgdGhpcyBmaWxlIHdoZW4gdGhlIFZQTiBTZXJ2ZXIgLyBDbGllbnQgLyBCcmlkZ2UgcHJvZ3JhbSBpcyBub3QgcnVubmluZy4KIyAKIyBJbiBwcmlvciB0byBlZGl0IHRoaXMgZmlsZSBtYW51YWxseSBieSB5b3VyIHRleHQgZWRpdG9yLAojIHNodXRkb3duIHRoZSBWUE4gU2VydmVyIC8gQ2xpZW50IC8gQnJpZGdlIGJhY2tncm91bmQgc2VydmljZS4KIyBPdGhlcndpc2UsIGFsbCBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4KIyAKZGVjbGFyZSByb290CnsKCXVpbnQgQ29uZmlnUmV2aXNpb24gMAoJYm9vbCBJUHNlY01lc3NhZ2VEaXNwbGF5ZWQgdHJ1ZQoJc3RyaW5nIFJlZ2lvbiAkCglib29sIFZnc01lc3NhZ2VEaXNwbGF5ZWQgZmFsc2UKCglkZWNsYXJlIEREbnNDbGllbnQKCXsKCQlib29sIERpc2FibGVkIHRydWUKCX0KCWRlY2xhcmUgSVBzZWMKCXsKCQlib29sIEV0aGVySVBfSVBzZWMgZmFsc2UKCQlzdHJpbmcgSVBzZWNfU2VjcmV0IHZwbgoJCXN0cmluZyBMMlRQX0RlZmF1bHRIdWIgREVGQVVMVAoJCWJvb2wgTDJUUF9JUHNlYyBmYWxzZQoJCWJvb2wgTDJUUF9SYXcgZmFsc2UKCgkJZGVjbGFyZSBFdGhlcklQX0lEU2V0dGluZ3NMaXN0CgkJewoJCX0KCX0KCWRlY2xhcmUgTGlzdGVuZXJMaXN0Cgl7CgkJZGVjbGFyZSBMaXN0ZW5lcjAKCQl7CgkJCWJvb2wgRGlzYWJsZURvcyBmYWxzZQoJCQlib29sIEVuYWJsZWQgdHJ1ZQoJCQl1aW50IFBvcnQgNTU1NQoJCX0KCX0KCWRlY2xhcmUgTG9jYWxCcmlkZ2VMaXN0Cgl7CgkJYm9vbCBEb05vdERpc2FibGVPZmZsb2FkaW5nIGZhbHNlCgl9CglkZWNsYXJlIFNlcnZlckNvbmZpZ3VyYXRpb24KCXsKCQlib29sIEFjY2VwdE9ubHlUbHMgdHJ1ZQoJCXVpbnQ2NCBBdXRvRGVsZXRlQ2hlY2tEaXNrRnJlZVNwYWNlTWluIDEwNDg1NzYwMAoJCXVpbnQgQXV0b0RlbGV0ZUNoZWNrSW50ZXJ2YWxTZWNzIDMwMAoJCXVpbnQgQXV0b1NhdmVDb25maWdTcGFuIDMwMAoJCWJvb2wgQmFja3VwQ29uZmlnT25seVdoZW5Nb2RpZmllZCBmYWxzZQoJCXN0cmluZyBDaXBoZXJOYW1lIEFFUzEyOC1HQ00tU0hBMjU2CgkJYm9vbCBEaXNhYmxlQ29yZUR1bXBPblVuaXggZmFsc2UKCQlib29sIERpc2FibGVEZWFkTG9ja0NoZWNrIGZhbHNlCgkJYm9vbCBEaXNhYmxlRG9zUHJvY3Rpb24gZmFsc2UKCQlib29sIERpc2FibGVHZXRIb3N0TmFtZVdoZW5BY2NlcHRUY3AgZmFsc2UKCQlib29sIERpc2FibGVJbnRlbEFlc0FjY2VsZXJhdGlvbiBmYWxzZQoJCWJvb2wgRGlzYWJsZUlQc2VjQWdncmVzc2l2ZU1vZGUgZmFsc2UKCQlib29sIERpc2FibGVJUHY2TGlzdGVuZXIgdHJ1ZQoJCWJvb2wgRGlzYWJsZUpzb25ScGNXZWJBcGkgdHJ1ZQoJCWJvb2wgRGlzYWJsZU5hdFRyYXZlcnNhbCBmYWxzZQoJCWJvb2wgRGlzYWJsZU9wZW5WUE5TZXJ2ZXIgdHJ1ZQoJCWJvb2wgRGlzYWJsZVNlc3Npb25SZWNvbm5lY3QgZmFsc2UKCQlib29sIERpc2FibGVTU1RQU2VydmVyIHRydWUKCQlib29sIERvbnRCYWNrdXBDb25maWcgdHJ1ZQoJCWJvb2wgRW5hYmxlVnBuT3ZlckRucyBmYWxzZQoJCWJvb2wgRW5hYmxlVnBuT3ZlckljbXAgZmFsc2UKCQlieXRlIEhhc2hlZFBhc3N3b3JkIFVHVFZBcWJ0Sk9iQk82TENKYVFaeUVieTJwZz0KCQlzdHJpbmcgS2VlcENvbm5lY3RIb3N0IDEyNy4wLjAuMQoJCXVpbnQgS2VlcENvbm5lY3RJbnRlcnZhbCAzMAoJCXVpbnQgS2VlcENvbm5lY3RQb3J0IDgwCgkJdWludCBLZWVwQ29ubmVjdFByb3RvY29sIDAKCQl1aW50NjQgTG9nZ2VyTWF4TG9nU2l6ZSAxMDczNzQxODIzCgkJdWludCBNYXhDb25jdXJyZW50RG5zQ2xpZW50VGhyZWFkcyA1MTIKCQl1aW50IE1heENvbm5lY3Rpb25zUGVySVAgMjU2CgkJdWludCBNYXhVbmVzdGFibGlzaGVkQ29ubmVjdGlvbnMgMTAwMAoJCWJvb2wgTm9IaWdoUHJpb3JpdHlQcm9jZXNzIGZhbHNlCgkJYm9vbCBOb0xpbnV4QXJwRmlsdGVyIGZhbHNlCgkJYm9vbCBOb1NlbmRTaWduYXR1cmUgZmFsc2UKCQlib29sIFNhdmVEZWJ1Z0xvZyBmYWxzZQoJCXVpbnQgU2VydmVyTG9nU3dpdGNoVHlwZSA0CgkJdWludCBTZXJ2ZXJUeXBlIDAKCQlib29sIFN0cmljdFN5c2xvZ0RhdGV0aW1lRm9ybWF0IGZhbHNlCgkJYm9vbCBUbHNfRGlzYWJsZTFfMCBmYWxzZQoJCWJvb2wgVGxzX0Rpc2FibGUxXzEgZmFsc2UKCQlib29sIFRsc19EaXNhYmxlMV8yIGZhbHNlCgkJYm9vbCBUbHNfRGlzYWJsZTFfMyBmYWxzZQoJCWJvb2wgVXNlS2VlcENvbm5lY3QgZmFsc2UKCQlib29sIFVzZVdlYlRpbWVQYWdlIGZhbHNlCgkJYm9vbCBVc2VXZWJVSSBmYWxzZQoKCQlkZWNsYXJlIEdsb2JhbFBhcmFtcwoJCXsKCQkJdWludCBGSUZPX0JVREdFVCAxMDI0MDAwMAoJCQl1aW50IEhVQl9BUlBfU0VORF9JTlRFUlZBTCA1MDAwCgkJCXVpbnQgSVBfVEFCTEVfRVhQSVJFX1RJTUUgNjAwMDAKCQkJdWludCBJUF9UQUJMRV9FWFBJUkVfVElNRV9ESENQIDMwMDAwMAoJCQl1aW50IE1BQ19UQUJMRV9FWFBJUkVfVElNRSA2MDAwMDAKCQkJdWludCBNQVhfQlVGRkVSSU5HX1BBQ0tFVF9TSVpFIDI1NjAwMDAKCQkJdWludCBNQVhfSFVCX0xJTktTIDEwMjQKCQkJdWludCBNQVhfSVBfVEFCTEVTIDY1NTM2CgkJCXVpbnQgTUFYX01BQ19UQUJMRVMgNjU1MzYKCQkJdWludCBNQVhfU0VORF9TT0NLRVRfUVVFVUVfTlVNIDEyOAoJCQl1aW50IE1BWF9TRU5EX1NPQ0tFVF9RVUVVRV9TSVpFIDI1NjAwMDAKCQkJdWludCBNQVhfU1RPUkVEX1FVRVVFX05VTSAxMDI0CgkJCXVpbnQgTUVNX0ZJRk9fUkVBTExPQ19NRU1fU0laRSA2NTUzNjAKCQkJdWludCBNSU5fU0VORF9TT0NLRVRfUVVFVUVfU0laRSAzMjAwMDAKCQkJdWludCBRVUVVRV9CVURHRVQgMjA0OAoJCQl1aW50IFNFTEVDVF9USU1FIDI1NgoJCQl1aW50IFNFTEVDVF9USU1FX0ZPUl9OQVQgMzAKCQkJdWludCBTVE9STV9DSEVDS19TUEFOIDUwMAoJCQl1aW50IFNUT1JNX0RJU0NBUkRfVkFMVUVfRU5EIDEwMjQKCQkJdWludCBTVE9STV9ESVNDQVJEX1ZBTFVFX1NUQVJUIDMKCQl9CgkJZGVjbGFyZSBTZXJ2ZXJUcmFmZmljCgkJewoJCX0KCQlkZWNsYXJlIFN5c2xvZ1NldHRpbmdzCgkJewoJCQlzdHJpbmcgSG9zdE5hbWUgJAoJCQl1aW50IFBvcnQgMAoJCQl1aW50IFNhdmVUeXBlIDAKCQl9Cgl9CglkZWNsYXJlIFZpcnR1YWxIVUIKCXsKCQlkZWNsYXJlIERFRkFVTFQKCQl7CgkJCXVpbnQ2NCBDcmVhdGVkVGltZSAwCgkJCWJ5dGUgSGFzaGVkUGFzc3dvcmQgVUdUVkFxYnRKT2JCTzZMQ0phUVp5RWJ5MnBnPQoJCQl1aW50NjQgTGFzdENvbW1UaW1lIDAKCQkJdWludDY0IExhc3RMb2dpblRpbWUgMAoJCQl1aW50IE51bUxvZ2luIDAKCQkJYm9vbCBPbmxpbmUgdHJ1ZQoJCQlib29sIFJhZGl1c0NvbnZlcnRBbGxNc0NoYXB2MkF1dGhSZXF1ZXN0VG9FYXAgZmFsc2UKCQkJc3RyaW5nIFJhZGl1c1JlYWxtICQKCQkJdWludCBSYWRpdXNSZXRyeUludGVydmFsIDAKCQkJdWludCBSYWRpdXNTZXJ2ZXJQb3J0IDAKCQkJc3RyaW5nIFJhZGl1c1N1ZmZpeEZpbHRlciAkCgkJCWJvb2wgUmFkaXVzVXNlUGVhcEluc3RlYWRPZkVhcCBmYWxzZQoJCQl1aW50IFR5cGUgMAoKCQkJZGVjbGFyZSBBY2Nlc3NMaXN0CgkJCXsKCQkJCWRlY2xhcmUgMQoJCQkJewoJCQkJCWJvb2wgQWN0aXZlIHRydWUKCQkJCQlib29sIENoZWNrRHN0TWFjIGZhbHNlCgkJCQkJYm9vbCBDaGVja1NyY01hYyBmYWxzZQoJCQkJCWJvb2wgQ2hlY2tUY3BTdGF0ZSBmYWxzZQoJCQkJCXVpbnQgRGVsYXkgMAoJCQkJCXN0cmluZyBEZXN0SXBBZGRyZXNzIDAuMC4wLjAKCQkJCQl1aW50IERlc3RQb3J0RW5kIDAKCQkJCQl1aW50IERlc3RQb3J0U3RhcnQgMAoJCQkJCXN0cmluZyBEZXN0U3VibmV0TWFzayAwLjAuMC4wCgkJCQkJc3RyaW5nIERlc3RVc2VybmFtZSAkCgkJCQkJYm9vbCBEaXNjYXJkIGZhbHNlCgkJCQkJYm9vbCBFc3RhYmxpc2hlZCBmYWxzZQoJCQkJCWJvb2wgSXNJUHY2IGZhbHNlCgkJCQkJdWludCBKaXR0ZXIgMAoJCQkJCXVpbnQgTG9zcyAwCgkJCQkJc3RyaW5nIE5vdGUgJAoJCQkJCXVpbnQgUHJpb3JpdHkgMTAwMAoJCQkJCXVpbnQgUHJvdG9jb2wgMAoJCQkJCXN0cmluZyBSZWRpcmVjdFVybCAkCgkJCQkJc3RyaW5nIFNyY0lwQWRkcmVzcyAwLjAuMC4wCgkJCQkJdWludCBTcmNQb3J0RW5kIDAKCQkJCQl1aW50IFNyY1BvcnRTdGFydCAwCgkJCQkJc3RyaW5nIFNyY1N1Ym5ldE1hc2sgMC4wLjAuMAoJCQkJCXN0cmluZyBTcmNVc2VybmFtZSAkCgkJCQl9CgkJCX0KCQkJZGVjbGFyZSBBZG1pbk9wdGlvbgoJCQl7CgkJCQl1aW50IGFsbG93X2h1Yl9hZG1pbl9jaGFuZ2Vfb3B0aW9uIDAKCQkJCXVpbnQgZGVueV9icmlkZ2UgMAoJCQkJdWludCBkZW55X2NoYW5nZV91c2VyX3Bhc3N3b3JkIDAKCQkJCXVpbnQgZGVueV9lbXB0eV9wYXNzd29yZCAwCgkJCQl1aW50IGRlbnlfaHViX2FkbWluX2NoYW5nZV9leHRfb3B0aW9uIDAKCQkJCXVpbnQgZGVueV9xb3MgMAoJCQkJdWludCBkZW55X3JvdXRpbmcgMAoJCQkJdWludCBtYXhfYWNjZXNzbGlzdHMgMAoJCQkJdWludCBtYXhfYml0cmF0ZXNfZG93bmxvYWQgMAoJCQkJdWludCBtYXhfYml0cmF0ZXNfdXBsb2FkIDAKCQkJCXVpbnQgbWF4X2dyb3VwcyAwCgkJCQl1aW50IG1heF9tdWx0aWxvZ2luc19wZXJfdXNlciAwCgkJCQl1aW50IG1heF9zZXNzaW9ucyAwCgkJCQl1aW50IG1heF9zZXNzaW9uc19icmlkZ2UgMAoJCQkJdWludCBtYXhfc2Vzc2lvbnNfY2xpZW50IDAKCQkJCXVpbnQgbWF4X3Nlc3Npb25zX2NsaWVudF9icmlkZ2VfYXBwbHkgMAoJCQkJdWludCBtYXhfdXNlcnMgMAoJCQkJdWludCBub19hY2Nlc3NfbGlzdF9pbmNsdWRlX2ZpbGUgMAoJCQkJdWludCBub19jYXNjYWRlIDAKCQkJCXVpbnQgbm9fY2hhbmdlX2FjY2Vzc19jb250cm9sX2xpc3QgMAoJCQkJdWludCBub19jaGFuZ2VfYWNjZXNzX2xpc3QgMAoJCQkJdWludCBub19jaGFuZ2VfYWRtaW5fcGFzc3dvcmQgMAoJCQkJdWludCBub19jaGFuZ2VfY2VydF9saXN0IDAKCQkJCXVpbnQgbm9fY2hhbmdlX2NybF9saXN0IDAKCQkJCXVpbnQgbm9fY2hhbmdlX2dyb3VwcyAwCgkJCQl1aW50IG5vX2NoYW5nZV9sb2dfY29uZmlnIDAKCQkJCXVpbnQgbm9fY2hhbmdlX2xvZ19zd2l0Y2hfdHlwZSAwCgkJCQl1aW50IG5vX2NoYW5nZV9tc2cgMAoJCQkJdWludCBub19jaGFuZ2VfdXNlcnMgMAoJCQkJdWludCBub19kZWxheV9qaXR0ZXJfcGFja2V0X2xvc3MgMQoJCQkJdWludCBub19kZWxldGVfaXB0YWJsZSAwCgkJCQl1aW50IG5vX2RlbGV0ZV9tYWN0YWJsZSAwCgkJCQl1aW50IG5vX2Rpc2Nvbm5lY3Rfc2Vzc2lvbiAwCgkJCQl1aW50IG5vX2VudW1fc2Vzc2lvbiAwCgkJCQl1aW50IG5vX29mZmxpbmUgMAoJCQkJdWludCBub19vbmxpbmUgMAoJCQkJdWludCBub19xdWVyeV9zZXNzaW9uIDAKCQkJCXVpbnQgbm9fcmVhZF9sb2dfZmlsZSAwCgkJCQl1aW50IG5vX3NlY3VyZW5hdCAwCgkJCQl1aW50IG5vX3NlY3VyZW5hdF9lbmFibGVkaGNwIDAKCQkJCXVpbnQgbm9fc2VjdXJlbmF0X2VuYWJsZW5hdCAwCgkJCX0KCQkJZGVjbGFyZSBDYXNjYWRlTGlzdAoJCQl7CgkJCX0KCQkJZGVjbGFyZSBMb2dTZXR0aW5nCgkJCXsKCQkJCXVpbnQgUGFja2V0TG9nU3dpdGNoVHlwZSA0CgkJCQl1aW50IFBBQ0tFVF9MT0dfQVJQIDAKCQkJCXVpbnQgUEFDS0VUX0xPR19ESENQIDEKCQkJCXVpbnQgUEFDS0VUX0xPR19FVEhFUk5FVCAwCgkJCQl1aW50IFBBQ0tFVF9MT0dfSUNNUCAwCgkJCQl1aW50IFBBQ0tFVF9MT0dfSVAgMAoJCQkJdWludCBQQUNLRVRfTE9HX1RDUCAwCgkJCQl1aW50IFBBQ0tFVF9MT0dfVENQX0NPTk4gMQoJCQkJdWludCBQQUNLRVRfTE9HX1VEUCAwCgkJCQlib29sIFNhdmVQYWNrZXRMb2cgZmFsc2UKCQkJCWJvb2wgU2F2ZVNlY3VyaXR5TG9nIHRydWUKCQkJCXVpbnQgU2VjdXJpdHlMb2dTd2l0Y2hUeXBlIDQKCQkJfQoJCQlkZWNsYXJlIE1lc3NhZ2UKCQkJewoJCQl9CgkJCWRlY2xhcmUgT3B0aW9uCgkJCXsKCQkJCXVpbnQgQWNjZXNzTGlzdEluY2x1ZGVGaWxlQ2FjaGVMaWZldGltZSAzMAoJCQkJdWludCBBZGp1c3RUY3BNc3NWYWx1ZSAwCgkJCQlib29sIEFwcGx5SVB2NEFjY2Vzc0xpc3RPbkFycFBhY2tldCBmYWxzZQoJCQkJYm9vbCBBc3NpZ25WTGFuSWRCeVJhZGl1c0F0dHJpYnV0ZSBmYWxzZQoJCQkJYm9vbCBCcm9hZGNhc3RMaW1pdGVyU3RyaWN0TW9kZSBmYWxzZQoJCQkJdWludCBCcm9hZGNhc3RTdG9ybURldGVjdGlvblRocmVzaG9sZCAwCgkJCQl1aW50IENsaWVudE1pbmltdW1SZXF1aXJlZEJ1aWxkIDAKCQkJCWJvb2wgRGVueUFsbFJhZGl1c0xvZ2luV2l0aE5vVmxhbkFzc2lnbiBmYWxzZQoJCQkJdWludCBEZXRlY3REb3JtYW50U2Vzc2lvbkludGVydmFsIDAKCQkJCWJvb2wgRGlzYWJsZUFkanVzdFRjcE1zcyBmYWxzZQoJCQkJYm9vbCBEaXNhYmxlQ2hlY2tNYWNPbkxvY2FsQnJpZGdlIGZhbHNlCgkJCQlib29sIERpc2FibGVDb3JyZWN0SXBPZmZsb2FkQ2hlY2tzdW0gZmFsc2UKCQkJCWJvb2wgRGlzYWJsZUh0dHBQYXJzaW5nIGZhbHNlCgkJCQlib29sIERpc2FibGVJUFBhcnNpbmcgZmFsc2UKCQkJCWJvb2wgRGlzYWJsZUlwUmF3TW9kZVNlY3VyZU5BVCBmYWxzZQoJCQkJYm9vbCBEaXNhYmxlS2VybmVsTW9kZVNlY3VyZU5BVCBmYWxzZQoJCQkJYm9vbCBEaXNhYmxlVWRwQWNjZWxlcmF0aW9uIGZhbHNlCgkJCQlib29sIERpc2FibGVVZHBGaWx0ZXJGb3JMb2NhbEJyaWRnZU5pYyBmYWxzZQoJCQkJYm9vbCBEaXNhYmxlVXNlck1vZGVTZWN1cmVOQVQgZmFsc2UKCQkJCWJvb2wgRG9Ob3RTYXZlSGVhdnlTZWN1cml0eUxvZ3MgZmFsc2UKCQkJCWJvb2wgRHJvcEFycEluUHJpdmFjeUZpbHRlck1vZGUgdHJ1ZQoJCQkJYm9vbCBEcm9wQnJvYWRjYXN0c0luUHJpdmFjeUZpbHRlck1vZGUgdHJ1ZQoJCQkJYm9vbCBGaWx0ZXJCUERVIGZhbHNlCgkJCQlib29sIEZpbHRlcklQdjQgZmFsc2UKCQkJCWJvb2wgRmlsdGVySVB2NiBmYWxzZQoJCQkJYm9vbCBGaWx0ZXJOb25JUCBmYWxzZQoJCQkJYm9vbCBGaWx0ZXJPU1BGIGZhbHNlCgkJCQlib29sIEZpbHRlclBQUG9FIGZhbHNlCgkJCQl1aW50IEZsb29kaW5nU2VuZFF1ZXVlQnVmZmVyUXVvdGEgMzM1NTQ0MzIKCQkJCWJvb2wgTWFuYWdlT25seUxvY2FsVW5pY2FzdElQdjYgdHJ1ZQoJCQkJYm9vbCBNYW5hZ2VPbmx5UHJpdmF0ZUlQIHRydWUKCQkJCXVpbnQgTWF4TG9nZ2VkUGFja2V0c1Blck1pbnV0ZSAwCgkJCQl1aW50IE1heFNlc3Npb24gMAoJCQkJYm9vbCBOb0FycFBvbGxpbmcgZmFsc2UKCQkJCWJvb2wgTm9EaGNwUGFja2V0TG9nT3V0c2lkZUh1YiB0cnVlCgkJCQlib29sIE5vRW51bSBmYWxzZQoJCQkJYm9vbCBOb0lwVGFibGUgZmFsc2UKCQkJCWJvb2wgTm9JUHY0UGFja2V0TG9nIGZhbHNlCgkJCQlib29sIE5vSVB2NkFkZHJQb2xsaW5nIGZhbHNlCgkJCQlib29sIE5vSVB2NkRlZmF1bHRSb3V0ZXJJblJBV2hlbklQdjYgdHJ1ZQoJCQkJYm9vbCBOb0lQdjZQYWNrZXRMb2cgZmFsc2UKCQkJCWJvb2wgTm9Mb29rQlBEVUJyaWRnZUlkIGZhbHNlCgkJCQlib29sIE5vTWFjQWRkcmVzc0xvZyB0cnVlCgkJCQlib29sIE5vTWFuYWdlVmxhbklkIGZhbHNlCgkJCQlib29sIE5vUGh5c2ljYWxJUE9uUGFja2V0TG9nIGZhbHNlCgkJCQlib29sIE5vU3BpbkxvY2tGb3JQYWNrZXREZWxheSBmYWxzZQoJCQkJYm9vbCBSZW1vdmVEZWZHd09uRGhjcEZvckxvY2FsaG9zdCB0cnVlCgkJCQl1aW50IFJlcXVpcmVkQ2xpZW50SWQgMAoJCQkJdWludCBTZWN1cmVOQVRfTWF4RG5zU2Vzc2lvbnNQZXJJcCAwCgkJCQl1aW50IFNlY3VyZU5BVF9NYXhJY21wU2Vzc2lvbnNQZXJJcCAwCgkJCQl1aW50IFNlY3VyZU5BVF9NYXhUY3BTZXNzaW9uc1BlcklwIDAKCQkJCXVpbnQgU2VjdXJlTkFUX01heFRjcFN5blNlbnRQZXJJcCAwCgkJCQl1aW50IFNlY3VyZU5BVF9NYXhVZHBTZXNzaW9uc1BlcklwIDAKCQkJCWJvb2wgU2VjdXJlTkFUX1JhbmRvbWl6ZUFzc2lnbklwIGZhbHNlCgkJCQlib29sIFN1cHByZXNzQ2xpZW50VXBkYXRlTm90aWZpY2F0aW9uIHRydWUKCQkJCWJvb2wgVXNlSHViTmFtZUFzRGhjcFVzZXJDbGFzc09wdGlvbiBmYWxzZQoJCQkJYm9vbCBVc2VIdWJOYW1lQXNSYWRpdXNOYXNJZCBmYWxzZQoJCQkJc3RyaW5nIFZsYW5UeXBlSWQgMHg4MTAwCgkJCQlib29sIFlpZWxkQWZ0ZXJTdG9yZVBhY2tldCBmYWxzZQoJCQl9CgkJCWRlY2xhcmUgU2VjdXJlTkFUCgkJCXsKCQkJCWJvb2wgRGlzYWJsZWQgZmFsc2UKCQkJCWJvb2wgU2F2ZUxvZyBmYWxzZQoKCQkJCWRlY2xhcmUgVmlydHVhbERoY3BTZXJ2ZXIKCQkJCXsKCQkJCQlzdHJpbmcgRGhjcERuc1NlcnZlckFkZHJlc3MgOC44LjguOAoJCQkJCXN0cmluZyBEaGNwRG5zU2VydmVyQWRkcmVzczIgOC44LjQuNAoJCQkJCXN0cmluZyBEaGNwRG9tYWluTmFtZSAkCgkJCQkJYm9vbCBEaGNwRW5hYmxlZCB0cnVlCgkJCQkJdWludCBEaGNwRXhwaXJlVGltZVNwYW4gNzIwMAoJCQkJCXN0cmluZyBEaGNwR2F0ZXdheUFkZHJlc3MgMTkyLjE2OC4yMzMuMQoJCQkJCXN0cmluZyBEaGNwTGVhc2VJUEVuZCAxOTIuMTY4LjIzMy4yMDAKCQkJCQlzdHJpbmcgRGhjcExlYXNlSVBTdGFydCAxOTIuMTY4LjIzMy4xMAoJCQkJCXN0cmluZyBEaGNwUHVzaFJvdXRlcyAkCgkJCQkJc3RyaW5nIERoY3BTdWJuZXRNYXNrIDI1NS4yNTUuMjU1LjAKCQkJCX0KCQkJCWRlY2xhcmUgVmlydHVhbEhvc3QKCQkJCXsKCQkJCQlzdHJpbmcgVmlydHVhbEhvc3RJcCAxOTIuMTY4LjIzMy4xCgkJCQkJc3RyaW5nIFZpcnR1YWxIb3N0SXBTdWJuZXRNYXNrIDI1NS4yNTUuMjU1LjAKCQkJCX0KCQkJCWRlY2xhcmUgVmlydHVhbFJvdXRlcgoJCQkJewoJCQkJCWJvb2wgTmF0RW5hYmxlZCB0cnVlCgkJCQkJdWludCBOYXRNdHUgMTUwMAoJCQkJCXVpbnQgTmF0VGNwVGltZW91dCA2MDAKCQkJCQl1aW50IE5hdFVkcFRpbWVvdXQgNjAKCQkJCX0KCQkJfQoJCQlkZWNsYXJlIFNlY3VyaXR5QWNjb3VudERhdGFiYXNlCgkJCXsKCQkJCWRlY2xhcmUgQ2VydExpc3QKCQkJCXsKCQkJCX0KCQkJCWRlY2xhcmUgQ3JsTGlzdAoJCQkJewoJCQkJfQoJCQkJZGVjbGFyZSBHcm91cExpc3QKCQkJCXsKCQkJCX0KCQkJCWRlY2xhcmUgSVBBY2Nlc3NDb250cm9sTGlzdAoJCQkJewoJCQkJfQoJCQkJZGVjbGFyZSBVc2VyTGlzdAoJCQkJewoJCQkJfQoJCQl9CgkJCWRlY2xhcmUgVHJhZmZpYwoJCQl7CgkJCX0KCQl9Cgl9CglkZWNsYXJlIFZpcnR1YWxMYXllcjNTd2l0Y2hMaXN0Cgl7Cgl9Cn0K'
- while [[ $# -ge 1 ]]; do
- case $1 in
- -a)
- shift
- ADMIN=`echo "$1" |sed 's/[[:space:]]//g' |head -n1`
- shift
- ;;
- -u)
- shift
- USER=`echo "$1" |sed 's/[[:space:]]//g' |head -n1`
- shift
- ;;
- -p)
- shift
- PASSWD=`echo "$1" |sed 's/[[:space:]]//g' |head -n1`
- shift
- ;;
- -port)
- shift
- PORT=`echo "$1" |sed 's/[[:space:]]//g' |grep -o '[0-9]\+' |head -n1`
- shift
- ;;
- -url)
- shift
- SoftEtherURL=`echo "$1" |sed 's/[[:space:]]//g'`
- shift
- ;;
- -ver)
- shift
- SoftEtherVersion=`echo "$1" |sed 's/[[:space:]]//g'`
- shift
- ;;
- *)
- echo -ne " Usage:\n\tbash $(basename $0)\t-a [AdminPasswd] -u [User] -p [Passwd] -port [Port]\n"
- exit 1;
- ;;
- esac
- done
- [ -n "$ADMIN" ] || ADMIN="empty"
- [ -n "$USER" ] || USER="vpn"
- [ -n "$PASSWD" ] || PASSWD="vpn"
- [ -n "$PORT" ] && [ "$PORT" -gt 0 ] && [ "$PORT" -lt 65536 ] || PORT="5555"
- case `uname -m` in aarch64|arm64) ARCH="arm64";; x86|i386|i686) ARCH="i386";; x86_64|amd64) ARCH="amd64";; *) ARCH="";; esac
- [ -n "$ARCH" ] || exit 1
- [ ! -n "$SoftEtherURL" ] && [ "$ARCH" == "arm64" ] && SoftEtherURL="http://www.softether-download.com/files/softether/${SoftEtherVersion}-tree/Linux/SoftEther_VPN_Server/64bit_-_ARM_64bit/softether-vpnserver-${SoftEtherVersion}-linux-arm64-64bit.tar.gz";
- [ ! -n "$SoftEtherURL" ] && [ "$ARCH" == "amd64" ] && SoftEtherURL="http://www.softether-download.com/files/softether/${SoftEtherVersion}-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-${SoftEtherVersion}-linux-x64-64bit.tar.gz";
- [ ! -n "$SoftEtherURL" ] && [ "$ARCH" == "i386" ] && SoftEtherURL="http://www.softether-download.com/files/softether/${SoftEtherVersion}-tree/Linux/SoftEther_VPN_Server/32bit_-_Intel_x86/softether-vpnserver-${SoftEtherVersion}-linux-x86-32bit.tar.gz";
- [ ! -n "$SoftEtherURL" ] && exit 1
- rm -rf /tmp/softether.tar.gz
- wget --no-check-certificate --no-cache -4 -qO "/tmp/softether.tar.gz" "${SoftEtherURL}"
- [ $? -eq 0 ] || exit 1
- kill -9 `ps -C "vpnserver" -o pid=` >/dev/null 2>&1
- rm -rf /etc/softether
- mkdir -p /etc/softether
- echo "${SoftEtherConfig}" |base64 -d >/etc/softether/vpn_server.config
- sed -i "s/uint Port 5555/uint Port $PORT/" /etc/softether/vpn_server.config
- tar -zvxf /tmp/softether.tar.gz -C /tmp
- cd /tmp/vpnserver
- # make i_read_and_agree_the_license_agreement
- make main
- [ $? -eq 0 ] || exit 1
- [ -f /tmp/vpnserver/vpnserver ] && cp -rf /tmp/vpnserver/vpnserver /etc/softether
- [ -f /tmp/vpnserver/vpncmd ] && cp -rf /tmp/vpnserver/vpncmd /etc/softether
- [ -f /tmp/vpnserver/hamcore.se2 ] && cp -rf /tmp/vpnserver/hamcore.se2 /etc/softether
- [ -f /etc/softether/vpnserver ] && [ -f /etc/softether/vpncmd ] && [ -f /tmp/vpnserver/hamcore.se2 ] || exit 1
- chmod -R 755 /etc/softether
- if [ -f /etc/crontab ]; then
- sed -i '/vpnserver/d' /etc/crontab
- while [ -z "$(sed -n '$p' /etc/crontab)" ]; do sed -i '$d' /etc/crontab; done
- sed -i "\$a\@reboot root /etc/softether/vpnserver start >>/dev/null 2>&1 &\n\n\n" /etc/crontab
- fi
- /etc/softether/vpnserver start
- while true; do /etc/softether/vpncmd 127.0.0.1:$PORT /SERVER /PASSWORD:empty /CMD:About >/dev/null 2>&1; [ $? -eq 0 ] && break; echo "Waiting vpnserver ..."; sleep 1; done
- /etc/softether/vpncmd 127.0.0.1:$PORT /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:UserCreate "$USER" /GROUP: /REALNAME: /NOTE:
- /etc/softether/vpncmd 127.0.0.1:$PORT /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:UserPasswordSet "$USER" /PASSWORD:"$PASSWD"
- /etc/softether/vpncmd 127.0.0.1:$PORT /SERVER /PASSWORD:empty /HUB:DEFAULT /CMD:SetHubPassword "$ADMIN"
- /etc/softether/vpncmd 127.0.0.1:$PORT /SERVER /PASSWORD:empty /CMD:ServerPasswordSet "$ADMIN"
- /etc/softether/vpnserver stop
- /etc/softether/vpnserver start
|