Kutulutsidwa kwa Seva ya SFTP SFTPGo 1.0

Kutulutsa kofunikira koyamba kwa seva kunachitika SFTPGo 1.0, zomwe zimakupatsani mwayi wokonza zofikira kutali ndi mafayilo pogwiritsa ntchito ma protocol a SFTP, SCP/SSH ndi Rsync. Mwa zina, SFTPGo itha kugwiritsidwa ntchito kupereka mwayi wofikira ku Git pogwiritsa ntchito protocol ya SSH. Zambiri zitha kusamutsidwa kuchokera kumafayilo am'deralo komanso kuchokera kusungirako zakunja zomwe zimagwirizana ndi Amazon S3 ndi Google Cloud Storage. Kusunga nkhokwe ya osuta ndi metadata, ma DBMS mothandizidwa ndi SQL kapena mtundu wa key/value amagwiritsidwa ntchito, monga PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x kapena bbolt 1.3.x. Palinso njira yosungira metadata mu RAM, yomwe sifunikira kulumikiza database yakunja. Khodi ya polojekitiyi yalembedwa mu Go ndi wogawidwa ndi zololedwa pansi pa GPLv3.

Mfundo zazikulu:

  • Akaunti iliyonse imasinthidwa, ndikuchepetsa mwayi wopezeka m'ndandanda wakunyumba kwa wogwiritsa ntchito. Ndizotheka kupanga maulalo omwe amalozera deta kunja kwa chikwatu chakunyumba kwa wogwiritsa ntchito.
  • Maakaunti amasungidwa mu nkhokwe ya ogwiritsa ntchito omwe samadutsana ndi database ya ogwiritsa ntchito. SQLite, MySQL, PostgreSQL, bbolt ndi in-memory storage zitha kugwiritsidwa ntchito kusunga nkhokwe za ogwiritsa ntchito. Zothandizira zimaperekedwa pakujambula maakaunti apakompyuta - mwina mwachindunji kapena mwachisawawa ndizotheka (wogwiritsa ntchito m'modzi akhoza kujambulidwa kwa wogwiritsa wina).
  • Kutsimikizira pogwiritsa ntchito makiyi apagulu, makiyi a SSH ndi mapasiwedi amathandizidwa (kuphatikiza kutsimikizika kolumikizana ndi mawu achinsinsi omwe alowetsedwa kuchokera pa kiyibodi). Ndizotheka kumangirira makiyi angapo kwa wogwiritsa ntchito aliyense, komanso kukhazikitsa kutsimikizika kwazinthu zambiri ndi masitepe angapo (mwachitsanzo, ngati kutsimikizika kwakiyi kopambana, mawu achinsinsi angapemphedwenso).
  • Kwa wogwiritsa ntchito aliyense, ndizotheka kukonza njira zovomerezeka zosiyanasiyana, komanso kufotokozera njira zanu, zomwe zimagwiritsidwa ntchito poyitana mapulogalamu ovomerezeka akunja (mwachitsanzo, kutsimikizira kudzera pa LDAP) kapena kutumiza zopempha kudzera pa HTTP API.
  • Ndizotheka kulumikiza othandizira akunja kapena mafoni a HTTP API kuti asinthe magawo a ogwiritsa ntchito, omwe amatchedwa wogwiritsa ntchito asanalowe. Zothandizidwa zamphamvu kupanga ogwiritsa ntchito polumikizana.
  • Imathandizira ma quotas amtundu wa data ndi kuchuluka kwa mafayilo.
  • Kuthandizira kuchepetsa bandwidth ndi kasinthidwe kosiyana koletsa zoletsa zomwe zikubwera ndi zotuluka, komanso zoletsa pa kuchuluka kwa kulumikizana munthawi imodzi.
  • Zida zowongolera zofikira zomwe zimagwira ntchito mogwirizana ndi wogwiritsa ntchito kapena chikwatu (mutha kuchepetsa kuwonera mndandanda wamafayilo, kuletsa kutsitsa, kutsitsa, kulembanso, kufufuta, kusinthanso kapena kusintha ufulu wofikira, kuletsa kupanga maulalo kapena maulalo ophiphiritsa, ndi zina).
  • Kwa wogwiritsa ntchito aliyense, mutha kufotokozera zoletsa zapaintaneti, mwachitsanzo, mutha kuloleza kulowa kuchokera ku ma IP kapena ma subnets ena.
  • Imathandizira kulumikiza zosefera pazomwe zidatsitsidwa zokhudzana ndi ogwiritsa ntchito payekhapayekha (mwachitsanzo, mutha kuletsa kutsitsa mafayilo ndikuwonjezera kwina).
  • Ndizotheka kumangirira zowongolera zomwe zimayambitsidwa nthawi zosiyanasiyana ndi fayilo (kutsitsa, kufufuta, kusinthiranso, ndi zina). Kuphatikiza pa kuyimba mafoni, kutumiza zidziwitso ngati zopempha za HTTP kumathandizidwa.
  • Kuthetsa basi maulumikizidwe osagwira ntchito.
  • Kusintha kosinthika kwa atomiki popanda kusokoneza kulumikizana.
  • Kusamalira metrics zowunikira ku Prometheus.
  • Protocol ya HAProxy PROXY imathandizidwa kukonza kusanja kwa katundu kapena ma proxy ku ntchito za SFTP/SCP popanda kutaya zambiri za adilesi ya IP ya wogwiritsa ntchito.
  • REST API kuyang'anira ogwiritsa ntchito ndi maupangiri, kupanga zosunga zobwezeretsera ndikupanga malipoti pamalumikizidwe omwe akugwira ntchito.
  • Mawonekedwe a intaneti (http://127.0.0.1:8080/web) pakusintha ndi kuyang'anira (kusintha kudzera pamafayilo okhazikika kumathandizidwanso).
  • Kutha kufotokozera makonda mu JSON, TOML, YAML, HCL ndi envfile formats.
  • thandizo kulumikizana kudzera pa SSH ndi mwayi wochepa wamalamulo amadongosolo. Mwachitsanzo, amaloledwa kuyendetsa malamulo ofunikira pa Git (git-receive-pack, git-upload-pack, git-upload-archive) ndi rsync, komanso malamulo angapo omangidwa (scp, md5sum, sha *sum). , cd, pwd, sftpgo-copy ndi sftpgo-chotsa).
  • Njira kunyamulika kuti mugawane chikwatu chimodzi chodziwika bwino chokhala ndi zodziwikiratu zamalumikizidwe zomwe zimalengezedwa kudzera pa multicast DNS.
  • Dongosolo lophatikizidwa mbiri kusanthula magwiridwe antchito.
  • Zosavuta ndondomeko kusamuka kwa akaunti ya Linux system.
  • Kusungirako zolemba mu mtundu wa JSON.

Source: opennet.ru

Kuwonjezera ndemanga