forked from qzeleza/kvas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
95 lines (74 loc) · 3.72 KB
/
Makefile
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
include $(TOPDIR)/rules.mk
PKG_NAME:=kvas
PKG_VERSION:=1.1.9
PKG_RELEASE:=beta_9
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)
include $(INCLUDE_DIR)/package.mk
define Package/kvas
SECTION:=utils
CATEGORY:=Keendev
# DEPENDS:=+jq +curl +knot-dig +libpcre +nano-full +cron +bind-dig +dnsmasq-full +ipset +dnscrypt-proxy2 +iptables +libopenssl +shadowsocks-rust
DEPENDS:=+libpcre +jq +curl +knot-dig +nano-full +cron +bind-dig +dnsmasq-full +ipset +dnscrypt-proxy2 +iptables +shadowsocks-libev-ss-redir +shadowsocks-libev-config +libmbedtls
URL:=no
TITLE:=VPN клиент для обработки запросов по внесению хостов в белый список.
PKGARCH:=all
endef
# +libstdcpp
define Package/kvas/description
Данный пакет позволяет осуществлять контроль и поддерживать в актуальном состоянии
защищенный список хостов или "Белый список". При обращении к любому хосту из
этого списка, весь трафик будет идти через любое VPN или через Shadowsocks соединение,
заранее настроенное на роутере.
endef
define Build/Prepare
endef
define Build/Configure
endef
define Build/Compile
endef
# Во время инсталляции задаем папку в которую будем
# копировать наш скрипт и затем копируем его в эту папку
define Package/kvas/install
$(INSTALL_DIR) $(1)/opt/etc/init.d
$(INSTALL_DIR) $(1)/opt/etc/ndm/fs.d
$(INSTALL_DIR) $(1)/opt/etc/ndm/netfilter.d
$(INSTALL_DIR) $(1)/opt/apps/kvas
$(INSTALL_BIN) opt/etc/ndm/fs.d/100-ipset $(1)/opt/etc/ndm/fs.d
$(INSTALL_BIN) opt/etc/ndm/netfilter.d/100-proxy-redirect $(1)/opt/etc/ndm/netfilter.d
$(INSTALL_BIN) opt/etc/ndm/netfilter.d/100-dns-local $(1)/opt/etc/ndm/netfilter.d
$(INSTALL_BIN) opt/etc/init.d/S96kvas $(1)/opt/etc/init.d
$(CP) ./opt/. $(1)/opt/apps/kvas
endef
#---------------------------------------------------------------------
# Скрипт создаем, который выполняется после инсталляции пакета
# Задаем в кроне время обновления ip адресов хостов
#---------------------------------------------------------------------
define Package/kvas/postinst
#!/bin/sh
BLUE="\033[36m";
NOCL="\033[m";
print_line()(printf "%83s\n" | tr " " "=")
chmod -R +x /opt/apps/kvas/bin/*
# chmod -R +x /opt/apps/kvas/sbin/dnsmasq/*
chmod -R +x /opt/apps/kvas/etc/init.d/*
chmod -R +x /opt/apps/kvas/etc/ndm/*
ln -sf /opt/apps/kvas/bin/kvas /opt/bin/kvas
cp -f /opt/apps/kvas/etc/conf/kvas.conf /opt/etc/kvas.conf
[ -f /opt/etc/kvas.list ] || cp -f /opt/apps/kvas/etc/conf/kvas.list /opt/etc/kvas.list
mkdir -p /opt/etc/adblock /opt/etc/dnsmasq.d
cp -f /opt/apps/kvas/etc/conf/adblock.sources /opt/etc/adblock/sources.list
cp -f /opt/apps/kvas/etc/ndm/ndm /opt/apps/kvas/bin/libs/ndm
sed -i "s/\(APP_VERSION=\).*/\1$(PKG_VERSION)/; s/^,//; s/\,/ /g;" "/opt/etc/kvas.conf"
sed -i "s/\(APP_RELEASE=\).*/\1$(PKG_RELEASE)/; s/^,//; s/\,/ /g;" "/opt/etc/kvas.conf"
print_line
echo -e "Для настройки пакета КВАС наберите \033[36mkvas setup\033[m"
print_line
endef
#---------------------------------------------------------------------
# Создаем скрипт, который выполняется при удалении пакета
# Удаляем из крона запись об обновлении ip адресов
#---------------------------------------------------------------------
define Package/kvas/postrm
#!/bin/sh
endef
$(eval $(call BuildPackage,kvas))