25 lines
711 B
JavaScript
25 lines
711 B
JavaScript
const fetch = require("node-fetch")
|
|
const shell = require("child_process")
|
|
|
|
const GITHUB_META_API = "https://api.github.com/meta"
|
|
|
|
require("dotenv").config()
|
|
|
|
// assumes deny all in already
|
|
|
|
process.stdout.write("Creating GitHub Actions API rules...")
|
|
|
|
fetch(GITHUB_META_API)
|
|
.then(res => res.json())
|
|
.then(data => {
|
|
for (let i = 0; i < data.actions.length; i++) {
|
|
let ip = data.actions[i]
|
|
shell.execSync(`ufw allow from ${ip} to any port ${process.env.AHOY_PORT} proto tcp`)
|
|
}
|
|
})
|
|
.then(() => {
|
|
console.log(` ${chalk.green("done!")}`)
|
|
})
|
|
.then(() => {
|
|
console.log(chalk.green("Successfully created all UFW rules for Ahoy!"))
|
|
}) |