Proyek ini adalah server transfer file berdasarkan protokol komunikasi I2TCP. Panjang kunci efektif mencapai 512 bit. Ini juga memiliki mekanisme otentikasi faktor ganda seperti Google untuk memastikan bahwa layanan dapat bertahan dengan aman di lingkungan jaringan publik.
pip install i2ftp-server
Python3.6+i2cylib >= 1.8.14i2ftps-setup server konfigurasi wizardi2ftps Server Mulai/Berhenti /usr/share/i2ftp/server_conf.json
b"I2FTP xx" TCP/IP yang mendasari ← I2TCP ← Level Teratas User
Perintah Klien - "Kueri": LIST,<PATH>
<bool 路径是否存在>,{'文件1':{is_dir:<bool 是否是文件夹> size:<int 大小>, time:<float 文件修改时间戳>}} Perintah Klien - "Permintaan Unduh": GETF,<PATH>
<bool 请求是否接受>,[16 bytes 下载会话ID] Perintah Klien - "Unduh Via Sesi ID": DOWN,<16 bytes 下载会话ID>,<uint64 文件指针偏移量>,<uint64 截止文件指针偏移量>
Jika satu paket pengembalian tidak dapat mengirimkan panjang yang diminta sekaligus, server akan mengirim beberapa paket secara bergantian sampai panjang yang diminta dipenuhi.
Jika截止文件指针偏移量≤文件指针偏移量, server akan mempertimbangkan bahwa data dari文件指针偏移量ke akhir file diminta.
Pengembalian: <bool 操作是否有效>,[uint64 文件指针偏移量],[bytes 数据内容最大长度524128 Bytes] (tunggal atau urutan)
Perintah Klien - "Permintaan Upload": PULF,<PATH>,<str_hex 文件哈希校验值>
<bool 操作是否有效>,[16 bytes 上传会话ID] Perintah Klien - "Unggah melalui ID Sesi": UPLD,<16 bytes 上传会话ID>,<uint64 文件指针偏移量>,<bytes 数据内容最大长度524128 Bytes>
<bool 上传是否成功>,[int 当前文件指针偏移量] Perintah Klien - "Tutup Sesi": CLOZ,<16 bytes 会话ID>
<bool 操作是否成功>,[hex_str 若会话为下载会话,则会同时返回文件的MD5校验值] Perintah Klien-"Operasi File/Folder": FIOP,<int 命令:0-重命名,1-移动,2-复制,3-删除,4-创建目录>,<str 路径1>,[str 路径2]
<bool 操作是否成功> Perintah Administrator - "Kontrol Proses": PCTL,[raw 保留字段]
<bool 操作是否成功>,<int 进程PID>