51

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Więc podstawowe pytanie: po co zabierasz się za to? Zrobiłeś to na zasadzie "zmienię nazwy i może zadziała". Teraz oczekujesz że ktoś Ci wyjaśni jak działa js i będzie tłumaczył api jaki zastosowano w gargoyle?
Zostaw w spokoju ten plugin, już raczej dorobię otwieranie portu jeżeli forwarding jest na localhosta.

Kody zwracane przez funkcję weryfikującą poprawność wpisanej wartości.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

52 (edytowany przez pepe_lodz 2013-08-08 10:18:12)

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Poprostu probuje i staram sie pomoc zrozumiec i nauczyc...
Tylko dobrze jak otwieranie bedzie jako osobna sekcja w menu... bede jeszcze probowac sam jeszcze moze ktos inny pomoze mi z tym.

53

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Zmieniłem returnCode i lipa.. Mecze się dalej z tym problemem...:(

54

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

No sorry, ale ręce opadają chcesz sobie dorobić funkcjonalność, nie wkładając w to wysiłku....
Po kolei:
Javascript to głupi język do nauki, bo wystarczy, że jakiś mały kawałek kodu jest zły, a już nic nie działa, dlatego trzeba korzystać z "debbugerów" wbudowanych w przeglądarki.
Jak widzę udało Ci się dojść do tego, że skrypt już sprawdza wartości i teraz musisz przeanalizować co mu nie pasuje - czyli od tyłu - skąd pochodzi ten błąd, co go powoduje, i masz rozwiązanie problemu.

W twoim przypadku (jak na razie) błąd prawdopodobnie pochodzi z funkcji proofreadOpenSingle, a dokładniej proofreadFields, jeszcze dokładniej returnCodes. (Mówię prawdopodobnie bo szczerze mówiąc nie chce mi się tego wgrywać na router). Przeanalizuj - masz błąd "Znaleziono błąd w polu:" (ułatwię Ci zadanie - pochodzi z pliku www/js/common.js), ale nie ten plik jest winny tylko

var returnCodes = [0,0,0];

(powinno być var returnCodes = [0]; ).

Takich błędów na pewno masz jeszcze kilkanaście, przy użyciu przeglądarki i alertów wyświetlanych przez Gargoyle analizuj, poprawiaj, a na pewno więcej się nauczysz niż gdybyś dostał gotowe rozwiązanie.

55 (edytowany przez pepe_lodz 2013-08-08 23:34:57)

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Mam juz zmienione na var returnCodes = [0] zmienilem to juz jak pisalem wczesniej i dalej istnieje problem. No nic bede probowal bo nie ukrywam ze troche chce sie pouczyc tego :-) dziekuje za naprowadzenia...

Alerty z Gargoyle to mowisz o tych komunikatach typu problemy z w oknie Pole... czy gdzies w jakichs logach ?

56 (edytowany przez pepe_lodz 2013-08-13 10:23:48)

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Witam
Poprawiłem skrypt który zacząłem do otwarcia portów. Skrypt niby działa tylko ze ma jeden błąd jednak tego juz nie mam pojęcia jak rozwiązać. A mianowicie. Domyslnie po wgraniu firmware do routera plik /etc/config/firewall wygląda tak(pogrubione sekcje to sekcje z ktorymi jest problem):

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'DROP'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fe80::/10'
    option src_port '547'
    option dest_ip 'fe80::/10'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'

config include
    option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'

config include 'miniupnpd'
    option type 'script'
    option path '/usr/share/miniupnpd/firewall.include'
    option family 'IPv4'
    option reload '1'

config include 'openvpn_include_file'
    option path '/etc/openvpn.firewall'


Po wgraniu plików od skryptu ktory dorobiłem w GUI jak wejde na Otwarcie Portów to tabela już wyświetla wpisy te co pogrubiłem wczesniej w pliku firewall i wyglada tak jak w Tabela 1.jpg
http://img703.imageshack.us/img703/2316/m5aj.jpg


Gdy dodam sobie jakiś port otwart o nazwie TEST to wpisy w pliku /etc/config/firewall zmieniają się następująco:

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config include
    option path '/etc/firewall.user'

config include
    option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'

config include 'miniupnpd'
    option type 'script'
    option path '/usr/share/miniupnpd/firewall.include'
    option family 'IPv4'
    option reload '1'

config include 'openvpn_include_file'
    option path '/etc/openvpn.firewall'


config rule 'rule_enabled_number_0'
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '68'

config rule 'rule_enabled_number_1'
    option name 'Allow-DHCPv6'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '546'

config rule 'rule_enabled_number_2'
    option name 'test'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'tcp'
    option dest_port '8777'

config rule 'rule_enabled_number_3'
    option name 'test'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '8777'

A tabela w GUI wygląda jak na Tabela 2.jpg
http://img801.imageshack.us/img801/5932/fiq8.jpg

Nie mam pojęcia jak rozwiązać problem aby do otwarcia portów nie brał tych reguł zaznaczonych w pierwotnym oryginalnym pliku firewall. Poprostu aby tylko porty moje wyświetlał... Bo tez pozniej psuje całe reguły domyślne te

config rule 'rule_enabled_number_0'
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '68'

config rule 'rule_enabled_number_1'
    option name 'Allow-DHCPv6'
    option src 'wan'
    option target 'ACCEPT'
    option proto 'udp'
    option dest_port '546'

i maja już złe zapisy. Może ktoś pomoże rozwiązać problem... mnie juz pomysły się skończyły.
Poniżej pliki do otwarcia portów. Trzeba wrzucić je w odpowiednie miejsca.
http://www57.zippyshare.com/v/92571241/file.html

Pewnie by trzeba dodać jakiś warunek aby omijał te domyślne reguły po wgraniu firmware co są... Ale ja niestety programować nie potrafię... dosyć ze i tak udało mi sie przerobić ten skrypt wink

57

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Ponieważ bierzesz wszystkie sekcje rule, a powinieneś tyle te o określonej nazwie, a innych nie ruszać. Pomijając fakt że nie uwzględniasz innych opcji możliwych do ustawienia w sekcji, tylko na stałe wymuszasz te które określiłeś wywalając inne.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

58 (edytowany przez pepe_lodz 2013-08-13 11:01:39)

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

A mogłbyś pomóc mi to przerobić aby działało poprawnie tak jak mówisz ?

59

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Ty piszesz ten plugin, nie ja.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

60

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

No ale tylko grzecznie proszę o pomoc... ewentualnie prosze o przerobienie go przez Ciebie tak jak uważasz aby działał poprawnie.

61

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

A ja grzecznie odmawiam przyłożenia ręki do tego pluginu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

62

Odp: Dorobienie skryptu otwarcia portów do Gargoyle

Ok to serdecznie dziękuje.