xiaojunnuo
4 years ago
12 changed files with 8229 additions and 103 deletions
@ -1,4 +1,5 @@
|
||||
const node = require('./node') |
||||
const overwall = require('./overwall') |
||||
module.exports = { |
||||
node |
||||
node, overwall |
||||
} |
||||
|
@ -0,0 +1,19 @@
|
||||
module.exports = { |
||||
name: 'OverWall', |
||||
enabled: true, |
||||
server: { |
||||
'ow.docmirror.top/_go_over_wall_': true |
||||
}, |
||||
targets: { |
||||
'*facebook.com': true, |
||||
'*.fbcdn.net': true, |
||||
'*twitter.com': true, |
||||
'*youtube.com': true |
||||
}, |
||||
pac: { |
||||
enabled: true, |
||||
update: [ |
||||
'https://gitlab.com/gfwlist/gfwlist/raw/master/gfwlist.txt' |
||||
] |
||||
} |
||||
} |
@ -0,0 +1,60 @@
|
||||
const pluginConfig = require('./config') |
||||
const Plugin = function (context) { |
||||
const { config, shell, event, log } = context |
||||
const api = { |
||||
async start () { |
||||
event.fire('status', { key: 'plugin.overwall.enabled', value: true }) |
||||
}, |
||||
|
||||
async close () { |
||||
event.fire('status', { key: 'plugin.overwall.enabled', value: false }) |
||||
}, |
||||
|
||||
async restart () { |
||||
await api.close() |
||||
await api.start() |
||||
}, |
||||
|
||||
async overrideRunningConfig (serverConfig) { |
||||
const conf = config.get().plugin.overwall |
||||
if (!conf?.enabled) { |
||||
return |
||||
} |
||||
if (!conf.targets) { |
||||
return |
||||
} |
||||
const server = conf.server |
||||
let i = 0 |
||||
let main |
||||
const backup = [] |
||||
for (const key in server) { |
||||
if (i === 0) { |
||||
main = key |
||||
} else { |
||||
backup.push(key) |
||||
} |
||||
i++ |
||||
} |
||||
for (const key in conf.targets) { |
||||
serverConfig.intercepts[key] = { |
||||
'.*': { |
||||
// eslint-disable-next-line no-template-curly-in-string
|
||||
proxy: main + '/${host}', |
||||
backup |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
return api |
||||
} |
||||
|
||||
module.exports = { |
||||
key: 'overwall', |
||||
config: pluginConfig, |
||||
status: { |
||||
enabled: false |
||||
}, |
||||
plugin: Plugin |
||||
} |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue