14年停止更新了包括luci-app-aria2、luci-app-vsftpd后,现在重新开始维护luci-app-vsftpd。
新增选项:
-被动端口设置
-日志设置
-FTP会话监控
-限速
-匿名上传变更所有者
-IP线程限制
源代码:
http://source.nvacg.org/luci-app/luci-app-vsftpd/
http://pan.baidu.com/s/1qYms3fu#path=%252FSoftware%252FRouter%252Fapp%252Fluci-app-vsftpd
https://github.com/animefansxj/luci-app-vsftpd
请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。
john says :
2015年4月18日你好!
请问可以简单说明一下如何编译吗?
是否就跟编译Openwrt系统?
我需要编译一个X86系统用的。
谢谢!
穿越蓝天 says :
2015年4月20日抱歉,现在我的工作环境这里没有OpenWRT的编译环境和代码,所以只能凭映像给您介绍下了,文件的路径不一定正确仅供参考。具体的编译教程会在新版本发布后附在发布贴中的。
1.按照源码包把源码分别放入(或替换)luci的源码文件夹(应该是$OPDIR/feeds/luci/)和软件的源码文件夹(应该是在$OPDIR/feeds/packages/net/vsftpd)
2.修改$OPDIR//feeds/luci.index,增加luci-app-vsftpd,如下
Package: luci-app-vsftpd
Submenu: 3. Applications
Version: 1
Depends: +PACKAGE_luci-app-vsftpd:vsftpd
Conflicts:
Menu-Depends:
Provides:
Build-Depends: lua/host
Section: luci
Category: LuCI
Title: LuCI Support for vsftpd
Maintainer: NVACG
Source: luci-.tar.gz
Type: ipkg
Description: LuCI Support for vsftpd
http://www.nvacg.org/
LuCI Development Team
@@
3.还要修改一个地方,$OPDIR/feeds/luci/contrib/package/luci-addons/Makefile
找到一行 $(eval $(call application,wshaper,LuCI Support for wshaper,wshaper)) ,在其下添加
$(eval $(call application,vsftpd,LuCI Support for vsftpd,vsftpd))
4.执行命令$OPDIR/scripts/feeds install -a
5.cd到OpenWRT源码根目录下执行命令make menuconfig,然后从luci->Applications中选中luci-app-vsftpd即可
上面的$OPDIR指的是OpenWRT源码根目录
john says :
2015年4月25日谢谢你的回答!
我试着按照你的 说明操作,出现错误代码如下:
(我准备先把这个软件的编译去掉,尝试看看是不是可以编译一个正常的X86的系统。)
make[4]: Entering directory `/home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4'
i486-openwrt-linux-uclibc-gcc -c main.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c utility.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c prelogin.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ftpcmdio.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c postlogin.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c privsock.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c tunables.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ftpdataio.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c secbuf.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ls.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c postprivparent.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c logging.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c str.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c netstr.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c sysstr.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c strlist.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c banner.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c filestr.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c parseconf.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c secutil.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ascii.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c oneprocess.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c twoprocess.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c privops.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c standalone.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c hash.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c tcpwrap.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ipaddrparse.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c access.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c features.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c readwrite.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c opts.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ssl.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c sslslave.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ptracesandbox.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c ftppolicy.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c sysutil.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -c sysdeputil.c -Os -pipe -march=i486 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -idirafter dummyinc
i486-openwrt-linux-uclibc-gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o -lcrypt -lnsl -L/home/john/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/usr/lib -L/home/john/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/lib -L/home/john/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_uClibc-0.9.33.2/usr/lib -L/home/john/openwrt/staging_dir/toolchain-i386_i486_gcc-4.8-linaro_uClibc-0.9.33.2/lib
make[4]: Leaving directory `/home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4'
touch /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/.built
mkdir -p /home/john/openwrt/bin/x86/packages /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/ipkg-x86/vsftpd/CONTROL /home/john/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/pkginfo
install -d -m0755 /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/ipkg-x86/vsftpd/usr/sbin
install -m0755 /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/vsftpd /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/ipkg-x86/vsftpd/usr/sbin/
install -d -m0755 /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/ipkg-x86/vsftpd/etc/config
install -m0644 ./files/vsftpd.conf /home/john/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/vsftpd-2.3.4/ipkg-x86/vsftpd/etc/config/vsftpd
install: cannot stat `./files/vsftpd.conf': No such file or directory
make[3]: *** [/home/john/openwrt/bin/x86/packages/packages/vsftpd_2.3.4-1_x86.ipk] Error 1
make[3]: Leaving directory `/home/john/openwrt/feeds/packages/net/vsftpd/2.3.4'
make[2]: *** [package/feeds/packages/vsftpd/2.3.4/compile] Error 2
make[2]: Leaving directory `/home/john/openwrt'
make[1]: *** [/home/john/openwrt/staging_dir/target-i386_i486_uClibc-0.9.33.2/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/john/openwrt'
make: *** [world] Error 2
穿越蓝天 says :
2015年4月26日这个问题可能出现在新版的OPENWRT上(虽然我在12.09和14.07上编译都是正常的),你可能需要改一下vsftpd的Makefile (位于$OPDIR/feeds/packages/net/vsftpd),找到
$(INSTALL_DATA) ./files/$(PKG_NAME).conf $(1)/etc/config/$(PKG_NAME)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
改为
$(INSTALL_CONF) files/$(PKG_NAME).conf $(1)/etc/config/$(PKG_NAME)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
此外,再检查下$OPDIR/feeds/packages/net/vsftpd/files文件夹中是否存在vsftpd.conf和vsftpd.init
之后删除OP根目录下的编译文件夹build_dir、staging_dir和tmp文件夹,重新编译即可
穿越蓝天 says :
2015年4月26日不急的话建议等我5月新版源码发出来再做最终固件
john says :
2015年4月29日谢谢你的回复!
不急着用了。
趁着编译这个的机会,刚刚在网上找到了如何编译板载声卡的方法,基本成功了。可以使用Shairport来播放音乐了。
后面就等着你的软件,然后再准备把Overlay移到硬盘上去,安装基本的网页服务系统,我原来期望的多种功能的综合体就实现了。
john says :
2015年4月29日当时编译时的错误,我也不确定是不是我编译时下载的软件包不齐全导致的,现在电信高峰时段限制国际流量,基本上git和Openwrt都无法下载包。我拿到公司的网络下才重新更新了一个完整的编译包。
小标 says :
2015年7月24日4.0不能匿名登录,还有就是设置太强大,以致我等小白完全不会使用,希望作者可以说一下使用说明。