# EasyLanNetdisk **Repository Path**: Codefish9/ELN-EasyLanNetdisk ## Basic Information - **Project Name**: EasyLanNetdisk - **Description**: EasyLanNetdisk,一款局域网环境下的高效文件存储与分享解决方案,支持跨平台使用,实现便捷快速的文件管理。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-22 - **Last Updated**: 2025-08-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: 网盘, HTML, Python ## README # EasyLanNetdisk Home Network Disk System ## 1. Project Overview EasyLanNetdisk is a lightweight network disk system designed specifically for home scenarios. It is developed based on the Python Flask framework. It is committed to creating a secure, convenient, and efficient file sharing and management platform for family members. Through a simple and easy-to-use web interface, users can easily upload, download, delete files, and perform other operations without complex technical knowledge. Meanwhile, the system supports multi-user login and stores files in categories according to the user's family, greatly improving the organization and search efficiency of file management. In the era of increasing popularity of digital life, various devices in the family continuously generate massive amounts of data, such as photos, videos, and documents. The demand for frequent file sharing among family members has also increased. Traditional file sharing methods, such as USB storage devices and social media file transfers, often have problems such as capacity limitations, insufficient security, and cumbersome operations. EasyLanNetdisk was created to solve these pain points, providing home users with a one-stop file storage and sharing solution, making home file management simpler, safer, and more efficient. ## 2. Project Background ### Current Status and Challenges of Home File Management With the popularization of smartphones, digital cameras, tablets, and other devices, the number of digital files in the family has exploded. The demand for sharing travel photos, children's growth videos, important documents, etc., among family members has become even stronger. However, the existing file sharing methods have many drawbacks. For example, using a USB storage device requires physical contact, which is not convenient for remote sharing; although social media platforms are convenient, there are file size limitations, and privacy is difficult to guarantee. In addition, file synchronization between different devices is also a challenge. ### Development Motivation and Goals The development of EasyLanNetdisk aims to break the limitations of traditional file sharing methods and provide home users with an exclusive, secure, and reliable file sharing platform. The project aims to achieve the following points: 1. **Convenience**: Provide a simple and easy-to-use web interface so that family members can use it easily without professional knowledge. 2. **Security**: Adopt a strict user authentication mechanism to ensure the security of user information and files. 3. **Categorical Management**: Store files in categories according to the user's family, making it convenient for users to find and manage files. 4. **Scalability**: Design a flexible architecture to facilitate the expansion and upgrade of subsequent functions. ## 3. Detailed Explanation of Main Functions ### 3.1 User Authentication - **Multi-user Support**: The system supports multiple users to use it simultaneously. Each user has an independent account and password. User information is managed through the `FA.txt` file to ensure that each family member can have their own exclusive storage space. - **Secure Verification Mechanism**: Use the security tools provided by the Flask framework to encrypt and verify user passwords, effectively preventing user information leakage. During the login process, the system will strictly verify the username and password entered by the user. Only users who pass the verification can enter the system. ### 3.2 File Management - **File Upload**: Users can select local files for upload through the web interface. The system supports batch uploads, allowing users to select multiple files for upload at once, greatly improving the efficiency of file uploads. During the upload process, an upload progress bar will be displayed, allowing users to view the upload status in real-time. - **File Download**: In the file list, users can easily find the required files and click the download button. The system will quickly download the files to the user's local device and support the breakpoint resume function to ensure the stability of large file downloads. - **File Deletion**: Authorized users can delete unnecessary files. The deletion operation will be recorded in the log, which is convenient for administrators to audit and trace. ### 3.3 File Classification The system will store files in categories according to the user's family. Each family has an independent sub - folder under the `File` folder, and the files uploaded by users will be automatically stored in the corresponding family folder. This classification method makes file management more organized, allowing users to quickly find the files they need. ### 3.4 Automatic Hiding Function The system will automatically hide the `FA.txt` file, which contains the user's account and password information. To ensure the security of the system, users cannot see this file or its corresponding delete button on the front - end interface. This design effectively prevents users from making misoperations and protects user information. ### 3.5 Other Special Features - **Easy Deployment**: EasyLanNetdisk only requires a desktop computer with Python installed. After starting the program, it can run independently without a keyboard, mouse, or monitor. - **Progress Display**: During the file upload process, the upload progress bar will be displayed in real-time, along with information such as the upload speed, the size of the uploaded files, and the remaining size, allowing users to have a clearer understanding of the upload process. - **Permission Management**: Different users can have different file management permissions. Administrators can flexibly configure user permissions to ensure the security and controllability of files. - **Intranet Penetration Support**: Use the Ngrok program to connect your computer and devices, enabling file transfer anytime and anywhere. ## 4. In - Depth Analysis of the Technology Stack ### 4.1 Back - end Technology - **Python Flask**: As the core framework, Flask is lightweight and flexible, capable of quickly building web applications. It provides functions such as routing, request handling, and session management, making it convenient for developers to implement business logic. At the same time, Flask has a rich set of extension libraries that can easily integrate various functions, such as database operations and user authentication. - **Jinja2**: Used to generate HTML templates and achieve dynamic interaction between the front - end and back - end data. Jinja2 supports template inheritance, variable substitution, loops, and conditional judgment, making the development of front - end pages more efficient and flexible. - **Werkzeug**: Provides a series of practical tools, such as file upload processing and security authentication. Werkzeug's file upload function can conveniently handle files uploaded by users, ensuring the security and integrity of files. ### 4.2 Front - end Technology - **HTML/CSS**: Used to build the user interface and provide a simple and beautiful user experience. Through CSS style sheets, the page can be personalized, and a responsive layout can be achieved to ensure normal display on different devices. - **JavaScript**: Used to implement page interaction functions, such as button click events and file upload progress display. JavaScript can enhance the user experience and make the page more dynamic and smooth. ## 5. System Advantages ### 5.1 High Security The system adopts a strict user authentication mechanism to encrypt and store user passwords, effectively preventing information leakage. At the same time, it automatically hides the `FA.txt` file to avoid users' information being misoperated or maliciously accessed. In addition, file deletion operations will be logged, which is convenient for administrators to audit and trace. ### 5.2 Strong Usability The simple web interface design allows users to easily complete file uploads, downloads, deletions, and other operations without complex operations. Functions such as the upload progress bar and file classification management further enhance the user experience and reduce the user's learning cost. ### 5.3 Good Scalability The system adopts a modular design, with low coupling between each functional module, facilitating the expansion and upgrade of subsequent functions. Developers can add new functional modules according to requirements, such as folder management and online preview. ### 5.4 Low Cost It is developed based on an open - source technology stack and does not require additional commercial license fees. Users only need an ordinary computer and a network environment to build their own home network disk system, greatly reducing the usage cost. ## 6. Application Scenarios ### 6.1 Home File Sharing Family members can share various files such as photos, videos, and documents through EasyLanNetdisk. For example, parents can upload their children's growth photos and videos for other family members to view at any time; family members can also share important documents such as insurance policies and property certificates. ### 6.2 Small - Team Collaboration Some small teams, such as startup teams and student groups, can also use EasyLanNetdisk for file sharing and collaboration. Team members can upload and download project - related files to improve work efficiency. ### 6.3 Personal File Backup Users can back up their important files to EasyLanNetdisk to avoid file loss due to device failure or loss. At the same time, users can access their files on different devices, achieving multi - terminal file synchronization. ## 7. Environment Requirements - Python 3.x - The required Python libraries can be installed through the `requirements.txt` file, which lists all the dependent libraries required for the project to run. ## 8. Installation Steps ### 8.1 Clone the Project ### 8.2 Create a Virtual Environment (Optional but Recommended) ```bash python -m venv venv .\venv\Scripts\activate ``` ### 8.3 Install Dependencies ```bash pip install -r requirements.txt ``` ## 9. Run the Project ```bash python app.py ``` After running the above command, open your browser and access the link on the fifth line of the `app.log` file to enter the system login page. ## 10. Usage Instructions ### 10.1 Configure an Account When running the project for the first time, please add a folder named after the username in the `File` folder. After creating it, create a `FA.txt` file, write the username on the first line, and write the password on the second line. ### 10.2 Login Enter your username and password on the login page and click the login button to enter the system. ### 10.3 File Upload On the file management page, click the upload button, select the files you want to upload, and click confirm to complete the file upload. ### 10.4 File Download In the file list, find the file you want to download and click the download button to download the file to your local device. ### 10.5 File Deletion In the file list, find the file you want to delete and click the delete button to delete the file. ## 11. Project Structure ```plaintext EasyLanNetdisk/ ├── File/ # Store files uploaded by users ├── app.log # Log file ├── app.py # Main application file ├── requirements.txt # Project dependency file ├── rizhi.txt # Possible log file └── templates/ # Front - end template files ├── index.html # File management page template └── login.html # Login page template ``` ## 12. Notes - Please ensure that all dependent libraries have been installed before running the project. - To ensure the security of the system, it is recommended to change the user password regularly. - The system will automatically hide the `FA.txt` file. Please do not manually delete this file to avoid affecting the normal operation of the system. ## 13. Contribution and Feedback If you encounter any problems during use or have any suggestions and comments, please feel free to provide feedback through the following methods: - Submit an Issue to the project repository. - Send an email to the "yshz66574@163.com" mailbox. ## 14. Future Plans 1. Develop folder - related functions to support the creation, renaming, deletion, and other operations of folders. 2. Display the remaining storage space so that users can view the disk usage in real - time. 3. Implement a recycle bin function to prevent accidental file deletion. 4. Support online file preview, including images, videos, documents, etc. 5. Optimize file upload and download speeds to enhance the user experience. 6. Add more user permission management options to meet the needs of different scenarios. Thank you for using EasyLanNetdisk!