# OVCT 的初步構想 > [name= team B] Public open vpn reference source : [VPN gate][id] [id]: https://www.vpngate.net/cn/ 參考的 github tool 檔案架構 : https://github.com/Rafficer/linux-cli-community ## 功能預想: 預想的操作指令提示: ``` What will you do next? 1. initialize(可重複選擇) > 刪除原有站點清單與.ovpn 檔案,載入當前站點清單 2. update > 將現行網站清單與初始化清單進行比對,並新增原本沒有的站點至清單中 3. connection > 驅動 OpenVPN 連線掛載 ``` Q : 是否可進行重複初始化?或本工具只能進行一次初始化 <!--Q2:是否保留filter功能--> --- ## 專案細節確認 Q : 作業系統:Linux | Windows 檔案架構圖:  list 存放站點清單 ovpn 存放連線檔案 command 存放功能指令(initialize, update, connect, etc) ### Initialize * 若/ovpn內有資料則刪除所有檔案並清空station_list.csv * 爬取reference並新增清單的站點儲存於 station_list.csv * 依station_list 將所有 .ovpn 儲存於 /ovpn ### Update * 爬取目前 vpn gate 的 station 清單 * 比對未在 station_list.csv 中出現的 station,新增 station 記錄至 station_list.csv * 將新增 station 紀錄的 .opvn 存入/ovpn <!--## 延展性: 透過 OOP 把清單(前10個?) station 實例化 station 是指不同的 open vpn server 站點, 儲存資料包含 station ip, speed, ovpn file ``` class Station(): def __inity__(self, serverName, ip, country, speed, ovpn): self.serverName = serverName self.ip = ip self.country = country self.speed = speed self.ovpn = ovpn @method ... ``` OOP意義 : --> -------------------------------------- 其他功能方向: Case 1 : ``` Do you initialization ? (Yes/No)(啟動工具後僅問一次) > Yes. File already loaded. > No. Default file already loaded. What will you do? 1. update > 將現行網站清單與初始化清單進行比對,並新增原本沒有的站點至清單中 2. connection > 驅動 openVPN 連線掛載 ``` ----------------------------------- Case 2 : ``` Initialize Finished.(啟動工具的同時執行) 1. update 2. connection ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up