Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17172dbc54 | ||
|
|
9294b8a16f | ||
|
|
281aeb7540 | ||
|
|
e87eea0fd8 | ||
|
|
d7ea5d50a2 | ||
|
|
952dd6215a | ||
|
|
a230f48ba3 | ||
|
|
b2f3199895 | ||
|
|
c3e99399ae | ||
|
|
d0a1a2b801 |
21
README.md
21
README.md
@@ -12,17 +12,28 @@ ip route del default scope link table vpn
|
|||||||
Может потребоваться удалить правила фаервола касающиеся vpn_subnet, internal итд.
|
Может потребоваться удалить правила фаервола касающиеся vpn_subnet, internal итд.
|
||||||
|
|
||||||
# Установка
|
# Установка
|
||||||
Пакет работает на всех архитектурах. Тестировался только на 23.05.
|
Пакет работает на всех архитектурах.
|
||||||
|
Будет точно работать только на OpenWrt 23.05.
|
||||||
|
|
||||||
|
Нужен dnsmasq-full. В автоматическом режиме ставится сам. Вручную надо поставить [самостоятельно](https://github.com/itdoginfo/podkop/blob/952dd6215a2a83d65937cf9e33534c42809091ed/install.sh#L20).
|
||||||
|
|
||||||
## Вручную
|
## Вручную
|
||||||
Скачать пакеты podkop_*.ipk и luci-app-podkop_*.ipk. `opkg install` сначала первый, потом второй.
|
Сделать `opkg update`, чтоб установились зависимости.
|
||||||
|
Скачать пакеты `podkop_*.ipk` и `luci-app-podkop_*.ipk` из релиза. `opkg install` сначала первый, потом второй.
|
||||||
|
|
||||||
```
|
```
|
||||||
/etc/init.d/ucitrack restart
|
/etc/init.d/ucitrack restart
|
||||||
```
|
```
|
||||||
|
|
||||||
## Автоматическая
|
## Автоматическая
|
||||||
-
|
```
|
||||||
|
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)
|
||||||
|
```
|
||||||
|
|
||||||
|
# Удаление
|
||||||
|
```
|
||||||
|
opkg remove luci-app-podkop podkop
|
||||||
|
```
|
||||||
|
|
||||||
# Использование
|
# Использование
|
||||||
Конфиг: /etc/config/podkop
|
Конфиг: /etc/config/podkop
|
||||||
@@ -60,7 +71,7 @@ opkg update && opkg install sing-box
|
|||||||
1. ucitrack не рестартится автоматически после установки пакета
|
1. ucitrack не рестартится автоматически после установки пакета
|
||||||
|
|
||||||
# ToDo
|
# ToDo
|
||||||
- [ ] Скрипт для автоматической установки.
|
- [x] Скрипт для автоматической установки.
|
||||||
- [x] Подсети дискорда.
|
- [x] Подсети дискорда.
|
||||||
- [ ] Удаление getdomains через скрипт. Кроме туннеля и sing-box.
|
- [ ] Удаление getdomains через скрипт. Кроме туннеля и sing-box.
|
||||||
- [ ] Дополнительная вкладка для ещё одного туннеля. Домены, подсети.
|
- [ ] Дополнительная вкладка для ещё одного туннеля. Домены, подсети.
|
||||||
@@ -70,7 +81,7 @@ opkg update && opkg install sing-box
|
|||||||
|
|
||||||
# Разработка
|
# Разработка
|
||||||
Есть два варианта:
|
Есть два варианта:
|
||||||
- Просто поставить пакет на роутер или виртуалку и прям редактировать через SFTP
|
- Просто поставить пакет на роутер или виртуалку и прям редактировать через SFTP (opkg install openssh-sftp-server)
|
||||||
- SDK, чтоб собирать пакеты
|
- SDK, чтоб собирать пакеты
|
||||||
|
|
||||||
Для сборки пакетов нужен SDK, один из вариантов скачать прям файл и разархивировать
|
Для сборки пакетов нужен SDK, один из вариантов скачать прям файл и разархивировать
|
||||||
|
|||||||
35
install.sh
Executable file
35
install.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
REPO="https://api.github.com/repos/itdoginfo/podkop/releases/latest"
|
||||||
|
|
||||||
|
DOWNLOAD_DIR="/tmp/podkop"
|
||||||
|
mkdir -p "$DOWNLOAD_DIR"
|
||||||
|
|
||||||
|
wget -qO- "$REPO" | grep -o 'https://[^"]*\.ipk' | while read -r url; do
|
||||||
|
filename=$(basename "$url")
|
||||||
|
echo "Download $filename..."
|
||||||
|
wget -q -O "$DOWNLOAD_DIR/$filename" "$url"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "opkg update"
|
||||||
|
opkg update
|
||||||
|
|
||||||
|
if opkg list-installed | grep -q dnsmasq-full; then
|
||||||
|
echo "dnsmasq-full already installed"
|
||||||
|
else
|
||||||
|
echo "Installed dnsmasq-full"
|
||||||
|
cd /tmp/ && opkg download dnsmasq-full
|
||||||
|
opkg remove dnsmasq && opkg install dnsmasq-full --cache /tmp/
|
||||||
|
|
||||||
|
[ -f /etc/config/dhcp-opkg ] && cp /etc/config/dhcp /etc/config/dhcp-old && mv /etc/config/dhcp-opkg /etc/config/dhcp
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Installed..."
|
||||||
|
opkg install $DOWNLOAD_DIR/podkop*.ipk
|
||||||
|
opkg install $DOWNLOAD_DIR/luci-app-podkop*.ipk
|
||||||
|
|
||||||
|
rm -f $DOWNLOAD_DIR/podkop*.ipk $DOWNLOAD_DIR/luci-app-podkop*.ipk
|
||||||
|
|
||||||
|
/etc/init.d/ucitrack restart
|
||||||
|
|
||||||
|
echo "Install sing-box for proxy, or install and configure WG/OpenVPN/AWG/etc for VPN mode"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-podkop
|
PKG_NAME:=luci-app-podkop
|
||||||
PKG_VERSION:=0.1.4
|
PKG_VERSION:=0.1.5
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
LUCI_TITLE:=LuCI podkop app
|
LUCI_TITLE:=LuCI podkop app
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ return view.extend({
|
|||||||
o.default = '0';
|
o.default = '0';
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
|
|
||||||
o = s.option(form.ListValue, 'domain_list', _('Domain list'), _('A select list'));
|
o = s.option(form.ListValue, 'domain_list', _('Domain list'), _('Select a list'));
|
||||||
o.placeholder = 'placeholder';
|
o.placeholder = 'placeholder';
|
||||||
o.value('ru_inside', 'Russia inside');
|
o.value('ru_inside', 'Russia inside');
|
||||||
o.value('ru_outside', 'Russia outside');
|
o.value('ru_outside', 'Russia outside');
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=podkop
|
PKG_NAME:=podkop
|
||||||
PKG_VERSION:=0.1.4
|
PKG_VERSION:=0.1.5
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_MAINTAINER:=ITDog <podkop@itdog.info>
|
PKG_MAINTAINER:=ITDog <podkop@itdog.info>
|
||||||
|
|||||||
@@ -434,7 +434,11 @@ sing_box_config_vless() {
|
|||||||
|
|
||||||
uuid=$(echo "$STRING" | cut -d'/' -f3 | cut -d'@' -f1)
|
uuid=$(echo "$STRING" | cut -d'/' -f3 | cut -d'@' -f1)
|
||||||
server=$(echo "$STRING" | cut -d'@' -f2 | cut -d':' -f1)
|
server=$(echo "$STRING" | cut -d'@' -f2 | cut -d':' -f1)
|
||||||
port=$(echo "$STRING" | cut -d'@' -f2 | cut -d':' -f2 | cut -d'/' -f1)
|
#port=$(echo "$STRING" | cut -d'@' -f2 | cut -d':' -f2 | cut -d'/' -f1)
|
||||||
|
port=$(echo "$STRING" | cut -d'@' -f2 | cut -d':' -f2 | cut -d'?' -f1)
|
||||||
|
if [[ "$port" == */* ]]; then
|
||||||
|
port=$(echo "$port" | cut -d'/' -f1)
|
||||||
|
fi
|
||||||
type=$(get_param "type")
|
type=$(get_param "type")
|
||||||
flow=$(get_param "flow")
|
flow=$(get_param "flow")
|
||||||
sni=$(get_param "sni")
|
sni=$(get_param "sni")
|
||||||
|
|||||||
Reference in New Issue
Block a user