fix: apply anti-dos also to archives

This commit is contained in:
Massimo Melina 2020-06-27 15:50:06 +02:00
parent 44f37f92cf
commit 863c667f1b
7 changed files with 733 additions and 684 deletions

View File

@ -27,6 +27,16 @@ uses
OverbyteIcsWSocket, OverbyteIcshttpProt;
type
TantiDos = class
protected
accepted: boolean;
Paddress: string;
public
constructor create;
destructor Destroy; override;
function accept(conn:ThttpConn; address:string=''):boolean;
end;
TfastStringAppend = class
protected
buff: string;
@ -221,6 +231,70 @@ implementation
uses
utilLib, main, windows, dateUtils, forms;
const folderConcurrents: integer = 0;
const MAX_CONCURRENTS = 3;
const ip2availability: Tdictionary<string,Tdatetime> = NIL;
constructor TantiDos.create();
begin
accepted:=FALSE;
end;
function TantiDos.accept(conn:ThttpConn; address:string=''):boolean;
procedure reject();
resourcestring
MSG_ANTIDOS_REPLY = 'Please wait, server busy';
begin
conn.reply.mode:=HRM_OVERLOAD;
conn.addHeader(ansistring('Refresh: '+intToStr(1+random(2)))); // random for less collisions
conn.reply.body:=UTF8Encode(MSG_ANTIDOS_REPLY);
end;
begin
if address= '' then
address:=conn.address;
if ip2availability = NIL then
ip2availability:=Tdictionary<string,Tdatetime>.create();
try
if ip2availability[address] > now() then // this specific address has to wait?
begin
reject();
exit(FALSE);
end;
except
end;
if folderConcurrents >= MAX_CONCURRENTS then // max number of concurrent folder loading, others are postponed
begin
reject();
exit(FALSE);
end;
inc(folderConcurrents);
Paddress:=address;
ip2availability.AddOrSetValue(address, now()+1/HOURS);
accepted:=TRUE;
Result:=TRUE;
end;
destructor TantiDos.Destroy;
var
pair: Tpair<string,Tdatetime>;
t: Tdatetime;
begin
if not accepted then
exit;
t:=now();
if folderConcurrents = MAX_CONCURRENTS then // serving multiple addresses at max capacity, let's give a grace period for others
ip2availability[Paddress]:=t + 1/SECONDS
else
ip2availability.Remove(Paddress);
dec(folderConcurrents);
// purge leftovers
for pair in ip2availability do
if pair.Value < t then
ip2availability.Remove(pair.Key);
end;
class function ThttpClient.createURL(url:string):ThttpClient;
begin
if startsText('https://', url)

View File

@ -1,3 +1,5 @@
{$A+,B-,C+,E-,F-,G+,H+,I-,J+,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,X+,Y+,Z1}
{$DEFINE NOT STABLE }
{$IFDEF STABLE }
{$ASSERTIONS OFF}

586
hfs.drc
View File

@ -8,272 +8,273 @@
resources were bound to the produced executable.
*/
#define main_MSG_NUM_ADDR_DL 64656
#define main_MSG_MAX_LINES 64657
#define main_MSG_APACHE_LOG_FMT 64658
#define main_MSG_APACHE_LOG_FMT_LONG 64659
#define main_MSG_ICONS_ADDED 64660
#define main_MSG_DDNS_DISABLED 64661
#define main_MSG_MD5_WARN 64662
#define main_MSG_AUTO_MD5 64663
#define main_MSG_AUTO_MD5_LONG 64664
#define main_MSG_UPL_HOWTO 64665
#define main_MSG_EDIT_RES 64672
#define main_MSG_TPL_USE_MACROS 64673
#define main_REMOVE_SHELL 64674
#define main_S_OFF 64675
#define main_S_ON 64676
#define main_LOG 64677
#define main_MSG_RE_NOIP 64678
#define main_MSG_TRAY_DEF 64679
#define main_MSG_CLEAN_START 64680
#define main_MSG_RESTORE_BAK 64681
#define main_MSG_EXT_ADDR_FAIL 64682
#define main_MSG_TO_EXPERT 64683
#define main_MSG_DONT_LOG_HINT 64684
#define main_MSG_DL_PERC 64685
#define main_MSG_UNINSTALL_WARN 64686
#define main_MSG_NUM_ADDR 64687
#define main_MSG_SELF_6 64688
#define main_MSG_SELF_7 64689
#define main_MSG_RET_EXT 64690
#define main_MSG_SELF_CANT_ON 64691
#define main_MSG_SELF_CANT_LIST 64692
#define main_MSG_SELF_CANT_S 64693
#define main_MSG_SELF_ING 64694
#define main_MSG_TEST_CANC 64695
#define main_MSG_TEST_INET 64696
#define main_MSG_SELF_UNAV 64697
#define main_MSG_SELF_NO_INET 64698
#define main_MSG_SELF_NO_ANSWER 64699
#define main_MSG_OPEN_BROW 64700
#define main_MSG_OPEN_BROW_LONG 64701
#define main_MSG_HIDE_PORT 64702
#define main_MSG_EVENTS_HLP 64703
#define main_MSG_DISAB_FIND_EXT 64704
#define main_MSG_ENT_URL 64705
#define main_MSG_ENT_URL_LONG 64706
#define main_MSG_ENT_USR 64707
#define main_MSG_ENT_PWD 64708
#define main_MSG_ENT_HOST 64709
#define main_MSG_ENT_HOST_LONG 64710
#define main_MSG_HOST_FORM 64711
#define main_MSG_MIN_SPACE 64712
#define main_MSG_MIN_SPACE_LONG 64713
#define main_MSG_REN_PART 64714
#define main_MSG_REN_PART_LONG 64715
#define main_MSG_SELF_BEFORE 64716
#define main_MSG_SELF_OK 64717
#define main_MSG_SELF_OK_PORT 64718
#define main_MSG_SELF_3 64719
#define main_MSG_LOG_FILE_LONG 64720
#define main_MSG_SET_URL 64721
#define main_MSG_SET_URL_LONG 64722
#define main_MSG_REALM 64723
#define main_MSG_REALM_LONG 64724
#define main_MSG_INACT_TIMEOUT 64725
#define main_MSG_INACT_TIMEOUT_LONG 64726
#define main_MSG_CHANGES_LOST 64727
#define main_MSG_FLAG_NEW 64728
#define main_MSG_FLAG_NEW_LONG 64729
#define main_MSG_DONT_LOG_MASK 64730
#define main_MSG_DONT_LOG_MASK_LONG 64731
#define main_MSG_CUST_IP 64732
#define main_MSG_CUST_IP_LONG 64733
#define main_MSG_NO_EXT_IP 64734
#define main_MSG_RESET_TOT 64735
#define main_MSG_LOADING_VFS 64736
#define main_MSG_VFS_OLD 64737
#define main_MSG_UNK_FK 64738
#define main_MSG_VIS_ONLY_ANON 64739
#define main_MSG_AUTO_DISABLED 64740
#define main_MSG_CORRUPTED 64741
#define main_MSG_MACROS_FOUND 64742
#define main_MSG_UPD_INFO 64743
#define main_MSG_NEWER 64744
#define main_MSG_SRC_UPD 64745
#define main_ARE_EXPERT 64746
#define main_ARE_EASY 64747
#define main_SW2EXPERT 64748
#define main_SW2EASY 64749
#define main_MSG_DL_TIMEOUT_LONG 64750
#define main_MSG_LOG_FILE 64751
#define main_MSG_ZLIB 64752
#define main_MSG_BAKAVAILABLE 64753
#define main_MSG_CANT_LOAD_SAVE 64754
#define main_MSG_OPEN_VFS 64755
#define main_LIMIT 64756
#define main_TOP_SPEED 64757
#define main_MSG_MAX_BW 64758
#define main_MSG_LIM0 64759
#define main_MSG_MAX_BW_1 64760
#define main_MSG_GRAPH_RATE_MENU 64761
#define main_MSG_MAX_CON_LONG 64762
#define main_MSG_WARN_CONN 64763
#define main_MSG_WARN_ACT_DL 64764
#define main_MSG_MAX_CON_SING_LONG 64765
#define main_MSG_GRAPH_RATE 64766
#define main_MSG_TENTH_SEC 64767
#define main_MSG_CON_STATE_IDLE 64768
#define main_MSG_CON_STATE_REQ 64769
#define main_MSG_CON_STATE_RCV 64770
#define main_MSG_CON_STATE_THINK 64771
#define main_MSG_CON_STATE_REP 64772
#define main_MSG_CON_STATE_SEND 64773
#define main_MSG_CON_STATE_DISC 64774
#define main_MSG_CON_PAUSED 64775
#define main_MSG_CON_SENT 64776
#define main_MSG_CON_RECEIVED 64777
#define main_MSG_TPL_RESET 64778
#define main_MSG_ALLO_REF 64779
#define main_MSG_ALLO_REF_LONG 64780
#define main_MSG_BETTERSTOP 64781
#define main_MSG_BADCRC 64782
#define main_MSG_NEWER 64783
#define main_MSG_VFS_ARCABLE 64784
#define main_MSG_VFS_DEF_MASK 64785
#define main_MSG_VFS_ACCESS 64786
#define main_MSG_VFS_UPLOAD 64787
#define main_MSG_VFS_DELETE 64788
#define main_MSG_VFS_COMMENT 64789
#define main_MSG_VFS_REALM 64790
#define main_MSG_VFS_DIFF_TPL 64791
#define main_MSG_VFS_FILES_FLT 64792
#define main_MSG_VFS_FLD_FLT 64793
#define main_MSG_VFS_UPL_FLT 64794
#define main_MSG_VFS_DONT_CONS_DL 64795
#define main_MSG_VFS_DONT_CONS_DL_MASK 64796
#define main_MSG_VFS_INHERITED 64797
#define main_MSG_VFS_EXTERNAL 64798
#define main_MSG_CON_HINT 64799
#define main_VFS_ITEMS 64800
#define main_MSG_ITEM_EXISTS 64801
#define main_MSG_INSTALL_TPL 64802
#define main_MSG_FOLDER_UPLOAD 64803
#define main_MSG_VFS_DRAG_INVIT 64804
#define main_MSG_VFS_URL 64805
#define main_MSG_VFS_PATH 64806
#define main_MSG_VFS_SIZE 64807
#define main_MSG_VFS_DLS 64808
#define main_MSG_VFS_INVISIBLE 64809
#define main_MSG_VFS_DL_FORB 64810
#define main_MSG_VFS_DONT_LOG 64811
#define main_MSG_VFS_HIDE_EMPTY 64812
#define main_MSG_VFS_NOT_BROW 64813
#define main_MSG_VFS_HIDE_EMPTY_FLD 64814
#define main_MSG_VFS_HIDE_EXT 64815
#define main_MSG_CHK_UPD_FAIL 64816
#define main_MSG_CHK_UPD_HEAD 64817
#define main_MSG_CHK_UPD_VER 64818
#define main_MSG_CHK_UPD_VER_EXT 64819
#define main_MSG_CHK_UPD_NONE 64820
#define main_TO_CLIP 64821
#define main_ALREADY_CLIP 64822
#define main_MSG_NO_SPACE 64823
#define main_CONN 64824
#define main_TOT_IN 64825
#define main_TOT_OUT 64826
#define main_OUT_SPEED 64827
#define main_IN_SPEED 64828
#define main_BANS 64829
#define main_MEMORY 64830
#define main_CUST_TPL 64831
#define main_AUTOSAVE 64832
#define main_SECONDS 64833
#define main_MSG_SPD_LIMIT_SING 64834
#define main_MSG_SPD_LIMIT 64835
#define main_MSG_AUTO_SAVE 64836
#define main_MSG_AUTO_SAVE_LONG 64837
#define main_MSG_MIN 64838
#define main_MSG_BAN 64839
#define main_MSG_CANT_SAVE_OPT 64840
#define main_MSG_UPD_SAVE_ERROR 64841
#define main_MSG_UPD_REQ_ONLY1 64842
#define main_MSG_UPD_WAIT 64843
#define main_MSG_UPD_DL 64844
#define main_MSG_UPDATE 64845
#define main_MSG_REQUESTING 64846
#define main_MSG_CHK_UPD 64847
#define main_MSG_LOG_UPL 64848
#define main_MSG_LOG_UPLOADED 64849
#define main_MSG_LOG_UPL_FAIL 64850
#define main_MSG_LOG_DL 64851
#define main_MSG_LOGIN_FAILED 64852
#define main_MSG_MIN_DISK_REACHED 64853
#define main_MSG_UPL_NAME_FORB 64854
#define main_MSG_UPL_CANT_CREATE 64855
#define main_FINGERPRINT 64856
#define main_NO_FINGERPRINT 64857
#define main_MSG_SAVE_VFS 64858
#define main_MSG_INP_COMMENT 64859
#define main_MSG_FILE_ADD_ABORT 64860
#define main_MSG_ADDING 64861
#define main_MSG_INV_FILENAME 64862
#define main_MSG_DELETE 64863
#define main_MSG_PORT_USED_BY 64864
#define main_MSG_PORT_BLOCKED 64865
#define main_MSG_KICK_ALL 64866
#define main_MSG_TPL_INCOMPATIBLE 64867
#define main_MSG_LOG_SERVER_START 64868
#define main_MSG_LOG_SERVER_STOP 64869
#define main_MSG_LOG_CONNECTED 64870
#define main_MSG_LOG_DISC_SRV 64871
#define main_MSG_LOG_DISC 64872
#define main_MSG_LOG_GOT 64873
#define main_MSG_LOG_BYTES_SENT 64874
#define main_MSG_LOG_SERVED 64875
#define main_MSG_LOG_HEAD 64876
#define main_MSG_LOG_NOT_MOD 64877
#define main_MSG_LOG_REDIR 64878
#define main_MSG_LOG_NOT_SERVED 64879
#define main_MSG_DDNS_nohost 64880
#define main_MSG_DDNS_notyours 64881
#define main_MSG_DDNS_numhost 64882
#define main_MSG_DDNS_abuse 64883
#define main_MSG_DDNS_dnserr 64884
#define main_MSG_DDNS_911 64885
#define main_MSG_DDNS_notdonator 64886
#define main_MSG_DDNS_badagent 64887
#define main_MSG_BAN_MASK 64888
#define main_MSG_IP_MASK_LONG 64889
#define main_MSG_KICK_ADDR 64890
#define main_MSG_BAN_ALREADY 64891
#define main_MSG_BAN_CMT 64892
#define main_MSG_BAN_CMT_LONG 64893
#define main_MSG_BREAK_DYN_DNS 64894
#define main_MSG_CANT_OPEN_PORT 64895
#define main_MSG_NO_TEMP 64896
#define main_MSG_ERROR_REGISTRY 64897
#define main_MSG_MANY_ITEMS 64898
#define main_MSG_ADD_TO_HFS 64899
#define main_MSG_SINGLE_INSTANCE 64900
#define main_MSG_COMM_ERROR 64901
#define main_MSG_DDNS_NO_REPLY 64902
#define main_MSG_DDNS_OK 64903
#define main_MSG_DDNS_UNK 64904
#define main_MSG_DDNS_ERR 64905
#define main_MSG_DDNS_REQ 64906
#define main_MSG_DDNS_DOING 64907
#define main_MSG_DDNS_FAIL 64908
#define main_MSG_DDNS_REPLY_SIZE 64909
#define main_MSG_DDNS_badauth 64910
#define main_MSG_DDNS_notfqdn 64911
#define main_MSG_MAX_SIM_ADDR 64912
#define main_MSG_MAX_SIM_ADDR_DL 64913
#define main_MSG_MAX_SIM_DL_SING 64914
#define main_MSG_MAX_SIM_DL 64915
#define main_MSG_SET_LIMIT 64916
#define main_MSG_UNPROTECTED_LINKS 64917
#define main_MSG_SAME_NAME 64918
#define main_MSG_CONTINUE 64919
#define main_MSG_PROCESSING 64920
#define main_MSG_SPEED_KBS 64921
#define main_MSG_OPTIONS_SAVED 64922
#define main_MSG_SOME_LOCKED 64923
#define main_MSG_ITEM_LOCKED 64924
#define main_MSG_INVALID_VALUE 64925
#define main_MSG_EMPTY_NO_LIMIT 64926
#define main_MSG_ADDRESSES_EXCEED 64927
#define main_MSG_NUM_ADDR 64656
#define main_MSG_NUM_ADDR_DL 64657
#define main_MSG_MAX_LINES 64658
#define main_MSG_APACHE_LOG_FMT 64659
#define main_MSG_APACHE_LOG_FMT_LONG 64660
#define main_MSG_ICONS_ADDED 64661
#define main_MSG_DDNS_DISABLED 64662
#define main_MSG_MD5_WARN 64663
#define main_MSG_AUTO_MD5 64664
#define main_MSG_AUTO_MD5_LONG 64665
#define main_MSG_UPL_HOWTO 64666
#define main_MSG_EVENTS_HLP 64672
#define main_MSG_EDIT_RES 64673
#define main_MSG_TPL_USE_MACROS 64674
#define main_REMOVE_SHELL 64675
#define main_S_OFF 64676
#define main_S_ON 64677
#define main_LOG 64678
#define main_MSG_RE_NOIP 64679
#define main_MSG_TRAY_DEF 64680
#define main_MSG_CLEAN_START 64681
#define main_MSG_RESTORE_BAK 64682
#define main_MSG_EXT_ADDR_FAIL 64683
#define main_MSG_TO_EXPERT 64684
#define main_MSG_DONT_LOG_HINT 64685
#define main_MSG_DL_PERC 64686
#define main_MSG_UNINSTALL_WARN 64687
#define main_MSG_SELF_3 64688
#define main_MSG_SELF_6 64689
#define main_MSG_SELF_7 64690
#define main_MSG_RET_EXT 64691
#define main_MSG_SELF_CANT_ON 64692
#define main_MSG_SELF_CANT_LIST 64693
#define main_MSG_SELF_CANT_S 64694
#define main_MSG_SELF_ING 64695
#define main_MSG_TEST_CANC 64696
#define main_MSG_TEST_INET 64697
#define main_MSG_SELF_UNAV 64698
#define main_MSG_SELF_NO_INET 64699
#define main_MSG_SELF_NO_ANSWER 64700
#define main_MSG_OPEN_BROW 64701
#define main_MSG_OPEN_BROW_LONG 64702
#define main_MSG_HIDE_PORT 64703
#define main_MSG_RESET_TOT 64704
#define main_MSG_DISAB_FIND_EXT 64705
#define main_MSG_ENT_URL 64706
#define main_MSG_ENT_URL_LONG 64707
#define main_MSG_ENT_USR 64708
#define main_MSG_ENT_PWD 64709
#define main_MSG_ENT_HOST 64710
#define main_MSG_ENT_HOST_LONG 64711
#define main_MSG_HOST_FORM 64712
#define main_MSG_MIN_SPACE 64713
#define main_MSG_MIN_SPACE_LONG 64714
#define main_MSG_REN_PART 64715
#define main_MSG_REN_PART_LONG 64716
#define main_MSG_SELF_BEFORE 64717
#define main_MSG_SELF_OK 64718
#define main_MSG_SELF_OK_PORT 64719
#define main_MSG_LOG_FILE 64720
#define main_MSG_LOG_FILE_LONG 64721
#define main_MSG_SET_URL 64722
#define main_MSG_SET_URL_LONG 64723
#define main_MSG_REALM 64724
#define main_MSG_REALM_LONG 64725
#define main_MSG_INACT_TIMEOUT 64726
#define main_MSG_INACT_TIMEOUT_LONG 64727
#define main_MSG_CHANGES_LOST 64728
#define main_MSG_FLAG_NEW 64729
#define main_MSG_FLAG_NEW_LONG 64730
#define main_MSG_DONT_LOG_MASK 64731
#define main_MSG_DONT_LOG_MASK_LONG 64732
#define main_MSG_CUST_IP 64733
#define main_MSG_CUST_IP_LONG 64734
#define main_MSG_NO_EXT_IP 64735
#define main_MSG_TENTH_SEC 64736
#define main_MSG_LOADING_VFS 64737
#define main_MSG_VFS_OLD 64738
#define main_MSG_UNK_FK 64739
#define main_MSG_VIS_ONLY_ANON 64740
#define main_MSG_AUTO_DISABLED 64741
#define main_MSG_CORRUPTED 64742
#define main_MSG_MACROS_FOUND 64743
#define main_MSG_UPD_INFO 64744
#define main_MSG_NEWER 64745
#define main_MSG_SRC_UPD 64746
#define main_ARE_EXPERT 64747
#define main_ARE_EASY 64748
#define main_SW2EXPERT 64749
#define main_SW2EASY 64750
#define main_MSG_DL_TIMEOUT_LONG 64751
#define main_MSG_NEWER 64752
#define main_MSG_ZLIB 64753
#define main_MSG_BAKAVAILABLE 64754
#define main_MSG_CANT_LOAD_SAVE 64755
#define main_MSG_OPEN_VFS 64756
#define main_LIMIT 64757
#define main_TOP_SPEED 64758
#define main_MSG_MAX_BW 64759
#define main_MSG_LIM0 64760
#define main_MSG_MAX_BW_1 64761
#define main_MSG_GRAPH_RATE_MENU 64762
#define main_MSG_MAX_CON_LONG 64763
#define main_MSG_WARN_CONN 64764
#define main_MSG_WARN_ACT_DL 64765
#define main_MSG_MAX_CON_SING_LONG 64766
#define main_MSG_GRAPH_RATE 64767
#define main_MSG_CON_HINT 64768
#define main_MSG_CON_STATE_IDLE 64769
#define main_MSG_CON_STATE_REQ 64770
#define main_MSG_CON_STATE_RCV 64771
#define main_MSG_CON_STATE_THINK 64772
#define main_MSG_CON_STATE_REP 64773
#define main_MSG_CON_STATE_SEND 64774
#define main_MSG_CON_STATE_DISC 64775
#define main_MSG_CON_PAUSED 64776
#define main_MSG_CON_SENT 64777
#define main_MSG_CON_RECEIVED 64778
#define main_MSG_TPL_RESET 64779
#define main_MSG_ALLO_REF 64780
#define main_MSG_ALLO_REF_LONG 64781
#define main_MSG_BETTERSTOP 64782
#define main_MSG_BADCRC 64783
#define main_MSG_VFS_HIDE_EXT 64784
#define main_MSG_VFS_ARCABLE 64785
#define main_MSG_VFS_DEF_MASK 64786
#define main_MSG_VFS_ACCESS 64787
#define main_MSG_VFS_UPLOAD 64788
#define main_MSG_VFS_DELETE 64789
#define main_MSG_VFS_COMMENT 64790
#define main_MSG_VFS_REALM 64791
#define main_MSG_VFS_DIFF_TPL 64792
#define main_MSG_VFS_FILES_FLT 64793
#define main_MSG_VFS_FLD_FLT 64794
#define main_MSG_VFS_UPL_FLT 64795
#define main_MSG_VFS_DONT_CONS_DL 64796
#define main_MSG_VFS_DONT_CONS_DL_MASK 64797
#define main_MSG_VFS_INHERITED 64798
#define main_MSG_VFS_EXTERNAL 64799
#define main_CUST_TPL 64800
#define main_VFS_ITEMS 64801
#define main_MSG_ITEM_EXISTS 64802
#define main_MSG_INSTALL_TPL 64803
#define main_MSG_FOLDER_UPLOAD 64804
#define main_MSG_VFS_DRAG_INVIT 64805
#define main_MSG_VFS_URL 64806
#define main_MSG_VFS_PATH 64807
#define main_MSG_VFS_SIZE 64808
#define main_MSG_VFS_DLS 64809
#define main_MSG_VFS_INVISIBLE 64810
#define main_MSG_VFS_DL_FORB 64811
#define main_MSG_VFS_DONT_LOG 64812
#define main_MSG_VFS_HIDE_EMPTY 64813
#define main_MSG_VFS_NOT_BROW 64814
#define main_MSG_VFS_HIDE_EMPTY_FLD 64815
#define main_MSG_CHK_UPD 64816
#define main_MSG_CHK_UPD_FAIL 64817
#define main_MSG_CHK_UPD_HEAD 64818
#define main_MSG_CHK_UPD_VER 64819
#define main_MSG_CHK_UPD_VER_EXT 64820
#define main_MSG_CHK_UPD_NONE 64821
#define main_TO_CLIP 64822
#define main_ALREADY_CLIP 64823
#define main_MSG_NO_SPACE 64824
#define main_CONN 64825
#define main_TOT_IN 64826
#define main_TOT_OUT 64827
#define main_OUT_SPEED 64828
#define main_IN_SPEED 64829
#define main_BANS 64830
#define main_MEMORY 64831
#define main_MSG_DELETE 64832
#define main_AUTOSAVE 64833
#define main_SECONDS 64834
#define main_MSG_SPD_LIMIT_SING 64835
#define main_MSG_SPD_LIMIT 64836
#define main_MSG_AUTO_SAVE 64837
#define main_MSG_AUTO_SAVE_LONG 64838
#define main_MSG_MIN 64839
#define main_MSG_BAN 64840
#define main_MSG_CANT_SAVE_OPT 64841
#define main_MSG_UPD_SAVE_ERROR 64842
#define main_MSG_UPD_REQ_ONLY1 64843
#define main_MSG_UPD_WAIT 64844
#define main_MSG_UPD_DL 64845
#define main_MSG_UPDATE 64846
#define main_MSG_REQUESTING 64847
#define main_MSG_LOG_NOT_SERVED 64848
#define main_MSG_LOG_UPL 64849
#define main_MSG_LOG_UPLOADED 64850
#define main_MSG_LOG_UPL_FAIL 64851
#define main_MSG_LOG_DL 64852
#define main_MSG_LOGIN_FAILED 64853
#define main_MSG_MIN_DISK_REACHED 64854
#define main_MSG_UPL_NAME_FORB 64855
#define main_MSG_UPL_CANT_CREATE 64856
#define main_FINGERPRINT 64857
#define main_NO_FINGERPRINT 64858
#define main_MSG_SAVE_VFS 64859
#define main_MSG_INP_COMMENT 64860
#define main_MSG_FILE_ADD_ABORT 64861
#define main_MSG_ADDING 64862
#define main_MSG_INV_FILENAME 64863
#define main_MSG_CANT_OPEN_PORT 64864
#define main_MSG_PORT_USED_BY 64865
#define main_MSG_PORT_BLOCKED 64866
#define main_MSG_KICK_ALL 64867
#define main_MSG_TPL_INCOMPATIBLE 64868
#define main_MSG_LOG_SERVER_START 64869
#define main_MSG_LOG_SERVER_STOP 64870
#define main_MSG_LOG_CONNECTED 64871
#define main_MSG_LOG_DISC_SRV 64872
#define main_MSG_LOG_DISC 64873
#define main_MSG_LOG_GOT 64874
#define main_MSG_LOG_BYTES_SENT 64875
#define main_MSG_LOG_SERVED 64876
#define main_MSG_LOG_HEAD 64877
#define main_MSG_LOG_NOT_MOD 64878
#define main_MSG_LOG_REDIR 64879
#define main_MSG_DDNS_notfqdn 64880
#define main_MSG_DDNS_nohost 64881
#define main_MSG_DDNS_notyours 64882
#define main_MSG_DDNS_numhost 64883
#define main_MSG_DDNS_abuse 64884
#define main_MSG_DDNS_dnserr 64885
#define main_MSG_DDNS_911 64886
#define main_MSG_DDNS_notdonator 64887
#define main_MSG_DDNS_badagent 64888
#define main_MSG_BAN_MASK 64889
#define main_MSG_IP_MASK_LONG 64890
#define main_MSG_KICK_ADDR 64891
#define main_MSG_BAN_ALREADY 64892
#define main_MSG_BAN_CMT 64893
#define main_MSG_BAN_CMT_LONG 64894
#define main_MSG_BREAK_DYN_DNS 64895
#define main_MSG_ADDRESSES_EXCEED 64896
#define main_MSG_NO_TEMP 64897
#define main_MSG_ERROR_REGISTRY 64898
#define main_MSG_MANY_ITEMS 64899
#define main_MSG_ADD_TO_HFS 64900
#define main_MSG_SINGLE_INSTANCE 64901
#define main_MSG_COMM_ERROR 64902
#define main_MSG_DDNS_NO_REPLY 64903
#define main_MSG_DDNS_OK 64904
#define main_MSG_DDNS_UNK 64905
#define main_MSG_DDNS_ERR 64906
#define main_MSG_DDNS_REQ 64907
#define main_MSG_DDNS_DOING 64908
#define main_MSG_DDNS_FAIL 64909
#define main_MSG_DDNS_REPLY_SIZE 64910
#define main_MSG_DDNS_badauth 64911
#define main_MSG_MAX_CON_SING 64912
#define main_MSG_MAX_SIM_ADDR 64913
#define main_MSG_MAX_SIM_ADDR_DL 64914
#define main_MSG_MAX_SIM_DL_SING 64915
#define main_MSG_MAX_SIM_DL 64916
#define main_MSG_SET_LIMIT 64917
#define main_MSG_UNPROTECTED_LINKS 64918
#define main_MSG_SAME_NAME 64919
#define main_MSG_CONTINUE 64920
#define main_MSG_PROCESSING 64921
#define main_MSG_SPEED_KBS 64922
#define main_MSG_OPTIONS_SAVED 64923
#define main_MSG_SOME_LOCKED 64924
#define main_MSG_ITEM_LOCKED 64925
#define main_MSG_INVALID_VALUE 64926
#define main_MSG_EMPTY_NO_LIMIT 64927
#define JclResources_RsIntelCacheDescrF0 64928
#define JclResources_RsIntelCacheDescrF1 64929
#define JclResources_RsIntelCacheDescrFF 64930
@ -281,15 +282,15 @@
#define JclResources_RsOSVersionWinServer2012 64932
#define JclResources_RsOSVersionWin81 64933
#define JclResources_RsOSVersionWinServer2012R2 64934
#define optionsDlg_MSG_INVERT_BAN 64935
#define main_S_PORT_LABEL 64936
#define main_S_PORT_ANY 64937
#define main_DISABLED 64938
#define main_S_OK 64939
#define main_MSG_MENU_VAL 64940
#define main_MSG_DL_TIMEOUT 64941
#define main_MSG_MAX_CON 64942
#define main_MSG_MAX_CON_SING 64943
#define classesLib_MSG_ANTIDOS_REPLY 64935
#define optionsDlg_MSG_INVERT_BAN 64936
#define main_S_PORT_LABEL 64937
#define main_S_PORT_ANY 64938
#define main_DISABLED 64939
#define main_S_OK 64940
#define main_MSG_MENU_VAL 64941
#define main_MSG_DL_TIMEOUT 64942
#define main_MSG_MAX_CON 64943
#define JclResources_RsIntelCacheDescrCA 64944
#define JclResources_RsIntelCacheDescrD0 64945
#define JclResources_RsIntelCacheDescrD1 64946
@ -884,6 +885,7 @@
#define System_SysConst_SDiskFull 65535
STRINGTABLE
BEGIN
main_MSG_NUM_ADDR, L"In this moment there are %d different addresses"
main_MSG_NUM_ADDR_DL, L"In this moment there are %d different addresses downloading"
main_MSG_MAX_LINES, L"Max lines on screen."
main_MSG_APACHE_LOG_FMT, L"Apache log file format"
@ -894,6 +896,7 @@ BEGIN
main_MSG_AUTO_MD5, L"Auto fingerprint"
main_MSG_AUTO_MD5_LONG, L"When you add files and no fingerprint is found, it is calculated.\rTo avoid long waitings, set a limit to file size (in KiloBytes).\rLeave empty to disable, and have no fingerprint created."
main_MSG_UPL_HOWTO, L"1. Add a folder (choose \"real folder\")\r\rYou should now see a RED folder in your virtual file sytem, inside HFS\r\r2. Right click on this folder\r3. Properties -> Permissions -> Upload\r4. Check on \"Anyone\"\r5. Ok\r\rNow anyone who has access to your HFS server can upload files to you."
main_MSG_EVENTS_HLP, L"For help on how to use this file please refer http://www.rejetto.com/wiki/?title=HFS:_Event_scripts"
main_MSG_EDIT_RES, L"Edit resource"
main_MSG_TPL_USE_MACROS, L"The current template is using macros.\rDo you want to cancel this action?"
main_REMOVE_SHELL, L"Remove from shell context menu"
@ -909,7 +912,7 @@ BEGIN
main_MSG_DONT_LOG_HINT, L"Select the files/folder you don't want to be logged,\rthen right click and select \"Don't log\"."
main_MSG_DL_PERC, L"Downloading %d%%"
main_MSG_UNINSTALL_WARN, L"Delete HFS and all settings?"
main_MSG_NUM_ADDR, L"In this moment there are %d different addresses"
main_MSG_SELF_3, L"You may be behind a router or firewall."
main_MSG_SELF_6, L"You are behind a router.\rEnsure it is configured to forward port %s to your computer."
main_MSG_SELF_7, L"You may be behind a firewall.\rEnsure nothing is blocking HFS."
main_MSG_RET_EXT, L"Retrieving external address..."
@ -925,7 +928,7 @@ BEGIN
main_MSG_OPEN_BROW, L"Open directly in browser"
main_MSG_OPEN_BROW_LONG, L"\"Suggest\" the browser to open directly the specified files.\rOther files should pop up a save dialog."
main_MSG_HIDE_PORT, L"You should not use this option unless you really know its meaning.\rContinue?"
main_MSG_EVENTS_HLP, L"For help on how to use this file please refer http://www.rejetto.com/wiki/?title=HFS:_Event_scripts"
main_MSG_RESET_TOT, L"Do you want to reset total in/out?"
main_MSG_DISAB_FIND_EXT, L"This option makes pointless the option \"Find external address at startup\", which has now been disabled for your convenience."
main_MSG_ENT_URL, L"Enter URL"
main_MSG_ENT_URL_LONG, L"Enter URL for updating.\r%ip% will be translated to your external IP."
@ -941,7 +944,7 @@ BEGIN
main_MSG_SELF_BEFORE, L"Here you can test if your server does work on the Internet.\rIf you are not interested in serving files over the Internet, this is NOT for you.\r\rWe'll now perform a test involving network activity.\rIn order to complete this test, you may need to allow HFS's activity in your firewall, by clicking Allow on the warning prompt.\r\rWARNING: for the duration of the test, all ban rules and limits on the number of connections won't apply."
main_MSG_SELF_OK, L"The test is successful. The server should be working fine."
main_MSG_SELF_OK_PORT, L"Port %s is not working, but another working port has been found and set: %s."
main_MSG_SELF_3, L"You may be behind a router or firewall."
main_MSG_LOG_FILE, L"Log file"
main_MSG_LOG_FILE_LONG, L"This function does not save any previous information to the log file.\rInstead, it saves all information that appears in the log box in real-time (from when you click \"OK\", below).\rSpecify a filename for the log.\rIf you leave the filename blank, no log file is saved.\r\rHere are some symbols you can use in the filename to split the log:\r %d% -- day of the month (1..31)\r %m% -- month (1..12)\r %y% -- year (2000..)\r %dow% -- day of the week (0..6)\r %w% -- week of the year (1..53)\r %user% -- username surrounded by parenthesis"
main_MSG_SET_URL, L"Set URL"
main_MSG_SET_URL_LONG, L"Please insert an URL for the link\r\rDo not forget to specify http:// or whatever.\r%%ip%% will be translated to your address"
@ -957,7 +960,7 @@ BEGIN
main_MSG_CUST_IP, L"Custom IP addresses"
main_MSG_CUST_IP_LONG, L"Specify your addresses, each per line"
main_MSG_NO_EXT_IP, L"Can't find external address\r( %s )"
main_MSG_RESET_TOT, L"Do you want to reset total in/out?"
main_MSG_TENTH_SEC, L"Tenths of second"
main_MSG_LOADING_VFS, L"Loading VFS"
main_MSG_VFS_OLD, L"This file is old and uses different settings.\rThe \"let browse\" folder option will be reset.\rRe-saving the file will update its format."
main_MSG_UNK_FK, L"This file has been created with a newer version.\rSome data was discarded because unknown.\rIf you save the file now, the discarded data will NOT be saved."
@ -973,7 +976,7 @@ BEGIN
main_SW2EXPERT, L"Switch to Expert mode"
main_SW2EASY, L"Switch to Easy mode"
main_MSG_DL_TIMEOUT_LONG, L"Enter the number of MINUTES with no download after which the program automatically shuts down.\rLeave blank to get no timeout."
main_MSG_LOG_FILE, L"Log file"
main_MSG_NEWER, L"This file has been created with a newer and incompatible version."
main_MSG_ZLIB, L"This file is corrupted (ZLIB)."
main_MSG_BAKAVAILABLE, L"This file is corrupted but a backup is available.\rContinue with backup?"
main_MSG_CANT_LOAD_SAVE, L"Cannot load or save while adding files"
@ -989,7 +992,7 @@ BEGIN
main_MSG_WARN_ACT_DL, L"In this moment there are %d active downloads"
main_MSG_MAX_CON_SING_LONG, L"Max simultaneous connections to accept from a single IP address.\rMost people don't know this function well, and have problems. If you are unsure, please use the \"Max simultaneous downloads from a single IP address\"."
main_MSG_GRAPH_RATE, L"Graph refresh rate"
main_MSG_TENTH_SEC, L"Tenths of second"
main_MSG_CON_HINT, L"Connection time: %s\rLast request time: %s\rAgent: %s"
main_MSG_CON_STATE_IDLE, L"idle"
main_MSG_CON_STATE_REQ, L"requesting"
main_MSG_CON_STATE_RCV, L"receiving"
@ -1005,7 +1008,7 @@ BEGIN
main_MSG_ALLO_REF_LONG, L"Leave empty to disable this feature.\rHere you can specify a mask.\rWhen a file is requested, if the mask doesn't match the \"Referer\" HTTP field, the request is rejected."
main_MSG_BETTERSTOP, L"\rGoing on may lead to problems.\rIt is adviced to stop loading.\rStop?"
main_MSG_BADCRC, L"This file is corrupted (CRC)."
main_MSG_NEWER, L"This file has been created with a newer and incompatible version."
main_MSG_VFS_HIDE_EXT, L"Hide extention"
main_MSG_VFS_ARCABLE, L"Archivable"
main_MSG_VFS_DEF_MASK, L"Default file mask: %s"
main_MSG_VFS_ACCESS, L"Access for"
@ -1021,7 +1024,7 @@ BEGIN
main_MSG_VFS_DONT_CONS_DL_MASK, L"Don't consider as download (mask): %s"
main_MSG_VFS_INHERITED, L" [inherited]"
main_MSG_VFS_EXTERNAL, L" [external]"
main_MSG_CON_HINT, L"Connection time: %s\rLast request time: %s\rAgent: %s"
main_CUST_TPL, L"Customized template"
main_VFS_ITEMS, L"VFS: %d items"
main_MSG_ITEM_EXISTS, L"%s item(s) already exists:\r%s\r\rContinue?"
main_MSG_INSTALL_TPL, L"Install this template?"
@ -1037,7 +1040,7 @@ BEGIN
main_MSG_VFS_HIDE_EMPTY, L"Hidden if empty"
main_MSG_VFS_NOT_BROW, L"Not browsable"
main_MSG_VFS_HIDE_EMPTY_FLD, L"Hide empty folders"
main_MSG_VFS_HIDE_EXT, L"Hide extention"
main_MSG_CHK_UPD, L"Checking for updates"
main_MSG_CHK_UPD_FAIL, L"Check update: failed"
main_MSG_CHK_UPD_HEAD, L"Check update: "
main_MSG_CHK_UPD_VER, L"new version found: %s"
@ -1053,7 +1056,7 @@ BEGIN
main_IN_SPEED, L"In: %.1f KB/s"
main_BANS, L"Ban rules: %d"
main_MEMORY, L"Mem"
main_CUST_TPL, L"Customized template"
main_MSG_DELETE, L"Delete?"
main_AUTOSAVE, L"Auto save every: "
main_SECONDS, L"%d seconds"
main_MSG_SPD_LIMIT_SING, L"Speed limit for single address"
@ -1069,7 +1072,7 @@ BEGIN
main_MSG_UPD_DL, L"Downloading new version..."
main_MSG_UPDATE, L"You are invited to use the new version.\r\rUpdate now?"
main_MSG_REQUESTING, L"Requesting..."
main_MSG_CHK_UPD, L"Checking for updates"
main_MSG_LOG_NOT_SERVED, L"Not served: %d - %s"
main_MSG_LOG_UPL, L"Uploading %s"
main_MSG_LOG_UPLOADED, L"Fully uploaded %s - %s @ %sB/s"
main_MSG_LOG_UPL_FAIL, L"Upload failed %s"
@ -1085,7 +1088,7 @@ BEGIN
main_MSG_FILE_ADD_ABORT, L"File addition was aborted.\rThe list of files is incomplete."
main_MSG_ADDING, L"Adding item #%d"
main_MSG_INV_FILENAME, L"Invalid filename"
main_MSG_DELETE, L"Delete?"
main_MSG_CANT_OPEN_PORT, L"Cannot open port."
main_MSG_PORT_USED_BY, L"It is already used by %s"
main_MSG_PORT_BLOCKED, L"Something is blocking, maybe your system firewall."
main_MSG_KICK_ALL, L"There are %d connections open.\rDo you want to close them now?"
@ -1101,7 +1104,7 @@ BEGIN
main_MSG_LOG_HEAD, L"Served head"
main_MSG_LOG_NOT_MOD, L"Not modified, use cache"
main_MSG_LOG_REDIR, L"Redirected to %s"
main_MSG_LOG_NOT_SERVED, L"Not served: %d - %s"
main_MSG_DDNS_notfqdn, L"incomplete hostname, required form aaa.bbb.com"
main_MSG_DDNS_nohost, L"specified hostname does not exist"
main_MSG_DDNS_notyours, L"specified hostname belongs to another username"
main_MSG_DDNS_numhost, L"too many or too few hosts found"
@ -1117,7 +1120,7 @@ BEGIN
main_MSG_BAN_CMT, L"Ban comment"
main_MSG_BAN_CMT_LONG, L"A comment for this ban..."
main_MSG_BREAK_DYN_DNS, L"This option is NOT compatible with \"dynamic dns updater\".\rContinue?"
main_MSG_CANT_OPEN_PORT, L"Cannot open port."
main_MSG_ADDRESSES_EXCEED, L"The following addresses exceed the limit:\r%s"
main_MSG_NO_TEMP, L"Cannot save temporary file"
main_MSG_ERROR_REGISTRY, L"Can't write to registry.\rYou may lack necessary rights."
main_MSG_MANY_ITEMS, L"You are putting many files.\rTry using real folders instead of virtual folders.\rRead documentation or ask on the forum for help."
@ -1133,7 +1136,7 @@ BEGIN
main_MSG_DDNS_FAIL, L"DNS update failed: %s\rUser intervention is required."
main_MSG_DDNS_REPLY_SIZE, L"%d bytes reply"
main_MSG_DDNS_badauth, L"invalid user/password"
main_MSG_DDNS_notfqdn, L"incomplete hostname, required form aaa.bbb.com"
main_MSG_MAX_CON_SING, L"Max connections from single address"
main_MSG_MAX_SIM_ADDR, L"Max simultaneous addresses"
main_MSG_MAX_SIM_ADDR_DL, L"Max simultaneous addresses downloading"
main_MSG_MAX_SIM_DL_SING, L"Max simultaneous downloads from single address"
@ -1149,7 +1152,6 @@ BEGIN
main_MSG_ITEM_LOCKED, L"The item is locked"
main_MSG_INVALID_VALUE, L"Invalid value"
main_MSG_EMPTY_NO_LIMIT, L"Leave blank to get no limits."
main_MSG_ADDRESSES_EXCEED, L"The following addresses exceed the limit:\r%s"
JclResources_RsIntelCacheDescrF0, L"64-Byte Prefetching"
JclResources_RsIntelCacheDescrF1, L"128-Byte Prefetching"
JclResources_RsIntelCacheDescrFF, L"CPUID leaf 2 does not report cache descriptor information, use CPUID leaf 4 to query cache parameters"
@ -1157,6 +1159,7 @@ BEGIN
JclResources_RsOSVersionWinServer2012, L"Windows Server 2012"
JclResources_RsOSVersionWin81, L"Windows 8.1"
JclResources_RsOSVersionWinServer2012R2, L"Windows Server 2012 R2"
classesLib_MSG_ANTIDOS_REPLY, L"Please wait, server busy"
optionsDlg_MSG_INVERT_BAN, L"Normal behavior of the Ban is to prevent access to the addresses you specify (also called black-list).\rIf you want the opposite, to allow the addresses that you specify (white-list), enter all addresses in a single row preceded by a \\ character.\r\rLet say you want to allow all your 192.168 local network plus your office at 1.1.1.1.\rJust put this IP address mask: \\192.168.*;1.1.1.1\rThe opening \\ character inverts the logic, so everything else is banned.\r\rIf you want to know more about address masks, check the guide."
main_S_PORT_LABEL, L"Port: %s"
main_S_PORT_ANY, L"any"
@ -1165,7 +1168,6 @@ BEGIN
main_MSG_MENU_VAL, L" (%s)"
main_MSG_DL_TIMEOUT, L"No downloads timeout"
main_MSG_MAX_CON, L"Max connections"
main_MSG_MAX_CON_SING, L"Max connections from single address"
JclResources_RsIntelCacheDescrCA, L"Shared 2nd-Level TLB: 4 KByte pages, 4-way associative, 512 entries"
JclResources_RsIntelCacheDescrD0, L"3rd-level cache: 512 KByte, 4-way set associative, 64 byte line size"
JclResources_RsIntelCacheDescrD1, L"3rd-level cache: 1 MByte, 4-way set associative, 64 byte line size"

553
hfs.lng
View File

@ -1,5 +1,5 @@
; Kryvich's Delphi Localizer Language File.
; Generated by K.D.L. Scanner, 6/5/2020 6:56:45 PM
; Generated by K.D.L. Scanner, 27/06/2020 16:23:26
Humanize=1
HumanizedCR=\^
@ -452,281 +452,282 @@ Panel1.Button1.Caption=&Yes
Panel1.Button2.Caption=&No
[ResourceStrings]
64656_main_MSG_NUM_ADDR_DL=In this moment there are %d different addresses downloading
64657_main_MSG_MAX_LINES=Max lines on screen.
64658_main_MSG_APACHE_LOG_FMT=Apache log file format
64659_main_MSG_APACHE_LOG_FMT_LONG=Here you can specify how to format the log file complying Apache standard.\^Leave blank to get bare copy of screen on file.\^\^Example:\^ %h %l %u %t "%r" %>s %b
64660_main_MSG_ICONS_ADDED=%d new icons added
64661_main_MSG_DDNS_DISABLED=Dynamic DNS updater disabled
64662_main_MSG_MD5_WARN=This option creates an .md5 file for every new calculated fingerprint.\^Use with care to get not your disk invaded by these files.
64663_main_MSG_AUTO_MD5=Auto fingerprint
64664_main_MSG_AUTO_MD5_LONG=When you add files and no fingerprint is found, it is calculated.\^To avoid long waitings, set a limit to file size (in KiloBytes).\^Leave empty to disable, and have no fingerprint created.
64665_main_MSG_UPL_HOWTO=1. Add a folder (choose "real folder")\^\^You should now see a RED folder in your virtual file sytem, inside HFS\^\^2. Right click on this folder\^3. Properties -> Permissions -> Upload\^4. Check on "Anyone"\^5. Ok\^\^Now anyone who has access to your HFS server can upload files to you.
64672_main_MSG_EDIT_RES=Edit resource
64673_main_MSG_TPL_USE_MACROS=The current template is using macros.\^Do you want to cancel this action?
64674_main_REMOVE_SHELL=Remove from shell context menu
64675_main_S_OFF=Switch OFF
64676_main_S_ON{1}=Switch ON
64677_main_LOG=Log
64678_main_MSG_RE_NOIP=You are invited to re-insert your No-IP configuration, otherwise the updater won't work as expected.
64679_main_MSG_TRAY_DEF=%ip%\^Uptime: %uptime%\^Downloads: %downloads%
64680_main_MSG_CLEAN_START=Clean start
64681_main_MSG_RESTORE_BAK=A file system backup has been created for a system shutdown.\^Do you want to restore this backup?
64682_main_MSG_EXT_ADDR_FAIL=Search for external address failed
64683_main_MSG_TO_EXPERT=Switch to expert mode.
64684_main_MSG_DONT_LOG_HINT=Select the files/folder you don't want to be logged,\^then right click and select "Don't log".
64685_main_MSG_DL_PERC=Downloading %d%%
64686_main_MSG_UNINSTALL_WARN=Delete HFS and all settings?
64687_main_MSG_NUM_ADDR=In this moment there are %d different addresses
64688_main_MSG_SELF_6=You are behind a router.\^Ensure it is configured to forward port %s to your computer.
64689_main_MSG_SELF_7=You may be behind a firewall.\^Ensure nothing is blocking HFS.
64690_main_MSG_RET_EXT=Retrieving external address...
64691_main_MSG_SELF_CANT_ON=Unable to switch the server on
64692_main_MSG_SELF_CANT_LIST=Self test cannot be performed because HFS was configured to accept connections only on 127.0.0.1
64693_main_MSG_SELF_CANT_S=Self test doesn't support HTTPS.\^It's likely it won't work.
64694_main_MSG_SELF_ING=Self testing...
64695_main_MSG_TEST_CANC=Test cancelled
64696_main_MSG_TEST_INET=Testing internet connection...
64697_main_MSG_SELF_UNAV=Sorry, the test is unavailable at the moment
64698_main_MSG_SELF_NO_INET=Your internet connection does not work
64699_main_MSG_SELF_NO_ANSWER=The test failed: server does not answer.
64700_main_MSG_OPEN_BROW=Open directly in browser
64701_main_MSG_OPEN_BROW_LONG="Suggest" the browser to open directly the specified files.\^Other files should pop up a save dialog.
64702_main_MSG_HIDE_PORT=You should not use this option unless you really know its meaning.\^Continue?
64703_main_MSG_EVENTS_HLP=For help on how to use this file please refer http://www.rejetto.com/wiki/?title=HFS:_Event_scripts
64704_main_MSG_DISAB_FIND_EXT=This option makes pointless the option "Find external address at startup", which has now been disabled for your convenience.
64705_main_MSG_ENT_URL=Enter URL
64706_main_MSG_ENT_URL_LONG=Enter URL for updating.\^%ip% will be translated to your external IP.
64707_main_MSG_ENT_USR=Enter user
64708_main_MSG_ENT_PWD=Enter password
64709_main_MSG_ENT_HOST=Enter host
64710_main_MSG_ENT_HOST_LONG=Enter domain (full form!)
64711_main_MSG_HOST_FORM=Please, enter it in the FULL form, with dots
64712_main_MSG_MIN_SPACE=Min disk space
64713_main_MSG_MIN_SPACE_LONG=The upload will fail if your disk has less than the specified amount of free MegaBytes.
64714_main_MSG_REN_PART=Rename partial uploads
64715_main_MSG_REN_PART_LONG=This string will be appended to the filename.\^\^If you need more control, enter a string with %name% in it, and this symbol will be replaced by the original filename.
64716_main_MSG_SELF_BEFORE=Here you can test if your server does work on the Internet.\^If you are not interested in serving files over the Internet, this is NOT for you.\^\^We'll now perform a test involving network activity.\^In order to complete this test, you may need to allow HFS's activity in your firewall, by clicking Allow on the warning prompt.\^\^WARNING: for the duration of the test, all ban rules and limits on the number of connections won't apply.
64717_main_MSG_SELF_OK=The test is successful. The server should be working fine.
64718_main_MSG_SELF_OK_PORT=Port %s is not working, but another working port has been found and set: %s.
64719_main_MSG_SELF_3=You may be behind a router or firewall.
64720_main_MSG_LOG_FILE_LONG=This function does not save any previous information to the log file.\^Instead, it saves all information that appears in the log box in real-time (from when you click "OK", below).\^Specify a filename for the log.\^If you leave the filename blank, no log file is saved.\^\^Here are some symbols you can use in the filename to split the log:\^ %d% -- day of the month (1..31)\^ %m% -- month (1..12)\^ %y% -- year (2000..)\^ %dow% -- day of the week (0..6)\^ %w% -- week of the year (1..53)\^ %user% -- username surrounded by parenthesis
64721_main_MSG_SET_URL=Set URL
64722_main_MSG_SET_URL_LONG=Please insert an URL for the link\^\^Do not forget to specify http:// or whatever.\^%%ip%% will be translated to your address
64723_main_MSG_REALM=Login realm
64724_main_MSG_REALM_LONG=The realm string is shown on the user/pass dialog of the browser.\^Here you can customize the realm for the login button
64725_main_MSG_INACT_TIMEOUT=Connection inactivity timeout
64726_main_MSG_INACT_TIMEOUT_LONG=The connection is kicked after a timeout.\^Specify in seconds.\^Leave blank to get no timeout.
64727_main_MSG_CHANGES_LOST=All changes will be lost\^Continue?
64728_main_MSG_FLAG_NEW=Flag new files
64729_main_MSG_FLAG_NEW_LONG=Enter the number of MINUTES files stay flagged from their addition.\^Leave blank to disable.
64730_main_MSG_DONT_LOG_MASK=Do not log address
64731_main_MSG_DONT_LOG_MASK_LONG=Any event from the following IP address mask will be not logged.
64732_main_MSG_CUST_IP=Custom IP addresses
64733_main_MSG_CUST_IP_LONG=Specify your addresses, each per line
64734_main_MSG_NO_EXT_IP=Can't find external address\^( %s )
64735_main_MSG_RESET_TOT=Do you want to reset total in/out?
64736_main_MSG_LOADING_VFS=Loading VFS
64737_main_MSG_VFS_OLD=This file is old and uses different settings.\^The "let browse" folder option will be reset.\^Re-saving the file will update its format.
64738_main_MSG_UNK_FK=This file has been created with a newer version.\^Some data was discarded because unknown.\^If you save the file now, the discarded data will NOT be saved.
64739_main_MSG_VIS_ONLY_ANON=This VFS file uses the "Visible only to anonymous users" feature.\^This feature is not available anymore.\^You can achieve similar results by restricting access to @anonymous,\^then enabling "List protected items only for allowed users".
64740_main_MSG_AUTO_DISABLED=Because of the problems encountered in loading,\^automatic saving has been disabled\^until you save manually or load another one.
64741_main_MSG_CORRUPTED=This file does not contain valid data.
64742_main_MSG_MACROS_FOUND=!!!!!!!!! DANGER !!!!!!!!!\^This file contains macros.\^Don't accept macros from people you don't trust.\^\^Trust this file?
64743_main_MSG_UPD_INFO=Last stable version: %s\^\^Last untested version: %s\^
64744_main_MSG_NEWER=There's a new version available online: %s
64745_main_MSG_SRC_UPD=Searching for updates...
64746_main_ARE_EXPERT{1}=You are in Expert mode
64747_main_ARE_EASY=You are in Easy mode
64748_main_SW2EXPERT=Switch to Expert mode
64749_main_SW2EASY=Switch to Easy mode
64750_main_MSG_DL_TIMEOUT_LONG=Enter the number of MINUTES with no download after which the program automatically shuts down.\^Leave blank to get no timeout.
64751_main_MSG_LOG_FILE=Log file
64752_main_MSG_ZLIB=This file is corrupted (ZLIB).
64753_main_MSG_BAKAVAILABLE=This file is corrupted but a backup is available.\^Continue with backup?
64754_main_MSG_CANT_LOAD_SAVE=Cannot load or save while adding files
64755_main_MSG_OPEN_VFS=Open VFS file
64756_main_LIMIT{2}=Limit
64757_main_TOP_SPEED=Top speed
64758_main_MSG_MAX_BW=Max bandwidth (KB/s).
64759_main_MSG_LIM0=Zero is an effective limit.\^To disable instead, leave empty.
64760_main_MSG_MAX_BW_1=Max bandwidth for single address (KB/s).
64761_main_MSG_GRAPH_RATE_MENU=Graph refresh rate: %d (tenths of second)
64762_main_MSG_MAX_CON_LONG=Max simultaneous connections to serve.\^Most people don't know this function well, and have problems. If you are unsure, please use the "Max simultaneous downloads".
64763_main_MSG_WARN_CONN=In this moment there are %d active connections
64764_main_MSG_WARN_ACT_DL=In this moment there are %d active downloads
64765_main_MSG_MAX_CON_SING_LONG=Max simultaneous connections to accept from a single IP address.\^Most people don't know this function well, and have problems. If you are unsure, please use the "Max simultaneous downloads from a single IP address".
64766_main_MSG_GRAPH_RATE{1}=Graph refresh rate
64767_main_MSG_TENTH_SEC=Tenths of second
64768_main_MSG_CON_STATE_IDLE=idle
64769_main_MSG_CON_STATE_REQ=requesting
64770_main_MSG_CON_STATE_RCV=receiving
64771_main_MSG_CON_STATE_THINK=thinking
64772_main_MSG_CON_STATE_REP=replying
64773_main_MSG_CON_STATE_SEND=sending
64774_main_MSG_CON_STATE_DISC=disconnected
64775_main_MSG_CON_PAUSED=paused
64776_main_MSG_CON_SENT=%s / %s sent
64777_main_MSG_CON_RECEIVED=%s / %s received
64778_main_MSG_TPL_RESET=The template has been reset
64779_main_MSG_ALLO_REF=Allowed referer
64780_main_MSG_ALLO_REF_LONG=Leave empty to disable this feature.\^Here you can specify a mask.\^When a file is requested, if the mask doesn't match the "Referer" HTTP field, the request is rejected.
64781_main_MSG_BETTERSTOP=\^Going on may lead to problems.\^It is adviced to stop loading.\^Stop?
64782_main_MSG_BADCRC=This file is corrupted (CRC).
64744_main_MSG_NEWER{1}=This file has been created with a newer and incompatible version.
64784_main_MSG_VFS_ARCABLE=Archivable
64785_main_MSG_VFS_DEF_MASK=Default file mask: %s
64786_main_MSG_VFS_ACCESS=Access for
64787_main_MSG_VFS_UPLOAD=Upload allowed for
64788_main_MSG_VFS_DELETE=Delete allowed for
64789_main_MSG_VFS_COMMENT=Comment: %s
64790_main_MSG_VFS_REALM=Realm: %s
64791_main_MSG_VFS_DIFF_TPL=Diff template: %s
64792_main_MSG_VFS_FILES_FLT=Files filter: %s
64793_main_MSG_VFS_FLD_FLT=Folders filter: %s
64794_main_MSG_VFS_UPL_FLT=Upload filter: %s
64795_main_MSG_VFS_DONT_CONS_DL=Don't consider as download
64796_main_MSG_VFS_DONT_CONS_DL_MASK=Don't consider as download (mask): %s
64797_main_MSG_VFS_INHERITED= [inherited]
64798_main_MSG_VFS_EXTERNAL= [external]
64799_main_MSG_CON_HINT=Connection time: %s\^Last request time: %s\^Agent: %s
64800_main_VFS_ITEMS=VFS: %d items
64801_main_MSG_ITEM_EXISTS=%s item(s) already exists:\^%s\^\^Continue?
64802_main_MSG_INSTALL_TPL=Install this template?
64803_main_MSG_FOLDER_UPLOAD=Do you want ANYONE to be able to upload to this folder?
64804_main_MSG_VFS_DRAG_INVIT=Drag your files here
64805_main_MSG_VFS_URL=URL: %s
64806_main_MSG_VFS_PATH=Path: %s
64807_main_MSG_VFS_SIZE=Size: %s
64808_main_MSG_VFS_DLS=Downloads: %s
64809_main_MSG_VFS_INVISIBLE=Invisible
64810_main_MSG_VFS_DL_FORB=Download forbidden
64811_main_MSG_VFS_DONT_LOG=Don't log
64812_main_MSG_VFS_HIDE_EMPTY=Hidden if empty
64813_main_MSG_VFS_NOT_BROW=Not browsable
64814_main_MSG_VFS_HIDE_EMPTY_FLD=Hide empty folders
64815_main_MSG_VFS_HIDE_EXT=Hide extention
64816_main_MSG_CHK_UPD_FAIL=Check update: failed
64817_main_MSG_CHK_UPD_HEAD=Check update:
64818_main_MSG_CHK_UPD_VER=new version found: %s
64819_main_MSG_CHK_UPD_VER_EXT=Build #%s (current is #%s)
64820_main_MSG_CHK_UPD_NONE=no new version
64821_main_TO_CLIP=Copy to clipboard
64822_main_ALREADY_CLIP=Already in clipboard
64823_main_MSG_NO_SPACE=Out of space
64824_main_CONN=Connections: %d
64825_main_TOT_IN=Total In: %s
64826_main_TOT_OUT{1}=Total Out: %s
64827_main_OUT_SPEED=Out: %.1f KB/s
64828_main_IN_SPEED=In: %.1f KB/s
64829_main_BANS=Ban rules: %d
64830_main_MEMORY=Mem
64831_main_CUST_TPL=Customized template
64832_main_AUTOSAVE=Auto save every:
64833_main_SECONDS=%d seconds
64834_main_MSG_SPD_LIMIT_SING=Speed limit for single address
64835_main_MSG_SPD_LIMIT=Speed limit
64836_main_MSG_AUTO_SAVE=Auto-save %s
64837_main_MSG_AUTO_SAVE_LONG=Auto-save %s.\^Specify in seconds.\^Leave blank to disable.
64838_main_MSG_MIN=We don't accept less than %d
64839_main_MSG_BAN=Your ban configuration may have been screwed up.\^Please verify it.
64840_main_MSG_CANT_SAVE_OPT=Can't save options there.\^Should I try to save to user registry?
64841_main_MSG_UPD_SAVE_ERROR=Cannot save the update
64842_main_MSG_UPD_REQ_ONLY1=The auto-update feature cannot work because it requires the "Only 1 instance" option enabled.\^\^Your browser will now be pointed to the update, so you can install it manually.
64843_main_MSG_UPD_WAIT=Waiting for last requests to be served, then we'll update
64844_main_MSG_UPD_DL=Downloading new version...
64845_main_MSG_UPDATE=You are invited to use the new version.\^\^Update now?
64846_main_MSG_REQUESTING=Requesting...
64847_main_MSG_CHK_UPD=Checking for updates
64848_main_MSG_LOG_UPL=Uploading %s
64849_main_MSG_LOG_UPLOADED=Fully uploaded %s - %s @ %sB/s
64850_main_MSG_LOG_UPL_FAIL=Upload failed %s
64851_main_MSG_LOG_DL=Fully downloaded - %s @ %sB/s - %s
64852_main_MSG_LOGIN_FAILED=Login failed
64853_main_MSG_MIN_DISK_REACHED=Minimum disk space reached.
64854_main_MSG_UPL_NAME_FORB=File name or extension forbidden.
64855_main_MSG_UPL_CANT_CREATE=Error creating file.
64856_main_FINGERPRINT=Create fingerprint on addition under %d KB
64857_main_NO_FINGERPRINT=Create fingerprint on addition: disabled
64858_main_MSG_SAVE_VFS=Your current file system is not saved.\^Save it?
64859_main_MSG_INP_COMMENT=Please insert a comment for "%s".\^You should use HTML: <br> for break line.
64860_main_MSG_FILE_ADD_ABORT=File addition was aborted.\^The list of files is incomplete.
64861_main_MSG_ADDING=Adding item #%d
64862_main_MSG_INV_FILENAME=Invalid filename
64863_main_MSG_DELETE=Delete?
64864_main_MSG_PORT_USED_BY=It is already used by %s
64865_main_MSG_PORT_BLOCKED=Something is blocking, maybe your system firewall.
64866_main_MSG_KICK_ALL=There are %d connections open.\^Do you want to close them now?
64867_main_MSG_TPL_INCOMPATIBLE=The template you are trying to load is not compatible with current HFS version.\^HFS will now use default template.\^Ask on the forum if you need further help.
64868_main_MSG_LOG_SERVER_START=Server start
64869_main_MSG_LOG_SERVER_STOP=Server stop
64870_main_MSG_LOG_CONNECTED=Connected
64871_main_MSG_LOG_DISC_SRV=Disconnected by server
64872_main_MSG_LOG_DISC=Disconnected
64873_main_MSG_LOG_GOT=Got %d bytes
64874_main_MSG_LOG_BYTES_SENT=%s bytes sent
64875_main_MSG_LOG_SERVED=Served %s
64876_main_MSG_LOG_HEAD=Served head
64877_main_MSG_LOG_NOT_MOD=Not modified, use cache
64878_main_MSG_LOG_REDIR=Redirected to %s
64879_main_MSG_LOG_NOT_SERVED=Not served: %d - %s
64880_main_MSG_DDNS_nohost=specified hostname does not exist
64881_main_MSG_DDNS_notyours=specified hostname belongs to another username
64882_main_MSG_DDNS_numhost=too many or too few hosts found
64883_main_MSG_DDNS_abuse=specified hostname is blocked for update abuse
64884_main_MSG_DDNS_dnserr=server error
64885_main_MSG_DDNS_911=server error
64886_main_MSG_DDNS_notdonator=an option specified requires payment
64887_main_MSG_DDNS_badagent=banned client
64888_main_MSG_BAN_MASK=Ban IP mask
64889_main_MSG_IP_MASK_LONG=You can edit the address.\^Masks and ranges are allowed.
64890_main_MSG_KICK_ADDR=There are %d open connections from this address.\^Do you want to kick them all now?
64891_main_MSG_BAN_ALREADY=This IP address is already banned
64892_main_MSG_BAN_CMT=Ban comment
64893_main_MSG_BAN_CMT_LONG=A comment for this ban...
64894_main_MSG_BREAK_DYN_DNS=This option is NOT compatible with "dynamic dns updater".\^Continue?
64895_main_MSG_CANT_OPEN_PORT=Cannot open port.
64896_main_MSG_NO_TEMP=Cannot save temporary file
64897_main_MSG_ERROR_REGISTRY=Can't write to registry.\^You may lack necessary rights.
64898_main_MSG_MANY_ITEMS=You are putting many files.\^Try using real folders instead of virtual folders.\^Read documentation or ask on the forum for help.
64899_main_MSG_ADD_TO_HFS="Add to HFS" has been added to your Window's Explorer right-click menu.
64900_main_MSG_SINGLE_INSTANCE=Sorry, this feature only works with the "Only 1 instance" option enabled.\^\^You can find this option under Menu -> Start/Exit\^(only in expert mode)
64901_main_MSG_COMM_ERROR=Network error. Request failed.
64902_main_MSG_DDNS_NO_REPLY=no reply
64903_main_MSG_DDNS_OK=successful
64904_main_MSG_DDNS_UNK=unknown reply: %s
64905_main_MSG_DDNS_ERR=error: %s
64906_main_MSG_DDNS_REQ=DNS update requested for %s: %s
64907_main_MSG_DDNS_DOING=Updating dynamic DNS...
64908_main_MSG_DDNS_FAIL=DNS update failed: %s\^User intervention is required.
64909_main_MSG_DDNS_REPLY_SIZE=%d bytes reply
64910_main_MSG_DDNS_badauth=invalid user/password
64911_main_MSG_DDNS_notfqdn=incomplete hostname, required form aaa.bbb.com
64912_main_MSG_MAX_SIM_ADDR{1}=Max simultaneous addresses
64913_main_MSG_MAX_SIM_ADDR_DL=Max simultaneous addresses downloading
64914_main_MSG_MAX_SIM_DL_SING{2}=Max simultaneous downloads from single address
64915_main_MSG_MAX_SIM_DL=Max simultaneous downloads
64916_main_MSG_SET_LIMIT=Set limit
64917_main_MSG_UNPROTECTED_LINKS=Links are NOT actually protected.\^The feature is there to be used with the "list protected items only..." option.\^Continue?
64918_main_MSG_SAME_NAME=An item with the same name is already present in this folder.\^Continue?
64919_main_MSG_CONTINUE=Continue?
64920_main_MSG_PROCESSING=Processing...
64921_main_MSG_SPEED_KBS=%.1f kB/s
64922_main_MSG_OPTIONS_SAVED=Options saved
64923_main_MSG_SOME_LOCKED=Some items were not affected because locked
64924_main_MSG_ITEM_LOCKED=The item is locked
64925_main_MSG_INVALID_VALUE=Invalid value
64926_main_MSG_EMPTY_NO_LIMIT=Leave blank to get no limits.
64927_main_MSG_ADDRESSES_EXCEED=The following addresses exceed the limit:\^%s
64935_optionsDlg_MSG_INVERT_BAN=Normal behavior of the Ban is to prevent access to the addresses you specify (also called black-list).\^If you want the opposite, to allow the addresses that you specify (white-list), enter all addresses in a single row preceded by a \ character.\^\^Let say you want to allow all your 192.168 local network plus your office at 1.1.1.1.\^Just put this IP address mask: \192.168.*;1.1.1.1\^The opening \ character inverts the logic, so everything else is banned.\^\^If you want to know more about address masks, check the guide.
64936_main_S_PORT_LABEL=Port: %s
64937_main_S_PORT_ANY=any
64938_main_DISABLED=disabled
64939_main_S_OK=Ok
64940_main_MSG_MENU_VAL= (%s)
64941_main_MSG_DL_TIMEOUT{1}=No downloads timeout
64942_main_MSG_MAX_CON=Max connections
64943_main_MSG_MAX_CON_SING=Max connections from single address
64656_main_MSG_NUM_ADDR=In this moment there are %d different addresses
64657_main_MSG_NUM_ADDR_DL=In this moment there are %d different addresses downloading
64658_main_MSG_MAX_LINES=Max lines on screen.
64659_main_MSG_APACHE_LOG_FMT=Apache log file format
64660_main_MSG_APACHE_LOG_FMT_LONG=Here you can specify how to format the log file complying Apache standard.\^Leave blank to get bare copy of screen on file.\^\^Example:\^ %h %l %u %t "%r" %>s %b
64661_main_MSG_ICONS_ADDED=%d new icons added
64662_main_MSG_DDNS_DISABLED=Dynamic DNS updater disabled
64663_main_MSG_MD5_WARN=This option creates an .md5 file for every new calculated fingerprint.\^Use with care to get not your disk invaded by these files.
64664_main_MSG_AUTO_MD5=Auto fingerprint
64665_main_MSG_AUTO_MD5_LONG=When you add files and no fingerprint is found, it is calculated.\^To avoid long waitings, set a limit to file size (in KiloBytes).\^Leave empty to disable, and have no fingerprint created.
64666_main_MSG_UPL_HOWTO=1. Add a folder (choose "real folder")\^\^You should now see a RED folder in your virtual file sytem, inside HFS\^\^2. Right click on this folder\^3. Properties -> Permissions -> Upload\^4. Check on "Anyone"\^5. Ok\^\^Now anyone who has access to your HFS server can upload files to you.
64672_main_MSG_EVENTS_HLP=For help on how to use this file please refer http://www.rejetto.com/wiki/?title=HFS:_Event_scripts
64673_main_MSG_EDIT_RES=Edit resource
64674_main_MSG_TPL_USE_MACROS=The current template is using macros.\^Do you want to cancel this action?
64675_main_REMOVE_SHELL=Remove from shell context menu
64676_main_S_OFF=Switch OFF
64677_main_S_ON{1}=Switch ON
64678_main_LOG=Log
64679_main_MSG_RE_NOIP=You are invited to re-insert your No-IP configuration, otherwise the updater won't work as expected.
64680_main_MSG_TRAY_DEF=%ip%\^Uptime: %uptime%\^Downloads: %downloads%
64681_main_MSG_CLEAN_START=Clean start
64682_main_MSG_RESTORE_BAK=A file system backup has been created for a system shutdown.\^Do you want to restore this backup?
64683_main_MSG_EXT_ADDR_FAIL=Search for external address failed
64684_main_MSG_TO_EXPERT=Switch to expert mode.
64685_main_MSG_DONT_LOG_HINT=Select the files/folder you don't want to be logged,\^then right click and select "Don't log".
64686_main_MSG_DL_PERC=Downloading %d%%
64687_main_MSG_UNINSTALL_WARN=Delete HFS and all settings?
64688_main_MSG_SELF_3=You may be behind a router or firewall.
64689_main_MSG_SELF_6=You are behind a router.\^Ensure it is configured to forward port %s to your computer.
64690_main_MSG_SELF_7=You may be behind a firewall.\^Ensure nothing is blocking HFS.
64691_main_MSG_RET_EXT=Retrieving external address...
64692_main_MSG_SELF_CANT_ON=Unable to switch the server on
64693_main_MSG_SELF_CANT_LIST=Self test cannot be performed because HFS was configured to accept connections only on 127.0.0.1
64694_main_MSG_SELF_CANT_S=Self test doesn't support HTTPS.\^It's likely it won't work.
64695_main_MSG_SELF_ING=Self testing...
64696_main_MSG_TEST_CANC=Test cancelled
64697_main_MSG_TEST_INET=Testing internet connection...
64698_main_MSG_SELF_UNAV=Sorry, the test is unavailable at the moment
64699_main_MSG_SELF_NO_INET=Your internet connection does not work
64700_main_MSG_SELF_NO_ANSWER=The test failed: server does not answer.
64701_main_MSG_OPEN_BROW=Open directly in browser
64702_main_MSG_OPEN_BROW_LONG="Suggest" the browser to open directly the specified files.\^Other files should pop up a save dialog.
64703_main_MSG_HIDE_PORT=You should not use this option unless you really know its meaning.\^Continue?
64704_main_MSG_RESET_TOT=Do you want to reset total in/out?
64705_main_MSG_DISAB_FIND_EXT=This option makes pointless the option "Find external address at startup", which has now been disabled for your convenience.
64706_main_MSG_ENT_URL=Enter URL
64707_main_MSG_ENT_URL_LONG=Enter URL for updating.\^%ip% will be translated to your external IP.
64708_main_MSG_ENT_USR=Enter user
64709_main_MSG_ENT_PWD=Enter password
64710_main_MSG_ENT_HOST=Enter host
64711_main_MSG_ENT_HOST_LONG=Enter domain (full form!)
64712_main_MSG_HOST_FORM=Please, enter it in the FULL form, with dots
64713_main_MSG_MIN_SPACE=Min disk space
64714_main_MSG_MIN_SPACE_LONG=The upload will fail if your disk has less than the specified amount of free MegaBytes.
64715_main_MSG_REN_PART=Rename partial uploads
64716_main_MSG_REN_PART_LONG=This string will be appended to the filename.\^\^If you need more control, enter a string with %name% in it, and this symbol will be replaced by the original filename.
64717_main_MSG_SELF_BEFORE=Here you can test if your server does work on the Internet.\^If you are not interested in serving files over the Internet, this is NOT for you.\^\^We'll now perform a test involving network activity.\^In order to complete this test, you may need to allow HFS's activity in your firewall, by clicking Allow on the warning prompt.\^\^WARNING: for the duration of the test, all ban rules and limits on the number of connections won't apply.
64718_main_MSG_SELF_OK=The test is successful. The server should be working fine.
64719_main_MSG_SELF_OK_PORT=Port %s is not working, but another working port has been found and set: %s.
64720_main_MSG_LOG_FILE=Log file
64721_main_MSG_LOG_FILE_LONG=This function does not save any previous information to the log file.\^Instead, it saves all information that appears in the log box in real-time (from when you click "OK", below).\^Specify a filename for the log.\^If you leave the filename blank, no log file is saved.\^\^Here are some symbols you can use in the filename to split the log:\^ %d% -- day of the month (1..31)\^ %m% -- month (1..12)\^ %y% -- year (2000..)\^ %dow% -- day of the week (0..6)\^ %w% -- week of the year (1..53)\^ %user% -- username surrounded by parenthesis
64722_main_MSG_SET_URL=Set URL
64723_main_MSG_SET_URL_LONG=Please insert an URL for the link\^\^Do not forget to specify http:// or whatever.\^%%ip%% will be translated to your address
64724_main_MSG_REALM=Login realm
64725_main_MSG_REALM_LONG=The realm string is shown on the user/pass dialog of the browser.\^Here you can customize the realm for the login button
64726_main_MSG_INACT_TIMEOUT=Connection inactivity timeout
64727_main_MSG_INACT_TIMEOUT_LONG=The connection is kicked after a timeout.\^Specify in seconds.\^Leave blank to get no timeout.
64728_main_MSG_CHANGES_LOST=All changes will be lost\^Continue?
64729_main_MSG_FLAG_NEW=Flag new files
64730_main_MSG_FLAG_NEW_LONG=Enter the number of MINUTES files stay flagged from their addition.\^Leave blank to disable.
64731_main_MSG_DONT_LOG_MASK=Do not log address
64732_main_MSG_DONT_LOG_MASK_LONG=Any event from the following IP address mask will be not logged.
64733_main_MSG_CUST_IP=Custom IP addresses
64734_main_MSG_CUST_IP_LONG=Specify your addresses, each per line
64735_main_MSG_NO_EXT_IP=Can't find external address\^( %s )
64736_main_MSG_TENTH_SEC=Tenths of second
64737_main_MSG_LOADING_VFS=Loading VFS
64738_main_MSG_VFS_OLD=This file is old and uses different settings.\^The "let browse" folder option will be reset.\^Re-saving the file will update its format.
64739_main_MSG_UNK_FK=This file has been created with a newer version.\^Some data was discarded because unknown.\^If you save the file now, the discarded data will NOT be saved.
64740_main_MSG_VIS_ONLY_ANON=This VFS file uses the "Visible only to anonymous users" feature.\^This feature is not available anymore.\^You can achieve similar results by restricting access to @anonymous,\^then enabling "List protected items only for allowed users".
64741_main_MSG_AUTO_DISABLED=Because of the problems encountered in loading,\^automatic saving has been disabled\^until you save manually or load another one.
64742_main_MSG_CORRUPTED=This file does not contain valid data.
64743_main_MSG_MACROS_FOUND=!!!!!!!!! DANGER !!!!!!!!!\^This file contains macros.\^Don't accept macros from people you don't trust.\^\^Trust this file?
64744_main_MSG_UPD_INFO=Last stable version: %s\^\^Last untested version: %s\^
64752_main_MSG_NEWER=There's a new version available online: %s
64746_main_MSG_SRC_UPD=Searching for updates...
64747_main_ARE_EXPERT{1}=You are in Expert mode
64748_main_ARE_EASY=You are in Easy mode
64749_main_SW2EXPERT=Switch to Expert mode
64750_main_SW2EASY=Switch to Easy mode
64751_main_MSG_DL_TIMEOUT_LONG=Enter the number of MINUTES with no download after which the program automatically shuts down.\^Leave blank to get no timeout.
64752_main_MSG_NEWER{1}=This file has been created with a newer and incompatible version.
64753_main_MSG_ZLIB=This file is corrupted (ZLIB).
64754_main_MSG_BAKAVAILABLE=This file is corrupted but a backup is available.\^Continue with backup?
64755_main_MSG_CANT_LOAD_SAVE=Cannot load or save while adding files
64756_main_MSG_OPEN_VFS=Open VFS file
64757_main_LIMIT{2}=Limit
64758_main_TOP_SPEED=Top speed
64759_main_MSG_MAX_BW=Max bandwidth (KB/s).
64760_main_MSG_LIM0=Zero is an effective limit.\^To disable instead, leave empty.
64761_main_MSG_MAX_BW_1=Max bandwidth for single address (KB/s).
64762_main_MSG_GRAPH_RATE_MENU=Graph refresh rate: %d (tenths of second)
64763_main_MSG_MAX_CON_LONG=Max simultaneous connections to serve.\^Most people don't know this function well, and have problems. If you are unsure, please use the "Max simultaneous downloads".
64764_main_MSG_WARN_CONN=In this moment there are %d active connections
64765_main_MSG_WARN_ACT_DL=In this moment there are %d active downloads
64766_main_MSG_MAX_CON_SING_LONG=Max simultaneous connections to accept from a single IP address.\^Most people don't know this function well, and have problems. If you are unsure, please use the "Max simultaneous downloads from a single IP address".
64767_main_MSG_GRAPH_RATE{1}=Graph refresh rate
64768_main_MSG_CON_HINT=Connection time: %s\^Last request time: %s\^Agent: %s
64769_main_MSG_CON_STATE_IDLE=idle
64770_main_MSG_CON_STATE_REQ=requesting
64771_main_MSG_CON_STATE_RCV=receiving
64772_main_MSG_CON_STATE_THINK=thinking
64773_main_MSG_CON_STATE_REP=replying
64774_main_MSG_CON_STATE_SEND=sending
64775_main_MSG_CON_STATE_DISC=disconnected
64776_main_MSG_CON_PAUSED=paused
64777_main_MSG_CON_SENT=%s / %s sent
64778_main_MSG_CON_RECEIVED=%s / %s received
64779_main_MSG_TPL_RESET=The template has been reset
64780_main_MSG_ALLO_REF=Allowed referer
64781_main_MSG_ALLO_REF_LONG=Leave empty to disable this feature.\^Here you can specify a mask.\^When a file is requested, if the mask doesn't match the "Referer" HTTP field, the request is rejected.
64782_main_MSG_BETTERSTOP=\^Going on may lead to problems.\^It is adviced to stop loading.\^Stop?
64783_main_MSG_BADCRC=This file is corrupted (CRC).
64784_main_MSG_VFS_HIDE_EXT=Hide extention
64785_main_MSG_VFS_ARCABLE=Archivable
64786_main_MSG_VFS_DEF_MASK=Default file mask: %s
64787_main_MSG_VFS_ACCESS=Access for
64788_main_MSG_VFS_UPLOAD=Upload allowed for
64789_main_MSG_VFS_DELETE=Delete allowed for
64790_main_MSG_VFS_COMMENT=Comment: %s
64791_main_MSG_VFS_REALM=Realm: %s
64792_main_MSG_VFS_DIFF_TPL=Diff template: %s
64793_main_MSG_VFS_FILES_FLT=Files filter: %s
64794_main_MSG_VFS_FLD_FLT=Folders filter: %s
64795_main_MSG_VFS_UPL_FLT=Upload filter: %s
64796_main_MSG_VFS_DONT_CONS_DL=Don't consider as download
64797_main_MSG_VFS_DONT_CONS_DL_MASK=Don't consider as download (mask): %s
64798_main_MSG_VFS_INHERITED= [inherited]
64799_main_MSG_VFS_EXTERNAL= [external]
64800_main_CUST_TPL=Customized template
64801_main_VFS_ITEMS=VFS: %d items
64802_main_MSG_ITEM_EXISTS=%s item(s) already exists:\^%s\^\^Continue?
64803_main_MSG_INSTALL_TPL=Install this template?
64804_main_MSG_FOLDER_UPLOAD=Do you want ANYONE to be able to upload to this folder?
64805_main_MSG_VFS_DRAG_INVIT=Drag your files here
64806_main_MSG_VFS_URL=URL: %s
64807_main_MSG_VFS_PATH=Path: %s
64808_main_MSG_VFS_SIZE=Size: %s
64809_main_MSG_VFS_DLS=Downloads: %s
64810_main_MSG_VFS_INVISIBLE=Invisible
64811_main_MSG_VFS_DL_FORB=Download forbidden
64812_main_MSG_VFS_DONT_LOG=Don't log
64813_main_MSG_VFS_HIDE_EMPTY=Hidden if empty
64814_main_MSG_VFS_NOT_BROW=Not browsable
64815_main_MSG_VFS_HIDE_EMPTY_FLD=Hide empty folders
64816_main_MSG_CHK_UPD=Checking for updates
64817_main_MSG_CHK_UPD_FAIL=Check update: failed
64818_main_MSG_CHK_UPD_HEAD=Check update:
64819_main_MSG_CHK_UPD_VER=new version found: %s
64820_main_MSG_CHK_UPD_VER_EXT=Build #%s (current is #%s)
64821_main_MSG_CHK_UPD_NONE=no new version
64822_main_TO_CLIP=Copy to clipboard
64823_main_ALREADY_CLIP=Already in clipboard
64824_main_MSG_NO_SPACE=Out of space
64825_main_CONN=Connections: %d
64826_main_TOT_IN=Total In: %s
64827_main_TOT_OUT{1}=Total Out: %s
64828_main_OUT_SPEED=Out: %.1f KB/s
64829_main_IN_SPEED=In: %.1f KB/s
64830_main_BANS=Ban rules: %d
64831_main_MEMORY=Mem
64832_main_MSG_DELETE=Delete?
64833_main_AUTOSAVE=Auto save every:
64834_main_SECONDS=%d seconds
64835_main_MSG_SPD_LIMIT_SING=Speed limit for single address
64836_main_MSG_SPD_LIMIT=Speed limit
64837_main_MSG_AUTO_SAVE=Auto-save %s
64838_main_MSG_AUTO_SAVE_LONG=Auto-save %s.\^Specify in seconds.\^Leave blank to disable.
64839_main_MSG_MIN=We don't accept less than %d
64840_main_MSG_BAN=Your ban configuration may have been screwed up.\^Please verify it.
64841_main_MSG_CANT_SAVE_OPT=Can't save options there.\^Should I try to save to user registry?
64842_main_MSG_UPD_SAVE_ERROR=Cannot save the update
64843_main_MSG_UPD_REQ_ONLY1=The auto-update feature cannot work because it requires the "Only 1 instance" option enabled.\^\^Your browser will now be pointed to the update, so you can install it manually.
64844_main_MSG_UPD_WAIT=Waiting for last requests to be served, then we'll update
64845_main_MSG_UPD_DL=Downloading new version...
64846_main_MSG_UPDATE=You are invited to use the new version.\^\^Update now?
64847_main_MSG_REQUESTING=Requesting...
64848_main_MSG_LOG_NOT_SERVED=Not served: %d - %s
64849_main_MSG_LOG_UPL=Uploading %s
64850_main_MSG_LOG_UPLOADED=Fully uploaded %s - %s @ %sB/s
64851_main_MSG_LOG_UPL_FAIL=Upload failed %s
64852_main_MSG_LOG_DL=Fully downloaded - %s @ %sB/s - %s
64853_main_MSG_LOGIN_FAILED=Login failed
64854_main_MSG_MIN_DISK_REACHED=Minimum disk space reached.
64855_main_MSG_UPL_NAME_FORB=File name or extension forbidden.
64856_main_MSG_UPL_CANT_CREATE=Error creating file.
64857_main_FINGERPRINT=Create fingerprint on addition under %d KB
64858_main_NO_FINGERPRINT=Create fingerprint on addition: disabled
64859_main_MSG_SAVE_VFS=Your current file system is not saved.\^Save it?
64860_main_MSG_INP_COMMENT=Please insert a comment for "%s".\^You should use HTML: <br> for break line.
64861_main_MSG_FILE_ADD_ABORT=File addition was aborted.\^The list of files is incomplete.
64862_main_MSG_ADDING=Adding item #%d
64863_main_MSG_INV_FILENAME=Invalid filename
64864_main_MSG_CANT_OPEN_PORT=Cannot open port.
64865_main_MSG_PORT_USED_BY=It is already used by %s
64866_main_MSG_PORT_BLOCKED=Something is blocking, maybe your system firewall.
64867_main_MSG_KICK_ALL=There are %d connections open.\^Do you want to close them now?
64868_main_MSG_TPL_INCOMPATIBLE=The template you are trying to load is not compatible with current HFS version.\^HFS will now use default template.\^Ask on the forum if you need further help.
64869_main_MSG_LOG_SERVER_START=Server start
64870_main_MSG_LOG_SERVER_STOP=Server stop
64871_main_MSG_LOG_CONNECTED=Connected
64872_main_MSG_LOG_DISC_SRV=Disconnected by server
64873_main_MSG_LOG_DISC=Disconnected
64874_main_MSG_LOG_GOT=Got %d bytes
64875_main_MSG_LOG_BYTES_SENT=%s bytes sent
64876_main_MSG_LOG_SERVED=Served %s
64877_main_MSG_LOG_HEAD=Served head
64878_main_MSG_LOG_NOT_MOD=Not modified, use cache
64879_main_MSG_LOG_REDIR=Redirected to %s
64880_main_MSG_DDNS_notfqdn=incomplete hostname, required form aaa.bbb.com
64881_main_MSG_DDNS_nohost=specified hostname does not exist
64882_main_MSG_DDNS_notyours=specified hostname belongs to another username
64883_main_MSG_DDNS_numhost=too many or too few hosts found
64884_main_MSG_DDNS_abuse=specified hostname is blocked for update abuse
64885_main_MSG_DDNS_dnserr=server error
64886_main_MSG_DDNS_911=server error
64887_main_MSG_DDNS_notdonator=an option specified requires payment
64888_main_MSG_DDNS_badagent=banned client
64889_main_MSG_BAN_MASK=Ban IP mask
64890_main_MSG_IP_MASK_LONG=You can edit the address.\^Masks and ranges are allowed.
64891_main_MSG_KICK_ADDR=There are %d open connections from this address.\^Do you want to kick them all now?
64892_main_MSG_BAN_ALREADY=This IP address is already banned
64893_main_MSG_BAN_CMT=Ban comment
64894_main_MSG_BAN_CMT_LONG=A comment for this ban...
64895_main_MSG_BREAK_DYN_DNS=This option is NOT compatible with "dynamic dns updater".\^Continue?
64896_main_MSG_ADDRESSES_EXCEED=The following addresses exceed the limit:\^%s
64897_main_MSG_NO_TEMP=Cannot save temporary file
64898_main_MSG_ERROR_REGISTRY=Can't write to registry.\^You may lack necessary rights.
64899_main_MSG_MANY_ITEMS=You are putting many files.\^Try using real folders instead of virtual folders.\^Read documentation or ask on the forum for help.
64900_main_MSG_ADD_TO_HFS="Add to HFS" has been added to your Window's Explorer right-click menu.
64901_main_MSG_SINGLE_INSTANCE=Sorry, this feature only works with the "Only 1 instance" option enabled.\^\^You can find this option under Menu -> Start/Exit\^(only in expert mode)
64902_main_MSG_COMM_ERROR=Network error. Request failed.
64903_main_MSG_DDNS_NO_REPLY=no reply
64904_main_MSG_DDNS_OK=successful
64905_main_MSG_DDNS_UNK=unknown reply: %s
64906_main_MSG_DDNS_ERR=error: %s
64907_main_MSG_DDNS_REQ=DNS update requested for %s: %s
64908_main_MSG_DDNS_DOING=Updating dynamic DNS...
64909_main_MSG_DDNS_FAIL=DNS update failed: %s\^User intervention is required.
64910_main_MSG_DDNS_REPLY_SIZE=%d bytes reply
64911_main_MSG_DDNS_badauth=invalid user/password
64912_main_MSG_MAX_CON_SING=Max connections from single address
64913_main_MSG_MAX_SIM_ADDR{1}=Max simultaneous addresses
64914_main_MSG_MAX_SIM_ADDR_DL=Max simultaneous addresses downloading
64915_main_MSG_MAX_SIM_DL_SING{2}=Max simultaneous downloads from single address
64916_main_MSG_MAX_SIM_DL=Max simultaneous downloads
64917_main_MSG_SET_LIMIT=Set limit
64918_main_MSG_UNPROTECTED_LINKS=Links are NOT actually protected.\^The feature is there to be used with the "list protected items only..." option.\^Continue?
64919_main_MSG_SAME_NAME=An item with the same name is already present in this folder.\^Continue?
64920_main_MSG_CONTINUE=Continue?
64921_main_MSG_PROCESSING=Processing...
64922_main_MSG_SPEED_KBS=%.1f kB/s
64923_main_MSG_OPTIONS_SAVED=Options saved
64924_main_MSG_SOME_LOCKED=Some items were not affected because locked
64925_main_MSG_ITEM_LOCKED=The item is locked
64926_main_MSG_INVALID_VALUE=Invalid value
64927_main_MSG_EMPTY_NO_LIMIT=Leave blank to get no limits.
64935_classesLib_MSG_ANTIDOS_REPLY=Please wait, server busy
64936_optionsDlg_MSG_INVERT_BAN=Normal behavior of the Ban is to prevent access to the addresses you specify (also called black-list).\^If you want the opposite, to allow the addresses that you specify (white-list), enter all addresses in a single row preceded by a \ character.\^\^Let say you want to allow all your 192.168 local network plus your office at 1.1.1.1.\^Just put this IP address mask: \192.168.*;1.1.1.1\^The opening \ character inverts the logic, so everything else is banned.\^\^If you want to know more about address masks, check the guide.
64937_main_S_PORT_LABEL=Port: %s
64938_main_S_PORT_ANY=any
64939_main_DISABLED=disabled
64940_main_S_OK=Ok
64941_main_MSG_MENU_VAL= (%s)
64942_main_MSG_DL_TIMEOUT{1}=No downloads timeout
64943_main_MSG_MAX_CON=Max connections
65046_OverbyteIcsHttpContCod_ERR_GETCODING_OVERRIDE=GetCoding must be overridden in %s
65088_OverbyteIcsCharsetUtils_sHebrewISOVisual=Hebrew (ISO-Visual)
65089_OverbyteIcsCharsetUtils_sHebrewWindows=Hebrew (Windows)

View File

@ -17,7 +17,6 @@ This file is part of HFS ~ HTTP File Server.
along with HFS; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
}
{$A+,B-,C+,E-,F-,G+,H+,I-,J+,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,X+,Y+,Z1}
{$INCLUDE defs.inc }
unit main;
@ -36,8 +35,8 @@ uses
HSlib, traylib, monoLib, progFrmLib, classesLib;
const
VERSION = '2.4.0 RC5';
VERSION_BUILD = '317';
VERSION = '2.4.0 RC6';
VERSION_BUILD = '318';
VERSION_STABLE = {$IFDEF STABLE } TRUE {$ELSE} FALSE {$ENDIF};
CURRENT_VFS_FORMAT :integer = 1;
CRLF = #13#10;
@ -3605,48 +3604,12 @@ var
fast.append(s);
end; // handleItem
const ip2availability: Tdictionary<string,Tdatetime> = NIL;
const folderConcurrents: integer = 0;
const MAX_CONCURRENTS = 3;
procedure updateAvailability();
var
pair: Tpair<string,Tdatetime>;
t: Tdatetime;
begin
t:=now();
if folderConcurrents = MAX_CONCURRENTS then // serving multiple addresses at max capacity, let's give a grace period for others
ip2availability[cd.address]:=t + 1/SECONDS
else
ip2availability.Remove(cd.address);
dec(folderConcurrents);
// purge leftovers
for pair in ip2availability do
if pair.Value < t then
ip2availability.Remove(pair.Key);
end;
function available():boolean;
begin
if ip2availability = NIL then
ip2availability:=Tdictionary<string,Tdatetime>.create();
try
if ip2availability[cd.address] > now() then // this specific address has to wait?
exit(FALSE);
except
end;
if folderConcurrents >= MAX_CONCURRENTS then // max number of concurrent folder loading, others are postponed
exit(FALSE);
inc(folderConcurrents);
ip2availability.AddOrSetValue(cd.address, now()+1);
result:=TRUE;
end; // available
var
i, n: integer;
f: Tfile;
useList: boolean;
mainSection: PtplSection;
antiDos: TantiDos;
begin
result:='';
if (folder = NIL) or not folder.isFolder() then exit;
@ -3677,12 +3640,9 @@ try
exit;
useList:=not mainSection.noList;
if useList and not available() then
begin
cd.conn.reply.mode:=HRM_OVERLOAD;
cd.conn.addHeader('Refresh: '+intToStr(1+random(2))); // random for less collisions
exit('Please wait, server busy');
end;
antiDos:=TantiDos.create();
if useList and not antiDos.accept(cd.conn, cd.address) then
exit(cd.conn.reply.body);
fullEncode:=FALSE;
ofsRelUrl:=length(folder.url(fullEncode))+1;
@ -3792,8 +3752,7 @@ try
result:=replaceText(result, '%build-time%',
floatToStrF((now()-buildTime)*SECONDS, ffFixed, 7,3) );
finally
if useList then
updateAvailability();
freeAndNIL(antiDos);
folder.unlock();
diffTpl.free;
end;
@ -5124,6 +5083,8 @@ var
end;
end; // addSelection
var
antiDos: TantiDos;
begin
if not f.hasRecursive(FA_ARCHIVABLE) then
begin
@ -5139,12 +5100,17 @@ var
noFolders:=not stringExists(data.postVars.values['nofolders'], ['','0','false']);
itsAsearch:=data.urlvars.values['search'] > '';
antiDos:=TantiDos.create;
try
tar:=TtarStream.create(); // this is freed by ThttpSrv
try
tar.fileNamesOEM:=oemTarChk.checked;
addSelection();
if not selection then
addFolder(f);
if antiDos.accept(data.conn, data.address) then
addFolder(f)
else
exit;
if tar.count = 0 then
begin
@ -5170,7 +5136,10 @@ var
]), data.lastFN);
if not noContentdispositionChk.checked then
addContentDisposition();
except tar.free end;
except tar.free
end;
finally freeAndNIL(antiDos)
end;
end; // serveTar
procedure checkCurrentAddress();

View File

@ -955,9 +955,9 @@ var
i: integer;
begin
code:=macroDequote(par(pars.count-1));
lines:=TStringList.create();
with TfastStringAppend.create do
try
lines:=TStringList.create();
lines.text:= getVar(par('var'));
for line in lines do
begin

View File

@ -35,6 +35,7 @@ document: {.disconnection reason|if=XXX.}
document: %url%
document: commands returning white space: add folder, save, set account, exec, mkdir, chdir, delete, rename, move copy, set
document: base64, base64decode, dir, disk free, filetime, file changed, load tpl, sha256, for line
document {.convert|macros|dec|hex.}
document: new event [login]
+ event to filter logging http://www.rejetto.com/forum/index.php/topic,9784.0.html
- wrong browser http://www.rejetto.com/forum/index.php/topic,9710.0.html
@ -53,7 +54,7 @@ document: new event [login]
? in getPage() many %symbols% are translated in a way incompatible with {.section.}
? Windows Script Interfaces
? {.image|src=file|width=x|dst=outfile.}
+ user input through {.dialog.}
+ user input through {.dialog.} or similar
+ show missing files in VFS http://www.rejetto.com/forum/index.php/topic,8203.new.html
* {.cache.} should be able to work on a simple variable
+ plugins system http://www.rejetto.com/wiki/index.php/HFS:_plugins_design