Compare commits

...

54 Commits

Author SHA1 Message Date
Henrique Dias
7330997281 chore: version 1.4.6
Former-commit-id: 0e8638a2e0a27e9ef097eb634e3998e5dad64ebb [formerly b322f42236da92471bcd43dcefe54b0d64b9791a] [formerly bec8a75ad3e69c7d349099b7c6d926e3c704c642 [formerly 9cd462502a]]
Former-commit-id: 0ebf3bc0d6d3fd5d3e3fc876ab404b47ebbc6bf1 [formerly 1edceb43775dd729beabedabe44c9516811f4d44]
Former-commit-id: ab52b3a238c41709bea8165b0b2bd72da0b29322
2018-01-22 08:52:19 +00:00
Henrique Dias
0787522d7c chore: setting untracked version [ci skip]
Former-commit-id: be1de8b5ac1887c021b03467f49840377558c8af [formerly 2fd31a54ae462d951f6c1bb481c4ea08d588b552] [formerly 5cc7edf5823b540a486d7702c24bc6ba00c8694b [formerly 31b464e9c3]]
Former-commit-id: 0d7af8186f4957ab26a0be82ef7f1a4ae9632e3e [formerly 16a582826f79caa95807a160c2dd5ef2fa783c5c]
Former-commit-id: 1ccc51414cc6a787b1e330e68127b192e0168c05
2018-01-22 08:40:25 +00:00
Henrique Dias
46df72ac0e chore: version v1.4.6
Former-commit-id: fb9d41965a36f9be671b5a5166815fa361c92ce2 [formerly 58cc394693cb65256dc0e56f96ebc1eb86181e3c] [formerly bb622a876fb325725188139dead3758213af32d5 [formerly 5650610bb3]]
Former-commit-id: 2a292b4ee3ccc1fe54e244fd05a8e47f1b92d9cf [formerly e07f41821c62119a32a76f613eba7d6dda36ec2b]
Former-commit-id: 6b8543b02c91c3449dba8847b72086abd16397c3
2018-01-22 08:40:14 +00:00
Equim
6839c15a7b fix: recaptcha fixes, auth fixes and line endings
* http: auth: remove unnecessary fields in recaptcha validation

* http: render: never expose ReCaptchaSecret to public

* build: dos2unix build.sh


Former-commit-id: 21908028289e4a5d30b5a2c1961abf163b1a93b6 [formerly b634e3e4da4a616119f6bc15ae92f15073f019fa] [formerly 55efca9d070539f346215090517abde1ec788be4 [formerly 9b8c2862e2]]
Former-commit-id: 70df1f0443977f6f2b101b946698dc3466aa6db9 [formerly 15195d4c28060aa1eca8f03ad0b77576ac8d9181]
Former-commit-id: e22d026e74a0cc800ad7281c35e4157037849e37
2018-01-22 08:35:39 +00:00
Equim
d50dc90a54 frontend: share: fix #335 (#337)
Former-commit-id: 116629d99a0512b82772468331e829e2486af3d9 [formerly 71a073a0d7ee1e27b8a79afbb08b4387e94ec53c] [formerly 40fa722b1bee8aeee021455c20ea10788d87a739 [formerly 93566aceef]]
Former-commit-id: 4027d444c5d9b9915fa97e4b82711dfa5499f080 [formerly 1adda5ac2fcf49a27042541ae8fb0b1f3d820ddf]
Former-commit-id: 0504804487188a7bc9330e19ad1350a45fa6e5b9
2018-01-21 19:47:35 +00:00
Equim
4039efe4b2 fix: http wrong header (#333)
Former-commit-id: 6d65d8aac2314998c01c4a04e05395e1a2553045 [formerly 1ec8cd98f322298f5c5da4747f05189bc2f2ddf9] [formerly ea74b49f932daa9836df7cdf51b8e9cd6d043175 [formerly 53240ef9dd]]
Former-commit-id: 2cbd9e68f132a1170261b4b9549a2cb79b0059d8 [formerly c47d9063e48e8fcf77ece4ab75a10b588a8ecafa]
Former-commit-id: 203b0a61ef2045c62f3ccd94f62625f0e19435e4
2018-01-18 15:36:45 +00:00
Henrique Dias
2ab1ea44ff chore: setting untracked version [ci skip]
Former-commit-id: 1243e66e54147d73108374296220395f90c7aa92 [formerly e538d9176df83d4dc3b9b32d826489b89f1341e6] [formerly 6a72ab507b84de0adad11ba67831595eb90113ad [formerly 8fb3798c12]]
Former-commit-id: 1e142e2483cf4ef98b6ebfd048b2aff97b19c270 [formerly cd851d42b067f2ebb0f59124686c8a3d6eedc260]
Former-commit-id: e8426e1fc13beed881962cd62dc23f123e7a5ecb
2018-01-14 10:28:14 +00:00
Henrique Dias
23a2c60d9f chore: version 1.4.5
Former-commit-id: c1c687c85477814782ac1c37f1153222cbd66aac [formerly 62f611d73f4a94b1a8c38be469edbe4b9f15b128] [formerly b18279cba8d103941a0c999e212fba4b4c36d1f1 [formerly e1836e2274]]
Former-commit-id: e735874c31bd3f07fefcc528e63e83520b1ccf8a [formerly 121a4fd4096b00d3a03df57bb6872f02cca94a47]
Former-commit-id: 79f9ba3aff8aab04125277fc8298aaf3416d3648
2018-01-14 10:28:02 +00:00
Equim
54e66bbc05 http: download: improvement for range support and I/O (#330)
* http: download: adopt http.ServeContent

* http: download: deprecate unnecessary temp dir

* http: download: adopt http.ServeContent in inline mode


Former-commit-id: 9ad519b51bcd7bebd862ccb65153bf418aaccc24 [formerly 6c2ac9b647a5cd5a67b7f688502e185a6180a34d] [formerly fd8dab4db58c098dcd5fca47226a50fa99a52aeb [formerly 30efa23a85]]
Former-commit-id: 54cd985769d20c02f890ffaa64ed02153b9fcff9 [formerly 7f0bf159ebf192055fa2bc346a0545d0b3007721]
Former-commit-id: 58e72dbdd1dc8ae43f4d769632d892ace0a19400
2018-01-14 08:41:01 +00:00
Equim
69b262f91a fix(i18n): zh: minor fix (#329)
Former-commit-id: f923123d02d6aa875bc5c3a0171920df625b1787 [formerly 494e0f97f54b823fb14ed5b4ac028942dbf0077c] [formerly 933be3dd0a5b167e822d73a4877c1ebfb55ae4c0 [formerly 94648c92a2]]
Former-commit-id: e01ef36d8dbcee0ce16ea190b2d9afe6a9751c20 [formerly 59ca3451e6b26e9ad2811ba7c352778e8acec1ec]
Former-commit-id: 799fda14369c565d68c62133b7cd62ea7f1e75e9
2018-01-13 09:49:47 +00:00
Henrique Dias
731cc45e05 Update README.md
Former-commit-id: 3c5dc2c840b4ea82d2b88503b89515d8d6e1b590 [formerly aa5a9564be7917bc2bca82870eb61ccc2cc75347] [formerly f8f01920e7b54e52b012f469d917fb6f7e94d94a [formerly 300b55f2c7]]
Former-commit-id: daae1ff5c473b6fa583e270538830a046831eb2c [formerly 73ef7dac5d799cb3e321ba1b4969b125aa71c52b]
Former-commit-id: 715ce711701440e20da9512272fcd31922435323
2018-01-09 07:30:42 +00:00
Henrique Dias
a3960ff9a3 chore: setting untracked version [ci skip]
Former-commit-id: 9301c7f3b4a71d6ce1e41e48bb8b61a0f4878f44 [formerly 6e69aa23419cd7e42e474c7db9f1cb6dbe5955d9] [formerly 19b578c58faf698f3bfceaeae33cc085801b5d9d [formerly f2ac4dd262]]
Former-commit-id: ca520cd8264c71fb6cf0f0bfd88c065d8c55c08e [formerly 83d060fa29de8b601f40acac64857044f352a141]
Former-commit-id: 38ac4f4fc95e531027b5daa737987bfecccbd244
2018-01-07 12:40:42 +00:00
Henrique Dias
5f986901e9 chore: version 1.4.4
Former-commit-id: 0ab1627b929b5c4be5ebb66b97d7f81fcb480395 [formerly 6a569e0973cb86401d95dcc9285ae81b2b9b49ad] [formerly 571700b6bc7ddc08738f3f887a5cf9dfe127cbda [formerly 93b823e6d1]]
Former-commit-id: a875a5b56484e0d392ddf7a8c60cf022bb46099f [formerly 19a767e19ff83ff34a36b3845d6b8e91063c7167]
Former-commit-id: 4c98b119b38be29e52fc502d635a05491ea9e9a4
2018-01-07 12:40:28 +00:00
Henrique Dias
0b4d8df22d chore: update dependencies
Former-commit-id: 0e9c3b0caff7d2297e06985cf7361607e0e9205c [formerly 397e6c26097c550d8ca74e554237502964b337a2] [formerly 1fe8a4d39b94285a8c5ffb089f6388a38aacb12a [formerly f29e210e6b]]
Former-commit-id: 352a198a53b3589f40ca83148e64149a67f7c2a3 [formerly 93bf553394ea1d30190412fe77db0d456146d177]
Former-commit-id: c07af559899e9d0851ab4ac2573b57bbd8efaddd
2018-01-07 08:20:58 +00:00
Henrique Dias
9619b4ee1d update example
Former-commit-id: 41adc5e8fc05d20caa0d293224c3b987b3d18a9f [formerly 531a461aff8e332598842e2d98355f77ea8caa7c] [formerly 3f84ed6e4bbe7d14e2a1f6221edcb069b2b95dea [formerly b9a0ac4459]]
Former-commit-id: 1eece7e6b527ea1daaba2424399a76e1c702bb43 [formerly dc079172134ddafd696c910f440f4597be1983af]
Former-commit-id: ddb46ff3aae922ecb4818862cad0b8920d6899d0
2018-01-07 08:06:55 +00:00
Henrique Dias
c75f3e0f59 chore: update build and publish scripts
[ci skip]

Former-commit-id: 68fc4cab3e092dbf192f02a7b69cd1024be6095e [formerly af8599c8c136f466f33b3060c1aa0568054617fc] [formerly fcce660652925df3b7837a503114380f6eab269e [formerly 32106b537d]]
Former-commit-id: 42514c2f46abf0ec4533ed44edb2ed16ff1220da [formerly 0bf28005af9a16de599a99d7c0fc543b5208729f]
Former-commit-id: 2f1b4cbd7bce86943ceca8a3f0834a1ac81edb45
2018-01-05 10:15:26 +00:00
Henrique Dias
6d71ab08ce [ci skip] auto: setting untracked version
Former-commit-id: 2fed0803c7febc91e7b5bb3d33d85b7ff560d5d7 [formerly b7153111a10d7bb8374469aa4504b7b63c4f9999] [formerly acd233135fd878ba16bcf73bda9b4358f9a7473e [formerly 1218966226]]
Former-commit-id: e0a33076851b5927794180e4b5bfd1483d51ebfe [formerly e150034ec51997ec1ce075ea28e51a79b60c54d4]
Former-commit-id: 9a52d3ec859ed128606ae01d2bcf6a9ef08cb2b3
2018-01-05 10:10:49 +00:00
Henrique Dias
121c695c1a Version 1.4.3
Former-commit-id: 105f6e3a206963eb810ed178f5a3d05e4c05693f [formerly 95a0eef30242460e822aef2f93ec770f6d82702d] [formerly bb726ba819c7f01330db8dc7503b2f869ace40c0 [formerly 74f6ea6897]]
Former-commit-id: 9db1edc8d09521068b70bc7b81e5d2586ef949a8 [formerly e9e78572d9b296f160b5c311e57822a0e960d35a]
Former-commit-id: 4513e831114a23e30822734d62191a7a49d50555
2018-01-05 10:10:40 +00:00
Henrique Dias
6a1f9bbf69 [ci skip] auto: setting untracked version
Former-commit-id: 500c3e1726327fca7ca8421d70f46eebe76702bf [formerly 09a3811e6a1b87b159fe6ab562f968aef1eeef20] [formerly e85343d82a8de4c9b93f1d5e65e8654e85b67f5b [formerly 13c12b9130]]
Former-commit-id: 26e2c13658759ee83e6d2ec7d851a1cfc2b485c7 [formerly 4eb961b41d768ff23b4d00163f4c0e9512829fbd]
Former-commit-id: d6a362c2611bf9ef6267be25a08e47a8d7f58b1e
2018-01-05 10:02:58 +00:00
Henrique Dias
ab54bc3c57 Version 1.4.3
Former-commit-id: f47b39a9b2817c603578b2623919403e30d3af22 [formerly a8b23dd12fba701c0cbe91049f263318d33a8be9] [formerly 7de9b5f8f6d1c6a962b89c540625b68cd4cbac0a [formerly ac3f1482c6]]
Former-commit-id: 56c305fb8ea1a017daf051ce8f630c2ffddebb7b [formerly bcd1d113a852499dee8701bd64e49df8513f8538]
Former-commit-id: 95ca9218c8b98432f9c5e0019fe619c0dd417e34
2018-01-05 10:02:49 +00:00
Henrique Dias
8a10baa815 Update .goreleaser.yml
Former-commit-id: dce13b52b52d980f11ef90f08b229c99ef74548c [formerly 45b6e868899a14fad61e61b5603da5dbdf1704fc] [formerly 90aabc167231a2d164afee7ab966a465146afe63 [formerly d8f057757e]]
Former-commit-id: 43bae9e293b2e3cf0b8608c344dadff88de47380 [formerly beff2d7f954169e917950549a353f5efa033f906]
Former-commit-id: e77e853b8e818863bff7164b169b411eaa6732fe
2018-01-04 14:04:09 +00:00
Henrique Dias
98c22ece8d [ci skip] auto: setting untracked version
Former-commit-id: 8ddd21218dd4fb6e00cf083a80199d2a4339af2f [formerly 3406ebe12f6112ed751092e5f831c77ce459c6e0] [formerly 143f9d23f5fa5e5545fd63e6f44ae9228e6c093c [formerly 5bd60ce05a]]
Former-commit-id: d7362d24d7d872cb722d462fab45d2a48b37b1d5 [formerly c7c1cfd6d43642315e9a7956211ede7eb0a6b5e3]
Former-commit-id: c42269de8c2b7ecbdacaca0cf383c8a29dfd239b
2018-01-04 13:50:31 +00:00
Henrique Dias
63247f6e8c Version 1.4.2
Former-commit-id: 488d6575d81275f6c5e1c04280a5def6aa700117 [formerly fb198ae1767fc52ed8492657f33f5bd91d4d4283] [formerly b100a438db05a237c2e7a081fbdaed3a5ed6ebae [formerly e7b372f548]]
Former-commit-id: 3c418fc25a996e829e35be8f49eec0c43bf1829d [formerly 6568a1dd89e6a5640a2ad9fde224303813f219d0]
Former-commit-id: a1355be166395d2bc0d0a4a5a7170b36c73df094
2018-01-04 13:50:19 +00:00
Henrique Dias
58dd812008 fix #269
Former-commit-id: a0b8ed91061292e0f155cee9a7865609daacf836 [formerly e6bb9eaa82b5704f3fe29bdec50f6bb4f55304b2] [formerly b443cbf5c6d7946ff3cfa44493449b5f0d75d830 [formerly 02df167434]]
Former-commit-id: c193caff6faaf78a16375960893be9e253869d3c [formerly 6c84d234c9e1db432027bc159dbeeb77e9c35031]
Former-commit-id: a48c3851511472efc47bce07ee2509fdd8a44c4a
2018-01-04 13:49:41 +00:00
Henrique Dias
1575fafec8 [ci skip] auto: setting untracked version
Former-commit-id: c497913d120be4a71f7d2305600e2785190f0e2b [formerly 0126f289afd78bc006e5e0fe383670dbc9df4fd4] [formerly 12899a40ac7b8a94c3930dcdb3101d121c56cbc2 [formerly 9da06a7010]]
Former-commit-id: 866590120ccd5ddc189d36e352c637cabc82f81f [formerly af0b154bf6db52c01e9d0b10f3d6678319727bca]
Former-commit-id: ff3c428b12cc8028b21d8585a9927e826ebdf4cb
2018-01-04 12:41:34 +00:00
Henrique Dias
8c935eb51d Version 1.4.1
Former-commit-id: 77ee0108106777f2de0719eb6ea50bcad12f8635 [formerly 4dc3acf5b7eaaa687ccfced7fc463e2b7e7104ea] [formerly 3ec2bd1fe0b8e364621204b9aa1732cbc7828199 [formerly 44d6730073]]
Former-commit-id: efd15158f953966190c8a8e9310801a89049ea4e [formerly 56a49a89f919d70486b6db126e84e5997bd6d261]
Former-commit-id: 969b87ac24214cb7dfc9429253724c68aa0d46bc
2018-01-04 12:41:23 +00:00
Henrique Dias
7f3a26e1c0 fix: error when user have no commands; close #293
Former-commit-id: 9e1ebf686f12d76a202bf8a3b0b16f14f8eb713d [formerly bfc761cc181d6d8880fd86396e69bf5894806f6c] [formerly 774e09b49a2dff07becff48bf048b3b0bd8353ed [formerly 65d3c0fb9b]]
Former-commit-id: 8ab97c0103cde1a9bcf69c1e9af994241fb9d124 [formerly a25dc7feb0755122c7329e3a3bfa61f74418467b]
Former-commit-id: 92e21139ffe04ab23406352e0a5b6131e8cad084
2018-01-04 12:40:45 +00:00
Henrique Dias
fe834aa244 remove file
Former-commit-id: 95f665f00dc03c130afb5fc45e8076a869c30222 [formerly acae04da4a0d58e689b704ff405a749c4fa43c05] [formerly 482666a8335cc216fa706d5175c8a75cbdb073df [formerly 0781b961da]]
Former-commit-id: 57a2f201668aad631fead876207b2d5620e202dc [formerly 9f1344480aa6589652ce34dff2496dc36b9d631c]
Former-commit-id: 2760b12b251f53c4421b80d5d5122520eb92cf40
2017-12-29 17:31:21 +00:00
Henrique Dias
6620a1bf41 [ci skip] auto: setting untracked version
Former-commit-id: 0b2303648bf1c82d04b20f439a76d2ce37cfbc4c [formerly 8aedb0827d0538efa6ec0d88082e3df2e85b6e46] [formerly 91dc35e45674e83e44ecb66e7da2bb1d7634efb4 [formerly d431f5f0e4]]
Former-commit-id: 551cf4271e33f7893ecbd7290074d0d031827a94 [formerly 034d533f73603df46d2c7efccaddd17bb0f37814]
Former-commit-id: 1cf3cbcb484e5128ac9564516992f5fbdaddfc28
2017-12-29 16:46:22 +00:00
Henrique Dias
dab08325b7 Version 1.4.0
Former-commit-id: 368d4ecf114fb68ca038e4baf3d840afb2636ba0 [formerly 42d7e7c749edda5dc525f86e775c999b69dd0343] [formerly edb264480cef71783fa0ec799c667710b48c0e76 [formerly 0848d5b135]]
Former-commit-id: db6356cdcaf40265c31e4aa08c88614d2aa1f886 [formerly a52ba320deffe84af53facdba3606b9d032118ea]
Former-commit-id: 6ee806954d2456421fe737541dfee136df93f54e
2017-12-29 16:46:12 +00:00
Henrique Dias
ddb4685257 Update .goreleaser.yml
Former-commit-id: 66c518285185e0a94bd1ab865676e3e5f409b76f [formerly 906313ef1a1747ce137bcbe7d54a20244b04ced9] [formerly 4724da443d609b6ef27851c2b79eadb9d7cefa4f [formerly 2fc342a3e9]]
Former-commit-id: 90b7247bd50078d5321c9dc1c51149f88c63989e [formerly ba9587d799234e3cd1c2888841fa6fc12227806c]
Former-commit-id: 9b9383f2cbb64775944dc68d882454d73b406246
2017-12-29 16:45:21 +00:00
Henrique Dias
39dbca3b15 [ci skip] auto: setting untracked version
Former-commit-id: ea04ce9843fafcc33961d3aacd5f31b5f93d1a08 [formerly d97fa13252b9201ea17bb9aa188b7f93b03d3f6a] [formerly c647d2080414bccf957ffb713cf029219780f606 [formerly 2b9cf83feb]]
Former-commit-id: 82f4a48d20d439257a70e49726bc26ddbd259c58 [formerly 8d3787cabd875c3ee84044051e5f97fbf1922585]
Former-commit-id: 45a6d0ca105b6b9591928d69db81c7c7777b62df
2017-12-29 16:35:29 +00:00
Henrique Dias
a02bdfc8d5 Version 1.4.0
Former-commit-id: 3a8e072916c7ce76104d67e805c202cb95568c41 [formerly 6c77d93905851193699f1651653de748fc8f0806] [formerly 8563da03483dfdc77cb65736deb60084ae76df40 [formerly d98b58e0f0]]
Former-commit-id: 745caf9deb45ed766f088d7a52aa992191960a40 [formerly d2e6c7c774dc6b58b9406081358730f4dc5c573d]
Former-commit-id: 37ba109c46b21bdff083ee63451cb54bc3243e3e
2017-12-29 16:33:50 +00:00
Henrique Dias
f88721cc83 chore: add more build platforms
Former-commit-id: d3442dce2a31d700cc0778229819ee3821bdcc19 [formerly 218c9d7fb7fa28546797c50d03956362829407a2] [formerly 6abbb1b814a037c106526506ee1ca999dae54914 [formerly 3217751cc3]]
Former-commit-id: 4fb0fecd3b19b145369d751f454b5c079163c9f4 [formerly c428f4e11ce84ca60ed7c2d968da9c71c1f23d11]
Former-commit-id: f22d06e1d43a9eb68845aa2490c72b187eba0018
2017-12-29 16:32:32 +00:00
Henrique Dias
95544bfed5 fix default view mode on caddy plugins
Former-commit-id: 41e6e855b611449829b4aaab2381685da8b94bb0 [formerly cfcd8802666a8869a2e2f8229d86fee05e088d4e] [formerly 72b0f44e1bf1ab0b27cf327cfac6977049e2dacf [formerly 258557fb57]]
Former-commit-id: e17e5ed75665cd53ec8a20b2833268de5ffa5e47 [formerly 5b8571fd62e0517f1daa72fbb95d7c99ba120c6b]
Former-commit-id: 39ebfa5155c60f71e9f565de875594c3b07b8bac
2017-12-29 08:55:03 +00:00
Henrique Dias
999ee1c2f5 [ci skip] auto: setting untracked version
Former-commit-id: c555833bd28140ffed26dd56d5d1f03ccdefe8f9 [formerly 19be792ade9e4df3c4cc0765d819be35269803b9] [formerly 190d7e277e3d94b22af59288b0403c1e6055ca58 [formerly dc1f51cfa9]]
Former-commit-id: d270e36617e94f506828700bab84310aa6199750 [formerly c414ab0a208bc6fa5a4236bd269d42c2fab3ca8c]
Former-commit-id: a82ebba0e51012db7689b41f81c6cbcfdac9accb
2017-12-27 16:20:03 +00:00
Henrique Dias
a61ade62e5 Version 1.3.12
Former-commit-id: cebe84ae6a9b87fec49fd1b2966f58174f49b616 [formerly d8fc91407b0a3cc7616532f14e5ae9b8af49ca11] [formerly d52eac19847da77e49817878f2930c8f438af49a [formerly cec257787b]]
Former-commit-id: c8913636186c289c615ee29d0b36998484d39023 [formerly 67b4f850b4452112f63f2b10e6ae9f9e8848d26b]
Former-commit-id: 45593be374fb4c925a93c26e7ee1288e53c3abf4
2017-12-27 16:19:51 +00:00
Henrique Dias
08de5efeb4 fix: stream file instead of putting it all in memory (#303)
Former-commit-id: 2dc1092f4111870eda6fd51f06cf6dadcac27c78 [formerly 6b21e8ca91b69a70aa07a60099e6919cf1f29fff] [formerly 5860c903ca50aa9a29f91c98d144e859fa223977 [formerly e6a8e3349e]]
Former-commit-id: f8923f5d3fa5d638170ccd870ed4d38abee42d2e [formerly 1a1b27bb606ea012bb5eb3ee42ab6f1d585e1490]
Former-commit-id: f7a238d6ed3e61b925fa20e7ecca145b1f903dba
2017-12-27 16:18:27 +00:00
Henrique Dias
74f690a71b fix: allow user not to write .md or .markdown when creating file based on archetype #288
Former-commit-id: e2bc376cc78905e9d85596bcb281b1f52647b4fb [formerly d4c44f8625bda57d5659366d2651d8021776c9d2] [formerly 766fc98ad54327498076992a110415750d059bd2 [formerly 390fe1d797]]
Former-commit-id: 6c30496fab170a7a39eacba39827e054089f64ad [formerly 8b3aac4b83339ec9722ddadc3fe225e3753afd94]
Former-commit-id: 85e39aa259af1e628e77d488fbd9c7ea5d207eb7
2017-12-27 16:02:36 +00:00
Henrique Dias
1d4a3005ff fix: hugo full path in URL #288 (#306)
Former-commit-id: 56143acfb6b2817df49998c96f9b70174327c31c [formerly b763216262fd57a06d7f343a96891cc62f5ba358] [formerly 8a09d84e73ce9e3865bcd65a8071f2e5cb48333f [formerly 68c4072bd1]]
Former-commit-id: cbec5adf02b6d83b27c7286546a7a291b2344256 [formerly 94dbfbb4aaf51abcd809f3562a4a8a53945782f5]
Former-commit-id: 3f11f9c8be4f7e9b063789fca73212ca838ce1ad
2017-12-27 16:00:16 +00:00
Henrique Dias
7447a530ee Close #289
Former-commit-id: 6145bac21a69ec5af8b0c9d6f5a343ab66c32c74 [formerly 13a045c4cc6852e88af60b359653032590c8cb48] [formerly 1b279454432546ba44702b792ec83eec00f63a1f [formerly b1c36ec71f]]
Former-commit-id: ef359bdf00c3c64d4877f02de3d8cb505bd6448c [formerly b4f09c805cd6a0f5300a1e608d024ce7af6b60db]
Former-commit-id: 009fb85389f234e1d5f7fc726e1d983fed3b5832
2017-12-06 22:30:49 +00:00
Henrique Dias
fa9396f0f4 [ci skip] auto: setting untracked version
Former-commit-id: b508f843299648b61849e33273041df46c2ed31e [formerly 9e153dd2ff31f0bb769e35f70c2bdba656bf449f] [formerly 864e40ed1299bf717242ddc1556d3f3ccbfc2f89 [formerly 6856716adb]]
Former-commit-id: 88b556096518c23d2db8a26c9c448400172d30b7 [formerly 9b9d9539c8ebf8c4ff5a2288ca04ade387a84351]
Former-commit-id: 625b4ab5af200087a85db6e1402c9bc4a0295d83
2017-12-04 16:10:27 +00:00
Henrique Dias
172bbb1828 Version 1.3.11
Former-commit-id: 4a93c06ece303164400a26def8508b415ce8c906 [formerly cb7e56f73da93ce59e63b74de61a384d49335991] [formerly ee5c57615221b3b91660df2146845b413c972975 [formerly 506570530f]]
Former-commit-id: 3b120ed2a0b36e84dc258862663421240866601a [formerly 641b5b688bb500b711cc4b14f4eec48c10c23d6c]
Former-commit-id: 965b1316ab20445fda0d3b64c45229c98496534f
2017-12-04 16:10:15 +00:00
Henrique Dias
410aa5d9da Set correct indentation
Former-commit-id: 0088ec263439da995dd6f42d0e2ad9b0b42c7c98 [formerly c5232aa97864225d432f04d5d83e0215edff18c9] [formerly d038a6f63e089003de83bbb054d76d3953cab33b [formerly 0dac28fbb0]]
Former-commit-id: 44d9d716ddd2eed8fcfa7bcb92f5f46475ab0afc [formerly 9f9d3a6c0bec92f75b6ad6932e6b1eebb9ddefdf]
Former-commit-id: 9e2919024770313c9ed94c1bc9060f2e45871f77
2017-12-04 16:08:24 +00:00
Iñigo
736cef7127 Add Spanish translation (#291)
* Add Spanish

* Add Spanish


Former-commit-id: 52479d923ca4a91d3cd8b627246de8b70c3a5152 [formerly 53bb5278073dd5abdd96d04b9423811ae78637e9] [formerly fe82800194e49c99d278413e79f8c007bf4dfab8 [formerly 78c68ce2f3]]
Former-commit-id: e1314f8d7a5ae78cfbd3727339016d6b322c4aa5 [formerly a0a6d84f266f512c5f9eaa9c92d0f7b57f447367]
Former-commit-id: 6a557d9ab0e82332b201534276e1c032e682714e
2017-12-04 15:49:56 +00:00
Henrique Dias
f4ceb7163e Update file.go
Former-commit-id: 713c809c9314b3db947fd33e5fae69bbe0058865 [formerly 4dd6de8cddb93b1553a6d768db426ec3eb1f0b53] [formerly c5033b6ff486b786afd6b75e41ff35c3a8c69e47 [formerly a34422de57]]
Former-commit-id: 1028ebd6474ce1e257ef1f81c9f805c74f64994e [formerly 5f2db5f3060c457ff2af82e0e0be89a25d1cbc4d]
Former-commit-id: 609be343302e0a49190ef6f37ee677116e9baa04
2017-11-30 18:22:16 +00:00
Henrique Dias
7bd4fbc0cb Add Badge and Update Deps
Former-commit-id: 8d3cf568a2f901ec8370a5f7aaaf0aae95425353 [formerly af950ac5e3ddc57c599b62937ed8872bb653f426] [formerly 3b9e1a7c8d9ea35b10eec9a82fad1221830ae5b6 [formerly 1f62c26e81]]
Former-commit-id: 31e0e2de46b44cb85f4423be7064f4d6d9552ef9 [formerly 431ed7d219cfec8b98fbe4423ee66c23e7849b74]
Former-commit-id: a851d7f44f290616d042542edbcadf35f856d73a
2017-11-21 19:17:19 +00:00
Henrique Dias
2ed4658369 Update assets
Former-commit-id: 921770105b3b607f2681112d204130a0655248b9 [formerly cb7d152432980c20f5d5cda743992b6a0684ed0e] [formerly e63e514df0f701934dad6744d79c7b7746c372e8 [formerly ec30606dcc]]
Former-commit-id: 725b6820ac82bfab769306f1fc92acb3f690f366 [formerly 56b2b925d513261885fbdc7cc0d3662f9576d56a]
Former-commit-id: aeaeb164f0c2c7579778ae1bd587806b69868c3c
2017-11-19 11:22:54 +00:00
Henrique Dias
735312982c Update Dependencies
Former-commit-id: 76bedea1c27cf4e87cb9255786de3d73e6abd29e [formerly 8c21d31b2c5a22d96f3a7a9042dcd58077d7dcef] [formerly b335f0ac2e16fdc8042255ef1d0dbb421c4b09d4 [formerly 02b2bb6215]]
Former-commit-id: dbc8cfd8755959d7d7f40976c2641969e08cdb5a [formerly 29b617fd9461a72b0d0ab729a6a1d7247c5ec74e]
Former-commit-id: 23a7b57755f5fea3e0d62450e6466267227fb865
2017-11-19 11:05:05 +00:00
Henrique Dias
4ddb3f5a34 Improve file extension checking performance
Former-commit-id: 30aaff2f0bee9dd9743d4acd6a68aafc90addef9 [formerly 967fc0b47a5fb0d1b5e79a8b926f4fdd61b8477a] [formerly 5eaecd069cd3de9ebb5e3e6d0feb04844fc473c3 [formerly c76c69c256]]
Former-commit-id: 11d0c1ae276859eccb7949d96dedbd0cd3204ffd [formerly 63de350fea7eb0a6d621b029c9c8866866462d31]
Former-commit-id: 422edd1298a7ba86dd958dcc7a513a0a3e6d83a3
2017-11-15 21:03:50 +00:00
Henrique Dias
c947228ac4 Whitelist yml and tml extensions
Former-commit-id: aed7606c12fa705954e650ba948d891329d66dff [formerly efd4415075000737c5dc7bb5a38a78605989e05c] [formerly 5656bb7bc09285720f094b3054c70994b51aa658 [formerly 8f5eaee952]]
Former-commit-id: 9d774b10c85ae9456a324030f9b7b0c06e600db4 [formerly 9c7919b5e027d829364fcb658b6b9579caad51a3]
Former-commit-id: 3196b0ea7f550057e411410e083a8c4f8e748240
2017-11-15 20:38:30 +00:00
Henrique Dias
505af7d9d7 Update auth.go
Former-commit-id: e2a955c377393341ac3ccf08d2fba9e3359e72b0 [formerly aaf783e1c2aec83c5e0a4a016f98b9b17ece09c2] [formerly a3be55338e9d4403ae3266cba5ac2451aff507fc [formerly 1f946bd94e]]
Former-commit-id: 53e720dcdc8745aa5de632a5d2676ea1c0648445 [formerly 7069f0e163c34e1890d344066ba570dde674a414]
Former-commit-id: 2aee9f0b0ba181bde240bdcf098f3914c3f512b0
2017-11-15 09:09:09 +00:00
Henrique Dias
2c13ac4ac1 Remove fmt.println from code
Former-commit-id: 6bdb55590fb58a6edc64a3ca946a13ee35f3ad60 [formerly 60939e561228d83df8c588942f6773e5cb508fc6] [formerly 0764f9f8de88d1adbb668c48dfee17c43d59b5f4 [formerly d3eafec864]]
Former-commit-id: c09a0c84177f6f8053269cf6396b64cc17bf257c [formerly fc5b21e08ca0f2ebab30991a4c7f2ee0eb0d6a40]
Former-commit-id: cb8338d463ec7014de5e2cb09009ac872ade06b8
2017-11-15 08:59:23 +00:00
Henrique Dias
b5fbab2072 [ci skip] auto: setting untracked version
Former-commit-id: a15ba929646b6a49aad1c0a1f447c8417490bd82 [formerly 2140e8ebdbe698e68fa7cb80c879749af21a67ac] [formerly 8c2f7dc49612073e633affb68f437b8c2241b609 [formerly 927a1aea6c]]
Former-commit-id: a1daf8141f756ad4352bd26697d073c2468b1163 [formerly da39c59b7c0187c61b80fa4fb4867795f2b60b17]
Former-commit-id: 7b1fc0b045cd1e1d59fb49bb9b6db819e670fd94
2017-11-14 07:25:09 +00:00
29 changed files with 385 additions and 9314 deletions

2
.gitignore vendored
View File

@@ -8,3 +8,5 @@ yarn-debug.log*
yarn-error.log*
.idea
.vscode
package-lock.json
yarn.lock

View File

@@ -8,11 +8,17 @@ build:
- freebsd
- netbsd
- openbsd
- dragonfly
- solaris
goarch:
- amd64
- 386
- arm
- arm64
- mips
- mips64
- mipsle
- mips64le
ignore:
- goos: openbsd
goarch: arm
@@ -20,6 +26,8 @@ build:
- goos: freebsd
goarch: arm
goarm: 6
- goos: linux
goarch: arm64
archive:
name_template: "{{.Os}}-{{.Arch}}-{{ .ProjectName }}"

View File

@@ -2,7 +2,7 @@
If you want to contribute or want to build the code from source, you will need to have the most recent version of Go and, if you want to change the static assets (JS, CSS, ...), Node.js installed on your computer. To start developing, you just need to do the following:
1. `go get github.com/hacdias/filemanager`
1. `go get github.com/hacdias/filemanager/cmd/filemanager`
2. `cd $GOPATH/src/github.com/hacdias/filemanager`
3. `npm install`
4. `npm run dev` - regenerates the static assets automatically

View File

@@ -5,6 +5,7 @@
[![Build](https://img.shields.io/travis/hacdias/filemanager.svg?style=flat-square)](https://travis-ci.org/hacdias/filemanager)
[![Go Report Card](https://goreportcard.com/badge/github.com/hacdias/filemanager?style=flat-square)](https://goreportcard.com/report/hacdias/filemanager)
[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/hacdias/filemanager)
[![Version](https://img.shields.io/github/release/hacdias/filemanager.svg?style=flat-square)](https://github.com/hacdias/filemanager/releases/latest)
filemanager provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware.
@@ -72,7 +73,3 @@ this are keywords case:insensitive
# Contributing
The contributing guidelines can be found [here](https://github.com/hacdias/filemanager/blob/master/CONTRIBUTING.md).
# Donate
Enjoying this project? You can [donate to its creator](https://henriquedias.com/donate/). He will appreciate.

View File

@@ -6,6 +6,7 @@
<option value="ja">{{ $t('languages.ja') }}</option>
<option value="zh-cn">{{ $t('languages.zhCN') }}</option>
<option value="zh-tw">{{ $t('languages.zhTW') }}</option>
<option value="es">{{ $t('languages.es') }}</option>
</select>
</template>

View File

@@ -48,6 +48,10 @@ export default {
new (url, type) {
url = removePrefix(url)
if (!url.endsWith('.md') && !url.endsWith('.markdown')) {
url += '.markdown'
}
return new Promise((resolve, reject) => {
let request = new window.XMLHttpRequest()
request.open('POST', `${this.$store.state.baseURL}/api/resource${url}`, true)

View File

@@ -192,6 +192,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
time:
unit: Time Unit
seconds: Seconds

202
assets/src/i18n/es.yaml Normal file
View File

@@ -0,0 +1,202 @@
permanent: Permanente
buttons:
cancel: Cancelar
close: Cerrar
copy: Copiar
copyFile: Copiar archivo
copyToClipboard: Copiar al portapapeles
create: Crear
delete: Borrar
download: Descargar
info: Info
more: Más
move: Mover
moveFile: Mover archivo
new: Nuevo
next: Siguiente
ok: OK
replace: Reemplazar
previous: Anterior
rename: Renombrar
reportIssue: Reportar problema
save: Guardar
search: Buscar
select: Seleccionar
share: Compartir
publish: Publicar
selectMultiple: Selección múltiple
schedule: Programar
switchView: Cambiar vista
toggleSidebar: Mostrar/Ocultar menú
update: Actualizar
upload: Subir
permalink: Link permanente
success:
linkCopied: ¡Link copiado!
errors:
forbidden: No eres bienvenido aquí.
internal: La verdad es que algo ha ido mal.
notFound: No se puede acceder a este lugar.
files:
folders: Carpetas
files: Archivos
body: Cuerpo
clear: Limpiar
closePreview: Cerrar vista previa
home: Inicio
lastModified: Última modificación
loading: Cargando...
lonely: Uno se siente muy sólo aquí...
metadata: Metadatos
multipleSelectionEnabled: Selección múltiple activada
name: Nombre
size: Tamaño
sortByName: Ordenar por nombre
sortBySize: Ordenar por tamaño
sortByLastModified: Ordenar por última modificación
help:
click: seleccionar archivo o carpeta
ctrl:
click: seleccionar múltiples archivos o carpetas
f: abre la búsqueda
s: guarda un archivo o lo descarga a la carpeta en la que estás
del: elimina los items seleccionados
doubleClick: abre un archivo o carpeta
esc: limpia la selección y/o cierra la ventana
f1: esta información
f2: renombrar archivo
help: Ayuda
login:
password: Contraseña
submit: Iniciar sesión
username: Usuario
wrongCredentials: Usuario y/o contraseña incorrectos
prompts:
copy: Copiar
copyMessage: 'Elige el lugar donde quieres copiar tus archivos:'
currentlyNavigating: 'Actualmente estás en:'
deleteMessageMultiple: ¿Estás seguro que quieres eliminar {count} archivo(s)?
deleteMessageSingle: ¿Estás seguro que quieres eliminar este archivo/carpeta?
deleteTitle: Borrar archivos
displayName: 'Nombre:'
download: Descargar archivos
downloadMessage: Elige el formato de descarga.
error: Algo ha fallado
fileInfo: Información del archivo
filesSelected: "{count} archivos seleccionados."
lastModified: Última modificación
move: Mover
moveMessage: 'Elige una nueva casa para tus archivo(s)/carpeta(s):'
newDir: Nueva carpeta
newDirMessage: Escribe el nombre de la nueva carpeta.
newFile: Nuevo archivo
newFileMessage: Escribe el nombre del nuevo archivo.
numberDirs: Número de carpetas
numberFiles: Número de archivos
replace: Reemplazar
replaceMessage: >
Uno de los archivos ue intentas subir está creando conflicto por su nombre.
¿Quieres cambiar el nombre del ya existente?
rename: Renombrar
renameMessage: Escribe el nuevo nombre para
show: Mostrar
size: Tamaño
schedule: Programar
scheduleMessage: Elige una hora y fecha para programar la publicación de este post.
newArchetype: Crea un nuevo post basado en un arquetipo. Tu archivo será creado en la carpeta de contenido.
settings:
admin: Admin
administrator: Administrador
allowCommands: Ejecutar comandos
allowEdit: Editar, renombrar y borrar archivos o carpetas
allowNew: Crear nuevos archivos y carpetas
allowPublish: Publicar nuevos posts y páginas
avoidChanges: "(dejar en blanco para evitar cambios)"
changePassword: Cambiar contraseña
commands: Comandos
commandsHelp: >
Aquí puedes crear comandos que serán ejecutados en los eventos. Debes
escribir un comando por linea. Si el evento está relacionado con archivos, como
por ejemplo, antes y después de guardar, la variable de entorno "FILE" estará
disponible en la ruta del archivo.
commandsUpdated: ¡Comandos actualizados!
customStylesheet: Modificar hoja de estilos
examples: Ejemplos
globalSettings: Ajustes globales
language: Idioma
lockPassword: Evitar que el usuario cambie la contraseña
newPassword: Tu nueva contraseña
newPasswordConfirm: Confirma tu contraseña
newUser: Nuevo usuario
password: Contraseña
passwordUpdated: ¡Contraseña actualizada!
permissions: Permisos
permissionsHelp: >
Puedes nombrar al usuario como administrador o elegir los permisos
individualmente. Si seleccionas "Administrador", todas las otras opciones
serán activadas automáticamente. La administración de usuarios es un privilegio de administrador.
profileSettings: Ajustes del perfil
ruleExample1: >
previene el acceso a una extensión de archivo (Como .git) en
cada carpeta.
ruleExample2: bloquea el acceso al archivo llamado Caddyfile en la carpeta raíz.
rules: Reglas
rulesHelp1: >
Aquí puedes definir un conjunto de reglas de permisos para este usuario
específico. Los archivos bloqueados no se mostrarán en las listas y no serán accesibles
por el usuario. Puedes utilizar regex y rutas relativas a la raíz del usuario.
rulesHelp2: >
Cada regla va en una línea diferente, y debe comenzar con la palabra clave
{0} or {1}. Entonces, debes escribir {2} si estás usando una expresión regular (REGEX) y
luego la expresión o la ruta.
scope: Raíz
settingsUpdated: ¡Ajustes actualizados!
user: Usuario
userCommands: Comandos
userCommandsHelp: >
Una lista separada por espacios con los comandos permitidos para este usuario.
Ejemplo:
userCreated: ¡Usuario creado!
userDeleted: ¡Usuario eliminado!
userManagement: Administración de usuarios
username: Usuario
users: Usuarios
userUpdated: ¡Usuario actualizado!
sidebar:
help: Ayuda
logout: Cerrar sesión
myFiles: Mis archivos
newFile: Nuevo archivo
newFolder: Nueva carpeta
settings: Ajustes
siteSettings: Ajustes del sitio
hugoNew: Nuevo Hugo
preview: Vista previa
search:
images: Images
music: Música
pdf: PDF
pressToExecute: Presiona enter para ejecutar.
pressToSearch: Presiona enter para buscar.
search: Buscar...
searchOrCommand: Buscar o ejecutar un comando...
searchOrSupportedCommand: 'Buscar o ejecutar uno de los comandos soportados:'
type: Escribe y presiona enter para buscar.
types: Tipos
video: Vídeo
writeToSearch: Escribe aquí para buscar
languages:
en: English
fr: Français
pt: Português
es: Español
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
time:
unit: Unidad
seconds: Segundos
minutes: Minutos
hours: Horas
days: Días

View File

@@ -185,6 +185,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
time:
unit: Unité de temps
seconds: Secondes

View File

@@ -6,6 +6,7 @@ import pt from './pt.yaml'
import ja from './ja.yaml'
import zhCN from './zh-cn.yaml'
import zhTW from './zh-tw.yaml'
import es from './es.yaml'
Vue.use(VueI18n)
@@ -33,6 +34,9 @@ export function detectLocale () {
case /^zh.*/i.test(locale):
locale = 'zh-cn'
break
case /^es.*/i.test(locale):
locale = 'es'
break
default:
locale = 'en'
}
@@ -49,7 +53,8 @@ const i18n = new VueI18n({
'pt': pt,
'ja': ja,
'zh-cn': zhCN,
'zh-tw': zhTW
'zh-tw': zhTW,
'es': es
}
})

View File

@@ -192,6 +192,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
time:
unit: 時間単位
seconds:

View File

@@ -73,6 +73,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
login:
password: Palavra-passe
submit: Login

View File

@@ -134,7 +134,7 @@ settings:
您可以将该用户设置为管理员,也可以单独选择各项权限。\
如果选择了“管理员”,则其他的选项会被自动勾上,\
同时该用户可以管理其他用户。"
profileSettings: 配置文件设置
profileSettings: 个人设置
ruleExample1: "\
阻止用户访问所有文件夹下任何以 . 开头的文件\
(隐藏文件, 例如: .git, .gitignore)。"
@@ -190,6 +190,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
time:
unit: 时间单位
seconds:

View File

@@ -134,7 +134,7 @@ settings:
您可以將該使用者設置為管理員,也可以單獨選擇各項權限。\
如果選擇了“管理員”,則其他的選項會被自動勾上,\
同時該使用者可以管理其他使用者。"
profileSettings: 設定檔設定
profileSettings: 個人設定
ruleExample1: "\
封鎖使用者存取所有資料夾下任何以 . 開頭的檔案\
(隱藏文件, 例如: .git, .gitignore)。"
@@ -190,6 +190,7 @@ languages:
ja: 日本語
zhCN: 中文 (简体)
zhTW: 中文 (繁體)
es: Español
time:
unit: 時間單位
seconds:

View File

@@ -1,13 +1,18 @@
import cookie from './cookie'
import store from '@/store'
import router from '@/router'
import { Base64 } from 'js-base64'
function parseToken (token) {
let path = store.state.baseURL
if (path === '') path = '/'
document.cookie = `auth=${token}; max-age=86400; path=${path}`
let res = token.split('.')
let user = JSON.parse(window.atob(res[1]))
let user = JSON.parse(Base64.decode(res[1]))
if (!user.commands) {
user.commands = []
}
store.commit('setJWT', token)
store.commit('setUser', user)
}

View File

@@ -53,7 +53,7 @@
<p class="small"><strong>{{ $t('settings.examples') }}</strong></p>
<ul class="small">
<li><code>disallow regex \\/\\..+</code> - {{ $t('settings.ruleExample1') }}</li>
<li><code>disallow regex [\\\/]\..+</code> - {{ $t('settings.ruleExample1') }}</li>
<li><code>disallow /Caddyfile</code> - {{ $t('settings.ruleExample2') }}</li>
</ul>
@@ -163,11 +163,14 @@ export default {
this.lockPassword = user.lockPassword
this.filesystem = user.filesystem
this.username = user.username
this.commands = user.commands.join(' ')
this.css = user.css
this.permissions = user.permissions
this.locale = user.locale
if (user.commands) {
this.commands = user.commands.join(' ')
}
for (let rule of user.rules) {
if (rule.allow) {
this.rules += 'allow '

View File

@@ -60,6 +60,7 @@
}
body > a h1 {
margin-top: .2em;
word-wrap: break-word;
}
</style>
</head>

View File

@@ -1,13 +1,14 @@
#!/bin/bash
# Install rice tool if not present
if ! [ -x "$(command -v rice)" ]; then
go get github.com/GeertJohan/go.rice/rice
fi
# Clean the dist folder and build the assets
rm -rf assets/dist
npm run build
# Embed the assets using rice
rice embed-go
#!/bin/bash
set -e
# Install rice tool if not present
if ! [ -x "$(command -v rice)" ]; then
go get github.com/GeertJohan/go.rice/rice
fi
# Clean the dist folder and build the assets
rm -rf assets/dist
npm run build
# Embed the assets using rice
rice embed-go

View File

@@ -37,6 +37,7 @@ func Parse(c *caddy.Controller, plugin string) ([]*filemanager.FileManager, erro
AllowPublish: true,
Commands: []string{"git", "svn", "hg"},
CSS: "",
ViewMode: "mosaic",
Rules: []*filemanager.Rule{{
Regex: true,
Allow: false,

58
file.go
View File

@@ -197,7 +197,6 @@ func (i *File) GetEditor() error {
// If there is an error, just ignore it and return nil.
// This way, the file can be served for editing.
if err != nil {
return nil
}
@@ -261,15 +260,12 @@ func (i *File) GetFileType(checkContent bool) error {
// If the type isn't text (and is blob for example), it will check some
// common types that are mistaken not to be text.
for _, extension := range textExtensions {
if strings.HasSuffix(i.Name, extension) {
i.Type = "text"
goto End
}
if isInTextExtensions(i.Name) {
i.Type = "text"
} else {
i.Type = "blob"
}
i.Type = "blob"
End:
// If the file type is text, save its content.
if i.Type == "text" {
@@ -415,22 +411,38 @@ func (l byModified) Less(i, j int) bool {
return iModified.Sub(jModified) < 0
}
var textExtensions = [...]string{
".md", ".markdown", ".mdown", ".mmark",
".asciidoc", ".adoc", ".ad",
".rst",
".json", ".toml", ".yaml", ".csv", ".xml", ".rss", ".conf", ".ini",
".tex", ".sty",
".css", ".sass", ".scss",
".js",
".html",
".txt", ".rtf",
".sh", ".bash", ".ps1", ".bat", ".cmd",
".php", ".pl", ".py",
// textExtensions is the sorted list of text extensions which
// can be edited.
var textExtensions = []string{
".ad", ".ada", ".adoc", ".asciidoc",
".bas", ".bash", ".bat",
".c", ".cc", ".cmd", ".conf", ".cpp", ".cr", ".cs", ".css", ".csv",
".d",
".f", ".f90",
".h", ".hh", ".hpp", ".htaccess", ".html",
".ini",
".java", ".js", ".json",
".markdown", ".md", ".mdown", ".mmark",
".nim",
".php", ".pl", ".ps1", ".py",
".rss", ".rst", ".rtf",
".sass", ".scss", ".sh", ".sty",
".tex", ".tml", ".toml", ".txt",
".vala", ".vapi",
".xml",
".yaml", ".yml",
"Caddyfile",
".htaccess",
".c", ".cc", ".h", ".hh", ".cpp", ".hpp", ".f90",
".f", ".bas", ".d", ".ada", ".nim", ".cr", ".java", ".cs", ".vala", ".vapi",
}
// isInTextExtensions checks if a file can be edited by its extensions.
func isInTextExtensions(name string) bool {
search := filepath.Ext(name)
if search == "" {
search = name
}
i := sort.SearchStrings(textExtensions, search)
return i < len(textExtensions) && textExtensions[i] == search
}
// hasRune checks if the file has the frontmatter rune

View File

@@ -23,7 +23,7 @@ import (
const (
// Version is the current File Manager version.
Version = "1.3.10"
Version = "1.4.6"
ListViewMode = "list"
MosaicViewMode = "mosaic"

View File

@@ -2,7 +2,6 @@ package http
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
"strings"
@@ -39,10 +38,7 @@ func reCaptcha(secret string, response string) (bool, error) {
}
var data struct {
Success bool `json:"success"`
ChallengeTS time.Time `json:"challenge_ts"`
Hostname string `json:"hostname"`
ErrorCodes interface{} `json:"error-codes"`
Success bool `json:"success"`
}
err = json.NewDecoder(resp.Body).Decode(&data)
@@ -75,7 +71,6 @@ func authHandler(c *fm.Context, w http.ResponseWriter, r *http.Request) (int, er
if len(c.ReCaptchaSecret) > 0 {
ok, err := reCaptcha(c.ReCaptchaSecret, cred.ReCaptcha)
if err != nil {
fmt.Println(err)
return http.StatusForbidden, err
}

View File

@@ -1,8 +1,6 @@
package http
import (
"io"
"io/ioutil"
"net/http"
"net/url"
"os"
@@ -45,72 +43,61 @@ func downloadHandler(c *fm.Context, w http.ResponseWriter, r *http.Request) (int
files = append(files, c.File.Path)
}
// If the format is true, just set it to "zip".
if query == "true" || query == "" {
query = "zip"
}
var (
extension string
temp string
err error
tempfile string
ar archiver.Archiver
)
// Create a temporary directory.
temp, err = ioutil.TempDir("", "")
if err != nil {
return http.StatusInternalServerError, err
}
defer os.RemoveAll(temp)
tempfile = filepath.Join(temp, "temp")
switch query {
case "zip":
extension, err = ".zip", archiver.Zip.Make(tempfile, files)
// If the format is true, just set it to "zip".
case "zip", "true", "":
extension, ar = ".zip", archiver.Zip
case "tar":
extension, err = ".tar", archiver.Tar.Make(tempfile, files)
extension, ar = ".tar", archiver.Tar
case "targz":
extension, err = ".tar.gz", archiver.TarGz.Make(tempfile, files)
extension, ar = ".tar.gz", archiver.TarGz
case "tarbz2":
extension, err = ".tar.bz2", archiver.TarBz2.Make(tempfile, files)
extension, ar = ".tar.bz2", archiver.TarBz2
case "tarxz":
extension, err = ".tar.xz", archiver.TarXZ.Make(tempfile, files)
extension, ar = ".tar.xz", archiver.TarXZ
default:
return http.StatusNotImplemented, nil
}
if err != nil {
return http.StatusInternalServerError, err
}
// Defines the file name.
name := c.File.Name
if name == "." || name == "" {
name = "download"
name = "archive"
}
name += extension
// Opens the file so it can be downloaded.
file, err := os.Open(temp + "/temp")
if err != nil {
return http.StatusInternalServerError, err
}
defer file.Close()
w.Header().Set("Content-Disposition", "attachment; filename*=utf-8''"+url.QueryEscape(name))
err := ar.Write(w, files)
w.Header().Set("Content-Disposition", "attachment; filename=\""+name+"\"")
_, err = io.Copy(w, file)
return 0, err
}
func downloadFileHandler(c *fm.Context, w http.ResponseWriter, r *http.Request) (int, error) {
file, err := os.Open(c.File.Path)
defer file.Close()
if err != nil {
return http.StatusInternalServerError, err
}
stat, err := file.Stat()
if err != nil {
return http.StatusInternalServerError, err
}
if r.URL.Query().Get("inline") == "true" {
w.Header().Set("Content-Disposition", "inline")
} else {
w.Header().Set("Content-Disposition", `attachment; filename="`+c.File.Name+`"`)
// As per RFC6266 section 4.3
w.Header().Set("Content-Disposition", "attachment; filename*=utf-8''"+url.QueryEscape(c.File.Name))
}
http.ServeFile(w, r, c.File.Path)
http.ServeContent(w, r, stat.Name(), stat.ModTime(), file)
return 0, nil
}

View File

@@ -86,7 +86,7 @@ func serve(c *fm.Context, w http.ResponseWriter, r *http.Request) (int, error) {
// Any other request should show the index.html file.
w.Header().Set("x-frame-options", "SAMEORIGIN")
w.Header().Set("x-content-type", "nosniff")
w.Header().Set("x-content-type-options", "nosniff")
w.Header().Set("x-xss-protection", "1; mode=block")
return renderFile(c, w, "index.html")
@@ -223,13 +223,12 @@ func renderFile(c *fm.Context, w http.ResponseWriter, file string) (int, error)
w.Header().Set("Content-Type", contentType+"; charset=utf-8")
data := map[string]interface{}{
"BaseURL": c.RootURL(),
"NoAuth": c.NoAuth,
"Version": fm.Version,
"CSS": template.CSS(c.CSS),
"ReCaptcha": c.ReCaptchaKey != "" && c.ReCaptchaSecret != "",
"ReCaptchaKey": c.ReCaptchaKey,
"ReCaptchaSecret": c.ReCaptchaSecret,
"BaseURL": c.RootURL(),
"NoAuth": c.NoAuth,
"Version": fm.Version,
"CSS": template.CSS(c.CSS),
"ReCaptcha": c.ReCaptchaKey != "" && c.ReCaptchaSecret != "",
"ReCaptchaKey": c.ReCaptchaKey,
}
if c.StaticGen != nil {

9161
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,62 +10,63 @@
},
"dependencies": {
"clipboard": "^1.7.1",
"codemirror": "^5.27.4",
"filesize": "^3.5.10",
"moment": "^2.18.1",
"codemirror": "^5.31.0",
"filesize": "^3.5.11",
"js-base64": "^2.4.0",
"moment": "^2.19.2",
"normalize.css": "^7.0.0",
"noty": "^3.1.2",
"vue": "^2.3.3",
"vue-i18n": "^7.1.0",
"vue-router": "^2.7.0",
"vuex": "^2.3.1"
"noty": "^3.1.4",
"vue": "^2.5.8",
"vue-i18n": "^7.3.4",
"vue-router": "^3.0.1",
"vuex": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^7.1.1",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chalk": "^2.0.1",
"connect-history-api-fallback": "^1.3.0",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.0",
"eslint": "^4.3.0",
"autoprefixer": "^7.1.6",
"babel-core": "^6.26.0",
"babel-eslint": "^8.0.2",
"babel-loader": "^7.1.2",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-2": "^6.24.1",
"babel-register": "^6.26.0",
"chalk": "^2.3.0",
"connect-history-api-fallback": "^1.5.0",
"copy-webpack-plugin": "^4.2.1",
"css-loader": "^0.28.7",
"eslint": "^4.15.0",
"eslint-config-standard": "^10.2.1",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-html": "^3.1.1",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^5.1.1",
"eslint-plugin-promise": "^3.4.0",
"eslint-loader": "^1.9.0",
"eslint-plugin-html": "^4.0.0",
"eslint-plugin-import": "^2.8.0",
"eslint-plugin-node": "^5.2.1",
"eslint-plugin-promise": "^3.6.0",
"eslint-plugin-standard": "^3.0.1",
"eventsource-polyfill": "^0.9.6",
"express": "^4.14.1",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^0.11.1",
"friendly-errors-webpack-plugin": "^1.1.3",
"html-webpack-plugin": "^2.28.0",
"http-proxy-middleware": "^0.17.3",
"express": "^4.16.2",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.5",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"http-proxy-middleware": "^0.17.4",
"opn": "^5.1.0",
"optimize-css-assets-webpack-plugin": "^3.0.0",
"ora": "^1.2.0",
"rimraf": "^2.6.0",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.3.0",
"rimraf": "^2.6.2",
"semver": "^5.4.1",
"shelljs": "^0.7.8",
"sw-precache-webpack-plugin": "^0.11.4",
"uglify-js": "^3.0.23",
"url-loader": "^0.5.8",
"vue-loader": "^13.0.2",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.3.3",
"webpack": "^3.4.1",
"webpack-bundle-analyzer": "^2.2.1",
"webpack-dev-middleware": "^1.10.0",
"webpack-hot-middleware": "^2.18.0",
"webpack-merge": "^4.1.0",
"uglify-js": "^3.1.10",
"url-loader": "^0.6.2",
"vue-loader": "^13.5.0",
"vue-style-loader": "^3.0.3",
"vue-template-compiler": "^2.5.8",
"webpack": "^3.8.1",
"webpack-bundle-analyzer": "^2.9.1",
"webpack-dev-middleware": "^2.0.4",
"webpack-hot-middleware": "^2.20.0",
"webpack-merge": "^4.1.1",
"yml-loader": "^2.1.0"
},
"engines": {

View File

@@ -1,4 +1,5 @@
#!/bin/bash
set -e
echo "Building assets"
./build.sh
@@ -8,7 +9,7 @@ sed -i "s|(untracked)|$1|g" filemanager.go
echo "Commiting..."
git add -A
git commit -m "Version $1"
git commit -m "chore: version $1"
git push
echo "Creating the tag..."
@@ -18,7 +19,7 @@ git push --tags
echo "Commiting untracked version notice..."
sed -i "s|$1|(untracked)|g" filemanager.go
git add -A
git commit -m "[ci skip] auto: setting untracked version"
git commit -m "chore: setting untracked version [ci skip]"
git push
echo "Done!"

View File

@@ -1 +1 @@
46ab215d06908088047a47fa5a4bf4fc8c66b727
e48e71dd340a2bf3434e06c86032565365132976

View File

@@ -84,7 +84,8 @@ func (h Hugo) Hook(c *fm.Context, w http.ResponseWriter, r *http.Request) (int,
return http.StatusForbidden, nil
}
filename := filepath.Join(c.User.Scope, r.URL.Path)
filename := filepath.Clean(r.URL.Path)
filename = strings.TrimPrefix(filename, string(filepath.Separator))
archetype := r.Header.Get("archetype")
ext := filepath.Ext(filename)