1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
import os, re, stat
def writing_wg0_conf(base): ext = '.conf' filename = base + ext downfold = '/home/xiaoyx/下载' downfile = os.path.join(downfold, filename) dct = {} with open(downfile, 'r', encoding='utf-8') as file: rows = file.readlines() for row in rows: if '=' in row: ls = row.split(' = ', 1) dct.update({ls[0]: re.sub('\n', '', ls[1])}) rows1 = ['[Interface]\n', 'ListenPort = 49852\n'] rows2 = ['[Peer]\n', 'PersistentKeepalive = 25\n'] wd1 = '<insert_your_private_key_here>' wd2 = 'mKTo/XWQemHxEDJxfDaNvcFwB4R42WQDtV7ZURUitWg=' for k, v in dct.items(): str = k + ' = ' + v + '\n' if k in ['Address', 'PrivateKey', 'DNS']: str = re.sub(wd1, wd2, str) rows1.append(str) else: rows2.append(str) rows = rows1 + rows2 with open(r'/etc/wireguard/wg0.conf', 'w', encoding='utf-8') as f: f.writelines(rows) if __name__ == "__main__": base = input('输⼊下载的配置⽂件名,如 uk-man') writing_wg0_conf(base)
|