Tool zum versenden von Dateiem im Netzwerk gesucht.
-
Hi,
ich suche ein Tool mit dem ich im Netzwerk Dateien versenden kann.
Natürlich würde dies auch ohne ein Tool gehen, aber
das Problem ist, dass wir uns oft nicht finden und nicht die Lust haben
alles perfekt einzurichten. Zudem ist alles vertreten.
Windows XP, Vista und sogar Me. Linux ab und zu auch, aber das macht eg fast nie Probleme.
So verweigert Vista des öfteren das Freigeben von Dateien und den
Me Pc finden wir im Netzwerk gar nicht. Komischerweise finden Spiele wie
WC3 oder CS jeden PC. Das heißt das Netzwerk ist da, ist nur nicht richtig
für jedes System eingstellt. Ein Tool was dann jeder installiert würde das
veteilen von Dateien sehr erleichtern. Ich habe schon gesucht, aber nur
Programme gefunden die das alles übers Internet machen.
Kennt jemand zufällig so ein Tool?mfg
-
FTP, DCC, BitTorrent, ICQ, und was auch immer ich gerade vergessen habe.
-
Ich hatte vor einiger Zeit mal ein kleines Programm geschrieben, welches einen Ordner samt Inhalt per HTTP zur Verfügung stellt. Es ist in C++ geschrieben und nutzt nur boost. Es sollte sich also für jedes Windows oder Posix OS übersetzen lassen. Solange das Programm läuft ist das Arbeitsverzeichnis des Programms für jeden einsehbar* der eine direkte Verbindung zum Rechner aufbauen kann. Zum Downloaden einfach einen x beliebigen Browser benutzen und http://ip-des-rechners-im-lan/ als Adresse eingeben.
EDIT: Falls der Rechner direkt im Internet hängt oder der genutzte Port (per default 80) vom Router an ihn weitergeleitet wird dann kann auch jeder aus dem Internet auf die Daten zugreifen. Bei sensiblen Daten sollte man also vorsichtig sein.
#include <boost/program_options/options_description.hpp> #include <boost/program_options/variables_map.hpp> #include <boost/program_options/parsers.hpp> #include <boost/filesystem.hpp> #include <boost/filesystem/fstream.hpp> #include <boost/asio.hpp> #include <ctime> #include <iostream> #include <string> using boost::asio::ip::tcp; namespace po = boost::program_options; namespace fs = boost::filesystem; void handle_request(std::istream&in, std::ostream&out) { std::string cmd; in>>cmd; if(cmd == "GET"){ std::string name; std::string http_version; in>>name>>http_version; fs::path rel_file(name), file = fs::initial_path() / rel_file; std::clog << "Trying to get " << file.string() << std::endl; if(name.find("/../") != std::string::npos || name.find("../") == 0 || name.find("/..") == name.size() - 4 || name == ".."){ std::clog << " > Refusing request because of .. in path" << std::endl; out << "HTTP/1.0 400 Bad Request\r\n"; }else if(!fs::is_directory(file) && !fs::is_regular(file)){ std::clog << " > Not found" << std::endl; out << "HTTP/1.0 404 File not found\r\n" "Content-Type: text/html\r\n" "\r\n" "<html><body><p>File "<<rel_file.file_string()<<" not found</p></body></html>"; }else if(fs::is_directory(file)){ if(!name.empty() && name[name.size()-1] != '/'){ std::clog << " > Redirecting" << std::endl; out << "HTTP/1.0 301 Moved Permanently\r\n" "Location: " << name << "/\r\n"; }else{ std::clog << " > Sending directory listing" << std::endl; out << "HTTP/1.0 200 OK\r\n" "Content-Type: text/html\r\n" "\r\n" "<html><body>"; out << "<h1>Directory Listing of " << name << "</h1>"; if(name != "/") out << "<p><a href=\"..\">Move a directory up</a></p>"; fs::directory_iterator i(file), end; if(i != end){ out << "<ul>"; for(; i != end; ++i){ if(fs::is_regular(*i) || fs::is_directory(*i)){ std::clog << " > + " << i->string() << std::endl; out << "<li><a href=\"" << i->leaf(); if(fs::is_directory(*i)) out << '/'; out << "\">" << i->leaf() << "</a></li>"; } } out << "</ul>"; }else out << "<p>Empty directory</p>"; out << "</body></html>"; } }else{ std::clog << " > Starting file download" << std::endl; out << "HTTP/1.0 200 OK\r\n" "Content-Length: " << fs::file_size(file) << "\r\n" "Content-Disposition: attachment; filename=" << file.leaf() << "\r\n" "\r\n"; fs::ifstream fin(file, std::ios::binary); out << fin.rdbuf(); } }else out << "HTTP/1.0 501 Not Implemented\r\n"; } int main(int argc, char*argv[]) { try{ unsigned port; po::options_description desc("Allowed options"); desc.add_options() ("help,h", "show help message") ("port,p", po::value<unsigned>(&port)->default_value(80), "port number") ; po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); po::notify(vm); if (vm.count("help")) { std::cout << desc << std::endl; return 1; } boost::asio::io_service io_service; tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port)); std::cout << "This computer can be reached as http://"<<boost::asio::ip::host_name(); if(port == 80) std::cout <<"/ "<< std::endl; else std::cout <<":"<<port<<"/ "<< std::endl; for (;;){ tcp::iostream stream; acceptor.accept(*stream.rdbuf()); handle_request(stream, stream); } }catch (std::exception& e){ std::cerr << "An error occured : " << e.what() << std::endl; } return 0; }
-
Ein einfacher Webserver der Dateien zur Verfügung stellt.
Man kann z.b. einfach per Drag&Drop Ordner hinzufügen. Upload von Dateien ist auch möglich. Einen ganzen Ordner mit allen Dateien und Unter-Ordnern drin kann einfach per tar-Datei heruntergeladen werden (auf jeder Seite ein link "Download als tar").Find ich recht gelungen!

-
Danke Oliver,
genau soetwas habe ich gesucht.
@Leecher
Wie kann man ICQ denn im Netzwerk starten?
Man muss sich doch irgendwie einloggen, dass geht aber nicht
ohne Internet.
-
http://lanshark.29a.ch/de/
Das ist ein gutes Tool um Dateien übers Netzwerk verschieben zu können.
-
asdasdasdasd
