Compare commits
35
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b98d2b45a | ||
|
|
80ea5f0b2e | ||
|
|
6cc583d3b9 | ||
|
|
912fd6864f | ||
|
|
eba29a2fa1 | ||
|
|
76df15616e | ||
|
|
07a81df64d | ||
|
|
bbbb1d2cee | ||
|
|
f9d8445443 | ||
|
|
4f3442f97b | ||
|
|
93cf1ffb9b | ||
|
|
499721c5e3 | ||
|
|
09c5311568 | ||
|
|
e74a303b9d | ||
|
|
0bcd6582f4 | ||
|
|
a38a99b6f4 | ||
|
|
53cc225bff | ||
|
|
a20b0be8da | ||
|
|
76ccf5488b | ||
|
|
29271ccc05 | ||
|
|
6a1d199443 | ||
|
|
eb19385ab4 | ||
|
|
a1c0ef25ef | ||
|
|
609da6b6bc | ||
|
|
402499d109 | ||
|
|
1389d5faa3 | ||
|
|
59e6c5c6a1 | ||
|
|
4f8a975337 | ||
|
|
c251867f05 | ||
|
|
b06cddca4a | ||
|
|
19aface599 | ||
|
|
528a109d53 | ||
|
|
97b635e8c6 | ||
|
|
99e438d9c5 | ||
|
|
8e850f05c4 |
@@ -0,0 +1,24 @@
|
|||||||
|
name: dependabot-auto-merge
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- master
|
||||||
|
|
||||||
|
# Auto-merge Dependabot PRs with passing CI
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
dependabot:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Only for Dependabot PRs
|
||||||
|
if: github.actor == 'dependabot[bot]'
|
||||||
|
steps:
|
||||||
|
- name: Auto-merge
|
||||||
|
run: gh pr merge --auto --merge "$PR_NUMBER"
|
||||||
|
env:
|
||||||
|
PR_NUMBER: ${{ github.event.number }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
+27
-17
@@ -1,21 +1,31 @@
|
|||||||
# To get started with Dependabot version updates, you'll need to specify which
|
|
||||||
# package ecosystems to update and where the package manifests are located.
|
|
||||||
# Please see the documentation for more information:
|
|
||||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
||||||
# https://containers.dev/guide/dependabot
|
|
||||||
|
|
||||||
version: 2
|
version: 2
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: 'devcontainers'
|
- package-ecosystem: "npm"
|
||||||
directory: '/'
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: "daily"
|
||||||
|
day: "monday"
|
||||||
- package-ecosystem: 'github-actions'
|
time: "05:00"
|
||||||
directory: '/'
|
timezone: "Asia/Makassar"
|
||||||
schedule:
|
open-pull-requests-limit: 10
|
||||||
interval: weekly
|
assignees:
|
||||||
|
- "asepharyana"
|
||||||
|
commit-message:
|
||||||
|
prefix: "chore"
|
||||||
|
prefix-development: "chore"
|
||||||
|
include: "scope"
|
||||||
|
reviewers:
|
||||||
|
- "asepharyana"
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
groups:
|
groups:
|
||||||
github-actions:
|
production:
|
||||||
patterns:
|
dependency-type: "production"
|
||||||
- '*'
|
update-types:
|
||||||
|
- "minor"
|
||||||
|
- "patch"
|
||||||
|
development:
|
||||||
|
dependency-type: "development"
|
||||||
|
update-types:
|
||||||
|
- "minor"
|
||||||
|
- "patch"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ jobs:
|
|||||||
id-token: write
|
id-token: write
|
||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v7
|
||||||
- uses: DeterminateSystems/determinate-nix-action@main
|
- uses: DeterminateSystems/determinate-nix-action@main
|
||||||
- uses: DeterminateSystems/flakehub-push@main
|
- uses: DeterminateSystems/flakehub-push@main
|
||||||
with:
|
with:
|
||||||
|
|||||||
+1
-1
Submodule apps/hub updated: 55310768a5...d3ae61b0c5
+1
-1
Submodule apps/llm-api updated: 5f7ead5503...1916ebe40b
+1
-1
Submodule apps/scraper updated: 62aa5b0e52...c709c84a4d
+1
-1
Submodule apps/tools updated: 036f67d05a...b35b00376d
@@ -2,10 +2,30 @@
|
|||||||
# ============================================================
|
# ============================================================
|
||||||
# firewall.sh — deny-by-default firewall untuk orangevps
|
# firewall.sh — deny-by-default firewall untuk orangevps
|
||||||
# Public: 22 (SSH), 80/443 (Caddy), 4013 (hermes dashboard)
|
# Public: 22 (SSH), 80/443 (Caddy), 4013 (hermes dashboard)
|
||||||
|
# 25565 (Minecraft) — WHITELIST TCPShield proxy only
|
||||||
# Tailscale CGNAT 100.64/10: semua port (imrnes & node lain)
|
# Tailscale CGNAT 100.64/10: semua port (imrnes & node lain)
|
||||||
# Localhost: semua
|
# Localhost: semua
|
||||||
# Sisanya: DROP + log
|
# Sisanya: DROP + log
|
||||||
# ============================================================
|
# ============================================================
|
||||||
|
# TCPShield proxy ranges (https://tcpshield.com/v4/ + /v4-cf/)
|
||||||
|
# Update saat TCPShield publish range baru.
|
||||||
|
TCPSHIELD_V4=(
|
||||||
|
198.178.119.0/24
|
||||||
|
104.234.6.0/24
|
||||||
|
)
|
||||||
|
TCPSHIELD_V4_CF=(
|
||||||
|
89.222.122.36/31
|
||||||
|
152.233.22.8/31
|
||||||
|
89.222.108.246/31
|
||||||
|
84.17.55.186/31
|
||||||
|
51.79.45.52/31
|
||||||
|
5.135.84.92/30
|
||||||
|
51.75.35.44/30
|
||||||
|
51.161.27.110/31
|
||||||
|
152.233.30.16/31
|
||||||
|
152.233.30.232/31
|
||||||
|
203.205.31.160/31
|
||||||
|
)
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
### IPv4 ###
|
### IPv4 ###
|
||||||
@@ -33,6 +53,10 @@ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
|
|||||||
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
|
||||||
# Public: hermes dashboard (auth-protected)
|
# Public: hermes dashboard (auth-protected)
|
||||||
iptables -A INPUT -p tcp --dport 4013 -j ACCEPT
|
iptables -A INPUT -p tcp --dport 4013 -j ACCEPT
|
||||||
|
# Public: Minecraft (FTB sky) — hanya dari proxy TCPShield
|
||||||
|
for cidr in "${TCPSHIELD_V4[@]}" "${TCPSHIELD_V4_CF[@]}"; do
|
||||||
|
iptables -A INPUT -s "$cidr" -p tcp --dport 25565 -j ACCEPT
|
||||||
|
done
|
||||||
|
|
||||||
# ICMP (ping, PMTU)
|
# ICMP (ping, PMTU)
|
||||||
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/sec --limit-burst 10 -j ACCEPT
|
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/sec --limit-burst 10 -j ACCEPT
|
||||||
@@ -66,15 +90,10 @@ ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|||||||
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
|
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
|
||||||
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
|
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
|
||||||
ip6tables -A INPUT -p tcp --dport 4013 -j ACCEPT
|
ip6tables -A INPUT -p tcp --dport 4013 -j ACCEPT
|
||||||
# ICMPv6/MLD: ping + neighbor discovery (NIC multicast ff02::1 = MLDv2 reports
|
# Minecraft 25565: TCPShield IPv4 only — tidak ada range IPv6 publik
|
||||||
# dari host lain; kena LOG+DROP tiap menit — 1800 baris/6h di journal).
|
|
||||||
# IPv6 layer-2 discovery WAJIB di-ACCEPT, bukan cuma dropped.
|
|
||||||
ip6tables -A INPUT -p icmpv6 -j ACCEPT
|
ip6tables -A INPUT -p icmpv6 -j ACCEPT
|
||||||
ip6tables -A INPUT -d ff02::1 -j ACCEPT
|
|
||||||
ip6tables -A INPUT -d ff02::2 -j ACCEPT
|
|
||||||
ip6tables -A INPUT -d ff02::fb -j ACCEPT
|
|
||||||
ip6tables -A INPUT -m limit --limit 5/min --limit-burst 10 -j LOG --log-prefix "FW6-DROP " --log-level 4
|
ip6tables -A INPUT -m limit --limit 5/min --limit-burst 10 -j LOG --log-prefix "FW6-DROP " --log-level 4
|
||||||
ip6tables -A INPUT -j DROP
|
ip6tables -A INPUT -j DROP
|
||||||
|
|
||||||
echo "Firewall applied:"
|
echo "Firewall applied:"
|
||||||
iptables -L INPUT -n --line-numbers | head -20
|
iptables -L INPUT -n --line-numbers | head -24
|
||||||
|
|||||||
+1
-1
@@ -9,6 +9,6 @@
|
|||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "2.5.3"
|
"@biomejs/biome": "2.5.10"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user