flat assembler
Message board for the users of flat assembler.
Index
> Projects and Ideas > Asm driven CMS. Goto page 1, 2, 3, 4, 5 Next |
Author |
|
JohnFound 21 May 2012, 08:59
It is an old my idea to create fully asm driven web site.
So, I installed web server in home ( asm32.hopto.org - don't open it now by default it loads php based engine) with lighttpd web server and have started to port my PHP mini CMS (Fresh main site is based on it) to assembly. You can see the most recent test .cgi here: http://asm32.hopto.org/index.cgi Of course, I will post the sources, but little bit later. The CGI engine is portable for Windows and Linux. If someone knows about good enough web server written in FASM and supporting at least CGI - I can change the server as well and then it will be really "Powered by FASM". Stay tuned... _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
21 May 2012, 08:59 |
|
typedef 21 May 2012, 09:03
Quote:
Although you are not a target, beware because there are people who just hack websites randomly. |
|||
21 May 2012, 09:03 |
|
edfed 21 May 2012, 15:31
cooooool
|
|||
21 May 2012, 15:31 |
|
JohnFound 21 May 2012, 16:10
The sources are published as always in fossil repository: Here
The good thing about such projects is that they reveal some missing features in FreshLib, so I have double profit - adding functions useful for the real life programming to FreshLib and creating useful programs in assembly. |
|||
21 May 2012, 16:10 |
|
bubach 22 May 2012, 00:07
JohnFound wrote: If someone knows about good enough web server written in FASM and supporting at least CGI - I can change the server as well and then it will be really "Powered by FASM". That is awesome! How do you store data, it would need some kind of fasm-db too. |
|||
22 May 2012, 00:07 |
|
JohnFound 22 May 2012, 00:20
In the prototype (also written by me) the articles are stored as .txt files, formated with lightweight markup language similar to markdown. For example "*bold*" is rendered as bold and [some link] as a link.
Now I will make the markup language to be more "markdown compatible" and will implement some features I need. (for example online article posting). |
|||
22 May 2012, 00:20 |
|
TmX 22 May 2012, 05:59
How to get the source code?
Maybe Code: fossil checkout FreshLibDev ? |
|||
22 May 2012, 05:59 |
|
JohnFound 22 May 2012, 06:21
TmX wrote: How to get the source code? It is better to clone the whole repository (it is not so big): Code: ; first clone fossil clone http://chiselapp.com/user/johnfound/repository/FreshIDE/ Fresh.fossil ; then create folder for the checkout and open from this directory: fossil open Fresh.fossil FreshLibDev ; later you can only do updates to stay up to date: fossil update Another way (IMHO not recommended) is to download the .zip file with the latest version. Go to the repository site and login as a anonymous user. Then navigate to the needed latest revision of FreshLibDev branch in this case. There should be link for tarball and zip archives with the files. For MiniMagAsm, the clone command will be similar: Code: fossil clone http://chiselapp.com/user/johnfound/repository/MiniMagAsm/ MiniMagAsm.fossil If someone wants to participate to these projects, just register yourself on the repository pages and send me a notice. I will set the needed permissions in order to allow repository checkins. (of course you have full privileges on your local clone of the repositories). _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
22 May 2012, 06:21 |
|
Dex4u 22 May 2012, 11:01
Very Cool , this would be great port to DexOS, with DexOS web server and OS coded in fasm.
That would truly be a fully fasm driven web site |
|||
22 May 2012, 11:01 |
|
JohnFound 22 May 2012, 11:56
Dex4u wrote: Very Cool , this would be great port to DexOS, with DexOS web server and OS coded in fasm. Yes, it would be cool. But you first have to make some effort and write the OS dependent part of FreshLib for DexOS. _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
22 May 2012, 11:56 |
|
bubach 22 May 2012, 15:35
JohnFound wrote: Yes, it would be cool. But you first have to make some effort and write the OS dependent part of FreshLib for DexOS. What is required by the host OS to run FreshLib? Do you have some document about it, because checking all directories by hand in the repository isn't much fun. Also I saw some threading/process handling code in there, how would you handle that in a single tasking OS? |
|||
22 May 2012, 15:35 |
|
JohnFound 22 May 2012, 16:31
bubach wrote:
Unfortunately, there is no document describing how to port FreshLib. I am writing one in the moment, but the work goes slow, because FreshLib is changing. Generally, it is not so hard work to port FreshLib to any OS, because it uses relatively tiny OS dependent layer and most of the library is OS independent. Actually, all OS dependent code is separated in directories named after the OS they serve. Linux and Win32 in this moment. It is not necessary to implement all functionality. For example, if DexOS misses threads, the procedure ThreadCreate in the library "system/DexOS/process.asm" will always return error (CF=1). The application that needs threads will have to properly manage this error and try to work without threads or in the worst case terminate properly. If someone wants to port FreshLib to DexOS, or any other OS I will provide all possible assistance. As I can see the possible problems - for most of the hobby OSes, the main problem will be to provide the memory management. FreshLib uses heap functions in Win32 and malloc from LibC in Linux in order to be able to allocate small blocks of memory. Most of the OS independent functions rely on dynamic memory objects, so it is essential. In case, the OS does not provide such memory allocation mechanisms, the port will need to implement heap manager. _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
22 May 2012, 16:31 |
|
TmX 22 May 2012, 17:27
Hi JohnFound,
How do you test the CMS on Windows? Also using lighttpd? Maybe you don't mind sharing the lighttpd.conf? I'm stuck at error 403, and according to debugging log: ""NOT handling file as static file, extension forbidden" My guess is this is the culprit: Quote:
Update: After changing the TargetOS into Win32, I got this error: Quote:
Last edited by TmX on 22 May 2012, 17:51; edited 1 time in total |
|||
22 May 2012, 17:27 |
|
Dex4u 22 May 2012, 17:43
I will definitely port FreshLib to DexOS, just need to finish the USB stack.
|
|||
22 May 2012, 17:43 |
|
JohnFound 22 May 2012, 18:39
TmX wrote: Hi JohnFound, On windows I am testing using local server "nanoweb". For the Linux version I am using FTP client and upload directly to the server - it is experimental, so I don't care so much. In nanoweb, the configuration string is: Code: ParseExt = cgi CGI $SCRIPT_FILENAME In lighttpd, configuration I use is: Code: server.modules = ( "mod_accesslog", "mod_access", "mod_compress", #following one is important "mod_cgi", "mod_fastcgi" ) cgi.assign = ( ".cgi" => "" ) Quote: Maybe you don't mind sharing the lighttpd.conf? I can't do it today, because the internet connection I have in this moment is really very bad, but the above excerpt should work. Quote: After changing the TargetOS into Win32, I got this error: My fault. I named a procedure CreateMenu and forgot about Win32 function with the same name. It is fixed now - update the source with "fossil update" if you cloned the repository. BTW, the latest 2 check ins are not tested at all, so some errors are possible. _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
22 May 2012, 18:39 |
|
TmX 23 May 2012, 02:41
Yes you're right.
I forgot this part: Quote:
Otherwise, lighttpd would not know what to do with CGI files BTW, now it works |
|||
23 May 2012, 02:41 |
|
XVilka 23 May 2012, 07:04
JohnFound: i've not finished porting some webserver to fasm, while most of work is done. I'll share sources today, stay tuned. Also it have support for CGI (though I'm thinking cgi not quite effective solution and can be changed to fastcgi or at least scgi - it is very simple - see whole specification here http://python.ca/scgi/protocol.txt )
|
|||
23 May 2012, 07:04 |
|
JohnFound 23 May 2012, 07:43
XVilka, I am waiting for your server. What OS it is written for? It will be good to be for Linux, though.
XVilka wrote: though I'm thinking cgi not quite effective solution and can be changed to fastcgi or at least scgi I know cgi is not effective, and I think about using FastCGI or SCGI. On the other hand, having several processes of assembly written CGI is quite different than running several instances of huge PHP or Perl interpreter. _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
23 May 2012, 07:43 |
|
XVilka 23 May 2012, 07:51
Now it is for Linux, going to port on KolibriOS too. Yes, but as assembly man you need to know how much scgi/fastcgi faster than pure cgi And I think scgi can be preffered for this ultra-light server solution
|
|||
23 May 2012, 07:51 |
|
Goto page 1, 2, 3, 4, 5 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.