Jump to content

Recommended Posts

Вниманию всех, кто пользуется КВАСом, был выявлен отказ работы WhatsApp на компьютерах из-за проблемы наличия доменных имен этого сервиса в списках блокировки при активации режима блокировки рекламы. Если проблема проявилась, то либо отключите блокировку рекламы, либо внесите доменное имя whatsapp.com в БС - kvas add *whatsapp.com.

Update:
Обновитесь пожалуйста по ссылке выше - была устранена проблема обновления данных при добавлении доменного имени в список. 

Edited by Zeleza
  • Thanks 2
Link to comment
Share on other sites

Обновление КВАСа небольшое: версия 1.0 beta 3

  • Исправлена ошибка, возникавшая порой при установке пакета - "dnsmasq: cannot read /opt/etc/kvas.dnsmasq: No such file or directory
  • Thanks 1
Link to comment
Share on other sites

3 часа назад, Zeleza сказал:

версия 1.0 beta 3

Здравствуйте, товарищи!

Как правильно обновится с версии скрипта 0.9-10?

Link to comment
Share on other sites

Добрый день!

20 минут назад, i81 сказал:

Как правильно обновится с версии скрипта 0.9-10?

opkg remove kvas
opkg install /opt/apps/packages/kvas_1.0-beta_3_all.ipk

 

  • Thanks 1
Link to comment
Share on other sites

Доброго всем дня

В 23.06.2022 в 12:28, kilia сказал:
opkg remove kvas
opkg install /opt/apps/packages/kvas_1.0-beta_3_all.ipk

Я бы еще добавил, что при удалении, при запросе об удалении файлов конфигурации, необходимо ответить "да".

Update:
Если установлен vpu или zezl - просьба удалить все маршруты из WUI посредством команд vpu purge и/или zpu purge

Edited by Zeleza
Link to comment
Share on other sites

Доброго дня, коллеги!

Столкнулся сегодня столкнулся с неочевидным для меня моментом - КВАС работает только для основной сети (bridge 0), Если согласна "гостевая" сеть, а по сути это bridge 1 уже то для клиентов этой сети КВАС уже не работает :(

Многоуважаемый @Zeleza подсказал что поправить в конфигах, что бы заработало и для bridge 1.

Коллеги, прошу проголосовать лайками на посте этом у кого есть вторая сеть и кто бы хотел иметь возможность активировать КВАС и для клиентов этой сети. Автор сказал, что-то если ещё будут люди, которым это нужно то он постарается реализовать выбор клиентских интерфейсов через команды КВАСа.

Заранее большое спасибо всем!

  • Thanks 1
  • Upvote 4
Link to comment
Share on other sites

Пробуем КВАС версия 1.0 beta 5

  1. Исправлены несколько ошибок при смене DNS (кvas dns 8.8.4.4

  2. Добавлен "небольшой костыль" для добавления в vpn - гостевую сеть (по просьбе @i81). Использование: 
  • kvas bridge del br1 - удалить гостевой мост
  • kvas bridge add br1 - добавить гостевой
    Это решение  является "костылём", так как подставить id необходимой сети автоматически пока не знаю как. Если будут мысли - пишите.
Edited by Zeleza
  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

4 часа назад, Zeleza сказал:

id необходимой сети

А чем чревато постановки всех id системы? Если есть сеть - будет работать обход, нет сети - хлеба вроде не просит эта настойка.

 

Link to comment
Share on other sites

Доброго всем дня,

23 часа назад, i81 сказал:

Коллеги, прошу проголосовать лайками на посте этом у кого есть вторая сеть и кто бы хотел иметь возможность активировать КВАС и для клиентов этой сети.

Задача показалась интересной и не трудоемкой, потому пробуем КВАС версия 1.0 beta 6 с реализацией данного функционала и уже без "костыля" ).

Использование:  

  • kvas bridge del - удалить существующую текущую гостевую сеть
  • kvas bridge add - добавить гостевую сеть на выбор
Edited by Zeleza
  • Thanks 1
  • Upvote 3
Link to comment
Share on other sites

Добрый вечер. @Zeleza, спасибо за проделанную работу по Квасу.

Как и многие здесь, столкнулся с проблемами с фб. У доменов *fbcdn.net отличаются IP для доступа из РФ и для доступа из страны выхода через VPN. Как мелкий костыль, возможно можно сделать функцию указания интерфейса для проверки IP для добавленных доменов? Например: 

Цитата

kvas add *fbcdn.net tun0

PS. И еще вопрос, вроде в теме это не обсуждалось. IP и подсети нельзя добавить в Квас?

Link to comment
Share on other sites

Доброго вечера,

29 минут назад, Штепсель сказал:

можно сделать функцию указания интерфейса для проверки IP для добавленных доменов?

Пожалуйста по подробнее. Не до конца ясна цель подобного функционала.

29 минут назад, Штепсель сказал:

IP и подсети нельзя добавить в Квас?

Забираем и пробуем КВАС версия 1.0 beta 7

  • Upvote 4
Link to comment
Share on other sites

33 минуты назад, Zeleza сказал:

Пожалуйста по подробнее. Не до конца ясна цель подобного функционала.

Хм. Вот сейчас тесты провёл и отпала эта необходимость, вроде.

 

Но, похоже, не отрабатывает правило *fbcdn.net, поддомены scontent-cdg2-1.xx.fbcdn.net и static.xx.fbcdn.net  заработали только после принудительного их указания.

 

И что-то не нашёл возможности белого списка для адблока. Пока добавил нужный домен в список доменов для обхода, но как-то костыльно это выглядит.

Link to comment
Share on other sites

14 часа назад, Штепсель сказал:

Получается, что правило 

ipset=/:.*fbcdn\.net:/unblock

не отрабатывает

Попробуйте такое правило 

ipset=/fbcdn.net/unblock

 

Link to comment
Share on other sites

Еще заметил странность. В винде 11 стандартные настройки получение всего по DHCP, делаю 

ping static.xx.fbcdn.net
При проверке связи не удалось обнаружить узел static.xx.fbcdn.net.
Проверьте имя узла и повторите попытку.

С роутера всё нормально пингуется, прописываю на винде DNS 8.8.8.8 - не пингуется, ставлю галку, чтобы использовался шифрованный DNS - начинает пинговаться. Т.е. ростелеком перехватывает запросы к DNS. Но почему при установке роутера в качестве DNS, пинг не идёт, хотя с самого роутера идёт?

Link to comment
Share on other sites

Доброго дня

1 час назад, Штепсель сказал:

Ну я же квасом добавляю, он не дает добавить домен, т.к. уже есть домен со звёздочкой.

Не совсем Вас понимаю, разве нельзя удалить то, что не нужно и добавить, что что необходимо?

kvas del *fbcdn.net
kvas add fbcdn.net

 

Link to comment
Share on other sites

Пробуем КВАС 1.0 beta 8

  • Добавлена возможность установки AdGuard Home в качестве DNS сервера.
  • Исправлены мелкие недочеты

Использование:

kvas dns adguard

Команда установит AdGuard Home в качестве DNS сервера автоматически, если  AdGuard Home установлен на самом роутере и попросит ввести "ip:port", если у Вас AdGuard Home расположен где-то в сети.

  • Thanks 1
  • Upvote 3
Link to comment
Share on other sites

Подскажите, пожалуйста, возможно ли ваше решение повесить на vps, где работает Wireguard?


Идея в том, чтобы при включенном Wireguard на телефоне трафик шел также по списку, а по всем летел напрямую.

Edited by mr.robot
Link to comment
Share on other sites

Доброго вечера,

51 минуту назад, mr.robot сказал:

Подскажите, пожалуйста, возможно ли ваше решение повесить на vps, где работает Wireguard?

Так именно для этого и предназначен КВАС. Можно работать не только с wg, но и со списком иных vpn, которые перечислены в первом сообщении данной темы.

Edited by Zeleza
Link to comment
Share on other sites

Еще можно в КВАС добавить такой функционал -  

kvas -noaaaa example.com

Должно работать и с dnsmasq и atguardhome.

PS Если есть желание лично проверить через wg - в личку.

Link to comment
Share on other sites

Добрый ночер. Поставил, с Wireguard работает отлично. @Zeleza мое почтение!

Вопрос остался в наличии шифрования. test выдаёт что шифрование отключено, а crypt что шифрование подключено. Чему верить? :) 

~ # kvas test
---------------------------------------------------------------------------------
Состояние службы dnsmasq                                          ЗАПУЩЕНА
Отслеживание [:53] порта сервисом dnsmasq                         СЛЕДИМ
---------------------------------------------------------------------------------
Состояние vpn соединения wg0                                      ПОДКЮЧЕНО
Таблица маршрутов 1001                                            ЗАПОЛНЕНА
В правилах маркировки таблица 1001                                ДОБАВЛЕНА
Правила маркировки трафика в iptable                              ДОБАВЛЕНЫ
Шифрование DNS посредством dnscrypt-proxy2                        ОТКЛЮЧЕНО
---------------------------------------------------------------------------------
Наличие правил разблокировки в iptable                            ЕСТЬ
Заполнение ipset таблицы скриптами КВАСа                          ЗАПОЛНЕНА
Список разблокировки                                              ЗАПОЛНЕН
---------------------------------------------------------------------------------
Проверка заполнения ipset таблицы при посещении сайта.            
---------------------------------------------------------------------------------
Для проверки заполнения откройте на компьютере браузер
Если браузер открыт, то очистите все куки в нем.
Затем зайдите на сайт https://2ip.ru
На странице должен появиться IP Вашего VDS провайдера.
После чего вновь перейдите сюда и нажмите на любую клавишу.
---------------------------------------------------------------------------------
Таблица ipset                                                     ЗАПОЛНЕНА
---------------------------------------------------------------------------------
~ # kvas crypt
---------------------------------------------------------------------------------
Шифрование DNS                                                    ПОДКЛЮЧЕНО
---------------------------------------------------------------------------------

 

Link to comment
Share on other sites

Доброго дня

15 часов назад, zyxmon сказал:

Должно работать и с dnsmasq и atguardhome.

В текущей версии IPv6 не поддерживает.
Чуть позже реализую, спасибо за идею.

9 часов назад, Сергей «Solaris» Сидоров сказал:

Вопрос остался в наличии шифрования. test выдаёт что шифрование отключено, а crypt что шифрование подключено.

Спасибо за внимательность.
Исправил, пробуем КВАС версии 1.0 beta 10.

  • Исправлены ошибки при отображении шифрования kvas crypt 
  • Исправлена ошибка, которая приводила к перегрузке роутера при сканировании интерфейсов по команде kvas vnp set на прошивках >=3.8.
Edited by Zeleza
  • Thanks 2
  • Upvote 1
Link to comment
Share on other sites

Добрый день! А можно посмотреть исходники программы? 

 

И еще вопрос, у меня почему то не завелось, пишет:

failed to load names from /opt/etc/hosts: No such file or directory

 

Попробую, пожалуй, все снести и настроить заново.

Edited by Teutonick
Link to comment
Share on other sites

16 hours ago, Zeleza said:

Доброго вечера,

Так именно для этого и предназначен КВАС. Можно работать не только с wg, но и со списком иных vpn, которые перечислены в первом сообщении данной темы.

На всякий случай уточню, я правильно понял, что Квас можно установить в Убунту?

Link to comment
Share on other sites

46 минут назад, Teutonick сказал:

А можно посмотреть исходники программы? 

opkg files kvas
ls /opt/apps/kvas/files/
45 минут назад, mr.robot сказал:

На всякий случай уточню, я правильно понял, что Квас можно установить в Убунту?

В Вашем профиле написано, что у Вас имеется роутер от Keenetic. С этим учетом и с учетом Вашего внимательного прочтения первого сообщения этой темы (раздел Ограничения ) и был дан ответ.
Нет, на Ubuntu установить нет возможности, если у Вас только не стоит на ней эмулятор KeenOS.

Edited by Zeleza
Link to comment
Share on other sites

Выбрал в качестве ДНС сервера adguard.

Kvas dns test выдаёт такой результат:

Скрытый текст

 kvas dns test
---------------------------------------------------------------------------------
Тестируем получение адреса домена facebook.com                    ;; WARNING: response timeout for 0.0.0.0@6153(UDP)
;; WARNING: response timeout for 0.0.0.0@6153(UDP)
;; WARNING: response timeout for 0.0.0.0@6153(UDP)
;; ERROR: failed to query server 0.0.0.0@6153(UDP)
ПУСТО

Kvas test:

Скрытый текст

---------------------------------------------------------------------------------
Состояние службы dnsmasq                                          ЗАПУЩЕНА
Отслеживание [:53] порта сервисом dnsmasq                         СЛЕДИМ
---------------------------------------------------------------------------------
Состояние vpn соединения WGCF_Cloudflare                          ПОДКЮЧЕНО
Таблица маршрутов 1001                                            ЗАПОЛНЕНА
В правилах маркировки таблица 1001                                ДОБАВЛЕНА
Правила маркировки трафика в iptable                              ДОБАВЛЕНЫ
Шифрование DNS посредством dnscrypt-proxy2                        ОТКЛЮЧЕНО
---------------------------------------------------------------------------------
Наличие правил разблокировки в iptable                            ЕСТЬ
Заполнение ipset таблицы скриптами КВАСа                          ПУСТАЯ
Повтороная проверка заполнения ipset таблицы                      ОШИБКА
Проверье работу скрипта /opt/etc/ndm/fs.d/100-ipset

А вот ответ на команду kvas debug:
 

Скрытый текст

---------------------------------------------------------------------------------
Состояние службы dnsmasq                                          ЗАПУЩЕНА
---------------------------------------------------------------------------------
Выборка из файла конфигурации dnsmasq
---------------------------------------------------------------------------------
user=nobody
pid-file=/var/run/opt-dnsmasq.pid
interface=br0

listen-address=192.168.1.1
listen-address=127.0.0.1
port=53

min-port=4096       # Указываем минимальную границу портов, которые будут использоваться в качестве источника для исходящих DNS-запросов.
cache-size=1536     # Указываем размер кеша в записях

bogus-priv          # Разрешаем подделывать обратные запросы для диапазонов частных адресов RFC1918
no-negcache         # Запрещаем кэшировать неудачные результаты поиска
no-resolv           # Запрещаем читать DNS из resolv.conf
no-poll             # Запрещаем опрашивать файл resolv.conf, перезагружаем только при SIGHUP
clear-on-reload     # Очищаем кеш DNS при перезагрузке dnsmasq
expand-hosts        # Преобразуем простые имена в /etc/hosts с помощью доменного суффикса
localise-queries    # Возвращает ответы на DNS-запросы из /etc/hosts и --interface-name и --dynamic-host, которые зависят от интерфейса, по которому был полуен запрос.
domain-needed       # Указывает dnsmasq никогда не пересылать запросы A или AAAA для простых имен, без точек или частей домена, на вышестоящие серверы имен.
log-async           # Включаем асинхронное ведение журнала
stop-dns-rebind     # Отклоняем адреса с вышестоящих DNS серверов, которые находятся в частных диапазонах.
rebind-localhost-ok # Освобождаем 127.0.0.0/8 и ::1 от повторной привязки проверок.

server=0.0.0.0#6153
conf-file=/opt/etc/kvas.dnsmasq

---------------------------------------------------------------------------------
Состояние vpn соединения WGCF_Cloudflare                          ПОДКЮЧЕНО
---------------------------------------------------------------------------------
Таблица заполенния машрутов 1001
---------------------------------------------------------------------------------
default via 172.16.0.2 dev nwg0
10.1.30.0/24 dev br1 scope link  src 10.1.30.1
46.35.224.0/19 dev eth3 scope link  src 46.35.253.164
162.159.193.5 via 46.35.248.1 dev eth3
192.168.1.0/24 dev br0 scope link  src 192.168.1.1

---------------------------------------------------------------------------------
Таблица правил маршрутизации 1001
---------------------------------------------------------------------------------
0:      from all lookup local
10:     from all fwmark 0xffffcff lookup main
164:    from all fwmark 0xffffd00 lookup 42
165:    from all fwmark 0xffffd00 lookup unspec blackhole
166:    from all fwmark 0xffffd01 lookup 43
167:    from all fwmark 0xffffd01 lookup unspec blackhole
222:    from 172.16.0.2 lookup 84
1778:   from all fwmark 0xd1000 lookup 1001
32766:  from all lookup main
32767:  from all lookup default

---------------------------------------------------------------------------------
Переустановка iptables для vpn завершена                          УСПЕШНО
---------------------------------------------------------------------------------
Правила перенаправления трафика unblock в iptables
---------------------------------------------------------------------------------
-A PREROUTING -m conntrack --ctstate NEW -m set --match-set unblock dst -j CONNMARK --set-xmark 0xd1000/0xffffffff
-A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff

---------------------------------------------------------------------------------
Состояние службы dnscrypt-proxy2                                  ОСТАНОВЛЕНА
---------------------------------------------------------------------------------
Файл конфигурации dnscrypt-proxy
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Содержание файла конфигурации /opt/etc/dnscrypt-proxy.toml
---------------------------------------------------------------------------------

 

 

 

 


listen_addresses=['[::]:9153']

 

max_clients=250

 

 


ipv4_servers=true

ipv6_servers=false

dnscrypt_servers=true

doh_servers=true

odoh_servers=false

 

require_dnssec=true

require_nolog=true

require_nofilter=true

disabled_server_names=[]

 

force_tcp=false

 

 

 

 

timeout=5000

 

keepalive=30

 

 

 

 

 

 

 

 

 

 

 

 


cert_refresh_delay=240

 

 

 

 

 


bootstrap_resolvers=['9.9.9.9:53','8.8.8.8:53']

 

ignore_system_dns=true

 

netprobe_timeout=60


netprobe_address='9.9.9.9:53'

 

 

 

 

log_files_max_size=10

log_files_max_age=7

log_files_max_backups=1

 

 

 

block_ipv6=false

 

block_unqualified=true

 

block_undelegated=true

 

reject_ttl=10

 

 

 

 

 

 

 

 

cache=true

 

cache_size=4096

 

cache_min_ttl=2400

 

cache_max_ttl=86400

 

cache_neg_min_ttl=60

 

cache_neg_max_ttl=600

 


[captive_portals]

 

 


[local_doh]

 

 

 

 

 

 


[query_log]

 

 

format='tsv'

 

 

 


[nx_log]

 

 

format='tsv'

 

 

[blocked_names]

 

 

 

 

 

 

[blocked_ips]

 

 

 

 

 

 

[allowed_names]

 

 

 

 

 

 

[allowed_ips]

 

 

 

 

 


[schedules]

 

 

 

[sources]


[sources.'public-resolvers']
urls=['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md','https://download.dnscrypt.info/resolvers-list/v3/public-esolvers.md','https://ipv6.download.dnscrypt.info/resolvers-list/v3/public-resolvers.md','https://download.dnscrypt.net/resolvers-list/v3/public-resolvers.md]
cache_file='public-resolvers.md'
minisign_key='RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
refresh_delay=72
prefix=''


[sources.'relays']
urls=['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/relays.md','https://download.dnscrypt.info/resolvers-list/v3/relays.md','https//ipv6.download.dnscrypt.info/resolvers-list/v3/relays.md','https://download.dnscrypt.net/resolvers-list/v3/relays.md']
cache_file='relays.md'
minisign_key='RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
refresh_delay=72
prefix=''

 

 

 

 


[broken_implementations]


fragments_blocked=['cisco','cisco-ipv6','cisco-familyshield','cisco-familyshield-ipv6','cleanbrowsing-adult','cleanbrowsing-adult-ipv6','cleanbrowsing-family,'cleanbrowsing-family-ipv6','cleanbrowsing-security','cleanbrowsing-security-ipv6']

 

 

[doh_client_x509_auth]

 

 

[anonymized_dns]

 

 

skip_incompatible=false

 

 

 


[dns64]

 

 

 

[static]

---------------------------------------------------------------------------------
Выборка из файла конфигурации dnscrypt-proxy2
---------------------------------------------------------------------------------
listen_addresses = ['[::]:9153']
cache = true

---------------------------------------------------------------------------------
Список разблокировки (20 записей)
---------------------------------------------------------------------------------
*ads-twitter.com
*cdnfacebook.com
*cdninstagram.com
*f.vision
*facebook.com
*fbcdn.net
*instagram.com
*rutracker.org
*twitter.com
2ip.ru
4pda.ru
browserleaks.com
openwrt.org

---------------------------------------------------------------------------------
Скрипт заполнения таблицы ipset /opt/bin/kvas_ipset
---------------------------------------------------------------------------------
#!/bin/sh
# проверяем доступность сети
until ADDRS=$(kdig +short ya.ru @0.0.0.0:6153 ) && [ -n "${ADDRS}" ] > /dev/null 2>&1; do sleep 5; done

# обновляем таблицу ipset данными из файла с доменными именами, IP и сетями
while read -r line || [ -n "${line}" ]; do

  #  пропускаем строки c минусами - это рекламные сайты
  [ "${line::1}" = "-" ] && continue

  # удаляем из строки комментарии - все что встречается после символа # и сам символ
  line=$(echo "${line}" | sed 's/#.*$//g' | tr -s ' ' )
  #  пропускаем пустые строки и строки с комментариями
  [ -z "${line}" ] && continue
  #  пропускаем строки с комментариями
  [ "${line:0:1}" = "#" ] && continue

#  убираем плюс перед доменным именем
  if [ "${line::1}" = "+" ]; then line="${line:1:${#line}}"; fi

  # обрабатываем и добавляем в таблицу сети, например 134.55.16.0/24
  cidr=$(echo "${line}" | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')
  if [ -n "${cidr}" ]; then
    ipset -exist add unblock "${cidr}"
    continue
  fi

  # обрабатываем и добавляем в таблицу интервалы сетей, например 134.55.16.0-134.55.18.0
  range=$(echo "${line}" | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
  if [ -n "${range}" ]; then
    ipset -exist add unblock "${range}"
    continue
  fi

  # обрабатываем и добавляем в таблицу IP адреса, например 134.55.16.34
  addr=$(echo "${line}" | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
  if [ -n "${addr}" ]; then
    ipset -exist add unblock "${addr}"
    continue
  fi

  # обрабатываем и добавляем в таблицу домены, из которых получаем сначала IP адреса
  line=$(echo "${line}" | sed 's/\*//')
  kdig +short "${line}" @0.0.0.0:6153 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' \
        | awk '{system("ipset -exist add unblock "$1)}'

done < /opt/etc/kvas.list

 

Link to comment
Share on other sites

Добрый день!

19 минут назад, Teutonick сказал:

Добрый день! А можно посмотреть исходники программы? 

 

И еще вопрос, у меня почему то не завелось, пишет:

failed to load names from /opt/etc/hosts: No such file or directory

 

Попробую, пожалуй, все снести и настроить заново.

Можно попробовать:

touch /opt/etc/hosts

 

  • Thanks 1
Link to comment
Share on other sites

22 минуты назад, Andrey Che сказал:

Kvas dns test выдаёт такой результат:

Доброго дня,
Чуть подправил, пробуем КВАС

Link to comment
Share on other sites

45 минут назад, Teutonick сказал:

failed to load names from /opt/etc/hosts: No such file or directory

Доброго дня,

Многократно писал - если есть желание узнать что-либо о проблеме случившейся: 

  1. пожалуйста пишите в личку о ней, не превращайте тему в мусорный ящик
  2. специально создал команду kvas debug, для подобных случаев. Пожалуйста, потрудитесь, прислать вывод этой команды. 
Edited by Zeleza
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...