Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd0b19ae46 | ||
|
|
a4e5cd437d | ||
|
|
6a86b3df40 |
121
README.md
121
README.md
@@ -1,2 +1,119 @@
|
|||||||
# podkop
|
Это альфа версия, может не работать. Обсуждение https://t.me/itdogchat - топик Podkop dev
|
||||||
Dev podkop
|
|
||||||
|
# Выпил getdomains
|
||||||
|
По минимуму
|
||||||
|
```
|
||||||
|
rm /etc/hotplug.d/iface/30-vpnroute
|
||||||
|
sed -i '/getdomains start/d' /etc/crontabs/root
|
||||||
|
rm /tmp/dnsmasq.d/domains.lst
|
||||||
|
ip route del default scope link table vpn
|
||||||
|
```
|
||||||
|
|
||||||
|
Может потребоваться удалить правила фаервола касающиеся vpn_subnet, internal итд.
|
||||||
|
|
||||||
|
# Установка
|
||||||
|
Пакет работает на всех архитектурах. Тестировался только на 23.05.
|
||||||
|
|
||||||
|
## Вручную
|
||||||
|
Скачать пакеты podkop_*.ipk и luci-app-podkop_*.ipk. `opkg install` сначала первый, потом второй.
|
||||||
|
|
||||||
|
```
|
||||||
|
/etc/init.d/ucitrack restart
|
||||||
|
```
|
||||||
|
|
||||||
|
## Автоматическая
|
||||||
|
-
|
||||||
|
|
||||||
|
# Использование
|
||||||
|
Конфиг: /etc/config/podkop
|
||||||
|
|
||||||
|
Luci: Services/podkop
|
||||||
|
|
||||||
|
## Режимы
|
||||||
|
|
||||||
|
### Proxy
|
||||||
|
Для VLESS и Shadowsocks. Другие протоколы тоже будут, кидайте в чат примеры строк без чувствительных данных.
|
||||||
|
Для использования этого режима нужен sing-box:
|
||||||
|
```
|
||||||
|
opkg update && opkg install sing-box
|
||||||
|
```
|
||||||
|
|
||||||
|
В этом режиме просто копируйте строку в **Proxy String** и из неё автоматически настроится sing-box.
|
||||||
|
|
||||||
|
### VPN
|
||||||
|
Здесь у вас должен быть уже настроен WG/OpenVPN/OpenConnect etc, создана Zone и Forwarding.
|
||||||
|
|
||||||
|
Просто выбрать интерфейс из списка.
|
||||||
|
|
||||||
|
## Настройка доменов и подсетей
|
||||||
|
**Domain list enable** - Включить общий список.
|
||||||
|
|
||||||
|
**Delist domains from main list enable** - Выключение заданных доменов из общего списка. Задавать списком.
|
||||||
|
|
||||||
|
**Subnets list enable** - Включить подсети из общего списка, выбрать из предложенных.
|
||||||
|
|
||||||
|
**Custom domains enable** - Добавить свои домены. Задавать списком.
|
||||||
|
|
||||||
|
**Custom subnets enable** - Добавить подсети или IP-адреса. Для подсетей задать маску.
|
||||||
|
|
||||||
|
# Известные баги
|
||||||
|
1. ucitrack не рестартится автоматически после установки пакета
|
||||||
|
|
||||||
|
# ToDo
|
||||||
|
- [ ] Скрипт для автоматической установки.
|
||||||
|
- [x] Подсети дискорда.
|
||||||
|
- [ ] Удаление getdomains через скрипт. Кроме туннеля и sing-box.
|
||||||
|
- [ ] Дополнительная вкладка для ещё одного туннеля. Домены, подсети.
|
||||||
|
- [ ] Wiki
|
||||||
|
- [ ] IPv6
|
||||||
|
- [ ] Исключение для IP, не ходить в туннель\прокси совсем 0x0
|
||||||
|
|
||||||
|
# Разработка
|
||||||
|
Есть два варианта:
|
||||||
|
- Просто поставить пакет на роутер или виртуалку и прям редактировать через SFTP
|
||||||
|
- SDK, чтоб собирать пакеты
|
||||||
|
|
||||||
|
Для сборки пакетов нужен SDK, один из вариантов скачать прям файл и разархивировать
|
||||||
|
https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/
|
||||||
|
Нужен файл с SDK в имени
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/openwrt-sdk-23.05.5-x86-64_gcc-12.3.0_musl.Linux-x86_64.tar.xz
|
||||||
|
tar xf openwrt-sdk-23.05.5-x86-64_gcc-12.3.0_musl.Linux-x86_64.tar.xz
|
||||||
|
mv openwrt-sdk-23.05.5-x86-64_gcc-12.3.0_musl.Linux-x86_64 SDK
|
||||||
|
```
|
||||||
|
Последнее для удобства.
|
||||||
|
|
||||||
|
Создаём директорию для пакета
|
||||||
|
```
|
||||||
|
mkdir package/utilites && mkdir package/luci
|
||||||
|
```
|
||||||
|
|
||||||
|
Симлинк из репозитория
|
||||||
|
```
|
||||||
|
ln -s ~/podkop/podkop package/utilites/podkop
|
||||||
|
ln -s ~/podkop/luci-app-podkop package/luci/luci-app-podkop
|
||||||
|
```
|
||||||
|
|
||||||
|
Сборка пакета
|
||||||
|
```
|
||||||
|
make package/podkop/{clean,compile} V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
Также для luci
|
||||||
|
```
|
||||||
|
make package/luci-app-podkop/{clean,compile} V=s
|
||||||
|
```
|
||||||
|
|
||||||
|
При первом make выводится менюшка, можно просто сохранить и всё. Первый раз долго грузит зависимости.
|
||||||
|
|
||||||
|
## make зависимости
|
||||||
|
https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem
|
||||||
|
|
||||||
|
Ubuntu
|
||||||
|
```
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install build-essential clang flex bison g++ gawk \
|
||||||
|
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
|
||||||
|
python3-distutils rsync unzip zlib1g-dev file wget
|
||||||
|
```
|
||||||
@@ -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.0
|
PKG_VERSION:=0.1.4
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
LUCI_TITLE:=LuCI podkop app
|
LUCI_TITLE:=LuCI podkop app
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ return view.extend({
|
|||||||
o.placeholder = 'Subnet list';
|
o.placeholder = 'Subnet list';
|
||||||
o.value('twitter', 'Twitter(x.com)');
|
o.value('twitter', 'Twitter(x.com)');
|
||||||
o.value('meta', 'Meta');
|
o.value('meta', 'Meta');
|
||||||
|
o.value('discord', 'Discord(voice)');
|
||||||
o.depends('subnets_list_enabled', '1');
|
o.depends('subnets_list_enabled', '1');
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=podkop
|
PKG_NAME:=podkop
|
||||||
PKG_VERSION:=0.1.0
|
PKG_VERSION:=0.1.4
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_MAINTAINER:=ITDog <podkop@itdog.info>
|
PKG_MAINTAINER:=ITDog <podkop@itdog.info>
|
||||||
|
|||||||
@@ -325,6 +325,7 @@ lists_domains_download() {
|
|||||||
list_subnets_download() {
|
list_subnets_download() {
|
||||||
TWITTER_SUBNETS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Subnets/IPv4/Twitter.lst
|
TWITTER_SUBNETS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Subnets/IPv4/Twitter.lst
|
||||||
META_SUBNETS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Subnets/IPv4/Meta.lst
|
META_SUBNETS=https://raw.githubusercontent.com/itdoginfo/allow-domains/main/Subnets/IPv4/Meta.lst
|
||||||
|
DISCORD_SUBNETS=https://raw.githubusercontent.com/itdoginfo/allow-domains/refs/heads/main/Subnets/IPv4/Discord.lst
|
||||||
local URL="$1"
|
local URL="$1"
|
||||||
|
|
||||||
case "$URL" in
|
case "$URL" in
|
||||||
@@ -334,6 +335,9 @@ list_subnets_download() {
|
|||||||
"meta")
|
"meta")
|
||||||
URL=$META_SUBNETS
|
URL=$META_SUBNETS
|
||||||
;;
|
;;
|
||||||
|
"discord")
|
||||||
|
URL=$DISCORD_SUBNETS
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
log "Unidentified list of subnets"
|
log "Unidentified list of subnets"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user