PirateGov

Δήλωσε συμμετοχή στις ομάδες εργασίας και βοήθησε στην λειτουργία του κόμματος.
qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 16:56

qwertyuiopasdfghjklz έγραψε:Και μια τεχνική ερώτηση. Προσπαθώ να κάνω wget κάποια κομμάτια από το site της βουλής, και δεν με αφήνει (γιατί μάλλον το wget δεν δημιουργεί session id όπως ο browser). Ξέρει κανείς κανένα άλλο unix command εργαλείο που να προσομοιώνει ένα browser και να μπορεί να λαμβάνει πληροφορία από το site της βουλής;


έψαξα για wget browser emulation και βρήκα αυτό.

wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"

λες να παίζει;
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 18:42

qwertyuiopasdfghjklz έγραψε:
qwertyuiopasdfghjklz έγραψε:Και μια τεχνική ερώτηση. Προσπαθώ να κάνω wget κάποια κομμάτια από το site της βουλής, και δεν με αφήνει (γιατί μάλλον το wget δεν δημιουργεί session id όπως ο browser). Ξέρει κανείς κανένα άλλο unix command εργαλείο που να προσομοιώνει ένα browser και να μπορεί να λαμβάνει πληροφορία από το site της βουλής;


έψαξα για wget browser emulation και βρήκα αυτό.

wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"

λες να παίζει;



Ένα άλλο πολύ ωραίο είναι και το curl

Andy Cobaugh έγραψε:On 2011-07-27 at 11:00, J.Lance Wilkinson ( jl...@psu.edu ) said:
> I have a need to secure a COSIGN protected resource from a command line
> (download a protected file).
>
> What do I need to do, in WGET or cURL, or whatever, to access a cosign
> protected resource from a Unix/Linux command line?
>
> I would prefer the net effect to be non-interactive, at worst prompting
> for the password or possibly the userid and password to be used in the
> Cosign authentication. E.g.,
>
> $ get_protected_resource.sh https://host/protected/path/resource user [pwd]
>
> Suggestions? Code already available? Where to start with Roll My Own?

# get your cookies
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt https://yourcosignlogin.com

# attempt to login
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt
https://yourcosignlogin.com/cosign.cgi \
--data "login=username&password=password"

# now access your protected site
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt
https://someothersite.com/pathtoresource

I may be missing something, and it's been a while since I wrote this, but
that's basically all our nagios check scripts do to check that our cosign
login cgi is working and that a particular protected site is working
correctly. You might have to change the GET variables as appropriate for
your site. Bear in mind the usual security precautions about passing a
password to a command like that or storing a password in a script.

--andy


Δείτε εδώ ένα ωραίο συγκριτικό curl vs wget.
Και διάφορα άλλα εργαλεία, όλα υποψήφια για να χρησιμοποιηθούν στο Pirategov.

Και κάποια σκριπτακια σε bash [1] [2]
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 19:03

Ελευθερώστε το wiki των πειρατών, για να γραφτεί κάποιο pirategov bot, σε bash και curl.
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 19:39

Ο κώδικας είχε μείνει εδώ:

Κώδικας: Επιλογή όλων

#!/bin/bash
# xrhsh ths sed -e s/'\f'//g gia na diagrafoun oi control xaraktires
if [ "$1" = "" ]; then
echo "usage: "$0" to_deltio.pdf"
exit
fi
pdftotext -raw $1 mydeltio
a=`grep -n "ΥΠΟΥΡΓΕΙΟ" mydeltio|cut -f1 -d":"`
ll=`cat mydeltio|wc -l`
a=`echo $a" "$ll`
echo $a
b=1
for i in $a
do
d=`expr $i - $b`
ii=`expr $i - 1`
head -$ii mydeltio|tail -$d > tempor.$ii
title=`head -1 tempor.$ii|cut -f2 -d" "|cut -f1 -d","|sed -e s/\\'\f\\'//g`
mv tempor.$ii UPOURGEIO."$title".$ii
echo ""
echo "created UPOURGEIO.$title".$ii
echo ""
echo "searching NOMOSXEDIA"
nomosx=`grep -n ^[123456789][0123456789.][.\ ] UPOURGEIO."$title".$ii|cut -f1 -d":"`
ns=`cat UPOURGEIO."$title".$ii|wc -l`
nomosx=`echo $nomosx" "$ns`
echo $nomosx
bn=1
for nom in $nomosx
do
dn=`expr $nom - $bn`
iin=`expr $nom - 1`
head -$iin UPOURGEIO."$title".$ii|tail -$dn > temponom.$ii
etoim=`grep "για συζήτηση" temponom."$ii"`
if [ "$etoim" = "" ]; then
etoim=`grep "για ψήφιση" temponom."$ii"`
if [ "$etoim" = "" ]; then
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom"
else
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom".psifisi
fi
else
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom".sizitisi
fi
bn="$nom"
done
b="$i"
done


Αν βέβαια το rss δουλεύει σωστά, ίσως να μην χρειαστεί και καθόλου ο παραπάνω κώδικας.

Αυτό που πρέπει να δούμε τώρα είναι πως θα χρησιμοποιήσουμε την curl για να πάρουμε τα δεδομένα από την βουλή, και πως θα την χρησιμοποιήσουμε επίσης για να κάνουμε login στο wiki και να εισάγουμε τα δεδομένα εκεί.

Aν τα καταφέρουμε, μετά έτοιμο το pirategov bot! :)
Και φυσικά παρόμοιος κώδικας μπορεί να χρησιμοποιηθεί και για το wikinomia.

ένα ωραίο παράδειγμα κώδικα που χρησιμοποιεί curl από τον Chris Poole

Κώδικας: Επιλογή όλων

#!/bin/bash -

    cookies='cookies.txt'
    username=xxxxxx
    password=xxxxxx
    loginpage='https://weblogin.mydomain/'
    wantedpage='http://www.lancs.mydomain/event.php'

    # GET login page, save any cookies
    curl -s "$loginpage" -c $cookies > /dev/null 2>&1

    # POST credientials to login page, loading and saving cookies again
    curl -s -b $cookies -d "login=$username&password=$password" "$loginpage" -c $cookies > /dev/null 2>&1

    # GET wanted page, loading and saving cookies, following any redirects
    curl -s -L -b $cookies -c $cookies "$wantedpage" > /dev/null 2>&1

    curl -s -b $cookies -c $cookies -d "[stuff to POST]" "$wantedpage" > /dev/null 2>&1
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 23:08

qwertyuiopasdfghjklz έγραψε:Αυτό που πρέπει να δούμε τώρα είναι πως θα χρησιμοποιήσουμε την curl για να πάρουμε τα δεδομένα από την βουλή


Κώδικας: Επιλογή όλων

curl -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx > rssfeed


ενώ κάποιο pdf το λαμβάνουμε ως εξής

Κώδικας: Επιλογή όλων

curl -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" "http://www.hellenicparliament.gr/UserFiles/c8827c35-4399-4fbb-8ea6-aebdc768f4f7/%CE%88%CE%B3%CE%B3%CF%81%CE%B1%CF%86%CE%BF%20%287680024%29.pdf" > my.pdf


Το σημαντικό ήταν να βάλουμε το -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" αλλιώς δεν παίζει. Φαντάζομαι και το wget γιαυτό δεν έπαιζε, αν το συντάξουμε σαν wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" μάλλον θα παίξει.
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 29 Ιούλ 2012, 23:37

Νομίζω τα πράγματα πήραν τον δρόμο τους, με δυο-τρια grep και λίγο ακόμα κώδικα έχουμε αυτό που θέλουμε.

Οπότε αν θέλετε το pirategov σε μορφή wiki, μπορει να φτιαχτεί και να τρέξει ένα bot που θα βάζει μέσα στο wiki την πληροφορία της βουλής, για περαιτέρω επεξεργασία-ψηφοφορία από τους πειρατές. Τώρα αν δεν το θέλετε σε wiki, πρέπει να πεί κάποιος αρμόδιος σε τι μορφή το θέλετε, για να είναι το τελικό κείμενο του bot συμβατό με την μορφή που θέλετε.
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 30 Ιούλ 2012, 02:07

Και υπάρχει και αυτό
http://www.mediawiki.org/wiki/Extension ... er/wikiRSS
ή ακόμα καλύτερα αυτό
http://www.mediawiki.org/wiki/Rss
http://www.mediawiki.org/wiki/Rss#Example

λύσεις υπάρχουν λοιπόν, αρκεί οι διαχειριστές να ξεκουνήσουν λίγο ή αν δεν μπορούν να δωσουν τα κλειδιά σε κάποιον άλλο.
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 30 Ιούλ 2012, 02:59

Και ένας απλό προσχέδιο κώδικα που μας δίνει ως αποτέλεσμα τα pdf files στα οποία αναφέρεται το rssfeed (έτσι ώστε να τα κάνουμε μετα wget και pdftotext)

Κώδικας: Επιλογή όλων

#!/bin/bash
wget -q -O myrss -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx
a=`awk 'BEGIN{RS="<item>"}
{
gsub(/.*<link>|<\/link>.*/,"")
print
}' myrss`
for i in $a
do
wget -q -O linki -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" $i
grep "Το φωτοτυπημένο" linki| awk 'BEGIN{RS="/UserFiles/"}
{
print $0
}'|cut -f1 -d"\""|grep pdf
done
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 30 Ιούλ 2012, 09:49

Και ολοκληρωμένο.

Βλέπει το rssfeed της βουλής, ακολουθάει τα λινκς που αφορούν το κάθε νομοσχέδιο, ανακαλύπτει τα pdf που αφορούν τα νομοσχέδια, τα κατεβάζει και τα κάνει text.

Κώδικας: Επιλογή όλων

#!/bin/bash
wget -q -O myrss -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx
a=`awk 'BEGIN{RS="<item>"}
{
gsub(/.*<link>|<\/link>.*/,"")
print
}' myrss`
for i in $a
do
wget -q -O linki -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" $i
b=`grep "Το φωτοτυπημένο" linki| awk 'BEGIN{RS="/UserFiles/"}
{
print $0
}'|cut -f1 -d"\""|grep pdf|sed -e "s/ /_/g"`
for j in $b
do
c=`echo $j|sed -e "s/_/ /g"`
d=`echo "http://www.hellenicparliament.gr/UserFiles/"$c`
e=`echo $j|cut -f2 -d"/"`
wget -q -O $e -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" "$d"
pdftotext -raw $e
done
done
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ

qwertyuiopasdfghjklz
Δημοσιεύσεις: 185
Εγγραφή: 27 Ιούλ 2012, 16:41

Re: PirateGov

Δημοσίευσηαπό qwertyuiopasdfghjklz » 30 Ιούλ 2012, 11:20

Όπως βλέπετε, αν οι ανώνυμοι μπορούσαν να συμμετέχουν ελεύθερα στις ομάδες εργασίας του κόμματος, χωρίς την γραφειοκρατία των κλειδοκρατόρων και χωρίς άλλους περιορισμούς, το pirategov θα ήταν ήδη έτοιμο. :)

Οι επώνυμοι; Ακόμα τρίβουν..... :P
http://www.pirateparty.gr/wiki/index.php?title=Publicsandbox/pirategov/parliament
http://www.youtube.com/watch?v=3gkqNvx-RwQ


Επιστροφή στο

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: 0 και 0 επισκέπτες