Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
howto:linuxapps [2021/04/24 08:58] – creating something for someone to fix, sorry :) mortifis | howto:linuxapps [2022/02/07 06:51] – [Links2 Web Browser] Added a warning about Links2's OS Shell feature. Andre | ||
---|---|---|---|
Line 9: | Line 9: | ||
===== Links2 Web Browser ===== | ===== Links2 Web Browser ===== | ||
- | links2 an https compliant graphical text mode www browser typically run from in linux shell. | + | links2 |
For use with Synchronet we won't configure the graphics card and/or image support, so the | For use with Synchronet we won't configure the graphics card and/or image support, so the | ||
output is monochrome and behaves more like a gopher client with enhanced features. | output is monochrome and behaves more like a gopher client with enhanced features. | ||
Line 19: | Line 19: | ||
=== Add links2 to SBBS === | === Add links2 to SBBS === | ||
+ | |||
+ | :!: Note that links2 could give access to the host OS, such as with "OS Shell" from the File menu, which gives the BBS user a shell as the OS user the BBS runs as. At the very least this will likely give someone access to your [[util: | ||
Add links2 to sbbs as an external program as any other door: | Add links2 to sbbs as an external program as any other door: | ||
Line 48: | Line 50: | ||
=== Add to Synchronet Command Shell === | === Add to Synchronet Command Shell === | ||
- | edit your *.src command shell script and add: | + | edit your *.src [[custom: |
ie: cmdkey /B | ie: cmdkey /B | ||
exec_bin " | exec_bin " | ||
Line 80: | Line 82: | ||
console.pause(); | console.pause(); | ||
google = google.replace(' | google = google.replace(' | ||
- | + | | |
- | bbs.exec(' | + | bbs.exec(' |
+ | | ||
+ | | ||
console.putmsg(' | console.putmsg(' | ||
mswait(1000); | mswait(1000); | ||
Line 93: | Line 97: | ||
if (v < 0) { | if (v < 0) { | ||
url = ' | url = ' | ||
- | mswait(1000); | + | |
- | + | ||
- | | + | |
console.putmsg(' | console.putmsg(' | ||
console.putmsg(' | console.putmsg(' | ||
console.pause(); | console.pause(); | ||
url = url.replace(' | url = url.replace(' | ||
- | bbs.exec(' | + | |
+ | if(user.is_sysop) | ||
+ | bbs.exec(' | ||
+ | else | ||
+ | | ||
console.putmsg(' | console.putmsg(' | ||
mswait(1000); | mswait(1000); | ||
Line 111: | Line 117: | ||
exit(); | exit(); | ||
break; | break; | ||
+ | } | ||
+ | </ | ||
- | case '^M': | + | ===== WeeChat IRC Client ===== |
- | console.putmsg(' | + | |
+ | WeeChat (Wee Enhanced Environment for Chat) makes for a decent IRC client alternative to the stock irc.js client. | ||
+ | |||
+ | First, install Weechat under Debian type: | ||
+ | |||
+ | $ sudo apt-get install weechat | ||
+ | |||
+ | add WeeChat as an external program similar to Links2 | ||
+ | ( the script's bbs.exec('whatever', | ||
+ | |||
+ | add a cmdkey ... end_cmd entry in your command shell similar to links2 above, if desired. | ||
+ | |||
+ | === example weechat js === | ||
+ | |||
+ | Weechat looks for a configuration file in / | ||
+ | so wee need to setup a new config for each user/ | ||
+ | |||
+ | < | ||
+ | load(" | ||
+ | |||
+ | var enable; | ||
+ | var server; | ||
+ | var port; | ||
+ | var chan; | ||
+ | var lusr = user.alias; | ||
+ | |||
+ | var quit_msg = system.name+' | ||
+ | |||
+ | var irc = load(" | ||
+ | |||
+ | if(irc.enabled == undefined) enabled = true; | ||
+ | else enabled = irc.enabled; | ||
+ | if(irc.chan === undefined) chan = '# | ||
+ | else chan = irc.chan; | ||
+ | if(irc.server === undefined) servers = ' | ||
+ | else server = irc.servers; | ||
+ | |||
+ | var infile = system.ctrl_dir+' | ||
+ | var outfile = system.ctrl_dir+' | ||
+ | var weechat = '/ | ||
+ | var wc_bup = '/ | ||
+ | var save_prefs = system.data_dir+' | ||
+ | |||
+ | if(!file_exists(weechat) || !enabled) { | ||
+ | | ||
+ | writeln(' | ||
+ | } else { | ||
+ | writeln(' | ||
+ | mswait(500); | ||
+ | writeln(' | ||
+ | load(" | ||
+ | exit(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | var line; | ||
+ | var count; | ||
+ | |||
+ | var inf = new File(infile); | ||
+ | var out = new File(outfile); | ||
+ | |||
+ | writeln(' | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | writeln(' | ||
+ | |||
+ | var cont = console.noyes(' | ||
+ | if(cont) { | ||
+ | console.putmsg(' | ||
+ | exit(0); | ||
+ | } | ||
+ | |||
+ | console.putmsg(' | ||
+ | var goon = console.getkey().toUpperCase(); | ||
+ | if(goon != " | ||
+ | switch(goon) { | ||
+ | case ' | ||
+ | writeln(' | ||
mswait(1000); | mswait(1000); | ||
exit(); | exit(); | ||
- | | + | break; |
+ | |||
+ | case ' | ||
+ | console.putmsg(' | ||
+ | var chan1 = console.getstr(); | ||
+ | if(chan1 != '' | ||
+ | chan = chan1; | ||
+ | console.putmsg(' | ||
+ | var lusr1 = console.getstr(); | ||
+ | if(lusr1 != '' | ||
+ | lusr = lusr1; | ||
+ | console.putmsg(' | ||
+ | mswait(1000); | ||
+ | | ||
} | } | ||
+ | |||
+ | inf.open(" | ||
+ | out.open(" | ||
+ | |||
+ | count = 0; | ||
+ | |||
+ | while(!inf.eof) { | ||
+ | line = inf.readln().trim(); | ||
+ | if(line.toUpperCase() !== " | ||
+ | out.writeln(line); | ||
+ | count++; | ||
+ | } | ||
+ | else { // found [server] , this section needs to be replace with sbbs user credentials | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(' | ||
+ | out.writeln(); | ||
+ | count += 41; | ||
+ | console.pause(); | ||
+ | out.close(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | inf.close(); | ||
+ | out.close(); | ||
+ | file_rename(weechat, | ||
+ | file_copy(outfile, | ||
+ | bbs.exec(' | ||
+ | |||
+ | console.pause(); | ||
+ | writeln(' | ||
+ | mswait(1000); | ||
</ | </ | ||
+ | ===== ===== | ||
+ | |||
===== See Also ===== | ===== See Also ===== | ||
* [[: | * [[: |