Server im Rack; Urheber: Max Grobecker

32c3 Videomirror (Bittorrent Sync)

Nachdem erwartungsgemäß die Downloadserver des CCC vollkommen ausgelastet sind, wenn die Videos vom Congress online gehen, habe ich mit meinem BittorrentSync-Server einen Mirror für die H.264-Videos erzeugt.

Den BittorrentSync-Ordner kannst du bei dir mit folgendem Schlüssel einrichten:
BMYXB4J7UKPFRVVJVOLVFVXZPGU7ZCFMI

Die Torrent-Dateien besorgen

Die Daten wurden - anstatt sie vom CCC-CDN mit ~120 KB/s zu laden - per rTorrent geholt und weiterverteilt und zusätzlich auch über den verlinkten BittorrentSync-Ordner verteilt. Das hat mir an den Congresstagen tatsächlich die Videos sehr zeitnah in voller Geschwindigkeit nach Hause geholt :-)
Um nicht den ganzen Tag da zu sitzen und Video-URLs manuell einzupflegen habe ich mir ein kurzes Bash-Script gebastelt, welches dann letztlich per Cron alle 10 Minuten die Torrent-Dateien geladen hat.

Das Bash-Script ist relativ unspektakulär:

#!/bin/bash
/usr/bin/wget -nc --no-directories -q -O - 'http://cdn.media.ccc.de/congress/2015/h264-hd/?C=M;O=D' \
| /bin/grep -oE 'href="32c3-[^[:space:]]+\.mp4"' \
| /usr/bin/cut -d '=' -f 2 \
| /usr/bin/awk '{ gsub(".mp4\"",".mp4.torrent\"",$1); print $1 }' \
| /usr/bin/cut -d '"' -f 2 > /mnt/btdata/get32c3torrentlist.txt
/usr/bin/wget -nc -i '/mnt/btdata/get32c3torrentlist.txt' -B 'http://cdn.media.ccc.de/congress/2015/h264-hd/' -P '/mnt/btdata/torrentfiles/'
				    
Das Script...
  • lädt per wget die Liste der Dateien vom CCC-Server
  • filtert auf die URLs zu den .mp4-Dateien (im Quellcode wird nach "href=" gesucht)
  • dann der Teil vorm =-Zeichen abgeschnitten
  • die Dateipfade so angepasst, dass sie auf ".mp4.torrent" enden (Die URLs zu den Torrent-Dateien entsprechen denen der eigentlichen Videodateien - nur, dass sie halt den Suffix ".torrent" haben)
  • dann noch die Anführungszeichen entfernt
  • und zu guter Letzt alles in eine Textdatei geschrieben.
Diese Textdatei wird im nächsten Schritt von wget benutzt um dort mit der angegebenen Basis-URL (in der Dateiliste stehen nur die relativen Dateinamen, keine vollständigen Pfade!) in das mit "-P" angegebene Verzeichnis geladen.

Torrents automatisch starten

rTorrent derweil hat eine rtorrent.rc, in welcher festgelegt wird dass alle *.torrent-Dateien, die ich herunterlade auch automatisch gelesen und gestartet werden:
schedule = watch_directory,5,5,load.start=/mnt/btdata/torrentfiles/*.torrent
system.method.set_key = event.download.finished,move_complete,"execute=cp,-u,$d.get_base_path=,/mnt/btdata/32c3/h264-hd/"

dht = auto
directory = /mnt/btdata/dltemp/
				
Alle Dateien werden in das Verzeichnis "/mnt/btdata/dltemp" heruntergeladen und - wenn sie fertig sind - nach "/mnt/btdata/32c3/h264-hd/" (das Verzeichnis, aus dem BTSync verteilt) kopiert. Das ist nicht sehr effizient, für meinen Fall aber vollkommen ausreichend und hat verschiedene Probleme gelöst...
Der Eintrag "dht = auto" ist unschätzbar wichtig geworden, nachdem auch die Tracker-Server des CCC eher nur sporadisch funktioniert haben und mit Verwendung von DHT die Torrents deutlich schneller geladen wurden.

Zum Schluss noch die aktuelle Dateiliste für das Sync-Verzeichnis: (Stand: 24.12.2016, 17:47:38)

 332M 32c3-7102-de-en-Crypto_ist_Abwehr_IFG_ist_Angriff_hd.mp4
 269M 32c3-7119-en-de-Building_and_Breaking_Wireless_Security_hd.mp4
 681M 32c3-7130-en-de-The_Perl_Jam_2_hd.mp4
 386M 32c3-7133-en-de-Beyond_your_cable_modem_hd.mp4
 470M 32c3-7134-en-de-Ecuador_how_an_authoritarian_government_is_fooling_the_entire_world_hd.mp4
 449M 32c3-7135-de-en-Ein_Abgrund_von_Landesverrat_hd.mp4
 260M 32c3-7138-en-de-Gscheitern_hd.mp4
 546M 32c3-7139-en-de-A_Free_and_Open_Source_Verilog-to-Bitstream_Flow_for_iCE40_FPGAs_hd.mp4
 459M 32c3-7143-en-de-The_state_of_Internet_Censorship_hd.mp4
 328M 32c3-7146-de-en-Hardware-Trojaner_in_Security-Chips_hd.mp4
 730M 32c3-7150-de-en-Nach_bestem_Wissen_und_Gewissen_-_Floskeln_in_der_Politik_hd.mp4
 1,3G 32c3-7152-de-en-gsw-Hacker_Jeopardy_hd.mp4
 510M 32c3-7153-en-de-rad1o_hd.mp4
 832M 32c3-7154-en-de-Iridium_Update_hd.mp4
 723M 32c3-7162-en-de-Shooting_lasers_into_space_-_for_science_hd.mp4
 429M 32c3-7163-en-de-New_memory_corruption_attacks_why_cant_we_have_nice_things_hd.mp4
 527M 32c3-7165-en-de-Vehicle2Vehicle_Communication_based_on_IEEE_80211p_hd.mp4
 243M 32c3-7166-de-en-Sicherheit_von_125kHz_Transpondern_am_Beispiel_Hitag_S_hd.mp4
 497M 32c3-7171-en-de-When_hardware_must_just_work_hd.mp4
 522M 32c3-7174-en-de-Lifting_the_Fog_on_Red_Star_OS_hd.mp4
 467M 32c3-7189-en-Key-logger_Video_Mouse_hd.mp4
 217M 32c3-7195-en-de-Verified_Firewall_Ruleset_Verification_hd.mp4
 502M 32c3-7196-en-de-How_the_Great_Firewall_discovers_hidden_circumvention_servers_hd.mp4
 439M 32c3-7197-en-de-Rowhammerjs_Root_privileges_for_web_apps_hd.mp4
 209M 32c3-7202-de-en-Stromtankstellen_-_eine_neue_oeffentliche_Infrastruktur_hd.mp4
 427M 32c3-7205-de-Netzpolitik_in_der_Schweiz_2015_16_hd.mp4
 427M 32c3-7205-de-Netzpolitik_in_der_Schweiz_hd.mp4
 452M 32c3-7207-en-de-I_feel_like_a_criminal_and_I_have_to_be_god_at_the_same_time_hd.mp4
 964M 32c3-7209-en-What_does_Big_Brother_see_while_he_is_watching_hd.mp4
 451M 32c3-7210-en-de-PQCHacks_hd.mp4
 709M 32c3-7216-en-de-CHINTERNET_ART_hd.mp4
 605M 32c3-7218-en-de-A_Dozen_Years_of_Shellphish_hd.mp4
 239M 32c3-7219-en-de-Trust_us_and_our_business_will_expand_hd.mp4
 3,3G 32c3-7221-de-Methodisch_inkorrekt_hd.mp4
 811M 32c3-7225-de-en-Grundrechte_gelten_nicht_im_Weltall_hd.mp4
 890M 32c3-7227-en-Avoiding_kernel_panic_Europes_biggest_fails_in_digital_policy-making_hd.mp4
 476M 32c3-7228-de-en-NSA-Untersuchungsausschuss_Zwischen_Aufklaerungswillen_und_Mauern_aus_Schweigen_hd.mp4
 644M 32c3-7229-de-en-PLC-Blaster_hd.mp4
 275M 32c3-7230-de-en-Lessons_learned_Freifunk_fuer_Gefluechtete_hd.mp4
 750M 32c3-7231-en-de-CloudABI_hd.mp4
 332M 32c3-7236-en-de-Thunderstrike_2_hd.mp4
 274M 32c3-7238-en-de-Vector_retrogaming_hd.mp4
 299M 32c3-7240-en-de-Console_Hacking_hd.mp4
 433M 32c3-7243-en-de-Gibberish_Detection_102_hd.mp4
 275M 32c3-7245-en-de-Reversing_UEFI_by_execution_hd.mp4
 339M 32c3-7246-en-de-Free_Software_and_Hardware_bring_National_Sovereignty_hd.mp4
 543M 32c3-7249-de-en-Das_Zahnrad_aus_Fleisch_hd.mp4
 566M 32c3-7252-en-de-In_Security_of_Embedded_Devices_Firmware_-_Fast_and_Furious_at_Large_Scale_hd.mp4
 386M 32c3-7255-en-de-Neither_Snow_Nor_Rain_Nor_MITM_The_State_of_Email_Security_in_2015_hd.mp4
 622M 32c3-7259-en-de-Graphs_Drones_Phones_hd.mp4
 765M 32c3-7260-en-de-APT_Reports_and_OPSEC_Evolution_or_These_are_not_the_APT_reports_you_are_looking_for_hd.mp4
 365M 32c3-7263-en-de-GOIBlocks_-_Technical_observations_about_recent_internet_censorship_in_India_hd.mp4
 344M 32c3-7264-en-de-Profiling_In_justice_hd.mp4
 256M 32c3-7265-en-de-Maritime_Robotics_hd.mp4
 787M 32c3-7273-en-Unpatchable_hd.mp4
 526M 32c3-7277-en-de-Breaking_Honeypots_for_Fun_and_Profit_hd.mp4
 813M 32c3-7279-en-de-Public_Library_Memory_of_the_World_hd.mp4
 901M 32c3-7280-en-de-Cyber_all_the_Wassenaars_hd.mp4
 591M 32c3-7282-de-en-Fnord-Jahresrueckblick_hd.mp4
 1,1G 32c3-7283-en-de-Software_and_business_method_patents_call_for_action_hd.mp4
 339M 32c3-7284-en-de-Check_your_privileges_hd.mp4
 303M 32c3-7286-en-de-Sin_in_the_time_of_Technology_hd.mp4
 766M 32c3-7288-en-de-Logjam_Diffie-Hellman_discrete_logs_the_NSA_and_you_hd.mp4
 489M 32c3-7291-de-en-Microsofts_Windows_10_Botnet_hd.mp4
 585M 32c3-7294-en-de-Sanitizing_PCAPs_hd.mp4
 694M 32c3-7300-en-de-Hacking_EU_funding_for_a_decentralizing_FOSS_project_hd.mp4
 488M 32c3-7305-en-de-Quantum_Cryptography_hd.mp4
 1,2G 32c3-7306-de-en-Jahresrueckblick_des_CCC_hd.mp4
 850M 32c3-7307-en-de-State_of_the_Onion_hd.mp4
 253M 32c3-7310-en-de-QRtistry_hd.mp4
 311M 32c3-7314-en-de-All_Our_Shared_Spectrum_Are_Belong_to_Us_hd.mp4
 655M 32c3-7321-en-de-re_cycle_hd.mp4
 733M 32c3-7322-en-de-Tor_onion_services_more_useful_than_you_think_hd.mp4
 989M 32c3-7323-de-en-Wie_man_einen_Blackout_verursacht_hd.mp4
 285M 32c3-7324-en-de-What_is_the_value_of_anonymous_communication_hd.mp4
 325M 32c3-7325-en-de-REXUS_BEXUS_-_Rocket_and_Balloon_Experiments_for_University_Students_hd.mp4
 539M 32c3-7331-en-de-The_exhaust_emissions_scandal_Dieselgate_hd.mp4
 774M 32c3-7333-en-de-The_Magic_World_of_Searchable_Symmetric_Encryption_hd.mp4
 731M 32c3-7336-en-de-3D_printing_on_the_moon_hd.mp4
 591M 32c3-7340-en-de-Collect_It_All_Open_Source_Intelligence_OSINT_for_Everyone_hd.mp4
 705M 32c3-7341-en-de-So_you_want_to_build_a_satellite_hd.mp4
 622M 32c3-7342-en-de-Household_Totalitarianism_and_Cyberspace_hd.mp4
 588M 32c3-7342-en-Household_Totalitarianism_and_Cyberspace_hd.mp4
 449M 32c3-7343-en-de-Beyond_Anti_Evil_Maid_hd.mp4
 351M 32c3-7352-en-de-Towards_reasonably_trustworthy_x86_laptops_hd.mp4
 391M 32c3-7355-en-de-apertus_AXIOM_hd.mp4
 542M 32c3-7356-en-de-Top_X_usability_obstacles_hd.mp4
 361M 32c3-7360-de-en-Un_Sicherheit_von_App-basierten_TAN-Verfahren_im_Onlinebanking_hd.mp4
 404M 32c3-7367-en-de-Ling_-_High_level_system_programming_hd.mp4
 721M 32c3-7368-en-de-Shopshifting_hd.mp4
 358M 32c3-7369-en-de-How_to_contribute_to_make_open_hardware_happen_hd.mp4
 738M 32c3-7374-en-de-The_architecture_of_a_street_level_panopticon_hd.mp4
 604M 32c3-7375-en-de-Wireless_Drivers_Freedom_considered_harmful_hd.mp4
 571M 32c3-7386-en-de-Crypto_Wars_Part_II_hd.mp4
 457M 32c3-7387-en-de-Net_Neutrality_in_Europe_hd.mp4
 713M 32c3-7389-en-de-My_Robot_Will_Crush_You_With_Its_Soft_Delicate_Hands_hd.mp4
 359M 32c3-7400-en-de-Technology_and_Mass_Atrocity_Prevention_hd.mp4
 234M 32c3-7401-en-de-Internet_Cube_hd.mp4
 905M 32c3-7403-en-de-A_New_Kid_on_the_Block_hd.mp4
 273M 32c3-7412-en-Running_your_own_3G_35G_network_hd.mp4
 408M 32c3-7415-de-en-Wie_Jugendschutzprogramme_nicht_nur_die_Jugend_schaedigen_hd.mp4
 536M 32c3-7416-en-de-Evolution_of_Brain-Computer_Interfaces_hd.mp4
 505M 32c3-7419-en-de-On_Computing_Numbers_with_an_Application_to_Problems_of_our_Society_hd.mp4
 974M 32c3-7421-en-de-Fluxus_cannot_save_the_world_hd.mp4
 302M 32c3-7423-en-de-One_year_of_securitarian_drift_in_France_hd.mp4
 499M 32c3-7432-en-de-Datahavens_from_HavenCo_to_Today_hd.mp4
 376M 32c3-7435-en-de-Replication_Prohibited_hd.mp4
 570M 32c3-7438-en-de-goto_fail_hd.mp4
 305M 32c3-7441-en-de-The_plain_simple_reality_of_entropy_hd.mp4
 1,1G 32c3-7443-en-de-The_Price_Of_Dissent_hd.mp4
 478M 32c3-7449-en-de-Prediction_and_Control_hd.mp4
 263M 32c3-7457-en-de-Predicting_Crime_in_a_Big_Data_World_hd.mp4
 546M 32c3-7468-en-de-The_Ultimate_Amiga_500_Talk_hd.mp4
 535M 32c3-7482-en-de-Say_hi_to_your_new_boss_How_algorithms_might_soon_control_our_lives_hd.mp4
 531M 32c3-7483-en-de-Computational_Meta-Psychology_hd.mp4
 477M 32c3-7490-en-de-The_Great_Train_Cyber_Robbery_hd.mp4
 514M 32c3-7491-en-de-De-anonymizing_Programmers_hd.mp4
 647M 32c3-7493-en-de-How_hackers_grind_an_MMORPG_by_taking_it_apart_hd.mp4
 834M 32c3-7496-en-de-Hardsploit_A_Metasploit-like_tool_for_hardware_hacking_hd.mp4
 473M 32c3-7497-en-de-When_algorithms_fail_in_our_personal_lives_hd.mp4
 960M 32c3-7501-en-de-Ten_years_after_We_Lost_The_War_hd.mp4
 417M 32c3-7502-en-de-Dissecting_VoLTE_hd.mp4
 521M 32c3-7510-en-de-Windows_drivers_attack_surface_hd.mp4
 667M 32c3-7513-en-de-Safe_Harbor_hd.mp4
 473M 32c3-7517-en-de-the_possibility_of_an_army_hd.mp4
 230M 32c3-7520-de-en-Compileroptimierungen_fuer_Forth_im_Microcontroller_hd.mp4
 645M 32c3-7523-en-de-DDoS_mitigation_EPIC_FAIL_collection_hd.mp4
 1,1G 32c3-7525-de-en-Quantenphysik_und_Kosmologie_hd.mp4
 595M 32c3-7528-en-de-Lets_Encrypt_--_What_launching_a_free_CA_looks_like_hd.mp4
 290M 32c3-7529-en-de-Mobile_Censorship_in_Iran_hd.mp4
 258M 32c3-7530-en-de-Buffering_sucks_hd.mp4
 685M 32c3-7538-en-Internet_Landscapes_hd.mp4
 815M 32c3-7540-en-de-Maker_Spaces_in_Favelas_-_Lecture_hd.mp4
 552M 32c3-7543-de-The_mummy_unwrapped_hd.mp4
 774M 32c3-7546-de-en-Security_Nightmares_0x10_hd.mp4
 305M 32c3-7547-en-de-libusb_Maintainer_fail_hd.mp4
 848M 32c3-7549-en-de-20_OSCILLATORS_IN_20_MINUTES_hd.mp4
 208M 32c3-7550-en-Opening_Event_hd.mp4
 697M 32c3-7555-en-de-32C3_Infrastructure_Review_hd.mp4
1003M 32c3-7558-en-de-Lightning_Talks_Day_2_hd.mp4
 926M 32c3-7559-en-de-Lightning_Talks_Day_3_hd.mp4
 622M 32c3-7560-en-de-Lightning_Talks_Day_4_hd.mp4
 647M 32c3-7561-en-de-How_Open_Source_Software_second_hand_laptops_and_hackers_helped_stop_Ebola_and_stopped_an_apocalypse_hd.mp4
 840M 32c3-7562-de-en-Jugend_hackt_2015_hd.mp4
 773M 32c3-7565-en-Keynote_hd.mp4
 605M 32c3-7567-de-en-Katastrophe_und_Kommunikation_hd.mp4
 585M 32c3-7570-en-de-Plunge_into_Proxy_Politics_hd.mp4

				

Fragen? Anregungen? Kritik?

In Ermangelung einer öffentlichen Kommentierfunktion nehme ich Kritik oder Anregungen gerne per E-Mail entgegen: feedback+btsmirror@maxderdepp.de :-)

Zur Startseite | Impressum